Prasa techniczna nieustannie pisze o nowych i niebezpiecznych exploitach typu „zero-day”. Ale czym właściwie jest exploit zero-day, co czyni go tak niebezpiecznym i - co najważniejsze - jak możesz się chronić?
Ataki zero-dniowe mają miejsce, gdy źli ludzie wyprzedzają dobrych, atakując nas lukami, o których istnieniu nawet nie wiedzieliśmy. Są tym, co się dzieje, gdy nie mamy czasu na przygotowanie naszej obrony.
Oprogramowanie jest podatne na ataki
Oprogramowanie nie jest doskonałe. Przeglądarka, w której to czytasz - czy to Chrome, Firefox, Internet Explorer czy jakakolwiek inna - na pewno zawiera błędy. Tak złożone oprogramowanie zostało napisane przez ludzi i zawiera problemy, o których jeszcze nie wiemy. Wiele z tych błędów nie jest bardzo niebezpiecznych - być może powodują nieprawidłowe działanie witryny internetowej lub awarię przeglądarki. Jednak niektóre błędy to luki w zabezpieczeniach. Osoba atakująca, która wie o błędzie, może stworzyć exploit, który wykorzystuje błąd w oprogramowaniu, aby uzyskać dostęp do systemu.
Oczywiście niektóre programy są bardziej podatne na ataki niż inne. Na przykład, Jawa ma niekończący się strumień luk w zabezpieczeniach, które umożliwiają witrynom korzystającym z wtyczki Java ucieczkę z piaskownicy Java i uzyskanie pełnego dostępu do komputera. Eksploity, którym udaje się złamać technologię piaskownicy Google Chrome, były znacznie rzadsze, chociaż nawet Chrome miał zero dni.
Odpowiedzialne ujawnianie
Czasami dobrzy ludzie odkrywają lukę. Albo deweloper sam odkryje lukę w zabezpieczeniach, albo hakerzy z „białego kapelusza” odkryją lukę i ujawnią ją odpowiedzialnie, być może za pomocą czegoś takiego jak Pwn2Own lub program Google Chrome bug bounty, który nagradza hakerów za wykrycie luk w zabezpieczeniach i odpowiedzialnie je ujawni. Deweloper naprawia błąd i wydaje dla niego łatkę.
Złośliwi ludzie mogą później próbować wykorzystać lukę po jej ujawnieniu i załataniu, ale mieli czas na przygotowanie się.
Niektórzy ludzie nie aktualizują oprogramowania na czas, więc ataki te mogą być nadal niebezpieczne. Jeśli jednak atak jest wymierzony w oprogramowanie wykorzystujące znaną lukę w zabezpieczeniach, dla której jest już dostępna łatka, nie jest to atak typu „zero-day”.
Ataki dnia zerowego
Czasami złoczyńcy odkrywają lukę. Ludzie, którzy odkryją lukę, mogą ją sprzedać innym osobom i organizacjom poszukującym exploitów (to jest wielki biznes - to nie tylko nastolatki w piwnicach próbują z tobą zadzierać, to jest przestępczość zorganizowana w akcji) lub sami ją wykorzystują. Luka mogła być już znana deweloperowi, ale deweloper mógł nie być w stanie jej naprawić na czas.
W takim przypadku ani programista, ani osoby korzystające z oprogramowania nie mają wcześniejszego ostrzeżenia, że ich oprogramowanie jest podatne na ataki. Ludzie dowiadują się, że oprogramowanie jest podatne na ataki tylko wtedy, gdy jest już atakowane, często poprzez badanie ataku i dowiadywanie się, jaki błąd wykorzystuje.
Jest to atak typu zero-day - oznacza to, że programiści mieli zero dni na rozwiązanie problemu, zanim został on już wykorzystany na wolności. Jednak źli ludzie wiedzieli o tym wystarczająco długo, aby stworzyć exploit i rozpocząć atak. Oprogramowanie pozostaje podatne na ataki do czasu opublikowania i zastosowania przez użytkowników łatki, co może zająć kilka dni.
Jak się chronić
Zero dni są przerażające, ponieważ nie mamy o nich wcześniejszego powiadomienia. Nie możemy zapobiec atakom dnia zerowego, utrzymując poprawki w naszym oprogramowaniu. Z definicji żadne poprawki nie są dostępne dla ataku typu zero-day.
Co więc możemy zrobić, aby chronić się przed exploitami zero-day?
- Unikaj oprogramowania podatnego na ataki : Nie wiemy na pewno, że w przyszłości pojawi się kolejna luka typu zero-day w Javie, ale długa historia ataków typu zero-day w Javie oznacza, że prawdopodobnie będzie. (W rzeczywistości Java jest obecnie podatna na kilka ataków typu zero-day, które nie zostały jeszcze załatane). Odinstaluj Javę (lub wyłącz wtyczkę, jeśli potrzebujesz zainstalowanej Java ) i jesteś mniej narażony na ataki typu zero-day. Czytnik PDF i Flash Player firmy Adobe również miały w przeszłości sporo ataków typu zero-day, chociaż ostatnio uległy poprawie.
- Zmniejsz powierzchnię ataku : Im mniej masz oprogramowania podatnego na ataki typu zero-day, tym lepiej. Dlatego dobrze jest odinstalować wtyczki przeglądarki, których nie używasz, i unikać bezpośredniego ujawniania niepotrzebnego oprogramowania serwera w Internecie. Nawet jeśli oprogramowanie serwera jest w pełni zaktualizowane, w końcu może dojść do ataku zero-day.
- Uruchom program antywirusowy : Antywirusy mogą pomóc w walce z atakami typu zero-day. Atak polegający na próbie zainstalowania złośliwego oprogramowania na komputerze może spowodować, że instalacja złośliwego oprogramowania zostanie udaremniona przez program antywirusowy. Na heurystyka antywirusa (które wykrywają podejrzanie wyglądającą aktywność) mogą również blokować atak zero-day. Programy antywirusowe mogą być wówczas aktualizowane w celu ochrony przed atakiem dnia zerowego wcześniej niż dostępna będzie łatka dla samego oprogramowania zawierającego lukę. Dlatego warto używać programu antywirusowego w systemie Windows, bez względu na to, jak bardzo jesteś ostrożny.
- Aktualizuj oprogramowanie : Regularne aktualizowanie oprogramowania nie ochroni Cię przed zerowymi dniami, ale zapewni poprawkę tak szybko, jak to możliwe po jej opublikowaniu. Dlatego też ważne jest, aby zmniejszyć powierzchnię ataku i pozbyć się potencjalnie podatnego oprogramowania, którego nie używasz - jest to mniej oprogramowania, które musisz zapewnić, aby było aktualizowane.
Wyjaśniliśmy już, czym jest exploit typu zero day, ale czym jest stała i niezałatana luka w zabezpieczeniach znana jako? Sprawdź, czy możesz znaleźć odpowiedź na nasza sekcja Ciekawostki dla geeków !