It’s by a Chinese company, and collects telemetry on its users via Umeng+, which is a Beijing-based analytics company. Even though it’s open source, the code is large enough that it’s hard to tell if there is anythinf compromising in there from the Chinese government, and/or whether/what data collected by Umeng+ is making it to the Chinese government.
Does wonders to find anything, but you need to know what you’re looking for. I’d probably look for DNS names that end in government or China specific TLDs to start with.
I know you’re be facetious here and I’m ignorant to actual application security methodology. I do have to ask though, when you are looking for something in code that could be a security risk, isn’t it possible to look for methods or functions used to lookup DNS, outbound network calls, or even libraries used to obfuscate code? It seems to me that most programmers wouldn’t go through lengths to obfuscate their code and would want it to be readable/maintainable, so doing so would be a red flag.
Obviously no one is going to search for “evil spyware” when auditing code. Your point stands it is not as simple as that.
You’re totally right, I just think you underestimate how long it takes to rigorously audit a whole codebase. Let’s say you look for outvound network calls. Now you need to figure out for all of them whether they are malicious, which will require specific domain knowledge. And that’s assuming you find them all, the network call could be hidden away in a dependency. None of this is impossible but it requires a serious effort.
it’s trivial to break that approach by obfuscating strings. You can do things like using base64 encoded strings in the source code, building strings from smaller component parts, or using rot13 on, say, the host component of a URI. That last one could be pretty interesting if you, as a threat actor, owned both permutations. The hostname (minus TLD) in the source code could be the nice, human readable version (www.happysite.org) that appears to be something legit. Then, when you rot13 it to www.uncclfvgr.org, traffic is sent to the evil site doing scary things. People can be far more tricksy than that. There’s also the whole issue around whether or not the binaries you’re running actually match the code in the repo. The xz kerfuffle showed how much can be hidden that way.
EDIT: I should make it clear that I don’t use Deepin or the DE it provides because I only use WMs with no desktop, so the distro and DE are of no interest to me. I don’t know if it’s a security hazard or not, I have no horse in this fight.
Radware’s head of threat research has commented on concerns about analytics collected by Deepin, and whether these are sent to the Chinese government: while the CNZZ analytics service has been removed, analytics are still collected, now by “Umeng+”.[29] According to cybersecurity lawyer Steven T. Snyder, due to the sheer size of Deepin’s codebase, it is impossible to really scrutinize all the code comprising it to be sure the Chinese government doesn’t have backdoors.[29] The project does remain fully open source allowing anyone to review, modify or change the code to meet their standards.
This is ridiculous. If someone could write the code, someone cluld analyze it. If noone has found anything suspicious or incriminating then this just seems like anti china propaganda. “Maybe this Chinese company is collecting data! Even though their code is publically available we cant know for sure!” Meanwhile every US company is sucking up telemetry on every keystroke. Like what a thing to argue about when Microsoft, Samsung, Google, Meta, etc etc exist. And tbh, id rather china have my data then the US anyway. The US is both more likely and more capable of using it against me.
Not just deepin, but really any piece of software made by a Chinese or Chinese owned company should be treated with suspicion. At least, until the inevitable fall of the CCP occurs.
This is insane. US companies blatantly collect data, meanwhile a chinese company releases OPEN SOURCE software that hasnt been shown to do anything malicious and your response is “but maybe they somehow hid some tracking in there”. Bro examine your prejudices.
What gets me is how everyone can spout this shit and not feel any shame. Somehow it’s okay when US companies do it, but even suspecting the Chinese is enough to shun something. I’m disappointed to see all the upvotes this bigotry gets.
First time seeing hate for deepin. What’s wrong with it?
It’s by a Chinese company, and collects telemetry on its users via Umeng+, which is a Beijing-based analytics company. Even though it’s open source, the code is large enough that it’s hard to tell if there is anythinf compromising in there from the Chinese government, and/or whether/what data collected by Umeng+ is making it to the Chinese government.
So I guess the backdoor is buried DeepIn the code
It’s unfortunate, because I really like the DE. Real stand out. If it were more trustworthy, it’d be my first choice.
Apparently you can download it from the AUR if you really want to.
I mean a simple
grep -r “string” *
Does wonders to find anything, but you need to know what you’re looking for. I’d probably look for DNS names that end in government or China specific TLDs to start with.
grep -r "evil spyware" *
nothing? awesome, I guess this software is safe to use. Let’s gooo
I know you’re be facetious here and I’m ignorant to actual application security methodology. I do have to ask though, when you are looking for something in code that could be a security risk, isn’t it possible to look for methods or functions used to lookup DNS, outbound network calls, or even libraries used to obfuscate code? It seems to me that most programmers wouldn’t go through lengths to obfuscate their code and would want it to be readable/maintainable, so doing so would be a red flag.
Obviously no one is going to search for “evil spyware” when auditing code. Your point stands it is not as simple as that.
You’re totally right, I just think you underestimate how long it takes to rigorously audit a whole codebase. Let’s say you look for outvound network calls. Now you need to figure out for all of them whether they are malicious, which will require specific domain knowledge. And that’s assuming you find them all, the network call could be hidden away in a dependency. None of this is impossible but it requires a serious effort.
it’s trivial to break that approach by obfuscating strings. You can do things like using base64 encoded strings in the source code, building strings from smaller component parts, or using rot13 on, say, the host component of a URI. That last one could be pretty interesting if you, as a threat actor, owned both permutations. The hostname (minus TLD) in the source code could be the nice, human readable version (www.happysite.org) that appears to be something legit. Then, when you rot13 it to www.uncclfvgr.org, traffic is sent to the evil site doing scary things. People can be far more tricksy than that. There’s also the whole issue around whether or not the binaries you’re running actually match the code in the repo. The xz kerfuffle showed how much can be hidden that way.
EDIT: I should make it clear that I don’t use Deepin or the DE it provides because I only use WMs with no desktop, so the distro and DE are of no interest to me. I don’t know if it’s a security hazard or not, I have no horse in this fight.
There are so many ways to obfuscate things that your approach won’t work.
Western concerns about connections to Chinese government
Radware’s head of threat research has commented on concerns about analytics collected by Deepin, and whether these are sent to the Chinese government: while the CNZZ analytics service has been removed, analytics are still collected, now by “Umeng+”.[29] According to cybersecurity lawyer Steven T. Snyder, due to the sheer size of Deepin’s codebase, it is impossible to really scrutinize all the code comprising it to be sure the Chinese government doesn’t have backdoors.[29] The project does remain fully open source allowing anyone to review, modify or change the code to meet their standards.
Meanwhile Linux and systemd
Well, Windows is worse by far
This is ridiculous. If someone could write the code, someone cluld analyze it. If noone has found anything suspicious or incriminating then this just seems like anti china propaganda. “Maybe this Chinese company is collecting data! Even though their code is publically available we cant know for sure!” Meanwhile every US company is sucking up telemetry on every keystroke. Like what a thing to argue about when Microsoft, Samsung, Google, Meta, etc etc exist. And tbh, id rather china have my data then the US anyway. The US is both more likely and more capable of using it against me.
Not just deepin, but really any piece of software made by a Chinese or Chinese owned company should be treated with suspicion. At least, until the inevitable fall of the CCP occurs.
This is insane. US companies blatantly collect data, meanwhile a chinese company releases OPEN SOURCE software that hasnt been shown to do anything malicious and your response is “but maybe they somehow hid some tracking in there”. Bro examine your prejudices.
What gets me is how everyone can spout this shit and not feel any shame. Somehow it’s okay when US companies do it, but even suspecting the Chinese is enough to shun something. I’m disappointed to see all the upvotes this bigotry gets.