Specialization IB - Question 2 (Attacks on cipher protocols) Flashcards
What is protocol?
A multi-party algorithm, defined by a
sequence of steps precisely specifying the
actions required of two or more parties in
order to achieve a specified objective
Utoky na hesla
Snazi se uhodnout hesla/
* Brute-force (optimized na ASIC, GPU)
* Slovnikovy utok
* Vzorce (slovnik + bruteforce)
* Rainbow tables
Jak se branit utokum na hesla?
- Volit silna hesla
- Zvysit cas hashovani -> zvysi cas bruteforce
= bcrypt stanovuje pocet kol, scrypt zvysuje narocnost na pamet = ztizeni pouziti ASIC/GPU
Utoky po siti
Souvisi se sitovou komunikaci
- Replay
- Authentication Reflection attack (challenge-response)
- Syn flood attack
- Reflection amplification attack (DOS - spoof source IP)
- Man in the middle
- Forced delay - dlouhy
Man in the middle
Jde o to, ze se eve stavi mezi dve komunikujici strany - Eve se vydava za Alici a Boba.
napr. ARP poisioning (na lokalni siti se snazi tvarit jako hub/gateway - aby komunikace s obeti sla pres nej)
Replay
Utocnik odchyti validni zpravu a preposle ji v jinem contextu
Obrana - predani nonce, session ID, timestamp
Reflection
Utok na challenge-response system
- Utocnik se chce autentizovat
- Server vrati challenge
- Utocnik vezme challenge a posle na server (nove spojeni)
- Server vraci response
- Utocnik posle response ze 4. serveru na challenge ze 2.
Obrana - identifikator. Pokud server dostane svuj identifikator, vratit
SYN flood attack
Zaplavi SYN pakety
Druh DOS
Utocnik posle SYN pakety ale uz dal nepokracuje v komunikaci
Za normalnich okolnosti:
1. E -> B SYN
2. E <- B SYN-ACK
3. E -> B ACK
Obrana proti DOS - pokud napr. najdem tachove chovani, blokujem IP addresy - pakety rovnou zahazujem
Side channels utoky
Sbiraji se postrani informace o behu programu/procesu
* Cas
* Power consumption
* Oracle utoky
* Cache timing
* Statistic analysis
* Meltdown and specter
Meltdown
Zranitelnost hardwaru krast data
dovoluje cist data ke kterym nema mit utocnik pristup. Vyuziva tzv. spekulativni pamet. Jde o cast pameti, do ktere je ulozen vysledek operace, ktera byla spekulativne vykonana (vykonana napred, nez mela)
Cas (timming)
Meri se cas exekuce programu/procesu
Analyzuje se, jestli pri urcitych argumentech/nastaveni se cas meni - resp. lze najit urcitou korelaci
Power consumption
Meri se spotreba energie pri exekuci programu/procesu
napr. kreditka kdysi - spatny pin ma vetsi spotrebu => lze odchytit
Oracle attack
Vyzaduje reakci serveru na dany text
Utocnik se snazi na bazi vybranych textu (challenges) ziskavat response, ze kterych by mohl neco zjistit.
Napr. server vyhodi chybu, pokud se text spatne desifruje (ma spatny padding)
Cache-timing
Rozdily mezi casy k pristupum k datum - na cachi a na disky
Utocnik zaplni mezipamet svymi daty, obet nasledne pristoupi ke svym datum -> utocnikovi se uvolni naka mezipamet pro obet. Utocnik nasledne zjisti, ktera pamet se obeti uvolnila.
Spectre
Jako meltdown s rozdilem, ze dovoluje i jinym procesum/podprocesum (tabum)
HW Ochrana citlivych dat
- FIDO U2F token
- TPM
- HSM
- Intel SGX
- HW penezenky
FIDO U2F tokens
Fyzicky autentizacn token. Nahrazuje heslo.
Prohlizec (server) - vysle challenge, FIDO U2F odpove responsi s tokenem.
Zarizeni musi byt zaregistrovane.
- Server - chalenge -> client - chalenge -> Device
- Device sign the challenge
- Device - signed response -> client - signed response -> Server
- Server overi podpis
- Klic musi mit uzivatel fyzicky pri sobe, pokud neni replikovany = neni mozne jen tak ukrast
- Uzivatel je aktivni - musi zmacknout treba tlacitko (overit biometrikou)
TPM
Trusted Platform Module
Smart card
Bud jako separatni cip na zakladni desce nebo soucasti CPU. TPM muze byt i simulovane softwarem.
Pouziva se pro kryptograficke ucely:
* generovani klicu
* bezpecne ukladani klicu
* Operacni system a firmware byly nabootovany koretne - nebyl nahrazen skodlivou/upravenou variantou (root of trust)
* sifrovani/desifrovani disku
Ma v sobe zabudovan nahodny RSA klic
HSM
Hardware Secure Module
Podobne ucelnosti TPM ve smyslu, ze je to zarizeni pro kryptograficke ucely.
- generovani a ukladani klicu
- vytvareni/overovani identit
- RNG
- Podepisovani/overovani podpisu
- sifrovani/desifrovani
Dve varianty:
* Je to sitovy prvek (TCP/IP) = je na siti a provolava se pres API
* je to externi chip (jako expansion card - zapoji se do nakeho portu v zarizeni)
Intel SGX
Software Guard extension - rozsireni architektury ISA zabezpecujici software
Smartcard
Maly vypocetni zarizeni s cilem byt co nejbezpecnejsi. Casto snaha byt levny (ale odviji se od vlastnosti)
napr. sim card, credit/debit card, elektronicke doklady
Programovatelne treba pres Java Card (applet)
- Je limitovan vykonen/pameti
- TRNG
- Pouziva crypto koprocesory (specialni obvody pro efektivni crypto operace jako RSA, ECC)
Daji se emulovat a vsak realna zarizeni se muzou chovat jinak (muzou se bricknout treba)
HW wallets
Bezpecnes uchovani klicu k podepisovani transakci
BTC a dalsi crypto - klic k penezum je ulozen v penezce.
napr. trezor
Muze se zadavat jeste heslo/pin/biometrika -> penezku muze vyuzit jen vlastnik (respektivne nekdo se znalosti)
Vyhody Smartcards
- Mene komplexni nez treba mobil
- Sifrovani, podepisovani, atp probihaji na karte (klic nemusi byt leaknout)
- Muze mit i fyzickou ochranu
Fyzicka ochrana Smartcards
Tamper-evidence -> utok nenavratne poskodi kartu (ikdyz karta nereaguje, vidime, ze s kartou nekdo manipuloval)
Tamper-resistance -> utok je narocny
Tamper-response -> utok je detekovan a karta reaguje (treba smazanim)