I to by było na tyle, jeśli chodzi o bezpieczeństwo MS Vista



W wakacje głośno było o atakowaniu systemów operacyjnych przez rozszerzenia procesora służące wspieraniu wirtualizacji. Spowodowała to Asia Rutkowska, która przedstawiła swój program nazwany Blue Pill. Niebieska pigułka została ostatecznie zdeprecjonowana, jako wymagająca uprawnień administratora do załadowania i ogólnie niepraktyczna. Ale Blue Pill była tylko drugą częścią prezentacji z Blackhat Conference.

Pierwsza część była IMO ciekawsza i nikt dotąd nie zdementował jej prawdziwości. A traktuje ona o paging exploit w Viście.

Trzonem podatności Windows budowa oparta na mikrojądrze, połączona z możliwością wyswapowania nieużywanych sterowników na dysk. Pierwszym etapem ataku jest więc zajęcie jak największego obszaru pamięci, żeby na partycji/w pliku wymiany znalazły się fragmenty jądra (tak, w Windows przestrzeń jądra jest swapowalna).

Drugim etapem jest dobranie się do zapisanych na dysku stron pamięci zawierających sterownik i podmiana kodu na swój. Potem pozostaje użycie zmodyfikowanego sterownika, co spowoduje wswapowanie, wykonanie jego kodu i kaboom.

Vista (w ogólności) nie pozwala na ładowanie niepodpisanych sterowników, ale nie sprawdza ich integralności przy ładowaniu ze swapa. Ale problem jest gdzie indziej, cytując davej'a:

"Vista allows usermode app to get raw access to disk"

                   G A M E  O V E R .

Zabezpieczeń jest kilka: nieswapowanie fragmentów jądra, jeśli już trzeba swapować -- szyfrowanie danych w pliku wymiany, lub też oczywista sprawa: zabronienie nieuprzywilejowanym aplikacjom dostępu bezpośrednio do dysku. Co pewnie spowodowało by niedziałanie części programów typu programy antywirusowe, bazy danych itp.

W uniksowych problem nie występuje: raz, że jądra nie można wyswapować, dwa, że zwykły użytkownik nie może pisać po dysku jak chce. Gdyby mógł, z łatwością mogłby podmienić kod zawarty np. w module dummy.ko i wykonać go poleceniem ifconfig dummy0 up (zakładając, że jego uprawnienia zezwoliłyby na wyzwolenie autoładowania modułu).


Archived comments:

Adam Kruszewski 2006-10-23 17:18:17

Jeśli możesz mieć raw-access do dysku to po co się męczyć ze swapem jak możesz pojeździć po dowolnym pliku i ewentualnie poczekać na restart?

zdzichu 2006-10-23 20:30:10

Krytyczne rzeczy są podpisane cyfrowo. Zmienisz plik na dysku, to się nie załaduje.

trasz 2006-11-10 19:41:48

W jaki sposob z "Vista allows usermode app to get raw access to disk" wyciagnales wniosek, ze moze zrobic to uzytkownik nieuprzywilejowany?

zdzichu 2006-11-11 20:19:11

Wysnułem z wypowiedzi Davej'a.

Comments


Comments powered by Disqus