Posłuchaj

w aplikacji Lecton

#002 - Ataki na procesory - PortSmash, TLBleed, Foreshadow

Semihalf

Do słuchania w ramach:
Poziom niżej

W drugim odcinku przybliżamy wam techniczne aspekty ataków side-channel na procesory superskalarne, ujawnione w ostatnich miesiącach. Jest to niejako kontynuacja naszego wykładu ze stycznia w cyklu Barcampów gdzie omawialiśmy ataki Spectre i Meltdown.
W naszej pracy często optymalizujemy kod różnych krytycznych części systemu, począwszy od procedur kryptograficznych po wysokowydajny kod sieciowy. Takie zadania poza oczywistym aspektem dostarczania całej masy satysfakcji, pozostawiają również cenną wiedzę o tym jak działają nowoczesne procesory. A my lubimy dzielić się wiedzą ;)
Dlatego też odcinek rozpoczynamy od szybkiego przeglądu podstawowych bloków funkcjonalnych występujących we wszystkich rodzinach procesorów znajdujących się obecnie na rynku. Następnie od ok. 19 minuty przechodzimy do omówienia genezy ataków "side channel". Od ok. 36 minuty omawiamy atak Foreshadow który w naszej ocenie jest przykładem całkowitego braku zabezpieczeń przed tą nową klasą ataków, w tym na rozwiązania celowo stworzone z myślą o zwiększonym bezpieczeństwie czyli enklawach (Intel SGX). W dalszej części podcastu omawiamy również ataki TLBleed oraz PortSmash w kontekście kryptografii z użyciem krzywych eliptycznych.
Prowadzący: Radosław Biernacki, Michał Stanek, Łukasz Bartosik, Wojciech Macek, Maciej Czekaj
### Linki (chcesz wiedzieć więcej?):
### Linki chronologicznie:
#0:30 - Barcamp “Ghostbusting Meltdown Spectre” - https://youtu.be/FBy2gZD3OUw
#10:30 - Tomasulo algorithm -
https://www.youtube.com/watch?v=PZZvhqnch5o
https://www.youtube.com/watch?v=D29BgTLHYbk
https://www.youtube.com/watch?v=I2qMY0XvYHA
cały kurs na Udacity - https://classroom.udacity.com/courses/ud007/lessons/3643658790/concepts/8736801430923
#25:26 - audio side channel na RSA - https://www.cs.tau.ac.il/~tromer/acoustic/
#27:45 - Mnożenie zabiera różną ilość cykli w zależności od ilości 1ek lub wielkości liczby tzw Early Termination -
https://eprint.iacr.org/2009/538.pdf
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.100165_0201_00_en/ric1414056333562.html
http://oldwww.nvg.ntnu.no/amiga/MC680x0_Sections/timstandard.HTML
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337e/BABBCJII.html
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0210c/Chddggdf.html
#1:01:50 - PortSmash https://eprint.iacr.org/2018/1060.pdf
Krzywe eliptyczne - https://youtu.be/4M8_Oo7lpiA?t=742
#1:37:15 - Nowe instrukcje jako pseudo rozwiązanie Intel - https://newsroom.intel.com/wp-content/uploads/sites/11/2018/01/Intel-Analysis-of-Speculative-Execution-Side-Channels.pdf
Reakcja dev Linuxa - https://lwn.net/Articles/773118/
### Linki tematycznie:
#Side channel attacks on algorithms:
https://en.wikipedia.org/wiki/Exponentiation_by_squaring#Montgomery's_ladder_technique
http://cat.eyalro.net/
https://youtu.be/uQG_8TGcY84?list=PLbRoZ5Rrl5lew16BZO_C6wihpBkAYYaxi&t=190
http://www.cs.columbia.edu/~simha/spyjs.ccs15.pdf (javascript)
https://www.usenix.org/node/184416 and https://eprint.iacr.org/2013/448.pdf
#(FLUSH+RELOAD):
https://signal.org/blog/contact-discovery/ (SGX, side-channel proof hash table lookup)
https://signal.org/blog/private-contact-discovery/ (more detailed info)
https://www.bearssl.org/constanttime.html
#Timing atack:
https://en.wikipedia.org/wiki/Timingattack
#Blinding - biekcja stosowana na klucz aby przeciwdziałać side channel:
https://en.wikipedia.org/wiki/Blinding
(cryptography)
Side-Channel Analysis of Cryptographic Software via Early-Terminating Multiplications - https://eprint.iacr.org/2009/538.pdf
#TLBleed:
TLBleed - https://www.vusec.net/wp-content/uploads/2018/07/tlbleed-author-preprint.pdf
https://youtu.be/LFvd0UaxL-0
#Notka od Redhata na temat TLBleed (również dobre wprowadzenie do side channel) https://www.redhat.com/en/blog/temporal-side-channels-and-you-understanding-tlbleed
#PortSmash:
https://eprint.iacr.org/2018/1060.pdf
#L1TF/Foreshadow:
https://foreshadowattack.eu/foreshadow.pdf...

Wydane przez: brak