 Welcome to the demo of the IBM Research Anti-Rop Solution. It helps protect embedded devices and IoT systems against buffer overflows and return-oriented programming attacks. In our scenario, the Anti-Rop Solution runs on a Raspberry Pi computer with four ARM V7 processors. This setup is similar to architectures used by real vehicle multimedia controllers. The screen shows the car's multimedia display with the car speed shown in the top-left corner of the display. Let's see what happens during an attack against an unprotected system. When we insert a safe flash drive with a few songs into the car's USB port, the multimedia application reads the song titles from the flash drive files and displays them on the screen. To simulate an attack, we now insert a compromised USB drive into the system. The third song is a specially crafted file that exploits a buffer overflow bug in the multimedia system software. The song name is displayed on screen as Your Car's Hijacked, and the vehicle speed is reported as 999 km per hour. This means the exploit was executed and the system was attacked. Our solution uses shuffling to prevent these types of attack. Here's how it works. When the multimedia system software is compiled, our solution shuffles the order and location of different pieces of code inside the resulting executable file. This doesn't affect the functionality of the system, but the attackers now have no clue where to find the pieces of code they need to access for the attack. Let's take a look at the list of functions in two executable files created by our solution. Although their identical in functionality, the order of functions and the addresses they contain is completely different. In this way, any knowledge that attackers may have gained from hacking or even exploiting one system doesn't let them exploit other instances of the same system. Let's go back to the vehicle multimedia system and see what happens when we insert the compromised USB flash drive with the malicious song file into a protected multimedia system. We insert the USB drive in the port, and the protected multimedia system reads the song titles from the USB flash drive. When it tries to read the third song title, it encounters a problem and fails. But the actual exploit code is not executed, and the car's speed that's displayed is not modified. The attack tried to exploit the system based on knowing where to find certain pieces of code, because all these locations were changed in the protected system, the attack failed. Thank you for watching this demo of the IBM Research Anti-Rop Solution. Contact us for more information.