hardveres trójai vírusok asic és fpga áramkörökbenbuttyan/courses/bmevihim219/2013/... ·...

Post on 05-Jun-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Hardveres trójai vírusok

ASIC és FPGA áramkörökben

1

Fogalmak

Hardveres trójai „vírus”: a hardver rosszindulatú megváltoztatása, amely speciális feltételek mellett a rendszer funkciójának megváltozását okozza

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

2

Rövidítések

HTH: hardware trojan horse

IP: intellectual property

SoC: System on Chip

Outsourcing: a vállalkozáson kívül elérhető erőforrások igénybevétele a vállalkozás feladatainak ellátásához

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

3

HTH beillesztése a HDL kódba

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

4

HTH beillesztése a HDL kódba

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

5

Miért kell a HTH-val foglalkozni?

Elektronikus eszközök nagy szerepet játszanak életünkben Bizalmas adatok tárolása, továbbítása

Különböző fontos (pl. orvosi berendezések) vezérlése

Katonai alkalmazások

Outsourcing miatt ki vagyunk szolgáltatva az integrált áramkört gyártó vállalatnak

“Report of the defense science board task force on high performance microchip supply.“ Defense Science Board, US DoD, Februar 2005

6

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

Félvezető gyártó üzemek

Rank Company Foundry Type Country of origin Revenue (million $USD)

1 TSMC Pure-play       Taiwan 14,600

2 UMC Pure-play       Taiwan 3,760

3 Globalfoundries Pure-play       United States 3,580

4 Samsung Semiconductor IDM       South Korea 1,975

5 SMIC Pure-play       China 1,315

6 TowerJazz Pure-play       Israel 610

7 Vanguard (VIS) Pure-play       Taiwan 519

8 Dongbu HiTek Pure-play       South Korea 500

9 IBM IDM       United States 445

10 MagnaChip IDM       South Korea 350

11 SSMC Pure-play       Singapore 345

12 Hua Hong NEC Pure-play       China 335

13 Win Semiconductors Pure-play       Taiwan 300

14 X-Fab Pure-play       Germany 285

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

7

Foglalkozik-e vele valaki?

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

8

Foglalkozik-e vele valaki?

Bevezető

Digitális áramkörök

HTH részletesen

Fogalmak, rövidítések

Miért kell a HTH-val foglalkozni?

9

Digitális eszközök típusai

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

10

FPGA blokkdiagram és floorplan

FPGA: helyszínen programozható logikai tömb

11

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

FPGA tervező környezet

12

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Bitstream letöltése az FPGA-ba

13

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

ASIC floorplan (Intel Nehalem microarchitecture)

ASIC: alkalmazásspecifikus integrált áramkör

14

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Bitstream vs. GDSII

15

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Digitális áramkör tervezési lépési

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

16

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Digitális áramkör tervezési lépési

17

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Digitális áramkör tervezési lépési

18

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Digitális áramkör tervezési lépési

19

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Digitális áramkör tervezési lépési

20

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Digitális áramkör tervezési lépési

21

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Digitális áramkör tervezési lépési

22

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Tervezési és gyártási folyamat részletesebben

23

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Tervezési fázis veszélyek

Támadó hozzáfér az összes forrásfájlhoz

Még, ha megbízható mérnök tervez, akkor is meg kell bízni

3rd party IP core (pl. Ethernet vezerlő)

Tervező szoftverek

Standard cellák (csak ASIC esetén: pl. NAND kapu valóban egy NAND kapu)

24

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Gyártási fázis veszélyek

FPGA Bitstream nem mindig titkosított Ha mégis az lenne: már publikáltak DPA technikán

alapuló támadást

ASIC Támadó módosítani tudja a maszk fájlokat gyártás

előtt Logika hozzáadása (nehéz feladat) Adalékolás megváltoztatása (pl. inverter -> konstans

VCC tápfeszültség)

Gyártás után is módosítható az áramkör FIB-bel (Focused Ion Beam)

25

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

A továbbiakban…

26

Bevezető

Digitális áramkörök

HTH részletesen

FPGA

ASIC

Áramkörök tervezésének lépései

Általánosan a HTH-ról Taxonómia Aktivitás Triggerelési mechanizmus

Tervezési és gyártási folyamat során

Implementáció Detektálás Megelőzés

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

HTH taxonómia

27

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

HTH aktivitás

Funkció módosítás

Logikai hozzáadása, törlése

Pl. hibadetektáló modul olyan bemeneteket is elfogad, melyeket egyébként elutasítana

Titkosítás során egyes lépések kihagyása

28

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

HTH aktivitás

Információ szivárogtatás

RF, optikai, termikus úton

Esetleg soros porton, JTAG-en vagy akár interneten keresztül

A szivárogtatás során a küldés tipikusan rejtve marad (adott zajszint alatt marad az érték)

Pl. RF esetében spread spectrum segítségével

29

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

HTH aktivitás

Denial of Service Szűkös erőforrások kimerítése

SoC busz folyamatos foglalása Számítási kapacitás Akkumulátor (egyes modulokat nem hagyunk sleep

módba jutni vagy felesleges meghajtó áramköröket helyezünk le)

Fizikai elváltozás Hot Carrier Injection(HCI)

Oxide Breakdown (OB) (nagy elektromos mező miatt a FET-ek gate alatti oxid rétegének átütése következik be, ami rövidzárt okoz)

Negative Bias Temperature Instability (NBTI) Electron-Migration (EM)

30

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

HTH triggerelési mechanizmus

Áramkörön belüli trigger

Egyszerű esetben pl. egy buszra kiadott címet figyelünk

Bonyolultabb esetben állapotgép segítségével egy megadott szekvenciára várunk

Sokkal nagyobb állapotteret kell megvizsgálni, ha detektálni akarjuk, így ez hatékonyabb

31

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

HTH triggerelési mechanizmus

On-chip termikus kommunikáció

32

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

HTH triggerelési mechanizmus

Trigger feltétele valamilyen külső input

Szenzoroktól származó értékek

Hőmérséklet

Feszültség

Páratartalom

stb…

Egyéb

Soros porton beérkező adat

33

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Bemutató: saját hardveres trójai áramkör implementáció

34

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Verilog forrásfájlok

35

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

RTL szintű modell

36

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Kapuszintű modell

37

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Rendszertani besorolása

38

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

HTH implementáció

39

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

FPGA típusok

Xilinx + Altera + Lattice (+ SiliconBlue) > 90 % piaci részesedés

Microsemi (+Actel)

40

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

SRAM FPGA

41

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

FPGA nem titkosított bitstream

42

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

FPGA nem titkosított bitstream módosítás

43

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

FPGA titkosított bitstream módosítás

44

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

FPGA titkosított bitstream módosítás

On the Vulnerability of FPGA Bitstream Encryption against Power Analysis Attacks – Extracting Keys from Xilinx Virtex-II FPGAs –

Differential Power Analysis

45

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

HTH implementáció

46

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Standard cellás ASIC - basic floorplan

47

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

ASIC adalékanyag maszk módosítás

48

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

CMOS inverter

49

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

ASIC adalékanyag maszk módosítás

50

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

ASIC adalékanyag maszk módosítás

51

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

HTH detektálás

52

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

HTH detektálás

Pásztázó elektronmikroszkóp (SEM) segítségével

Apró eltéréseket nehéz észrevenni

53

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

HTH detektálás

Funkcionális tesztelés

Gyártás után történik

Adott bemenetre a várt kimenetet kapjuk-e

Nem kimerítő keresés

54

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

HTH detektálás

Side-channel comparison

55

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Tervezés során, ha nem megbízható CAD rendszert használunk, az elkészített terveket érdemes saját

fejlesztésű (megbízható) programmal megvizsgálni.

HTH megelőzés

56

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

Újraprogramozható logika beiktatása egyes helyekre, így a támadó nem tudja, hogy a maszkot hogyan módosítsa,

mivel csak később fog a tényleges funkcionalitás eldőlni.

Logika duplikálása, adatok keverése (scrambling).

HTH megelőzés

57

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

Specifi-káció

Tervezés

Gyártás Terjesztés Magas szintű programnyelv

HDL Kapcsolási

rajz Áramkör

FPGA Szöveges leírás

C++ és SystemC VHDL és Verilog

Kapcsolási rajz szimbólumok

Tranzisztorok Bitstream Áramkör

kész, betokozva ASIC Floorplan

HTH megelőzés

58

Bevezető

Digitális áramkörök

HTH részletesen

Bevezető áttekintés

Saját hardveres trójai implementáció

Tervezési és gyártási folyamat során a HTH

top related