Rafał Wojtczuk — majestatyczny strażnik bezpieczeństwa Linuksa
13.02.2019 | aktual.: 27.04.2019 13:57
Nie tak dawno pisałem na blogu o Solar Designerze i we wpisie tym przewinęła się postać Rafała Wojtczuka, którego nazwisko od wielu lat jest cenione w światowej branży bezpieczeństwa. Niestety pomimo wielu zasług dla rozwoju współczesnej informatyki nie ma on nawet biogramu na Wikipedii. Stwierdziłem więc, że wypada coś więcej na temat Wojtczuka napisać. Przedstawiam Wam zatem jego życiorys, w dodanych linkach zebrawszy dokumentację źródłową dokonanych przez niego odkryć. Dzięki temu każdy, kto będzie chciał bardziej się zapoznać z osiągnięciami tego długowłosego guru bezpieczeństwa IT w publikacji tej znajdzie potrzebne ku temu informacje.
Start do kariery
Rafał Wojtczuk urodził się w 1976 roku w Warszawie. Od najmłodszych lat wykazywał wielki talent do nauk ścisłych, w szkole podstawowej i liceum biorąc udział w ogólnopolskich konkursach matematycznych. Zainteresowania matematyczne w wieku nastoletnim zbiegły się u niego z fascynacją wszystkim, co miało związek z informatyką, wynikiem czego ukończył z wyróżnieniem studia na Uniwersytecie Warszawskim (MIM UW), uzyskując tytuł magistra informatyki. Wojtczuk już w trakcie studiów wyspecjalizował się badaniach praktycznych zagadnień bezpieczeństwa linuksowych systemów operacyjnych. W tym też czasie przyjął na cześć sumeryjskiego boga zarazy — pseudonim Nergal. Można stwierdzić, że w przypadku Wojtczuka przyjęcie tego pseudonimu miało znaczenie antynomiczne, ponieważ całą swoją dotychczasową karierę poświecił walce z wszelakimi zagrożeniami występującymi w sieci.
Openwall/TCB
Świat IT usłyszał na poważnie o Wojtczuku w marcu 2001 roku, kiedy to przygotował patcha na kernel 2.2.19. Poprawki te dołączano do Openwalla. Od samego początku był on bardzo zaangażowany w ten projekt, mając duży wpływ na jego rozwój. Zresztą 23 listopada 2001 r. na Jesiennych Warsztatach Linuksowych w Zegrze — Wojtczuk opowiedział o tworzonej z Solar Designerem dystrybucji Owl — w swoim wykładzie określając ją jako najbezpieczniejszą dystrybucję Linuksa. Na wysoki poziom bezpieczeństwa Owl wpływa wiele interesujących ulepszeń podnoszących poziom ochrony całego systemu m.in. takich jak łata do jądra systemu, dzięki której wykonanie niektórych rodzajów ataków jest wręcz niemożliwe. Ten stan rzeczy jest niewątpliwie zasługą stworzonego przez Rafała Wojtczuka pakietu TCB, który umożliwił zastąpienie niezbyt udanej koncepcji przechowywania haseł w pliku /etc/shadow, bezpieczniejszą metodą zakładania plików z hasłami osobno dla każdego użytkownika. Rozwiązanie to okazało się „przezroczyste” dla starych aplikacji i nie wymagało ich rekompilacji, w wyniku czego standardowe serwisy systemowe, tj. crond, syslogd czy klogd, zostały zmodyfikowane w taki sposób, aby ewentualne zawarte w nich błędy nie wpłynęły na bezpieczeństwo całego systemu. Zaprojektowanie i zaimplementowanie na potrzeby Owl tego nowatorskiego systemu przechowywania haseł — jest niewątpliwe jednym z większych osiągnięć Nergala (wtedy tylko tak się podpisywał), stając się preludium do jego kariery międzynarodowej.
Praca w Invisible Things
1 lipca 2008 roku Wojtczuk dołączył do prowadzonego przez Joannę Rutkowską zespołu Invisible Things. Współpraca tych światowej klasy specjalistów ds. bezpieczeństwa układała się doskonale. Najlepszym tego dowodem jest to, że 20 marca 2009 r. Rutkowska z Wojtczukiem opublikowali dokumentację prototypu rootkita... wykorzystującego lukę w pamięci podręcznej procesorów x86 Intela.
W 2010 roku Wojtczuk z Rutkowską natomiast rozpoczęli pracę nad otwartoźródłowym systemem operacyjnym bazującym na hypervisorze Xen i Fedora Linux — Qubes OS. Główną ideą ich pracy było stworzenie systemu, zapewniającego maksimum bezpieczeństwa użytkownikom, bez względu na to, czy korzystają z niego do pracy zawodowej, zakupów online czy bankowości internetowej. Wysoki poziom bezpieczeństwa osiągnięto dzięki odizolowaniu od siebie poszczególnych aplikacji i krytycznych procesów systemowych, na co pozwala wirtualizacja. Pierwsza wersja Qubes OS oznaczona numerem 1.0 została wydana 3 września 2012 roku i była (jak i następne) z samego założenia dostępna za darmo.
Qubes OS opiera swe działanie na koncepcji Security by Isolation, pozwalając użytkownikom na definiowanie domen bezpieczeństwa w oparciu o tzw. lekkie maszyny wirtualne (VM), w których odpalane są poszczególne aplikacje. Posiada opracowaną na podstawie badań sprawdzających luki w zabezpieczeniach zaufaną bazę obliczeniową (TCB), która nie jest wprowadzana w większości popularnych systemów operacyjnych. Dzięki bezpiecznemu graficznemu interfejsowi użytkownika przygotowanemu wspólnie przez Rutkowską i Wojtczuka istnieje w nim również, możliwość wykonywania bezpiecznych operacji kopiuj i wklej pomiędzy maszynami wirtualnymi. Wspólne stworzenie tego nad wyraz udanego systemu linuksowego było zwieńczeniem współpracy tych warszawskich informatyków.
Warto nadmienić, że Wojtczuk podczas pracy nad Qubes OS odkrył groźną lukę w jądrze Linuksa, która pozwalała każdej aplikacji działającej w trybie graficznym uzyskać uprawnienia roota. W celu przeprowadzenia ataku wystarczyło mieć możliwość uruchomienia dowolnego klienta „iksów”. O swoim odkryciu Wojtczuk 17 sierpnia 2010 r. poinformował grupę odpowiedzialną za bezpieczeństwo X.org, trzy dni później grupa ta zdecydowała, że konieczne będzie załatanie jądra, dzięki czemu rozwiązano zaistniały problem. Niewątpliwe w tak ważnych odkryciach pomagało mu to, że w tym czasie pracował też w zespole badawczym znanego producenta rozwiązań antywirusowych McAfee, gdzie był odpowiedzialny za rozwój Intrushield NIPS.
Zakres działania i osiągnięcia
Rafał Wojtczuk przez ponad 20 lat działania nabrał wielkiego doświadczenia w zakresie bezpieczeństwa systemowego. Specjalizuje się w wirtualizacji oraz odkrywaniu luk w zabezpieczeniach jądra popularnych systemów operacyjnych (SELinux, Kernel, Quabes OS, BSD). Jest znany z artykułów na temat zaawansowanych technik eksploitacji, w tym nowatorskich metod wykorzystywania przepełnień bufora w częściowo losowych środowiskach przestrzeni adresowej. Zajmuje się zaawansowanymi technologiami związanymi z bezpieczeństwem Intela (w szczególności TXT i VT‑d) i jest również autorem sieciowej biblioteki Libnids.
O powadze tych odkryć najlepiej poświadczy fakt, iż większość z nich została opatentowana. Nie dziwne więc, że Wojtczuk z intelową instrukcją SYSRET (CVE-2012-0217) znalazł się wśród nominowanych do Pwnie Awards w 2012 roku w kategorii Błąd umożliwiający podniesienie uprawnień. Walkę o najważniejszą nagrodę w branży IT Security, minimalnie przegrał z równie cenionym za granicą — Mateuszem „j00ru” Jurczykiem. Te wszystkie osiągnięcia powodują, że Rafał Wojczuk jest zapraszany na ważne konferencje poświęcone bezpieczeństwu komputerowemu m.in. Black Hat Briefings (2012, 2013, 2014, 2016), BSides London (2014), media.ccc.de (2014), Louisville INFOSEC Con (2015). Trzeba przyznać, że czuje się on na nich jak „ryba w wodzie” i jego prelekcje wśród zebranej tam widowni cieszą się sporym uznaniem.
Pasja brydżysty
Nie każdy wie, że Rafał Wojtczuk karierę specjalisty bezpieczeństwa komputerowego łączy z profesjonalną grą w brydża, w wyniku czego w 2002 roku został członkiem Polskiego Związku Brydża Sportowego. Aktualnie jest zawodnikiem drużyny ABNEGAT WZBS Warszawa, która występujące w drugiej lidze WZBS (MA), posiada tytuł Mistrza Międzynarodowego (WK=7) i zdobył łącznie 2 818 punktów klasyfikacyjnych (PKL), a także 1 642 arcymistrzowskich (aPKL).
O tym, że Wojtczuk jest poważnym brydżystą, najlepiej poświadczy fakt, iż w brydżu dwa razy reprezentował Polskę na forum międzynarodowym. Występując ze swoją żoną Dorotą Tokaj-Wojtczuk w konkurencji par mieszanych, najpierw na Mistrzostwach Europy 2002 zajął 336 miejsce, a następnie w Mistrzostwach Świata 2006 - 209. I chociaż są to bardzo odległe lokaty, tak czy inaczej było mu dane reprezentować Polskę w najważniejszych światowych zawodach brydżowych. Niewątpliwe gra w brydża stanowi dla niego bardzo ciekawą odmianę od zajmowania się poważną informatyką. Inna sprawa, że brydż to jedna z najtrudniejszych ze wszystkich gier karcianych. Wymaga liczenia, logicznego myślenia, umiejętności współpracy w zespole (dwie osoby to też drużyna), znajomości techniki gry, a także psychologii. Więc Wojtczuk wybrał sobie bardzo wymagające hobby. Swoją drogą to nie pierwszy przypadek, że znana postać ze świata IT profesjonalnie gra w karty — bo w latach dziewięćdziesiątych czyniła to znana phreakerka — Susan Headley.
Obecnie
Rafał Wojtczuk jest Architektem ds bezpieczeństwa IT w kalifornijskim Bromium Labs, a od 13 grudnia 2017 podjął pracę w Apple. Ciągle też jest aktywnie zaangażowany w walce z zagrożeniami bezpieczeństwa Linuksa. Działanie te doprowadziły, że jako specjalista w dziedzinie bezpieczeństwa cieszy się międzynarodową sławą, będąc oprócz Piotra Bani, Mateusza Jurczyka, Joanny Rutkowskiej i Michała Zalewskiego najsłynniejszym polskim informatykiem na świecie.
Linkografia
- Libnids - biblioteka wspomagająca konstruowanie oprogramowania typu Ne... (Praca magisterska, 1999)
- *BSD procfs vulnerability (2000)
- Advanced return-into-lib(c) exploits (PaX case study) (2001)
- Linux Ptrace vulnerability (2001)
- Advanced return-into-lib(c) paper (2002)
- Academic tools and real-life bug finding in Win32 (2005)
- Xen Intel x64 SYSRET Privilege Escalation (CVE-2012-0217) (2006)
- Rafal Wojtczuk and Joanna Rutkowska - Black Hat (2009)
- Libnids (wersja 1.24, 2010)
- Superbezpieczny system Qubes OS (2010)
- Exploiting large memory management vulnerabilities in Xorg server runn... (2010)
- Rafal Wojtczuk - Endpoint security via Application sandboxing and virt... (2013)
- Patents by Inventor Rafal Wojtczuk (2015)