Joanna Rutkowska: Vista jest bezpieczniejsza niż XP

"Microsoft włożył dużo pracy w poprawę bezpieczeństwa nowego systemu i że z technicznego punktu widzenia Vista jest po prostu bezpieczniejsza niż XP - jednak (...) obawiam się, że Microsoft może łatwo zmarnować tę całą technologię" - mówi w rozmowie z PCWK Joanna Rutkowska, znana specjalistka w dziedzinie bezpieczeństwa systemów operacyjnych. Z J. Rutkowską rozmawialiśmy m.in. o jej dyskusji na temat zabezpieczeń Visty z Markiem Russinovichem oraz o tym, dlaczego proces łatania błędów w produktach Microsoftu jest tak skomplikowany. Zapraszamy do lektury wywiadu.

Ostatnio poinformowała pani o kolejnych, nazwijmy to "niedociągnięciach" Windows Visty. Czy może pani wyjaśnić, na czym one polegały i jakie niebezpieczeństwo kryło się w przypadku ataku cyberprzestępców?

Joanna Rutkowska

Specjalistka w dziedzinie bezpieczeństwa systemów operacyjnych. W ubiegłym roku za prace nad rootkitami i ominięcie zabezpieczeń jądra systemu Windows Vista została przez magazyn eWeek wymieniona wśród "5 hakerów, którzy wyróżnili się w 2006 roku". Jest autorką technologii o nazwie "Blue Pill", która wykorzystuje technologię wirtualizacji procesorów AMD i pozwala ukryć działanie szkodliwego kodu w systemie.

W ostatnim czasie Rutkowska poinformowała o odkryciu luk w mechanizmach User Account Control i Protected Mode IE, zabezpieczających Windows Vistę. Joanna Rutkowska pracuje w singapurskiej firmie COSEINC.

Wywiad z Joanną Rutkowską

Joanna Rutkowska

Joanna Rutkowska

Joanna Rutkowska: Ponieważ od ponad dwóch miesięcy używam systemu Vista na moim laptopie, postanowiłam, w wolnym czasie, napisać artykuł o moich wrażeniach z używania tego systemu na co dzień. W artykule tym wskazałam dwa problemy związane z tym, jak jest zaprojektowany mechanizm User Account Control (UAC) oraz wytknęłam w nim jeden przykładowy błąd implementacyjny.

Pierwszy problem dotyczy tego, że UAC zakłada, iż wszystkie programy instalacyjne (popularne "setupy" czy "instalki") powinny być uruchamiane z uprawnieniami pełnego administratora i wszystko wskazuje na to, że użytkownik nie może uruchomić takiego programu korzystając z nieuprawnionego konta. Jest to według mnie bardzo złe założenie, ponieważ większość programów można zainstalować dając im jedynie prawa do dodawania plików i kluczy rejestru odpowiednio do katalogu Program Files czy HKLM\Software, nie pozwalając jednocześnie na modyfikację już istniejących tam plików czy kluczy rejestru, a o możliwości modyfikacji innych elementów systemu (jak np. dodawania sterowników do jądra) nie wspominając.

Druga sprawa, na którą zwróciłam uwagę, to fakt, że mechanizm poziomów integralności (Integrity Levels) został zaprojektowany w ten sposób, aby ochronić pliki oznaczone wyższym poziomem integralności jedynie przed modyfikacją, a nie przed ich przeczytaniem. Oznacza to m.in., że tak powszechnie reklamowany "Protected Mode IE" nie ochroni prywatnych danych użytkowników przed ich wykradzeniem.

Oba powyższe problemy są wynikiem świadomej decyzji projektantów Microsoftu. Stwierdzenie, że ja "odkryłam te problemy" jest zwykłym nieporozumieniem - ja tylko napisałam swoją opinię i podałam przykłady, jakie konsekwencje takie założenia projektowe mogą mieć.

Trzeci problem, który wytknęłam w moim artykule, to błąd implementacyjny mechanizmu User Interface Privilege Isolation (UIPI), który jest wykorzystywany w UAC do ochrony aplikacji działających na wyższym poziomie integralności, które współdzielą pulpit z aplikacjami o niższym poziomie integralności. Błąd ten umożliwia przesyłanie pewnych tzw. "komunikatów okienkowych" do procesów na wyższych poziomach integralności i w efekcie, w pewnych okolicznościach, umożliwia procesowi działającemu na najniższym poziomie integralności (np. Protected Mode IE) na wykonanie arbitralnego kodu z przywilejami administratora.

Odpowiedział pani świetny fachowiec, Mark Russinovich. Jego słowami była pani jednak bardzo zaskoczona. Bo i było czym. Wyjaśnienie było wyjątkowo zawiłe. Co tak naprawdę panią zaskoczyło?

Mark Russinovich nie odpowiedział bezpośrednio mnie. Po prostu, w tydzień po ukazaniu się mojego artykułu, na blogu Marka Russinovicha pojawił się post na temat mechanizmów UAC i IL, w którym to Mark Russinovich stwierdził, że oba te mechanizmy nie tworzą granic bezpieczeństwa (ang. security boundaries), więc wszelkie błędy implementacyjne, umożliwiające np. podniesienie uprawnień z poziomu niskiego na wysoki, nie będą traktowane jako tzw. "security bugs".

Innymi słowy, Mark Russinovich, jeden z czołowych ekspertów Microsoftu do Windows, przyznał, że te wszystkie tak mocno reklamowane nowe mechanizmy bezpieczeństwa w Viście, jak np. UAC i IL, nie są... mechanizmami bezpieczeństwa!

Myślę, że jest to dość zaskakujące zagranie...


Zobacz również