Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It might make sense in some contexts, but code obfuscation is a great example of where software engineers think it provides security where it provides none.

Developers often have some idealized notion that an attacker is going to need to piece their program logic back together and try to decode the purpose of each obfuscated variable in order to find a hardcoded password/value.

In reality an attacker is just going to dump strings and try them all or simply set a breakpoint just before the important syscall and let your program do the work. Code obfuscation provides little to no value for these common methods, yet we cannot resist the urge to list it as a bullet point in security meetings, leading to a false sense of security.



Exactly. If you're running crypto and think getting rid of variable names is going to stop people; it's not. Any off-the-shelf algorithm is usually easy to recognize to an accomplished reverse engineer with a basic background of what kind of things they're looking for.


Honestly, the modern JavaScript toolchain is better at giving reverse engineers a headache than 80% of binary obfuscators.


As someone who is not very good at JavaScript reverse engineering, I would tend to agree that minifiers are pretty annoying.


So the first thing that I do with one of those is to parse it and convert it to s-expressions. Problem solved.


>simply set a breakpoint

I knew nothing about this topic in general, but elsewhere in this thread there was a link to a blog post about obfuscation methods used in a piece of commercial software. One item was a function that detects a breakpoint, obfuscates its boolean return value so you can't tell if it did, and makes the program hang when it does. Pretty neat.

I think your (and my) ignorance of such methods is evidence that they probably are reasonably effective, even though when explained, they're not quantum physics.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: