https://jobs-noblis.icims.com/jobs/8246/junior-reverse-engin...
https://jobs-noblis.icims.com/jobs/6640/software-reverse-eng...
https://jobs-noblis.icims.com/jobs/6415/software-reverse-eng...
But in the past I've worked with malware analysts using IDA Pro to reverse engineer stuff. They worked for SAIC. That's another place to try.
I've had a confidential security clearance for years because of my job working on government military applications. I remember the process being insanely rigorous. I wonder how much longer it would take to get a Top Secret clearance?
Other anecdata: 60% of my cohort got a clearance in less than 8 months (I believe their sponsoring project paid for expediting?), at least one person was >3 years in queue last I checked.
I can already imagine the amount of technical barrier and knowledge gap one needs to fill even before getting started..
Holy shiet. It's impressive.
Learning how this stuff works in the forward direction makes spotting patterns a whole lot easier. It’s a lot easier to start RE when you’re already familiar with stuff like calling conventions or memory layout (for example).
From there, there isn’t a ton of formal education as far as I’ve seen. I am really fond of Smash the Stack’s IO wargame if you’re interested in CTF-style challenges. I also spent a good bit of time compiling my own small programs and then using them to learn the tools. When you’re starting off, RE is a lot easier when you know what you’re looking for.
Fundamentally though, you will probably need to build up some low level knowledge of whatever you are targeting (whether it's an app platform, TCP packets, C/ASM code, etc).
If you have a web background there are lots of sites that have fun challenges you can start with. You could try Google's XSS game: https://xss-game.appspot.com/
It's a field that really interests me since I always liked puzzles and games and am happiest at work debugging tricky issues - but I'm not sure how easy it would be to break in as a 'junior' at age 35+.
Time in front of the screen is all you need. All code translates to an execution layer.
It helps if you have a few years of dev under your belt. Bonus for low level languages like C or assembly.
have to do a lot of multi-system level debugging, and/or low-level debugging and optimization
I know that's vague but there are companies that make new products that for one reason or another need to talk to old products and the source, APIs, even binary interfaces are opaque, undocumented, obfuscated or otherwise unaccessible.
Developer tools, CAD/EDA, embedded systems... lots of people are building new stacks that have to talk to older ones at some point.