OpenBSD dodaje nową funkcję migawki

OpenBSD

Będą już wiedzieć OpenBSD, system operacyjny z rodziny BSD. Jeśli go nie wiesz, jest to system typu Unix o otwartym kodzie źródłowym i oczywiście nie jest oparty na jądrze Linuksa. Jest potomkiem, który wywodzi się z NetBSD, ale pozostawia przenośność na drugim miejscu, aby skupić się na bezpieczeństwie jako mocnym punkcie. Cóż, wraz z wydaniem OpenBSD 6.2 pojawi się jądro z bardzo interesującą funkcją.

Okazuje się, że OpenBSD 6.2 utworzy unikalne jądro za każdym razem, gdy użytkownik systemu uruchomi się ponownie lub zaktualizuje system. Ta funkcja nazywa się KARL (Kernel Address Randomized Link) i działa poprzez ponowne łączenie wewnętrznych plików jądra w losowej kolejności, dzięki czemu za każdym razem generuje unikalny binarny obiekt blob. Jest to nowość, ponieważ obecne wersje OpenBSD używają predefiniowanej lokalizacji, co powoduje, że wewnętrzne pliki są linkowane i ładowane do tego samego pliku binarnego za każdym razem i dla wszystkich użytkowników.

Rozwój Theo de Raadt będzie działać, generując ten konkretny obraz podczas instalacji, podczas aktualizacji lub podczas rozruchu. Jeśli użytkownik uruchomi, zaktualizuje lub zrestartuje maszynę, nowo wygenerowane jądro zostanie zastąpione przez nowy plik binarny. I po co to wszystko? Cóż, w ten sposób tworzone jest losowe miejsce dla adresów pamięci, w których wykonywana jest aplikacja i kod jądra, zamiast mieć już zdefiniowaną hierarchię lub segmenty pamięci dla każdej rzeczy, co komplikuje użycie exploitów wskazujących na obszar pamięci i poprawia bezpieczeństwo.

Istnieje inna podobna technika zwana KASLR (Randomizacja układu obszaru jądra), który różni się od KARL-a tym, że zamiast generować inny plik binarny za każdym razem, KASLR ładuje ten sam plik binarny w losowych lokalizacjach, z których obecnie korzystają systemy operacyjne, takie jak Windows i Linux. Obie w tym samym celu.