6 ms·
Anti-debugging, as a field, is just one of those things that I think is inherently distasteful. As in, the sole point of doing it isn't to make or fix something
by azalemeth 5y ago
Anti-debugging, as a field, is just one of those things that I think is inherently distasteful. As in, the sole point of doing it isn't to make or fix something, like so much else in programming, it's to break something, and deny a feature. That just...feels like making a giant "screw you" to somebody else, which is very unpleasant.
As an aside, I was very glad to see that if you browse to the example sites with firefox you get an angry "This only works in Chromium based browsers" popup.
- matheusmoreira 5y agoYeah, distasteful is putting it lightly. Its entire purpose is to deny us our computing freedom. To protect their code from us like we're some adversary in their threat model. To prevent us from understanding what our system is executing.
- bayindirh 5y agoThis is at least as ugly as binaries which embed themselves into VMs to prevent and detect reversing. I don’t condone either one but can understand first one up to a point. Rigging a website… That’s really some next level ugliness.
- matheusmoreira 5y agoYeah. Those video game obfuscation schemes work like that. Denuvo and its friends. It's a virtual machine with a instruction set designed for maximum obfuscation. Some of game's code is compiled for it in order to make reverse engineering and cracking ridiculously hard. These technologies are known for killing the game's framerate and responsible for cracked versions being superior to genuine ones.
- chii 5y agoit's exactly the same idea as DRM. I think society should outlaw DRM as a mechanism to enforce intellectual property rights.
- LocalH 5y agoI agree, because DRM has potential to outlive copyright law. Sure, many DRMs are broken, but there are many that are not. As the arms race escalates, DRM will become harder and harder to crack (I can think of a few offhand that AFAIK have never been cracked publicly, like the encryption used on cable systems in the US). The people in control of the various DRM systems are not even thinking about future noninfringing use, because they're not even thinking about current fair use in developing these systems. These are largely people who do not think copyright should expire that are driving these anti-public efforts.
- yissp 5y agoAlso, think about what a waste of talented peoples' time this represents. Probably many person-hours are spent implementing these increasingly sophisticated DRM systems, and then many more trying to crack them, rendering all of it completely pointless.
- vegetablepotpie 5y agoYou’re right, I never thought about the long term effects of DRM. But we’re really just talking about its effects on our grand children. To be fair we’ll all be dead by the time works made today will go into the public domain.
- Santosh83 5y agoHow is this different from closed source software, which constitutes the overwhelming majority of the industry?
- Ladlehoe 5y ago"Closed source" is a pretty poor analogy, since regular executables can be disassembled or even decompiled. Reversing is a big field. DRM and obfuscation to prevent that reversing is a better analogy. How is it different from that? It isn't, really.
- matheusmoreira 5y agoIt's possible to reverse engineer closed source software. I have done it. Anti-debugging is a whole new level of obnoxiousness. Imagine a proprietary executable that scans your memory for debuggers and similar tools and then kills them or kills itself to make it harder for you. They use your own computer to subvert you.
- ipaddr 5y agoBeen around for awhile they are called viruses.
- matheusmoreira 5y agoYeah but that's malware. It's expected in those cases. We should not tolerate these hostile actions from normal software.
- hobs 5y agoVideo game DRM also does this, so we see it in commercial software.
- vlovich123 5y agoSkype does it too (or did for a long time - not sure about the current state).
- bellyfullofbac 5y agoOn the topic of distasteful, the author sounds obnoxiously proud of his accomplishments...
- bstar77 5y agoRead the whole article, his tone changes.
- ylyn 5y agoWell, if we're not aware of it and we don't take steps to stop these techniques, malicious people will use it to their advantage.
- Sebb767 5y ago> malicious people will use it to their advantage. There's a good chance they already are. Your average ransomware shop probably won't pull this off, but the three letter agencies around the world with insanely good staff and a lot of budget to search for flaws in some of the most used software? You bet they already have this in their toolbelt.
- hutzlibu 5y agoErm, the three letter agencies target their exploits usually a bit deeper in the system - and these light anti debugging exploits are indeed for ransomware, trackers, adware and obfuscation, to protect IP and malicious behavior. Afaik in the realm of web, mainly to conceil shaddy behavior. Tracking, data mining, ...
- madars 5y agoI think there is a distinction we can make here. What sets anti-debugging apart is not denying something -- after all, the point of cryptography is to make things impossible for adversaries -- but whom does it serve. In the case of anti-debugging it serves the manufacturer and third parties first, and user only gets secondary or tertiary benefits. Whereas things like full-disk encryption or encrypted messaging serve the user first. (Of course, not all crypto serves the user: imagine using MPC to bypass the Fourth Amendment protections.)
- nine_k 5y agoI see your point, but I think this distinction is incidental. Technologies are fundamentally devoid of ethics, as are laws of nature. A technology only works well for "good guys" if it works equally well for "bad guys". The intent of development does initially play a role, but anything deep enough will eventually find both bad and good uses, no matter how we see the initial intent. (But for a specific application, the intent, of course, plays a major role.)
- randomscreemz 5y agoI strongly disagree with this. Taken to its extreme, A machine where you can push a button and kill everybody everywhere is a fundamentally immoral technology. The laws of nature are not devoid of ethics either. Screw nature. Plague came from nature.
- nine_k 5y agoA technology that can affect all people on Earth is rarely strongly limited to killing people. Look at explosives. They can be used to kill and maim people at scale, and also to build roads and tunnels in mountains. Look at viruses, think of all the diseases they cause. Now also look at viral vectors that deliver medicines into patient cells, including some of the modern anti-COVID vaccines. Look at cryptography. If laws of nature are not devoid of ethics, take any fundamental law, say, Newton's laws, or classical electrodynamics, or general relativity, anything from mathematics, and try to put it anywhere in the alignment matrix but the "true neutral" cell. Explain your answer — I will gladly listen! (Not ironically.) And pray don't screw nature. There were numerous attempts, all ended badly, just look around. You are a part of nature, by screwing nature, you also screw yourself (which is of course your inalienable right), and, sadly, others around you.
- deleted 5y ago[deleted]
- guy4261 5y ago> it's to break something One of my university professors told me, during intro. to algorithms class, "some people understand things by building them, some by breaking them, and you are of the latter type". Nothing wrong about that, the way I see it!
- Tarks 5y agoThat implies you'd dislike this more than most because it prevents "breaking" things efficiently by intentionally crippling tools and throwing out red herrings.
- danShumway 5y agoImportant to clarify here that in describing the exploit, the author of this article is not doing anything wrong -- they're raising awareness of an issue with the Chromium dev tools that people absolutely should be made aware of. It's very much in the same vein as some of the "login interceptor" extensions that got published back when the tech community was trying to encourage sites like Facebook to switch to HTTPS. The full text of the article makes the author's intentions pretty clear, and I think it's good that they published this article. Otherwise, agreed. Users have a fundamental right to inspect code that is running on their devices (https://anewdigitalmanifesto.com/#right-to-modify https://anewdigitalmanifesto.com/#right-to-modify), and anti-debugging techniques (including invasive systems like DRM) are distasteful because they try to deny users that right. I'm also pleased to see the Firefox alert, but there's no specific mention I can find about why it doesn't work in Firefox. I'd love to see some more information about that.