6

Maszyna załata oprogramowanie. Szybciej, lepiej i taniej niż człowiek

Programy bug bounty, w które włączają się white hat hakerzy to istotne dla wielkich firm informatycznych projekty, wedle których przygodni eksperci ds. cyberbezpieczeństwa znajdują luki w ich oprogramowaniu / infrastrukturach i otrzymują za to całkiem przyzwoite nagrody. A gdyby można było ich zastąpić rozwiązaniem znacznie szybszym, tańszym i... ogólnie lepszym?

Zwykło się w mówić, że w cyberbezpieczeństwie istotny jest „czynnik ludzki”. Wykazujemy się tak ogromną kreatywnością, że jesteśmy w stanie „pobić” maszynę w możliwościach poszukiwania podatności w oprogramowaniu. Człowiek nie jest może najefektywniejszą maszynerią we Wszechświecie, nie jest też najszybszy. Całkiem często się psuje, a także jest podatny na zły nastrój, głód, złe samopoczucie. Musi także spać. Maszyna może pracować cały czas, o ile jest w pełni sprawna. Wystarcza jej głównie prąd. Ale kreatywnością nie dorównuje typowemu człowiekowi.

Wygląda jednak na to, że white hat hakerzy mają sporą konkurencję. Jak wynika z doniesień pochodzących z IEEE Spectrum, David Brumley stworzył rozwiązanie „Mayhem”, które jest mocnym, chłodzonym cieczą komputerem, który samodzielnie rozpoznaje, eksploatuje oraz tworzy poprawki dla podatności. Przy tej okazji charakteryzuje się przeogromną szybkością – nie osiągalną dla ludzi. I co więcej – nie woła za to pieniędzy.

Mayhem testuje oprogramowanie pod kątem jego logiki, sprawdzając aspekty matematyczne jego działania. W dalszych krokach próbuje „zawiesić” go zasypując go danymi. Analizuje również to jak go napisano, jak działają jego funkcje i sam wdraża taktyki np. co do podniesienia uprawnień użytkownika. Maszyna ma już za sobą pewne sukcesy: kiedy poddano ją testom w Debianie, udało mu się znaleźć 14 000 różnych podatności – z czego 250 z nich było kompletnie nowych, nieznanych.

Mayhem nie jest rozwiązaniem kompletnie nowym – w 2015 DARPA stworzyła konkurs wycelowany właśnie w maszyny, które automatycznie miałyby poszukiwać podatności w oprogramowaniu. Mayhem nie dość, że wygrał, to jeszcze uzyskał dwa razy więcej punktów niż drugi najlepszy uczestnik. Co więcej, po 40 rundach Mayhem się zawiesił i nie brał udziału w kolejnych 55 rundach – a mimo to wygrał z całą stawką.

Mayhem to łakomy kąsek dla firm i organizacji, dla których istotne jest bezpieczeństwo ich oprogramowania

Dlatego właśnie korzystają z niego tacy „early adopterzy” tacy jak chociażby amerykański rząd, a także firmy zajmujące się lotami kosmicznymi. Dla nich możliwości Mayhema są przeogromne i są w stanie za nie wiele zapłacić. A zatem – twórcy, choć nie zarabiają nic na programach bug-bounty, mogą zarobić na udostępnianiu maszyny firmom niemałe pieniądze. W dalszym ciągu jednak Mayhem blisko współpracuje z „ludzkimi ekspertami” w trakcie poszukiwania podatności w oprogramowaniu. Stanowi on doskonałe uzupełnienie drużyn odpowiedzialnych za wyławianie luk, a nawet inspirację w tym zakresie.