Piotr Konieczny

konsultant ds. bezpieczeństwa, podróżnik,
hobbystycznie fuksiarz i gadżeciarz
szkot, prawie spadochroniarz...
nienawidzi zielonego.


« wszystkie wpisy |

Wtorek, 02 stycznia 2007 :: 12:53:38

Temperatura komputera zdradza twoje IP

Czy to możliwe, żeby temperatura Twojej maszyny ujawniła Twoją sieciową tożsamość? Jak najbardziej!

Niedawno, Kohno opisał swój eksperyment polegający na identyfikowaniu ruchu maszyny, po znacznikach czasu (ang. timestamps), wykorzystując zjawisko przesunięcia czasowego (ang. clock skew), czyli niedokładność komputerowego zegara (pod wpływem zmiany temperatury).

Każdy komputer znaczy czasem wysyłane przez siebie pakiety z charakterystyczną dla niego dokładnością. Dzięki temu, możemy np. stwierdzić ile różnych (fizycznie) maszyn znajduje się za NAT-em.

Kilka dni temu, Wired opisał eksperyment Murdocha, który korzystając z odkrycia Kohno, przeprowadził atak na serwery cebulowego routingu (TOR), zapewniające anonimowość i umożliwiające omijanie restrykcyjnych firewalli.

TOR to sieć serwerów, która zapewnia anonimowość połączenia, poprzez szyfrowanie pakietów i "żonglowanie" nimi między serwerami TOR, zanim dotrą one do docelowego serwera. Serwer docelowy, nie ma więc pojęcia, kto tak naprawdę wysłał do niego żądanie.

Atak Murdocha jest dość prosty. Wybieramy "ofiarę" w sieci TOR i monitorujemy serwery, które podejrzewamy o udzielanie się w sieci TOR, po ich publicznych IP. Następnie podgrzewamy ofiarę, czyli wysyłamy do węzła w sieci TOR żądanie, wymuszające wysokie obciążenie procesora, i tym samym zwiększając temperaturę węzła powodujemy odchylenie jego zegara. Na koniec szukamy odchylenia w logu z odpytywania serwerów po ich publicznym IP i stwierdzamy, który z publicznych IP odpowiada węzłowi w TORze. (Istnieją inne słabe strony sieci TOR-a wykorzystywane przez atakujących. Eksperyment Murdocha należy więc traktować bardziej jako proof-of-concept.)

Matka Natura kopie tyłki!

Okazuje się zatem, ze zwykła natura (erm, zjawisko fizyczne) w postaci zmiany prędkości ruchu elektronu pod wpływem ciepła, rozkłada najbardziej zaawansowaną technologię... I co gorsza, nie ma żadnej dobrej metody na obronę przed tego typu atakami, chyba, że uda nam się namówić cały świat, na wkładanie komputerów do lodówek, co $RADNOM minut...

• Następny post: Zostań Blogerem Roku 2006! (Konkurs)
• Poprzedni post: Powiększ mi penisa!

 

Chcesz być informowany o kolejnych wpisach na ten temat?
Kanał RSS: kliknij tutaj. Subskrybcja poprzez e-mail: kliknij tutaj.

 

Tagi:

« reszta wpisów | • trackback | ‡ torturuj posta!

Komentarze:

1. Crash Wtorek, 02 stycznia 2007, 13:27:37
 

Można chyba używać zegarów niezależnych od temperatury, czegoś bardziej dokładnego, niż używane obecnie kwarcowe?

A cała notka pachnie mi żartem i prowokacją xD

 
2. Piotr Konieczny Wtorek, 02 stycznia 2007, 13:43:24
 

Crash, erm?

 
3. Mouser Wtorek, 02 stycznia 2007, 14:31:42
 

A co z chłodzeniem, które się włącza przy podwyższonym obciążeniu procesora? Jeśli atakowany komputer takowe posiada to nici z ataku.

 
4. Crash Wtorek, 02 stycznia 2007, 14:35:29
 

@Mouser: Ale zauważ, że jesli masz 35 stopni w 'idle', a dodatkowe chłodzenie włącza się od np. 45, to masz 10 stopni zapasu, które mogą już wpływać na pracę zegara.

@piotr: notka ma taki absurdalny posmak, na początku nie byłem pewien, czy to nie są po prostu żarty, bo brzmi to nieprawdopodobnie. Po przeczytaniuu źródeł zmieniłem zdanie. Chyba.. ;D

 
5. Piotr Konieczny Wtorek, 02 stycznia 2007, 14:43:11
 

Mouser: Doskonale pytanie.

Weźmy pod uwagę temperature graniczna, na którą ustawione są sensory "podwyzszonego chlodzenia".

Np. w przypadku mojego laptopa (AMD64) przetaktowałem ostatnio procesor na nominalne 800MHz, i w szkockiej temperaturze pokojowej (okno otwarte :-) wiatraczek się nie porusza.

Moge surfowac po WWW, czatowac na IRC, pisac programy. Kiedy jednak wlaczam film, otwieram stronę w flashu lub zaczynam kompilowac program, procesor przetaktowuje sie na 2GHz i temperatura rosnie, ale dopiero *PO PEWNYM CZASIE* (10 sec?) wlacza sie system chlodzenia.

Przez te 10 sec, wysylane pakiety maja "odchylenie" i jako takie, moga zostac rozpoznane.

Z powyzszego wynika wiec, ze czas reakcji systemu chlodzacego ma znaczenie. Dodatkowo, nawet po włączeniu chlodzenia, procesor natychmiastowo nie wroci do nominalnej czestotliwosci (i temperatury).

Mamy wiec fluktuacje w pomiarach (nie wazne, jak wielka w sensie niedokladnosci timestampowania) i na jej podstawie wyciagamy wnioski.

 
6. Mouser Wtorek, 02 stycznia 2007, 14:47:31
 

Wszystko zależy od systemu chłodzenia, przy odpowiednio dużym radiatorze, nawet po 10 sek temperatura zbytnio się nie zmieni. Nie mówiąc już o chłodzeniu blokami wodnymi, które szybciej i efektywniej odbierają ciepło. Również gdy jest zamontowany układ Peltiera, ciepło będzie szybciej oddane i temperatura powinna zostać w normie a odchylenia będą minimalne.
Poza tym, co jeśli np skierujemy ciepło na kartę sieciową, ona również może wysyłać odchylone, jeśli nawet nie zniekształcone pakiety.

 
7. Piotr Konieczny Wtorek, 02 stycznia 2007, 15:03:58
 

Crash: Rzeczywiście, opisany atak jest dość nietypowy i raczej bazuje na niższym niż informatyka poziomie (fizyce). I chyba to wlasnie jest w nim najpiekniejsze... :-)

Mouser: Obawiam sie, ze atak nie zalezy od warunkow podstawowych. Jesli badany system ma chlodzenie wodne (lub tak dobrana obudowe, ze cieple powietrze ogrzewa sieciowke) to spoczywa on w takich warunkach przez caly czas pracy, (jest w stanie ustalonym swoją konfiguracją), a my monitorujac jego odpowiedzi mozemy nakreslic charakterystyke pracy w normalnych warunkach.

W trakcie ataku, nastepuje nienaturalne obciazenie maszyny powodujace zmiane jej parametrow (np. temperatury).

Po ataku maszyna wraca do stanu ustalonego. Nie interesuje nas, czy procesor pracuje nominalnie przy 30 stopniach czy przy 40-stu. Zajmujemy sie sama zmianą, bo to wlasnie zmiany szukamy, a nie jej wartości.

Nie jestem w stanie wyobrazic sobie systemu chlodzacego, ktory zadziala dokladnie w tej samej nanosekundzie, w ktorej nastepuje wzrost obciazenia systemu i ma tak ogromna zdolnosc, ze odebiera cale dodatkowe cieplo. Nie jestem tez jednak specjalista od overclockingu, wiec tutaj nalezaloby zasiegnac opinii experta i przeprowadzic testy przy roznych konfiguracjach chlodzenia, zeby ustalic, ktora technika chlodzenia powoduje najwieksze niedokladnosci pomiaru podczas ataku.

Nie zmienia to jednak faktu, ze wiekszosc blaszakow pochodzi prosto z fabryki i nie ma pod maska kosmicznej technologii chlodzenia ;-) a zatem zmiany spowodowane wyzszym obciazeniem maszyny beda na tyle wyrazne, zeby je wylapac - w imie zasady, ze kazda akcja powoduje rekacje.

 
8. Zboczuch Wtorek, 02 stycznia 2007, 19:02:18
 

A gdyby losowo podgrzewać procesor co jakiś czas, generując mu lipne obciążenie?

 
9. Yano Wtorek, 02 stycznia 2007, 19:13:36
 

Piotrze, litości! Na $deity! Popraw te „żąglowanie”. Żonglerzy z wrażenia zapomną żonglerki jak to zobaczą. ;)

 
10. Piotr Konieczny Wtorek, 02 stycznia 2007, 19:35:37
 

Yano: Dzięki, poprawione. (A ja sie cholera dziwiłem, dlaczego mi OOo podkreśla. Nawet na rz zmieniłem i dalej podkreślał... Wstyd sie przyznac, ale nie wpadlem na to, ze blad jest po son^Hąsiedzku ;-)

 
11. grafzero Wtorek, 02 stycznia 2007, 19:54:18
 

Nawet jeśli pominąć bezwładność temperaturową układu, to przecież czujnik temperatury określa jej wartość w jakiejś ograniczonej objętości, a chłodzenie dociera do wnętrza procesora z pewnym gradientem. Tak więc, jeżeli nawet na styku procesor chłodzenie będzie temperatura X, w pewnym otoczeniu czujnika - temperatura Y to w głebi struktury półprzewodnikowej będzie temperatura Z.

 
12. Crash Wtorek, 02 stycznia 2007, 19:56:01
 

[off-topic]
Szef mojego działu ma nick Graf lub grafzero właśnie, odczuwam lekki niepokój ;D
[/off-topic]

 
13. PL47 Środa, 03 stycznia 2007, 17:43:24
 

hmm jestem tylko ciekaw jak to bedzie wygladlo w sieci bardziej rozbudowanej skladajacej sie z wilu maszyn i reagujacej caly czas innymi wskazaniami mozna sie zgubic ? cos przeoczylem ?

 
14. Piotr Konieczny Środa, 03 stycznia 2007, 22:56:33
 

PL47: Dobre pytanie. Osbiscie zabralbym sie do tego tak: wielokrotne próby, a potem nałożenie wyników na siebie -- to powinno skutecznie zawezic krag podejrzanych.

 
15. Hrumque Środa, 10 stycznia 2007, 17:02:17
 

Ale co wy tu za bzdury wypisujecie....
Zegar (procesora?) nie jest w procesorze, i temperatura procesora ma na niego znikomy wplyw. W typowym PCcie zegar taktujacy 'wszystko' to scalaczek ICSxxx z jednym kwarcem, generujacy rozne czestotliwosci na zasadzie PLL. Stabilnosc tego kwarcu (i wygenerowanych prze to czestotliwosci jest na poziomie 10 do potegi -6 (w najgorszym wypadku, w dobrym do -8), przy czym stabilnosc "chwilowa" jest jeszcze wieksza, a zegar realnie pracuje ~14MHz, co daje odchylki na poziomie pojedynczych hercow.
Zwiekszenie obciazenia (wysylajac jakiestam pakiety) nie zmieni przeciez az tak obciazenia procesora i innych kompnentow (ktore - powiedzmy sie nudzily i mialy temperature idle 35stC) zeby nagle bylo 100% cpu i temperatura wzrosla na tyle (w obudowie komputera!) zeby przestroic generator kwarcowy o wiecej niz da sie zmierzyc DOBRYM czestotliwosciomierzem, a tymbardziej - zeby po paru minutach przesuniecie zegara czasu rzeczywistego bylo wieksze niz 1 bit...

 
16. paszczak000 Środa, 10 stycznia 2007, 21:55:48
 

Jak dla mnie to brzmi troszkę śmiesznie, chociaż inspirująco :) U mnie na komputerze domowym są tak częste wahania temperatury, że hoho :) I jaki pakiet należy wysłać by podgrzać CPU by zauważyć zmianę temperatury.

Zresztą... kiedyś stawiałem a raczej pomagałem w fizycznym budowaniu serwera. Został tam założony system chłodzący, który uruchamiał się na szybsze i coraz szybsze obroty wentylatora w zależności od poziomu obciążenia procesora. W różnych testach utrzymywał temperaturę zawsze na poziomie 42 stopni niezależnie od tego co się działo. Więc może w tę stronę pójdą przyszłe "aktywne" firewalle? :)

 
17. taki jeden Poniedziałek, 22 stycznia 2007, 11:44:00
 

Mój Athlon Mobile 1.6G został zatrudniony do obliczania zmian klimatu http://climateprediction.net/ pracuje pro publico bono na 2Ghz, obciążony 100% (program http://boinc.berkeley.edu/). I taki typ ataku może mu "naskoczyć".

 
18. ehhhh Poniedziałek, 12 marca 2007, 21:07:51
 

Ehh. Moim zdaniem to ściema.
Dajmy na to stary komputer Amiga ze sprzętową zewnętrzna kartą ethernetwą... Nie ma możliwosci by jakikolwiek wpływ temperatury mógłby temu zaszkodzić. Chyba ze ktoś będzie grzał kartę... Paranoja, ściema, itp...

 
19. ekhm Wtorek, 10 lipca 2007, 13:57:28
 

'ehhhh' - czytałeś uważnie? chodziło o procesor, a nie o karte ethernet.

 
20. Ipus Piątek, 27 lipca 2007, 08:58:50
 

fajny art

 
21. Piotr Konieczny Czwartek, 30 lipca 2009, 22:00:37
 

Hackowanie bankomatu przez gniazdko...

Okazuje się, że na nic zaawansowane i superbezpieczne HSM-y montowane w dzisiejszych bankomatach. Na nic też łatanie oprogramowania firmy Diebold, które jest wykorzystywane w większości nowych bankomatów. Próżno także szukać dodatko[...[...]

 
22. dotnokato Środa, 11 sierpnia 2010, 21:27:08
 

Ciekawy artykuł.

BTW: raczej co $RANDOM minut, a nie $RADNOM jak w artykule ;-)

 

Dodaj komentarz:

Wyślij pustą wiadomość, aby śledzić komentarze przez bota.
Komentarze są własnością osób komentujących.
Właściciel bloga nie ponosi za nie odpowiedzialności.
Komentarze nie na temat będą usuwane.

Ofiara

Jeśli powyższy wpis przydał Ci się w jakiś sposób,

autorowi :-)

Czytelnicy:

« wszystkie wpisy