Artwork

Treść dostarczona przez Semihalf. Cała zawartość podcastów, w tym odcinki, grafika i opisy podcastów, jest przesyłana i udostępniana bezpośrednio przez Semihalf lub jego partnera na platformie podcastów. Jeśli uważasz, że ktoś wykorzystuje Twoje dzieło chronione prawem autorskim bez Twojej zgody, możesz postępować zgodnie z procedurą opisaną tutaj https://pl.player.fm/legal.
Player FM - aplikacja do podcastów
Przejdź do trybu offline z Player FM !

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

1:31:43
 
Udostępnij
 

Manage episode 245623398 series 2566477
Treść dostarczona przez Semihalf. Cała zawartość podcastów, w tym odcinki, grafika i opisy podcastów, jest przesyłana i udostępniana bezpośrednio przez Semihalf lub jego partnera na platformie podcastów. Jeśli uważasz, że ktoś wykorzystuje Twoje dzieło chronione prawem autorskim bez Twojej zgody, możesz postępować zgodnie z procedurą opisaną tutaj https://pl.player.fm/legal.
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/Timing_attack
#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
https://youtu.be/fEV6eA9o21o
https://www.youtube.com/watch?v=kqg8_KH2OIQ
#Elliptic curves for dummies:
https://youtu.be/4M8_Oo7lpiA?t=742
#SGX enclaves:
https://www.blackhat.com/docs/us-16/materials/us-16-Aumasson-SGX-Secure-Enclaves-In-Practice-Security-And-Crypto-Review.pdf
https://youtu.be/NP7f3M_saUs (pierwsze kilka min)
#Intel CAT:
https://software.intel.com/en-us/articles/introduction-to-cache-allocation-technology
https://lwn.net/Articles/694800/
#Historia side channel:
https://www.daemonology.net/papers/htt.pdf (NULL, CACHE MISSING FOR FUN AND PROFIT)
https://cr.yp.to/antiforgery/cachetiming-20050414.pdf (NULL, Cache-timing attacks on AES)
https://eprint.iacr.org/2007/336.pdf (NULL, I-Cache RSA)
http://cryptome.org/sbpa.pdf (NULL, Branch Prediction RSA)
https://pdfs.semanticscholar.org/b028/22567d583b89acc0b2bd5afa417ffa835d0a.pdf (NULL, I-Cache, SMT, RSA, DSA)
https://2459d6dc103cb5933875-c0245c5c937c5dedcca3f1764ecc9b2f.ssl.cf2.rackcdn.com/sec14/yarom.mp4 (NULL, FLUSH+RELOAD L3)
https://cyber.wtf/2017/07/28/negative-result-reading-kernel-memory-from-user-mode/ (2017)
  continue reading

11 odcinków

Artwork
iconUdostępnij
 
Manage episode 245623398 series 2566477
Treść dostarczona przez Semihalf. Cała zawartość podcastów, w tym odcinki, grafika i opisy podcastów, jest przesyłana i udostępniana bezpośrednio przez Semihalf lub jego partnera na platformie podcastów. Jeśli uważasz, że ktoś wykorzystuje Twoje dzieło chronione prawem autorskim bez Twojej zgody, możesz postępować zgodnie z procedurą opisaną tutaj https://pl.player.fm/legal.
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/Timing_attack
#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
https://youtu.be/fEV6eA9o21o
https://www.youtube.com/watch?v=kqg8_KH2OIQ
#Elliptic curves for dummies:
https://youtu.be/4M8_Oo7lpiA?t=742
#SGX enclaves:
https://www.blackhat.com/docs/us-16/materials/us-16-Aumasson-SGX-Secure-Enclaves-In-Practice-Security-And-Crypto-Review.pdf
https://youtu.be/NP7f3M_saUs (pierwsze kilka min)
#Intel CAT:
https://software.intel.com/en-us/articles/introduction-to-cache-allocation-technology
https://lwn.net/Articles/694800/
#Historia side channel:
https://www.daemonology.net/papers/htt.pdf (NULL, CACHE MISSING FOR FUN AND PROFIT)
https://cr.yp.to/antiforgery/cachetiming-20050414.pdf (NULL, Cache-timing attacks on AES)
https://eprint.iacr.org/2007/336.pdf (NULL, I-Cache RSA)
http://cryptome.org/sbpa.pdf (NULL, Branch Prediction RSA)
https://pdfs.semanticscholar.org/b028/22567d583b89acc0b2bd5afa417ffa835d0a.pdf (NULL, I-Cache, SMT, RSA, DSA)
https://2459d6dc103cb5933875-c0245c5c937c5dedcca3f1764ecc9b2f.ssl.cf2.rackcdn.com/sec14/yarom.mp4 (NULL, FLUSH+RELOAD L3)
https://cyber.wtf/2017/07/28/negative-result-reading-kernel-memory-from-user-mode/ (2017)
  continue reading

11 odcinków

Wszystkie odcinki

×
 
Loading …

Zapraszamy w Player FM

Odtwarzacz FM skanuje sieć w poszukiwaniu wysokiej jakości podcastów, abyś mógł się nią cieszyć już teraz. To najlepsza aplikacja do podcastów, działająca na Androidzie, iPhonie i Internecie. Zarejestruj się, aby zsynchronizować subskrypcje na różnych urządzeniach.

 

Skrócona instrukcja obsługi