Wszechświat Linuksa zmienił się na zawsze. Jego technologia przestała być czymś dziwnym na rozmowach komputerowych, a dziś jest obecna w milionach smartfonów, tabletów, modemów, routerów, urządzeń noszonych i pojazdów, nie zapominając o dominacji w przestrzeni serwerowej. Wraz z nadejściem Internetu Rzeczy bezpieczeństwo jądra Linuksa nie może pozostać przy obecnym modelu, a wiele głosów zaleca wdrożenie nowej strategii, która pozwoliłaby jądru chronić samego siebie, będąc o krok przed podatnościami.

Dwa metry od mojego biurka kurz zbiera smartfon z Androidem 2.3, który dziś pełni funkcję latarki. Chociaż wszystko, co muszę zrobić, aby wrócił do swojej pierwotnej roli smartfona, to włożyć kartę SIM, wersja systemu operacyjnego jest tak stara, że nie wiem, czy warto ryzykować. W tej samej sytuacji znajdują się miliony urządzeń z jądrem Linuksa w tle. Są solidne, elastyczne i stabilne, ale nie otrzymując aktualizacji, stają się niebezpieczne. Programiści, producenci, dystrybutorzy, dostawcy łączności i użytkownicy – wszyscy mają na swoich barkach odrobinę winy. Jeśli do tej sytuacji dodamy potencjał Internetu Rzeczy, musimy mówić o milionach dodatkowych urządzeń całkowicie zagrożonych. Oczekuje się, że niektóre z tych gadżetów będą działać przez pięć lub dziesięć lat bez jednej aktualizacji, a przy takiej mechanice jądro Linuksa oscyluje między młotem a kowadłem.

Czy jądro Linuxa przechodzi kryzys bezpieczeństwa?
Linux

Innymi słowy, jądro Linuksa nie może dalej gonić za błędami. Według Keesa Cooka, programisty w Google i szefa Linux Kernel Self-Protection Project, „czas życia” błędu w jądrze (czyli od jego wprowadzenia do łatki) wynosi od 3,3 do 6,4 lat. Te luki stały się nieakceptowalnym parametrem, a atakujący uważnie obserwują każdy nowy „commit” aby wykrywać i wykorzystywać błędy. To sprawia, że zaawansowana ochrona jądra staje się fundamentalną misją, ale istnieje jeszcze jedna przeszkoda: 85 procent błędów w jądrze nie pochodzi z samego rdzenia, ale z zintegrowanych sterowników. Niska kontrola jakości, jaką wykazują niektórzy producenci, jest niepokojąca i przyczynia się do niepewności bezpieczeństwa, która dotyka jądra.

Teraz… wyzwania nie są tylko techniczne, ale także polityczne. Wprawne oko zauważy, że ten „konflikt” ma wiele wspólnego z debatą o „jądrze monolitycznym a mikrojądrze”, która nie raz poruszyła entuzjastów Linuksa i wciąż jest źródłem znacznych wymian zdań. Mimo to, jak powiedziałem na początku, wszechświat Linuksa zmienił się na zawsze. Nowe problemy bezpieczeństwa wymagają nowych rozwiązań, a swego rodzaju „ogólna odporność” jądra nie brzmi tak źle. Usunięcie sterowników z jądra i przeniesienie ich działania do „userland” daleko odbiega od magicznego rozwiązania, ale właśnie o to chodzi: nie potrzeba magicznych rozwiązań, lecz solidnych rozwiązań, które będą chronić jądro na dłuższą metę. Wykład Keesa Cooka trwa nieco ponad 45 minut, a on szczegółowo opisuje niektóre postępy poczynione przez Self-Protection Project, a także dodatkowe sugestie do wdrożenia w przyszłości. Jeśli ten temat Cię interesuje, warto go obejrzeć.

Źródło:

Linux Kernel Self-Protection Project: