O Google Project Zero pisaliśmy w ostatnim czasie w kontekście ujawnienia, że Microsoft potajemnie pozwala Facebookowi na stosowanie Flasha. Niewiele ma to jednak wspólnego z działalnością statutową GPZ, czyli poszukiwaniem luk bezpieczeństwa w oprogramowaniu. Dziś o pracy ekspertów z Projektu Zero mamy okazję pisać ponownie za sprawą upublicznienia poważnej luki w systemie macOS.
Google Project Zero – bez kompromisu
Gwoli przypomnienia – w swojej pracy na rzecz uszczelniania oprogramowania Google Project Zero kieruje się wytycznymi, jakie wykorzystują hakerzy w białych kapeluszach. Oznacza to, że po odnalezieniu luki podatność zgłaszana jest do producenta. Ten ma 90 dni na jej załatanie, po tym czasie wszelkie informacje pozwalające wykorzystać dziurę zostają przez Google Project Zero opublikowane. Co ważne – zostają opublikowane niezależnie od tego, czy producent poradził sobie z załataniem luki, czy nie.
Taka postawa wzbudza sporo zastrzeżeń komentatorów, którym nie przeszkadza nieudolność czy nawet jawne zaniedbania producentów oprogramowania. Google Project Zero bywa krytykowane za bezwzględne stosowanie się do przyjętej zasady 90 dni na wydanie łatki. Czasem pojawiają się głosy, że w działalności grupy bardziej chodzi o międzykorporacyjne przepychanki niż o bezpieczeństwo użytkowników. Z drugiej strony tak bezkompromisowa postawa jest zdecydowanie najlepszym argumentem w wymuszaniu na producentach zintensyfikowania prac nad bezpieczeństwem.
Zobacz też: KeySteal – macOS z niezałataną luką dnia zerowego pozwalającą wykradać hasła
Dziura wysokiego ryzyka w macOS-ie
Tym razem „ofiarami” tej skrupulatności stali się użytkownicy komputerów Apple. Google Project Zero odnalazło w macOS-ie groźną podatność (wysoki priorytet) w XNU – jądrze uniksowego systemu Darwin, na którym bazuje system Apple. Problem nie dotyczy jednak systemów operacyjnych z rodziny *BSD – wynika z modyfikacji wprowadzonych przez samo Apple. Problem w tkwi implementacji mechanizmu kopiowania przy zapisie (COW) – sposobu na optymalizację opartą o współdzielenie zasobów na przykład pomiędzy wątkami.
W macOS-ie mechanizm COW może być wykorzystany do zamontowania odpowiednio spreparowanego obrazu z dowolnymi plikami bez powiadamiania o tym nadzorcy całego systemu montowania obrazów. Bardziej szczegółowe informacje na temat podatności oraz proof-of-concept Google Project Zero udostępnia na łamach Monoraila. W Apple już od dłuższego czasu trawają intensywne prace nad łatką, niemniej w tej chwili miliony komputerów Apple pozostają podatne.