211service.com
Miękkie punkty w utwardzonym oprogramowaniu
W ciągu ostatniej dekady Microsoft, cel wielu atakujących online, wzmocnił swój system operacyjny, przyjmując technologie zaprojektowane tak, aby utrudnić atakującym znalezienie i wykorzystanie luk w zabezpieczeniach. Apple i wielu innych producentów oprogramowania poszło w ich ślady, wprowadzając podobne dodatkowe środki bezpieczeństwa do swoich systemów operacyjnych.
Jeszcze w zeszłym tygodniu podczas konkursu Pwn2Own o godz CanSecWest , konferencji poświęconej bezpieczeństwu w Vancouver w Kanadzie, badacze bezpieczeństwa wykazali, że twórcy oprogramowania muszą zrobić więcej, aby chronić swoje programy. Wykorzystując nieznane wcześniej luki, badacze zdołali złamać zabezpieczenia Apple Safari, Microsoft Internet Explorer 8 i Mozilla Firefox Mozilla, omijając najnowsze technologie bezpieczeństwa w systemie operacyjnym znajdującym się pod spodem.
Te rzeczy sprawiają, że jest to trudne – naprawdę tak jest, mówi Charles Miller, główny analityk w Niezależni Ewaluatorzy Bezpieczeństwa oraz badacz, który ominął zabezpieczenia przeglądarki Safari firmy Apple i systemu operacyjnego Mac OS X Snow Leopard. Ale bez względu na wszystko, zdeterminowany napastnik może znaleźć sposób.
Wyniki konkursu Pwn2Own podkreślają truizm w kwestii bezpieczeństwa: obrońcy muszą mieć zawsze rację, ale atakujący muszą mieć rację tylko raz. Exploity są naprawdę kreatywne; dlatego są trudne, Aaron Portnoy, kierownik zespołu ds. badań nad bezpieczeństwem Punkt zwrotny , firma ochroniarska sponsorująca konkurs Pwn2Own.
Począwszy od swojej inicjatywy Trustworthy Computing w 2002 roku, firma Microsoft rozpoczęła wdrażanie szeregu technologii bezpieczeństwa w systemie Windows. Po pierwsze, firma chroniła stos — logiczną przestrzeń pamięci używaną przez programy do tymczasowego przechowywania danych. Technologia zwana flagą /GS (po zmianie oprogramowania używanej w kompilatorze firmy) uniemożliwiała atakującym wypchnięcie własnego kodu na stos. Ale w 2003 roku David Litchfield, niezależny badacz, zademonstrował sposób na obejście ochrony. Microsoft zareagował, wprowadzając dwie dodatkowe technologie: SafeSEH w celu przeciwdziałania atakom za pomocą strukturalnych procedur obsługi wyjątków (SEH) oraz randomizacji układu przestrzeni adresowej (ASLR), aby utrudnić wykorzystanie podobnych luk w przyszłości. Naukowcy znaleźli jednak sposoby na obejście obu tych zabezpieczeń.
Niedawno firma Microsoft wprowadziła inną technologię, ochronę wykonania danych (DEP), która zapobiega atakom polegającym na nadpisaniu pamięci kodem, a następnie próbie wykonania tego kodu. Jednak na początku tego roku niezależny badacz, Dion Blazakis, zaprezentował atak znany jako rozpylanie JIT, który wykorzystuje luki w innych programach – w szczególności Adobe Flash i Java firmy Sun – w celu obejścia tych zabezpieczeń.
Te techniki eksploatacji są teraz gorącym towarem, mówi Portnoy. Jeśli masz sposób na ominięcie zabezpieczeń (systemu operacyjnego), to jesteś o krok wyżej niż większość ludzi tutaj.
Apple też nie był odporny. Według Millera, firma kontynuuje wydawanie kolejnych technologii bezpieczeństwa we własnym systemie operacyjnym, a Snow Leopard obejmuje zarówno ASLR, jak i DEP.
Microsoft przyznaje, że błędy w oprogramowaniu będą zawsze istniały i twierdzi, że celem jest uczynienie wykorzystywania takich luk mniej szkodliwymi. Obecnie inne środki, w tym dodatkowe zabezpieczenia stosu, ASLR i DEP, utrudniają znalezienie i wykorzystanie luk w zabezpieczeniach.
Gdyby te techniki nie istniały, zobaczylibyśmy o wiele więcej exploitów niż to, co widzimy teraz, mówi HD Moore, dyrektor ds. bezpieczeństwa w Szybki7 i dyrektorem Projekt Metasploit , który łączy techniki eksploatacji w łatwą w użyciu platformę dla badaczy bezpieczeństwa.
Trwają badania nad dodatkowymi zabezpieczeniami, a wiodącym kandydatem jest sandboxing — technika, w której niezaufany kod jest uruchamiany w chronionych obszarach pamięci i przestrzeni przetwarzania i nie może wpływać na inne części komputera lub urządzenia. Język programowania Java i środowisko uruchomieniowe sprawiły, że sandboxy stały się popularne, ale dopiero niedawno programy szerzej korzystają z sandboxów. Twórcy przeglądarek chcą uruchomić swój kod w piaskownicy, a Google Chrome, który przetrwał konkurs Pwn2Own bez zhakowania, uruchamia kod w piaskownicy.
Moore mówi, że piaskownice mają swoje ograniczenia. Piaskownice naprawdę dobrze chronią przed luką w aplikacji, która staje się exploitem systemu operacyjnego, mówi, ale jest to przydatne tylko wtedy, gdy dane, które próbujesz chronić, nie są dostępne. W wielu przypadkach program może potrzebować dostępu do danych wrażliwych lub systemowych, a wtedy piaskownica już nie pomaga, mówi.
W końcu twórcy oprogramowania sprawili, że ich programy są trudniejsze do wykorzystania, mówi Miller. Chociaż znalazł prawie 20 luk w popularnym oprogramowaniu, takim jak programy stworzone przez Adobe, Apple i Microsoft, w aktualnym systemie można wykorzystać mniej niż garstkę. Miller przyznaje, że to kompromis. Za każdym razem, gdy dodajesz jedno z tych (zabezpieczeń), spowalnia to system lub utrudnia programowanie. Celem jest uczynienie oprogramowania trudnym do wykorzystania i zrobili to.