<<

EC 500 Hardware Security

Introduction to cybersecurity Cyber attacks examples

Prof. Michel A. Kinsy

Department of Electrical & Computer Engineering Course Topics § Classic and Modern encryption algorithms: AES, RSA, Hash, MAC, digital signatures, etc. § Hardware Security Primitives: Physical unclonable functions, Oblivious RAM, Circuit obfuscation, Hardware Trojans § Distributed Trustworthy Systems: Distributed Key Management, Authentication, Confidentiality § Secure Computing: Secure Multiparty Computation, Homomorphic Computation § Secure Architecture Design Concepts: Isolation, Obfuscation, Attestation § Memory Integrity, Side-Channel, Secure Boot, Trusted OS § Software Guard Extensions (SGX) and Trusted Execution Technology (TXT)

Department of Electrical & Computer Engineering Course Learning Vehicle § As a 500 Level course, it is primarily a reading, presentation and project driven course § The class project is built around the RISC-V ISA § We will try to build secure architecture features targeting each or some of these course topics

Department of Electrical & Computer Engineering Large-Scale System Security Breaches

§ The Emerging Mobile App “Wild West” • https://securityintelligence.com/how-to-protect-mobile-apps- essentials/ § Apple has now removed over 300 pieces of software from the App Store • http://www.wired.com/2015/09/apple-removes-300-infected- apps-app-store/ § Security researcher obtained physical access to the plane control system through the Seat Electronic Box • http://www.wired.com/2015/05/feds-say-banned-researcher- commandeered-plane/ § Stuxnet computer worm is shown to work on Siemens SIMATIC WinCC SCADA system • http://www.theguardian.com/world/2011/apr/17/iran-siemens- stuxnet-cyberattack

Department of Electrical & Computer Engineering Large-Scale System Security Breaches § Home routers § Stealthy, destructive malware infects half a million routers https://www.wired.com/story/vpnfilter-router-malware-outbreak/ § Services sector: databases and data centers § Equifax breach of 145.5 million people's data § Yahoo hack that affected 3 billion accounts § Hospitals § https://www.zdnet.com/article/us-hospital-pays-55000-to-ransomware-operators/ § https://www.healthcareitnews.com/news/when-medical-devices-get-hacked-hospitals- often-dont-know-it § Fitness and wellness § Under Armour § https://www.wired.com/story/under-armour-myfitnesspal-hack-password-hashing/ § Internet of Things § World's largest DDoS attack launched from 152,000 hacked Smart Deviceshttps://thehackernews.com/2016/09/ddos-attack-iot.html § 230 crypto keys are actively being used by more than 4 Million IoT devices § https://thehackernews.com/2015/11/iot-device-crypto-keys.html Department of Electrical & Computer Engineering Large-Scale System Security Breaches § Power grid systems: their control systems § U.S. investigators find proof of cyberattack on Ukraine power grid § https://www.cnn.com/2016/02/03/politics/cyberattack- ukraine-power-grid/index.html

Source: U.S. Department of Energy

Department of Electrical & Computer Engineering Example: Microgrids An information-centric energy infrastructure: The Berkeley view

Source: http://www.energy-daily.com/images/smart-grid-electricity-schematic-bg.jpg. Department of Electrical & Computer Engineering Example: Cybersecurity of Microgrids § Computation requirements § The control systems deal with continuous, computational intensive dynamics, discrete events, and generic commands § Low and high-performance processing units required § The correctness, stability, and efficiency in controlling these system are closely related to the data propagation delay in the control (low-latency, and hard real-time) § Fast and predictable execution units are imperative § Security requirements

Department of Electrical & Computer Engineering Example: Cybersecurity of Microgrids § Computation requirements § Security requirements § Local control algorithms change over time, due to changes in the physical plant functions or capacity § Programmable architectures are required § The system wide control is a network of independent or loosely coupled local controls § Robust network security is needed § Firewalls, intrusion detection, deep packet sniffing, logging, unauthorized access monitoring, etc.

Department of Electrical & Computer Engineering Evolving Nature of Applications

Scientific instruments

Social media and networks Mobile devices

Sensor technology

Data storage has grown significantly, shifting markedly from analog to digital after 2000 Global installed, optimally compressed, storage

Overall Detail Exabytes %; exabytes

300 100% = 3 16 54 295 1 Digital 3

250 25

200

150 94 Analog 99 97

75 100

50

6 0 1986 1993 2000 2007 1986 1993 2000 2007

NOTE: Numbers may not sum due to rounding. SOURCE: Hilbert and López, “The world’s technological capacity to store, communicate, and compute information,” Science, 2011 Department of Electrical & Computer Engineering Computer System Components View

Applications Operating System Compiler Firmware ISA Memory organization I/O system Datapath & Control Digital Design Circuit Design Layout

Department of Electrical & Computer Engineering Domains § The art of abstraction Application Algorithm Parallel Original Programming Language computing domain of Operating System/Virtual Machine security, … the Instruction Set Architecture (ISA) Domain of computer computer architect architecture (‘50s-‘80s) Register-Transfer Level (RTL) (90s) Reliability, Circuits power Devices Physics Department of Electrical & Computer Engineering Computer Architecture Components

Processing Cores

Memory Subsystem

On-chip Interconnect

§ The processing elements or cores do the actual computations, i.e., data manipulations, operations

Department of Electrical & Computer Engineering Computer Architecture Components

Processing Cores

Memory Subsystem

On-chip Interconnect

§ The is responsible for the on-chip data storage, organization and access scheme

Department of Electrical & Computer Engineering Computer Architecture Components

Processing Cores

Memory Subsystem

On-chip Interconnect

§ On-chip network handles data movements, e.g., cache lines and messages, between processor cores and memory modules Department of Electrical & Computer Engineering Why Hardware Level Security?

Defense becomes more and more complex, yet still outmatched by offense

Unified threat 10,000,000 management

8,000,000 Security software

6,000,000

4,000,000

Lines of code Network flight 2,000,000 recorder Malware: Milky Way DEC seal Stalker Snort 125 lines of code* 0 1985 1990 1995 2000 2005 2010

Source: Defense Advanced Research Projects Agency (DARPA) Brief to Defense Science Board (DSB) Task Force (May 2011). Data through 2010. Department of Electrical & Computer Engineering Computing Systems Security

§ Hardware Security Network • Circuit Level Applications § Hardware obfuscation

• Digital Design OS § IC watermarking • Datapath & Control § Self-repair and regeneration of datapaths Hardware • Component Level § Hardware security primitives (PUF, ORAM, RNG,…) • Architecture Level § Secure computing architectures • Secure heterogeneous system- on-chip (SoC) architectures

Department of Electrical & Computer Engineering Architecture Design Challenge § Relatively easy to get two of three, harder to get all three! Programmability Programmability Programmability

Performance Performance Performance

Energy Efficiency Energy Efficiency Energy Efficiency Uniprocessor ASIC Superscalar

Department of Electrical & Computer Engineering Architecture Design Challenge § Relatively easy to get two of three, harder to get all three! Programmability Programmability Programmability

Performance Performance Performance

Energy Efficiency Energy Efficiency Energy Efficiency Uniprocessor ASIC Superscalar

Programmability The general design objectives of the community have been: § If only I could get all three! Performance § Image the future of computing!

Energy Efficiency Department of Electrical & Computer Engineering Architecture Design Challenge § Relatively easy to get two of three, harder to get all three! Programmability Programmability Programmability

Performance Performance Performance

Energy Efficiency Energy Efficiency Energy Efficiency Uniprocessor ASIC Superscalar

Programmability What about security? § What about privacy-preserving computing? § Performance What about the integrity of the execution? § On-chip data confidentiality? § Albert! You really know how to kill Energy Efficiency a party!!! Department of Electrical & Computer Engineering Computer Architecture Security § The mainstream wake-up call § Meltdown and Spectre § Meltdown security vulnerability allows a local, unprivileged, userspace to read data from any memory location mapped to the process, including kernel memory § The key reason why this vulnerability is so terrifying

§ Spectre security vulnerability allows a local, unprivileged, userspace process to read data from memory locations assigned to other processes

Department of Electrical & Computer Engineering Control Flow and Performance § A basic block is a piece of code with no control flow instruction, i.e., no branches or jumps § Profiling results on a small set of common applications using the Intel Pintool

BASIC BLOCK DISTRIBUTION Number of BBLs Average Inst/BBLs 20824 8081 5425 4438 4230 4.69 4.66 4.65 4.62 4.59

CLEAR MKDIR LS UNTAR FIND

Department of Electrical & Computer Engineering Reducing Control Flow Penalty § Modern processors may have > 10 pipeline stages between next pc calculation and branch resolution! PC Fetch I-cache

Fetch Buffer Decode Issue Buffer Execute Func. Units

Result Buffer Commit Arch. State Department of Electrical & Computer Engineering Pentium 4: A Superscalar CISC Architecture

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 TC Nxt IP TC Fetch Drive Alloc Rename Que Sch Sch Sch Disp Disp RF RF Ex Flgs BrCk Drive 3.2 GB/s System Interface L2 Cache and BTB AGU

IntegerRF Load

AGU L1 D Rename/Alloc µop Queues µop Trace Cache Trace BTB & I & BTB

Schedulers ALU - Decoder ALU D and Cache ALU - TLB ALU -

FP move TLB FP RF FP store µCode Fmul ROM Fadd MMX SSE Department of Electrical & Computer Engineering Reducing Control Flow Penalty § Modern processors may have > 10 pipeline stages between next pc calculation and branch resolution! PC § Hardware solutions Fetch I-cache § Find something else to do - delay Fetch Buffer slots replaces pipeline bubbles with Decode Issue useful work (requires software Buffer cooperation) Execute Func. § Speculate - branch prediction Units of instructions Result Buffer beyond the branch Commit Arch. State Department of Electrical & Computer Engineering Reducing Control Flow Penalty § Sequential execution of § Speculative non-sequential instructions execution of instructions

i: instruction i: instruction

i+1: instruction i+1: instruction

i+2: instruction i+2: instruction

i+3: instruction i+3: instruction … j: instruction i+4: instruction j+1: instruction j: instruction … i+4: instruction j+k: instruction j+k: instruction

unprivileged Non-control flow instruction unprivileged control flow resolution instruction

unprivileged control flow instruction privileged instruction Department of Electrical & Computer Engineering Data Secret . . Inputs Outputs . . Process

Victim’s Domain

Department of Electrical & Computer Engineering Data Secret . . Inputs Outputs . . Process

Victim’s Domain

Attacker

Department of Electrical & Computer Engineering Data Secret . . Inputs Outputs . . Process

Victim’s Domain

Initiate attack

Attacker

Department of Electrical & Computer Engineering Data Secret . . Inputs ATP Outputs . . Process

Victim’s Domain ATP: Attack Transmission Process Initiate attack

Attacker

Department of Electrical & Computer Engineering Data Secret . . Inputs ATP Outputs . . Process

Victim’s Domain ATP: Attack Transmission Process Initiate attack ATP requests and sends out the secret

Attacker

Department of Electrical & Computer Engineering Data Secret . . Inputs ATP Outputs . . Process

Victim’s Domain ATP: Attack Transmission Process Initiate attack ATP requests and sends out the secret

Attacker SRP SRP: Secret Receiving Process Department of Electrical & Computer Engineering A new attack channel may be created (e.g., side-channel)

Data Secret . . Inputs ATP Outputs . . Process

Victim’s Domain ATP: Attack Transmission Process Initiate attack ATP requests and sends out the secret

Attacker SRP SRP: Secret Receiving Process Department of Electrical & Computer Engineering Next Class § Secure Design Examples

Department of Electrical & Computer Engineering