Prasa techniczna nieustannie pisze o nowych i niebezpiecznych exploitach "zero-day". Ale czym dokładnie jest exploit zero-day, co czyni go tak niebezpiecznym i - co najważniejsze - jak można się chronić?
Zero-dniowe ataki zdarzają się, gdy złoczyńcy wyprzedzają dobrych facetów, atakując nas lukami, o których istnieniu nawet nie wiedzieli. Tak się dzieje, gdy nie mamy czasu na przygotowanie naszej obrony.
Oprogramowanie nie jest idealne. Przeglądarka, w której to czytasz - czy to Chrome, Firefox, Internet Explorer, czy jakakolwiek inna - ma w niej błędy. Tak złożone oprogramowanie jest pisane przez ludzi i ma problemy, o których jeszcze nie wiemy. Wiele z tych błędów nie jest bardzo niebezpiecznych - może powodują awarię witryny lub awarię przeglądarki. Jednak niektóre błędy są dziury w bezpieczeństwie. Osoba atakująca, która wie o błędzie, może stworzyć exploit wykorzystujący błąd w oprogramowaniu, aby uzyskać dostęp do twojego systemu.
Oczywiście niektóre programy są bardziej podatne na ataki niż inne. Na przykład Java ma niekończący się strumień luk, które pozwalają stronom używającym wtyczki Java uciec z piaskownicy Java i mieć pełny dostęp do twojego komputera. Exploity, które udaje się złamać technologię Sandboxing przeglądarki Google Chrome, były znacznie rzadsze, chociaż nawet Chrome miał zero dni.
Czasami, luka jest odkryta przez dobrych facetów. Deweloper odkrywa tę lukę samodzielnie lub hakerzy "białych czapek" odkrywają lukę w zabezpieczeniach i ujawniają ją w sposób odpowiedzialny, być może za pośrednictwem programu podobnego do Pwn2Own lub Google Chrome, który nagradza hakerów za wykrywanie luk i odpowiedzialne ujawnianie ich. Programista naprawia błąd i wydaje dla niego poprawkę.
Złośliwe osoby mogą później próbować wykorzystać lukę w zabezpieczeniach po jej ujawnieniu i załataniu, ale ludzie mieli czas na przygotowanie.
Niektórzy ludzie nie łatają oprogramowania w odpowiednim czasie, więc te ataki nadal mogą być niebezpieczne. Jeśli jednak atak jest skierowany na oprogramowanie przy użyciu znanej luki, na którą jest już dostępna poprawka, nie jest to atak "zerowy dzień".
Czasami luka odkrywa lukę. Ludzie, którzy odkryją tę lukę, mogą ją sprzedać innym osobom i organizacjom szukającym exploitów (to jest wielki biznes - to nie tylko nastolatkowie w piwnicach, którzy próbują już z tobą zadzierać, jest to przestępczość zorganizowana w akcji), czy też używają tego sami. Luka mogła już być 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 ostrzegają przed zagrożeniem swojego oprogramowania. Ludzie dowiadują się tylko, że oprogramowanie jest narażone na ataki, gdy jest już atakowany, często poprzez zbadanie ataku i poznanie, jakiego błędu używa.
Jest to atak trwający zero dni - oznacza to, że programiści mają zero dni na rozwiązanie problemu, zanim zostanie on już wykorzystany na wolności. Jednak złoczyńcy wiedzieli o tym wystarczająco długo, aby stworzyć exploit i zacząć atakować. Oprogramowanie pozostaje podatne na atak, dopóki łatka nie zostanie zwolniona i nie zostanie zastosowana przez użytkowników, co może potrwać kilka dni.
Zero dni są przerażające, ponieważ nie mamy z nimi żadnego wcześniejszego powiadomienia. Nie możemy zapobiec atakom zero-day przez utrzymywanie naszego oprogramowania naprawionego. Z definicji, żadne łaty nie są dostępne dla ataku zero-day.
Więc co możemy zrobić, aby uchronić się przed exploitami zero-day?
Wyjaśniliśmy, czym jest exploit typu zero-day, ale co to jest stała i niezałatana luka w zabezpieczeniach znana jako? Sprawdź, czy możesz znaleźć odpowiedź w naszej sekcji Ciekawostki!