r   e   k   l   a   m   a
reklama

Po pierwsze nie psuj: dla twórcy Linuksa ludzie od bezpieczeństwa to cholerni idioci

Strona główna Aktualności

O autorze

Hodowca maszyn wirtualnych i psów, poza tym stary linuksiarz, bonvivant i śmieszek. W 2012 roku napisał na DP o algorytmie haszowania Keccak i wciąż pamięta, jak on działa.

Linus Torvalds znów zadbał o swój wizerunek człowieka, który nie przebiera w słowach, i któremu nikt nie może podskoczyć na linuksowej arenie – nawet gdy w grę wchodzi kwestia bezpieczeństwa systemu operacyjnego. Nowy kernel 4.15 pozostanie wolny od pomysłów Keesa Cooka z Google, który utwardził mechanizm kopiowania pamięci z przestrzeni kernela do przestrzeni użytkownika do tego stopnia, że mówiąc w przenośni, oprogramowanie mogłoby sobie na nim połamać zęby.

Kees Cook z zespołu bezpieczeństwa smartfonu Google Pixel już wcześniej miał swoje przejścia z Linusem – w lipcu tego roku wskazał on na błąd w obsłudze wycieków pamięci przez linuksowy kernel. W odpowiedzi dowiedział się, że to jego rozwiązanie jest (delikatnie mówiąc) do niczego, a on sam wymyśla na swoje usprawiedliwienie kompletne bzdury – i ma zaprzestać tych idiotyzmów.

Niezrażony programista Google’a tym razem przyszedł ze zmianami do mechanizmu kopiowania pamięci, które miały znacząco ograniczyć obszary pamięci kernela dostępne kopiowaniu do i z przestrzeni użytkownika. Służyć temu miała biała lista dopuszczonych regionów, póki co z trybem awaryjnym by niczego nie zepsuć, ale najdalej po dwóch wydaniach kernela tryb awaryjny miałby zniknąć.

Linus zareagował początkowo całkiem spokojnie. Stwierdził, że takie żądania zawsze czekają na końcu – ponieważ budzą lęk, ponieważ im nie ufa, ponieważ czuje, że musi spędzić nad nimi trochę czasu. A kiedy ma dużo innych żądań, gdy zamyka się okienko wydania, to po prostu nie ma na takie rzeczy czasu.

Ale co takiego jest strasznego w mechanizmie białych list kopiowania pamięci? No cóż, Linus jak to Linus, powiedział co myśli o ludziach takich jak Cook. Specjalistom od bezpieczeństwa po prostu nie można zaufać, przynoszą zmiany dotykające samego rdzenia systemu, i to metodą faktów dokonanych, z całą masą jakichś arbitralnych zasad.

Tymczasem Linux długo miał problemy z pierwszym utwardzeniem mechanizmu kopiowania pamięci, wciąż ma poważne problemy z uszkodzeniami pamięci wskutek randomizacji jej struktur, a te wszystkie dalsze utwardzenia to zdaniem Linusa tylko źródło przypadkowych błędów, wynikających z niedostatecznego testowania i niechlujności. Dla ludzi od bezpieczeństwa nic poza bezpieczeństwem się po prostu nie liczy! Z tego właśnie powodu odmawia wprowadzenia zmian, proponując w zamian Cookowi przygotowanie mniejszego pull requestu, który po prostu wprowadzi niezbędną infrastrukturę, a niczego psuć nie będzie.

Swoje dwa grosze na korzyść Cooka dołożył tymczasem Paolo Bonzini, opiekun hiperwizora kvm, zachwalając że to niezłe rozwiązanie, bez żadnych zależności konfiguracyjnych, które poradzi sobie nawet jeśli programista zapomni o łatkach – i daleko mniej straszne niż wtyczki do kompilatora GCC. Jeśli Linus nie chce tego pull requestu, to niech go teraz nie robi, ale niech przynajmniej weźmie jego podzbiór, łatwo jest zastąpić białe listy czarnymi listami. Cook zaś zaczął zachwalać swój mechanizm awaryjny, dzięki któremu wprowadzone zmiany niczego by nie popsuły.

Te odpowiedzi podziałały na Linusa jak płachta na byka. Ci ludzie od bezpieczeństwa to cholerni idioci – pisze w swojej odpowiedzi, ostatecznie zamykającej kwestię dalszego utwardzania kopiowania pamięci. Jest niedopuszczalne, by jacyś ludzie od bezpieczeństwa ustanawiali nowe magiczne zasady, a następnie wywoływali panikę kernela, gdy zasady te zostają naruszone, deklaruje twórca Linuksa, grzmiąc, że sama konieczność wprowadzenia trybu awaryjnego pokazuje, jak bardzo do niczego jest to rozwiązanie.

Ludzie od bezpieczeństwa powinni wbić sobie do głowy, że problemy z bezpieczeństwem to po prostu bugi, które trzeba naprawić, a nie wprowadzać jakieś „utwardzenia”, sprowadzające się do ubijania procesów, które niepoprawnie się zachowywały. Jak ktoś nie potrafi zrozumieć, że głównym zadaniem ludzi od bezpieczeństwa jest debugowanie oprogramowania, to niech się lepiej do Linuksa nie pcha – stwierdził Linus. Podejście najpierw strzelaj, a potem zadawaj pytania jest po prostu nie do przyjęcia.

Tako rzecze człowiek pogryziony przez pingwina. A Kees Cook? Ten położył uszy po sobie, stwierdzając, że jego głównym błędem było myślenie, że takie zmiany można wprowadzić w jednym cyklu rozwojowym. Zajmie się dalszymi poprawkami i spróbuje szczęścia z kernelem 4.16.

© dobreprogramy
reklama
r   e   k   l   a   m   a

Komentarze

reklama
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.   
Polecamy w WP TechnologieWP TechnologieNajsłynniejsze kanały na YouTubie. W Polsce często nieznane