Ta witryna wykorzystuje pliki cookie, dowiedz się więcej Zgadzam się
>>> Strona główna >>> Archiwum wiadomości >>> System operacyjny bez błędów

System operacyjny bez błędów

2011-08-16 15:32:01

Microsoft szykuje nowy system operacyjny - Verve. Pisze o tym Andrzej Pająk we wrześniowym numerze CHIP’a.
Od pewnego czasu Microsoft w każdy drugi wtorek miesiąca udostępnia aktualizacje Windows odpowiadając na wykrycie nowych luk w systemie. 90% ataków na systemy operacyjne Microsoftu jest przeprowadzanych przez wprowadzenie złośliwego kodu metodą przepełnienia bufora danych.
Jądra Windows, Linuksa, czy Mac OS odpowiedzialne za wykonywanie najważniejszych funkcji są napisane w języku C, który nie zapewnia bezpieczeństwa systemu. Niebezpieczeństwo w postaci wrogiego kodu czai się w momencie tłumaczenia kodu źródłowego (napisanego w języku wysokiego poziomu) na zrozumiały przez procesor asembler (robi to kompilator). Równolegle z tłumaczeniem konsolidator łączy kod z bibliotekami systemowymi. Obie te operacje są źródłem powstawania luk. Często też w celu przyspieszenia działania systemu niektóre części jądra napisane są w asemblerze. Niestety język C a także klasyczny asembler nie mają możliwości kontroli typów, co pozwala na sprawdzenie, czy wykonanie danego kodu jest bezpieczne. Jeżeli język programowania umożliwia kontrolę typu zmiennych w trakcie translacji kodu źródłowego na język maszynowy to wiąże się to ze zwiększeniem wykorzystania zasobów sprzętowych.
System, który sam się kontroluje - Microsoft zastosował w Verve w znacznie szerszym niż zwykle zakresie język maszynowy, ale z kontrolą typów zmiennych, kontroluje on poprawność kodu i w razie potrzeby poprawia go. Dzięki temu mechanizmowi Verve ma uniemożliwiać hakerom działanie polegające na przepełnianiu bufora danych.
Nowy system różni się też od innych popularnych systemów architekturą. Zamiast mocno rozbudowanego jednego tradycyjnie stosowanego w systemach jądra (kernel) ma jeszcze jądro Nucleus obsługujące urządzenia, kontrolujące operacje wejścia/wyjścia, przejmujące unieszkodliwianie błędów i zbierające tzw. nieużytki, co pozwala odblokować pamięć operacyjną zapychaną niepotrzebnymi danymi.
Wszystkie elementy kernela Verve są napisane w języku C# z kontrolą typów. Jądro Nucleus składa się wyłącznie z zabezpieczonego kodu asemblera.
Wykonywanie programów z bezpiecznym kodem - próby z budową bezpiecznego systemu Verve, który może obsługiwać równolegle wiele programów robią wrażenie. Projekt Microsoftu jest jednak dopiero we wczesnym stadium; nie ma jeszcze połączenia internetowego TCP, nie ma przeglądarki, nie ma serwera WWW. Poważną wadą jest to, że działa tylko na jednym rdzeniu procesora.
Autor artykułu proponuje odważnym, którzy chcą sami wypróbować Verve i wierzą, że jest to właściwy kierunek poszukiwań skompilowanie jego kodu źródłowego i pobranie systemu za darmo z portalu codeplex.com.
Gdyby opisane próby zostały szybko zastosowane w kolejnych wersjach Windows może skończyłyby się pokutne PatchTuesday Microsoftu.

Oprac. na podstawie CHIP’a
Magdalena Hornowska

Robocik WWSI