Matt Galvin
Elixir, Erlang - Americas�matthew.galvin@erlang-solutions.com
Nerves
Datacenter application
Hacking is fun
Whether hardware, software, or both!
1. Hacking
Hardware hacking terms
Targets vs Attacks
Software Attack�Hardware Attack��We can flip bits in memory by running Rowhammer code on the CPU.
Hardware Attack�Hardware Target
Attack a ring oscillator by glitching supply voltage.
Hardware Attack �Software Target
Inject a voltage glitch on a CPU that influences an executing program.
Software Attack�Software Target��We can perform a buffer overflow on a network daemon.
Side Channel Attack�
�“It is easy for an attacker to measure the execution time, down to the resolution of a single clock cycle!” �O’Flynn, Woudenberg 14
Timing Attack
Code: 1337
Rigol
DS1054Z
Other side channel attacks
Power Analysis
You have probably heard about quantum computing and its ability to break cryptographic algorithms….��
In the news…
Spycraft
One of the images has the entire text of Hamlet encoded in it. Can you tell any difference?
‘a’ in ASCII is 97�97 in binary is 0110 0001�So, we need 3 pixels to fit a whole letter, with one extra bit.��R: 1111 1111 = 255 , G: 0000 0000 = 0, B: 0000 0000 = 0
Pixel 1 Color
Pixel 1 Color
Pixel 2 Color
Pixel 3 Color
Pixel 2 Color
Pixel 3 Color
R: 1111 1110 = 254, G: 0000 0001 = 1, B: 0000 0001 = 1
R: 1111 1110 = 254, G: 0000 0000 = 0, B: 0000 0000 = 0
R: 1111 1111 = 255, G: 0000 0000 = 0, B: 0000 0001 = 1
Simple Power Analysis (SPA) can break real cryptographic systems, including RSA.
O’Flynn, Woudenberg 264
RSA:
m = message
c = ciphertext
mod n = modulus operation
me = c mod n
SM,S,S,S,SM,SM,S,S,S,SM
10001100010
Sound interesting?��How I got started…�and you can too
Learning to:�SPA attack
SPA Attack
SPA Attack
Opportunities
for the BEAM?
Genetic Programming
Learning resources