6-9 minut

Czym są exploity i jak się przed nimi bronić?

Bez względu na liczbę testów i dokładność z jaką zespoły deweloperskie weryfikują swoje rozwiązania, błędy w oprogramowaniu zawsze będą się zdarzały. Część z nich ma krytyczne znaczenie dla bezpieczeństwa systemów, a ich wykorzystanie stanowi furtkę, poprzez którą atakujący dostają się do organizacji, kradnąc dane lub powodując problemy w działaniu oprogramowania. W artykule przedstawiamy najważniejsze informacje dotyczące podatności, czyli luk w oprogramowaniu oraz i ich wykorzystania. Opiszemy też, w jaki sposób zminimalizować ryzyko z tym związane.

Z TEGO ARTYKUŁU DOWIESZ SIĘ:

  1. CZYM SĄ EXPLOITY ORAZ PODATNOŚCI?
  2. JAKA JEST SKALA PROBLEMU ZWIĄZANEGO Z LUKAMI W OPROGRAMOWANIU?
  3. CZYM SĄ LUKI DNIA ZEROWEGO?
  4. JAKIE PODATNOŚCI STANOWIŁY NAJWIĘKSZE ZAGROŻENIE W 2020 ROKU?
  5. JAK CHRONIĆ ORGANIZACJĘ PRZED EXPLOITAMI?

Podatność to luka w oprogramowaniu pozwalająca atakującym wykonać działania, których twórca softwaru nie przewidział. Może ona doprowadzić do wycieku danych, zdobycia przez przestępcę uprawnień umożliwiających mu wykonanie działań w systemie lub ingerencję w kod oprogramowania. Podatności mogą znaleźć się w oprogramowaniu stron internetowych, systemów operacyjnych, aplikacji i urządzeń. Exploit to określony kod lub technika wykorzystująca tę lukę do przeprowadzenia ataku lub uzyskania nieautoryzowanego dostępu.

Z badania „Improving Vulnerability Remediation Through Better Exploit Prediction”1 wynika, że w latach 2009-2018 do przeprowadzenia ataku wykorzystano zaledwie 4183 luki w zabezpieczeniach z łącznej liczby 76 000 (5,5%) wykrytych podatności. Co ciekawe, badacze odkryli, że nie ma związku między publikacją kodu exploita typu „proof-of-concept” (PoC) na publicznych stronach internetowych, a rozpoczęciem prób wykorzystania luki. Oznacza to, że sam fakt wykrycia podatności nie jest równoznaczny z powstawaniem exploitów wykorzystujących istniejącą lukę. Powodem, dlaczego tak się dzieje jest różna przydatność oprogramowania. Przestępcy wykorzystują jedynie te luki w oprogramowaniu, które pozwolą im uzyskać praktyczne korzyści, czyli wykonać atak powodujący szkody w systemach ofiary lub kradzież danych.

Możliwe luki w zabezpieczeniach

Ręczne wyszukiwanie podatności przez atakującego byłoby zbyt czasochłonne, dlatego wykorzystywane są do tego celu zautomatyzowane narzędzia pozwalające wykrywać istniejące luki w systemach ofiary. W przypadku stron dostępnych w Internecie sprawdzenie, czy jest ona podatna polega na weryfikacji, który z popularnych systemów CMS jest używany, a następnie wykonanie prób, czy zarządzający stroną zaniedbał aktualizacji. Atakujący, w zależności od rodzaju podatności, może wówczas zmienić kod źródłowy strony, włamać się do bazy danych lub zmodyfikować jej działanie.

Praktycznie każda strona w internecie wielokrotnie, każdego dnia poddawana jest testom podatności. Celem atakującego jest zazwyczaj dodanie do niej własnych linków przekierowujących na przykład na strony phishingowe. Korzyścią dla cyberprzestępcy może być też kradzież danych lub zdobycie informacji pomocnych do prowadzenia ataku na inne firmowe systemy. Jeżeli dostępność strony jest kluczowa dla działania organizacji skuteczny atak z użyciem exploita umożliwi również zaszyfrowanie jej zawartości i szantaż (klasyczny ransomware).

Luki dnia zerowego

Ochroną przed exploitami jest szybkie usunięcie podatności przez producenta software’u, zanim luka zostanie wykorzystana przez atakujących. Wysiłki zespołów odpowiedzialnych za zabezpieczenia firmowych systemów IT koncentrują się zatem na szybkim pozyskiwaniu informacji o istniejących lukach i natychmiastowej implementacji „łatek” – patchy.

Luka dnia zerowego to błąd w oprogramowaniu, który nie został jeszcze zidentyfikowany i naprawiony. Jeśli luka zostanie wykryta przez cyberprzestępców, zanim producent oprogramowania usunie podatność, możliwe jest skuteczne przeprowadzanie ataków. Z tego powodu tradycyjne oprogramowanie antywirusowe i chroniące przed malwarem nie będzie w stanie ich zidentyfikować. Organizacje i witryny, takie jak MITRE, NIST i vuldb.com prowadzą listy znanych krytycznych luk. Dopiero po wydaniu łatki dla danej luki przestaje być już ona uważana za lukę dnia zerowego.

Jednym z ważnych rozwiązań systemowych minimalizującymi ryzyko związane z lukami dnia zerowego jest Zero Day Initiative (ZDI)2 podjęty przez Trend Micro, mający na celu nagradzanie osób i zespołów za odpowiedzialne ujawnianie luk w zabezpieczeniach. Sami producenci oprogramowania także bezpośrednio nagradzają osoby przyczyniające się do wykrycia luk i przekazujące im informacje. Jednym z nagrodzonych jest Maciej Pulikowski, który w marcu 2021 otrzymał od Google Chrome Bug Bounty nagrodę w wysokości 5 tys. USD3 za wykrycie podatności w przeglądarce.

Sytuację komplikuje jednak fakt, że profesjonaliści wykrywający luki w oprogramowaniu nie koniecznie działają po dobrej stronie i nie zawsze informują producentów oprogramowania o wykrytych podatnościach. Skutkiem tego nie wszystkie firmy dostarczają łatki na czas. Przykładem może być SolarWinds Orion, gdzie reakcja dostawcy nastąpiła zbyt późno. Przez kilka miesięcy, między marcem a majem 2020, szeroko dystrybuowany był złośliwy kod znajdujący się w bibliotece tego oprogramowania. Ofiarą ataku, na skutek podatności padło m.in. ponad 425 firm z listy Fortune 5004, a także instytucje zajmujące się bezpieczeństwem w USA.

Najpoważniejsze dziury w oprogramowaniu w 2020

Zespół Radware  zajmujący się lukami w zabezpieczeniach zbadał najpopularniejsze z exploitów 2020 r5. Dane pochodzą z analizy ruchu zebranego za pomocą Global Deception Network firmy Radware, która jest siecią globalnie rozproszonych agentów tzw. honeypotów. Mowa tu o narzędziach, których celem jest przyciąganie uwagi atakujących. Honeypoty są rodzajem przynęty – wabikiem, powodującym, że cyberprzestępcy tracą czas na działania, które nie doprowadzą ich do rzeczywistej ofiary. Sieć Radware przyciąga setki tysięcy atakujących z różnych adresów IP, które codziennie generują miliony zdarzeń. Algorytmy automatycznej analizy zapewniają wgląd i kategoryzację różnych typów złośliwej aktywności, od rozpoznania, poprzez próby brutalnego łamania hasła, po wstrzyknięcia kodu i jego wykonanie – Remote Code Execution – RCE.

Na pierwszym miejscu listy Radware znalazł się exploit / ws / v1 / cluster / apps / new-application odpowiedzialny aż za 74,9% wszystkich odwiedzin serwisów honeypot. Ma on za zadanie wykonanie nieuwierzytelnionych poleceń w Apache Hadoop za pośrednictwem YARN ResourceManager6. Hadoop jest platformą open source przeznaczoną dla aplikacji Big Data działających w systemach klastrowych. Jak nietrudno się domyślić cyberprzestępcy korzystają z tej luki, by zdobywać nielegalnie dane. Podatność znana jest od 2018 roku i została załatana w nowych wersjach Hadoop7.

Na drugim miejscu sklasyfikowano exploit / manager / html odpowiedzialny za 11,3% wszystkich odwiedzin w serwisach Radware. Celem ataku jest Apache Tomcat będący serwerem www typu open source http, napisanym w Javie i służącym do udostępniania aplikacji webowych w sieci.

Trzecie miejsce pod względem częstości użycia przypadło exploitowi / level / 15 / exec / – / sh / run / CR, który przyciągnął 6,9% wszystkich odwiedzin serwisów internetowych Radware. Pozwala on na dostęp do routerów Cisco bez uwierzytelniania w interfejsie HTTP. Luka ta jest bardzo stara, bo pochodzi z sierpnia 2002 r. Mimo to atakujący wciąż próbują znaleźć niechronione routery Cisco.

Jak bronić się przed exploitami?

O ile ochrona przed podatnościami w ogóle, co do zasady, wymaga jedynie dyscypliny i sumienności w możliwie jak najszybszej implementacji łatek dostarczanych przez producentów oprogramowania, o tyle nie zabezpiecza ona przed lukami dnia zerowego. Mimo to można podać kilka rad, które wprawdzie nie są w stanie wyeliminować ryzyka całkowicie, ale pomogą je zminimalizować. Przykładowo, warto zaimplementować 2FA (two-factor authentication) wszędzie tam, gdzie to tylko możliwe, co pozwala zapobiegać atakom opartym na lukach w identyfikacji tożsamości. Kluczowe może być jednak powierzenie opieki nad systemami wyspecjalizowanym zespołom zajmującym się cyberbezpieczeństwem.

Wykrywanie przez ekspertów prób ataków z wykorzystaniem podatności, zwłaszcza tych, które nie zostały jeszcze opublikowane, wymaga ogromnej wiedzy i doświadczenia. Na trop, że w danym momencie dzieje się coś złego w systemie, mogą wskazywać nietypowe logowania lub możliwa do zlokalizowania obecność narzędzi hakerskich. T-Mobile dostarcza usługę stałego monitoringu zespołów bezpieczeństwa Security Operations Center (SOC) we własnych Data Center przez 24 godziny na dobę i siedem dni w tygodniu. Pomaga to wykrywać i zapobiegać atakom non stop. Usługi oferowane w ramach SOC pozwalają ekspertom od bezpieczeństwa zatrzymywać ataki prowadzące do wycieku danych lub przejęcia kontroli nad aplikacjami. Ochrona przed tym typem zagrożeń realizowana jest w usłudze Cloud Security, w części end point protection. Vulnarebility management dostarczane jest przez T-Mobile poprzez dodanego agenta Crowdstrike. Oprogramowanie to analizuje, wykrywa i wskazuje podatności  systemów operacyjnych oraz aplikacji, które znajdują się na chronionym serwerze lub komputerze PC użytkownika. Dodatkowo, dostarczany w ramach usługi raport informuje, co należy zrobić, by zabezpieczyć organizację przed zagrożeniem związanym z wykrytymi podatnościami – jaki patch zastosować, jaką inną wersją zastąpić „dziurawe” oprogramowanie oraz jaki upgrade należy wykonać.

Podsumowanie

Przypomnijmy najważniejsze informacje dotyczące podatności oraz sposobów ich wykorzystania przez atakujących:

  • Podatność jest luką w oprogramowaniu pozwalającą atakującym wykonać działania, których twórca softwaru nie przewidział. Natomiast exploit to określony kod lub technika wykorzystująca tę lukę do przeprowadzenia ataku lub uzyskania nieautoryzowanego dostępu.
  • Ochrona przed exploitami polega na szybkim usunięciu podatności przez producenta software’u, zanim luka zostanie wykorzystana przez atakujących. Działania ekspertów odpowiedzialnych za zabezpieczenia firmowych systemów IT koncentrują się na szybkim pozyskiwaniu informacji o istniejących lukach i natychmiastowej implementacji „łatek” – patchy.
  • Luka dnia zerowego jest błędem w oprogramowaniu, który nie został jeszcze zidentyfikowany i naprawiony przez producenta. Jeśli luka zostanie wykryta przez cyberprzestępców, zanim dostawca oprogramowania usunie podatność, możliwe jest skuteczne przeprowadzanie ataków. Z tego powodu tradycyjne oprogramowanie antywirusowe i chroniące przed malwarem nie będzie w stanie ich zidentyfikować.
  • Ochrona przed exploitami realizowana jest przez Security Operations Center (SOC) T-Mobile dzięki usłudze Cloud Security w części end point protection. Vulnarebility management dostarczane jest poprzez dodanego agenta Crowdstrike.  Oprogramowanie to wykrywa i wskazuje podatności bezpieczeństwa systemów operacyjnych oraz aplikacji, które znajdują się na chronionym serwerze lub komputerze PC użytkownika.

1„Improving Vulnerability Remediation Through Better Exploit Prediction” https://weis2019.econinfosec.org/wp-content/uploads/sites/6/2019/05/WEIS_2019_paper_53.pdf
2https://twitter.com/thezdi/
3https://twitter.com/pulik_io/status/1374340065183330310
4https://www.newsweek.com/solarwinds-hack-customer-list-suspected-russian-cyberattack-1554467
5https://blog.radware.com/security/2020/12/the-top-web-service-exploits-in-2020/
6https://www.exploit-db.com/exploits/45025
7https://hadoop.apache.org/cve_list.html

Cloud Security

Ten artykuł dotyczy produktu

Cloud Security

Przejdź do produktu

Data publikacji: 30.06.2021

Chcesz dostawać informacje o nowych wpisach?

Chcesz dostawać informacje o nowych wpisach?

Zostaw swój adres e-mail