Is protected flash secure?

Feb 16, 2017 3 Replies

Hi



So, I have been using a ST Cortex M0 STM32, NXP LPC, PIC32 and also a Renesas RX63. Just for fun. They look interesting as a potential candidate



All processors has a bit to set it up in protected mode, so the flash with proprietary IP cannot be read out



But, say my competitor wants to dig into my code



Is there really such a thing as a safe micro controller which memory is protected from Reverse Engineering conducted by a Russian or Chinese firm?



Isn't it just a matter of how much you pay for an invasive attack? (I have read numbers from 1000 to 20.000 USD)



Regards



Klaus


What resources do they have available? How motivated are they to attempt outright theft vs. just being a "copycat" (at some other level)?

Exactly. Virtually every "protection scheme" can be beat; the question is where you draw the line between practical vs. impractical for a given attack vector.

Is it cheaper for me to try to break your ("hardware") protection? Bribe one of your employees? Reimplement your design from black-box observations of its behavior/specifications?

[There are firms that specialize in the latter -- and I'm sure others who resort to the other approaches!]

If you are truly interested in the types of attacks that can be mounted on your hardware with MINIMAL access to the device's internals, there are lots of papers on the subject. (E.g., dynamically monitoring power supply current to deduce the instructions that are being executed)

A typical MCU won't have serious protection but some security processors will, including ones that aren't very expensive because they're intended for use in high-volume applications like payment cards. A very determined and high-resource attacker will be hard to stop, especially if they can get their hands on lots of individual units. But you can make it pretty hard. Today's smart cards evolved over a many-year technical arms race between cable TV companies and cable pirates. These days the smart card manufacturers seem to have the upper hand, though maybe the advantage will flip again some day.

The book "Security Engineering" by Ross Anderson is now somewhat dated, but it's good reading about this type of subject.

formatting link

Pretty much. Though the costs can go a lot, lot higher than that.

My advice would be to pick something in as small a technology as possible. It doesn't prevent attacks, but ratchets up the difficulty level substantially, at least for physical attacks. It also reduces SNR for sidechannel attacks, though some features of more complex processors (eg caches) can increase the potential sidechannels.

The other option is to go for hardened processors (eg as used on smartcards) which have additional mechanisms to prevent physical attacks - but those are mostly focused on protecting key material rather than software.

But, generally, making it not worth their while is the safest defence.

Theo

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required