3 ms·
Gosh, that's really, really bad. The absolute last thing I need is for my reverse engineering tools to wantonly execute code out of the (very very likely up-to-
by nneonneo 4y ago
Gosh, that's really, really bad. The absolute last thing I need is for my reverse engineering tools to wantonly execute code out of the (very very likely up-to-no-good) binary I'm reversing.
In general the state of reverse engineering tool security seems pretty bad. Common tools like binutils (objdump, readelf, gdb, etc.), IDA, and even Wireshark have had memory corruption bugs. For example, it's pretty easy to get Wireshark to crash on a NULL pointer dereference in some random dissector when fed arbitrarily naughty pcap data. It's bad enough that I do almost all of my reverse engineering work inside various VMs that have strict isolation from the host. I'd have expected a Java-based program like JEB to be better at this, but apparently they got lazy and decided to just eval() the untrusted binaries...
I would not be entirely surprised if some state-level actor somewhere booby-traps their binaries with exploits like these to figure out who's looking at their stuff.
- Joker_vD 4y agoYeah, when I was studying ELF format I used gdb to inspect hand-crafted ELF files to better understand what actual semantics some fields actually have (or how they're supposed to validated) and I was quite surprised when it would segfault on disassembly attempt — not the program under inspection but the gdb itself. IMHO for a debugger to segfault when attempting to inspect the program under it because the program has wrong headers/corrupted memory layout or whatever is completely inexcusable: the reason you attach debugger to a program is generally because it went (spectacularly) spoiled and curdled and now you try to figure out what the hell happened.
- benibela 4y agoWhen I debug gui/gtk2 programs, gdb manages to sometimes freeze my entire desktop I have to kill gdb from outside the X server to do anything else
- ActorNightly 4y ago>The absolute last thing I need is for my reverse engineering tools to wantonly execute code out of the (very very likely up-to-no-good) binary I'm reversing. Given things like Log4Shell and Spring4Shell seems like there is a lot of software written in Java where authors just willingly add capability to execute random code and see nothing wrong with it.
- flangola7 4y agoWe really just need hard native application isolation like Android and iOS offer. Other than zero-day sandbox escapes, there's very little a malicious Android app can do if it has been granted no permissions and no file system or internet access.