Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is ARM a more secure instruction set?

Tags:

intel

I have read that 'Normal' ARM instructions are fixed length - 32 bits. And that no ARM instruction can jump into the middle of another instruction - something that is easy to do with x86 instructions.

(For x86, Google's NaCl tries to 'fix' this by aligning instructions on 32 byte boundaries.)

Does this make ARM programs more secure or more resistant to certain attacks?

If so, does this extend to Thumb and Java instructions?

like image 248
philcolbourn Avatar asked Mar 02 '10 12:03

philcolbourn


People also ask

Is ARM safer than x86?

Researcher: ARM a safer bet than x86 chips | Ars Technica.

Is ARM an instruction set?

The ARM instruction sets. The ARMv7 architecture is a 32-bit processor architecture. It is also a load/store architecture, meaning that data-processing instructions operate only on values in general purpose registers.

Is ARM still RISC?

Both ISAs are reduced instruction set computer (or RISC) designs, meaning the base instructions the CPU has access to are inherently simple but ideally fast to calculate. The 'R' in ARM actually stands for RISC (though ARM is no longer treated as an acronym), so in this sense the two ISAs are similar.

Why is ARM so popular?

Arm provides excellent performance per watt when compared with other microprocessor architectures. Its advanced version of the RISC design offers outstanding performance while maintaining superior energy efficiency.


1 Answers

The place where it can be safer is when scanning opcode to sandbox process. If you want to prohibit or intercept some instruction, doing so is easier on a fixed length instruction set. On x86 architecture, the instruction set depends of the context, and instruction have variable length, so an instruction that seems harmless can in fact embed another instruction, if you parse it from the correct offset. You can effectively "jump in the middle of an instruction" and still have a valid instruction.

ARM is easier to parse, and thumb mode does not change this. So ARM instruction set is not particularly safer per se, but is far easier to parse, and correct parsing is necessary for the NaCl like sandboxing

This is the short and probably inexact answer. For a more definitive answer, look at this blog post on the excellent matasano blog

like image 85
shodanex Avatar answered Sep 28 '22 09:09

shodanex