Possible to identify cryptographic keys in non-random binary data? From my understanding, a well-generated cryptographic key would be indistinguishable from randomly generated binary data. However, I also know that most cryptographic keys do not appear surrounded only by random noise in practice but rather by structured program data. Are there any demonstrable techniques from practically identifying likely AES keys, for example, in a typical firmware binary (or device memory)?
I think that the problem with your sneaky technique is in the first sentence - "a well-generated cryptographic key would be indistinguishable from randomly generated binary data"  That's absolutely true, and I'm extremely confident that 625,000 well generated unique keys concatenated together will form sufficient data for a Diehard test.  And that data sample would pass, probably with flying colours and no dodgy ps.

However you're only trying to find a single key that's perhaps only 128 bits of data.  That's 16 bytes.  16 random bytes can be anything ('cause it's random).  They could be 101010... or any other non random looking sequence.  That's the pesky nature of true randomness.  Who would have thought that 999999 is totally random, yet it famously is and clearly exhibits very low entropy.  This will easily be lost in all the different micro variations of entropy that constitute a computer application.

This is further camouflaged by things like compressed data structures.  Almost all parts of a JPEG are totally random as a result of lossless Huffman coding.  This might resemble an AES key, and readable high level disassembly is extremely difficult.

The only approach I can find is the brute force extraction technique.  Knowing that your thing is AES encrypted, I'd scan though the application from beginning to end, extracting every consecutive and overlapping 16 bytes.  They run them through the decoder to see if your thing decodes to something understandable.

Now since a complete dummkopf like me thought of this, clever application developers /cryptographers though of it too.  It would be very simple to obfuscate the raw AES key somehow.  Simply XOR it beforehand with another array or distribute the individual bytes randomly throughout the entire memory map.  You could even encrypt the encryption key with another algorithm.  This might be one of the few perfectly valid examples of rolling your own crypto to create security through obscurity.  I'm sure that there are even more complex obfuscation techniques in use - no body wants you to play Halo for free after all.