A Solder-Defined Computer Architecture for Backdoor and Malware - - PowerPoint PPT Presentation

a solder defined computer architecture for backdoor and
SMART_READER_LITE
LIVE PREVIEW

A Solder-Defined Computer Architecture for Backdoor and Malware - - PowerPoint PPT Presentation

Welcome! A Solder-Defined Computer Architecture for Backdoor and Malware Resistance Examinee: Marc W. Abel Committee: Travis Doom, Ph.D. (chair) Jack Jean, Ph.D. Michael Raymer, Ph.D. Krishnaprasad Thirunarayan, Ph.D. (T.K. Prasad) Vincent


slide-1
SLIDE 1

Welcome!

A Solder-Defined Computer Architecture for Backdoor and Malware Resistance

Examinee: Marc W. Abel Committee: Travis Doom, Ph.D. (chair) Jack Jean, Ph.D. Michael Raymer, Ph.D. Krishnaprasad Thirunarayan, Ph.D. (T.K. Prasad) Vincent Schmidt, Ph.D. (Air Force Research Laboratory) For slides: https://wakesecure.com Department of Computer Science and Engineering

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 1 / 28

slide-2
SLIDE 2

Welcome!

Today’s conversation

1

Introduction Why computer hardware is a serious problem

2

Aspiration A logic family for solder-defined architectures

3

Combinational logic Arithmetic logic unit

4

Sequential logic Central processing unit

5

Closing Contributions, milestones, and questions

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 2 / 28

slide-3
SLIDE 3

Why computer hardware is a serious problem

To increase security, reduce complexity COMPLEXITY SECURITY

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 3 / 28

slide-4
SLIDE 4

Why computer hardware is a serious problem

What’s wrong with our hardware?

Too complex Not well controlled by buyers Does not consider needs of software Not enough alternatives

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 4 / 28

slide-5
SLIDE 5

Why computer hardware is a serious problem

Categories of vulnerability-inducing hardware irregularities

Category I II III Origin purposeful unexpected malicious Example arithmetic wrap RowHammer hidden backdoor Software fix? yes no no VLSI fix? yes yes no Manufacturing fix? yes yes yes

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 5 / 28

slide-6
SLIDE 6

Why computer hardware is a serious problem

Category I example: Integer wraparound

(Category I irregularities exist for a purpose.) C programmers used to write: c = a + b; Today, they would need to write: if (b > 0 && a > (INT_MAX - b) || b < 0 && a < (INT_MIN - b)) longjmp(CATCHIT, SIGNED_ADD_OVERFLOW); else c = a + b;

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 6 / 28

slide-7
SLIDE 7

Why computer hardware is a serious problem

Some well-known Category II irregularities

(Category II irregularities are unplanned and unexpected.) When Architecture Name Synopsis 1985 80386 multiply bug arithmetic error 1994 Pentium FDIV arithmetic error 1998 Pentium F00F lockup 2003 Via C3 God mode privilege escalation 2008 Intel AMT Silent Bob full control of everything 2015 DRAM RowHammer memory corruption 2017 x86 Spectre read others’ memory 2017 x86, POWER, ARM Meltdown read all memory 2020 Intel SGX load value inj. inject data values 2020 Intel CSME [M. Ermolov] broken authentication

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 7 / 28

slide-8
SLIDE 8

Why computer hardware is a serious problem

Actual and rumored Category III exploits

(Category III irregularities are intentionally malicious.) Who Architecture Synopsis AMD Platform Security Processor hypothesized backdoor Apple iPhone 6 + iOS 10.2.1 sabotaged performance Deere 8520T tractor right to repair infringements Huawei 5G cellular infrastructure potential for China influence Intel Management Engine hypothesized backdoor Intel RDRAND instruction non-randomness suspicions NSA ANT Catalog implantable surveillance products VIA C3 (x86 clone) backdoors claimed by C. Domas ZTE 5G cellular infrastructure potential for China influence

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 8 / 28

slide-9
SLIDE 9

Why computer hardware is a serious problem

Proposed Category III countermeasures

Proponent Synopsis Michael Pompeo geopolitical controls Adam Waksman lock down VLSI supply chain Eric Love add formal proofs of security to hardware IP Mirko Holler X-ray ptychographic inspection This proposal Marc Abel complex logic to be built by end user

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 9 / 28

slide-10
SLIDE 10

Why computer hardware is a serious problem

The work of this proposal targets all categories

Category I II III Origin purposeful unexpected malicious Example arithmetic wrap RowHammer hidden backdoor Software fix? yes no no VLSI fix? yes yes no Manufacturing fix? yes yes yes

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 10 / 28

slide-11
SLIDE 11

A logic family for solder-defined architectures

Computers were once BIG

The speaker using an IBM 1130.

Norwester, 62, p. 73 (1986). Used with permission.

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 11 / 28

slide-12
SLIDE 12

A logic family for solder-defined architectures

SRAM logic gate

During operation

SRAM

16 16 address data input

  • utput

During initialization

SRAM

16 16 address data

✁rmware

16 ctrl ¬ctrl input

  • utput

write enable

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 12 / 28

slide-13
SLIDE 13

A logic family for solder-defined architectures

SRAM logic gate sample application

SRAM

6 6 6

L R Y

  • peration

select 4

Slot Use L + R 1 L − R 2 R − L 3

NOT L

4 L AND R 5 L NAND R 6 L OR R 7 L NOR R 8 L XOR R 9 L AND NOT R 10 L × R, low 6 bits 11 L × R, high 6 bits 12 shifts/rotations of L (select by R) 13 permutations of L (select by R) 14 L encrypted with key R 15 L decrypted with key R

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 13 / 28

slide-14
SLIDE 14

Arithmetic logic unit

Block diagram of 36-bit ALU

θ β5 β4 β2 β3 β1 β0 α5 α4 α3 α2 α1 α0 γ5 γ4 γ3 γ2 γ1 γ0

γ op sel to zero-detect NAND Y2 L2 R0 result left operand right operand p5 c5 d5 β op sel

4 3

propagate carry carry decision α op sel

4 6 6 6

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 14 / 28

slide-15
SLIDE 15

Arithmetic logic unit

Flag handling for 36-bit ALU

θ

ζ α5

γ5

prev T new N new Z new R new T new I prev R prev Z prev N control control ζ op sel Z allowed γi is zero which N? α5 idea

  • f N

γ5 idea

  • f N

6 4

encoded range

4

flip Z? θ op sel

3

addl sel

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 15 / 28

slide-16
SLIDE 16

Arithmetic logic unit

CPU flag meanings

Flag Name Purpose I Interrupt array bound check failed N Negative arithmetic: result < 0; logic: bit 35 set R Range a previous result did not fit destination T Temporal range the most recent result did not fit destination Z Zero result is all zeros

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 16 / 28

slide-17
SLIDE 17

Arithmetic logic unit

32 supported subtraction operations

; The assembler for the ALU simulation uses this syntax. unsigned au bu cu signed as bs cs ; ordinary ; subtract ; reverse ; reverse subtract ; subtract ; with carry ; subtract ; with carry cu = au - bu cu = au -- bu cu = au ~- bu cu = au ~-- bu cu = au - bs cu = au -- bs cu = au ~- bs cu = au ~-- bs cu = as - bu cu = as -- bu cu = as ~- bu cu = as ~-- bu cu = as - bs cu = as -- bs cu = as ~- bs cu = as ~-- bs cs = au - bu cs = au -- bu cs = au ~- bu cs = au ~-- bu cs = au - bs cs = au -- bs cs = au ~- bs cs = au ~-- bs cs = as - bu cs = as -- bu cs = as ~- bu cs = as ~-- bu cs = as - bs cs = as -- bs cs = as ~- bs cs = as ~-- bs

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 17 / 28

slide-18
SLIDE 18

Arithmetic logic unit

Screenshot from ALU simulation

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 18 / 28

slide-19
SLIDE 19

Central processing unit

Projected CPU capabilities and metrics

36-bit architecture 10 MIPS preemptive multitasking memory protection I/O bus protection 20 × 20 cm approximate size first unit cost < $1000

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 19 / 28

slide-20
SLIDE 20

Central processing unit

Potential applications

Fast enough for hardened desktop applications electronic mail light- to moderate-use servers control objects that move process controls peripheral and device controllers telephony modest Ethernet switches Too slow for most Web surfing machine learning image and video processing self-driving vehicles fast raster or vector graphics fast symmetric cryptography fast asymmetric cryptography micro air vehicles

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 20 / 28

slide-21
SLIDE 21

immediate value insertion return addresses code RAM ALU instruction decoder register le right copy register le left copy ALU ALU ALU

  • verrange

detection page table data RAM ag registers call depths

† † † † †

update register les memory/register transfer update ags

* * * * * *

* Additional input speci es the program that is running. † Additional input comes from the instruction decoder.

asynchronous input & output program counter call depth counter immediate value insertion return addresses code RAM ALU instruction decoder register le right copy register le left copy ALU ALU ALU

  • verrange

detection page table data RAM ag registers call depths

† † † † †

update register les memory/register transfer update ags

* * * * * *

* Additional input speci es the program that is running. † Additional input comes from the instruction decoder.

asynchronous input & output program counter call depth counter

CPU cycle depiction with static RAM drawn as boxes

Figure enlarged on proposal page 29

slide-22
SLIDE 22

Central processing unit

Register file highlights

128 programs × 512 registers available all at once registers are fully orthogonal not accessed by number in programs, but declared like variables assembler and linker can help allocate and consolidate registers no save/restore needed to switch programs duplicate (left and right operand) copies for speed immediate value (numeric constant) insertion via right operand

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 22 / 28

slide-23
SLIDE 23

Central processing unit

Primary storage (“main memory”) highlights

Harvard architecture (physically separate code, data, and call return stack memory) 100% SRAM (no DRAM) page table for data memory no user control of return address stack no data co-located with return addresses no direct support for recursion branch destinations always hard-coded in instructions no longjmp, pointers to functions, etc. no user control of program memory or contents

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 23 / 28

slide-24
SLIDE 24

Central processing unit

Privilege mechanisms

restrictive, inflexible instruction format stack and code not addressible via LOAD or STORE OS to filter privileged instructions at program load time OS to filter branches to library code at program load time data memory accessed via page table

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 24 / 28

slide-25
SLIDE 25

Central processing unit

Implementation challenges to come

high pin count (capacitance) at many nodes provision needed for OS writes to many subsystem RAMs I/O subsystem must balance security, succinctness, and speed many components necessary for firmware loading pipelining and nanosecond budget to reach 10 MIPS layout and assembly for real-world prototype potential need to troubleshoot assembled system scope to pupil ratio

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 25 / 28

slide-26
SLIDE 26

Contributions, milestones, and questions

Original contributions

ALU Incremental contributions associated with SRAM implementations of carry-skip adders, fast multipliers, logarithmic shifters, and superpositions thereof CPU World’s first “gold standard” for transparently functioning, fully auditable, user-constructable computers for integrity- and confidentiality-critical missions

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 26 / 28

slide-27
SLIDE 27

Contributions, milestones, and questions

When is Marc done?

This will take 12 months. Requirements for the machine are on page 32 of the proposal. They align with what you have heard today. I will submit an article to IEEE Computer Architecture Letters no later than October 2 (23 days from today). If CAL does not accept this article, I could extend it for:

ACM Transactions on Information and System Security ACM Transactions on Computer Systems IEEE Transactions on Dependable and Secure Computing 42nd IEEE Symposium on Security and Privacy (not preferred)

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 27 / 28

slide-28
SLIDE 28

Contributions, milestones, and questions

Questions and answers

Thank you for spending this time with us!

Marc W. Abel A Solder-Defined Computer Architecture 9 September 2020 28 / 28