Przeskocz do treści

Czym jest honeypot?


Na przeczytanie potrzebujesz
5 minut(y).

HoneypotPrzestępcy próbują się włamać do każdej organizacji, w której mogą znaleźć coś cennego. Wszystko zależy od opłacalności skoku. Niektóre firmy chwalą się, że ich infrastruktura, niczym twierdza, odeprze nawet najcięższe ataki. Uwaga obrońców często skierowana jest na obronie styku sieci firmowej z Internetem. Jeśli jednak skupiasz się na murach, możesz nie zauważyć, że wróg już jest w środku. Zastanówmy się, jak zastawić pułapkę na takiego napastnika.

Artykuł powstał w ramach współpracy z magazynem Programista Junior (https://programistajr.pl) i został opublikowany w numerze 01/2023.

Dowiesz się

  • Czym jest honeypot.
  • Jakie są rodzaje honeypotów.

Potrzebna wiedza

  • Ogólne pojęcie o sieciach komputerowych.

Honeypot (z ang. garnek lub beczułka miodu) to przynęta, coś kuszącego, pułapka na atakującego zastawiona przez obrońców. Nie chodzi jednak o to, aby złapać lub unieruchomić atakującego, ale przede wszystkim o to, żeby go wykryć, a czasem także obserwować i zrozumieć jego działania. Atakujący nie może zorientować się, że to fortel.

Podział honeypotów

Istnieje kilka podziałów honeypotów. Jednym z nich jest stopień interakcji, czyli jak dużo akcji może wykonać atakujący:

  • Wysoki stopień interakcji – takie wabiki udają systemy produkcyjne, które mają wiele różnych usług. Atakujący traci czas na atakowanie poszczególnych usług, jednocześnie ujawniając wachlarz swoich technik i narzędzi. Takie honeypoty wzbudzają mniej podejrzeń i są bardziej kuszące, gdyż atakującemu wydaje się, że ma większą szansę na udany atak na którąś z wielu usług. Bywają one jednak drogie w utrzymaniu.
  • Niski poziom interakcji – honeypoty tego rodzaju udają pojedyncze, najchętniej atakowane usługi. Są mniej złożone, łatwiej zarządzalne i tańsze w utrzymaniu.

Innym podziałem może być rola, jaką honeypot ma spełnić:

  • Detekcja – zazwyczaj łatwa do stworzenia i rozmieszczenia. Taki honeypot czeka, aż atakujący go znajdzie i od razu daje sygnał obrońcom, aby ci mogli niezwłocznie podjąć działania.
  • Rozpoznanie – trudniejsze w stworzeniu i zarządzaniu, mają na celu rozpoznanie, jak działa atakujący, zebranie informacji o jego taktyce ataku. Czasem nawet mogą przejmować narzędzia stosowane przez atakującego, który kopiuje je na atakowany system, aby go skompromitować. Te honeypoty pozwalają właścicielowi na obserwację działań atakującego, wyciąganie wniosków na przyszłość, a czasem wykrycie nieznanej dotąd podatności, którą próbuje wykorzystać atakujący.

Podział ze względu na rodzaj utrzymania. Honeypoty mogą być utrzymywane:

  • Wewnętrznie – na przykład utrzymywana przez naszą firmę wirtualna maszyna z wystawioną usługą zawierającą znane podatności.
  • Zewnętrznie – usługa świadczona przez firmę zewnętrzną specjalizującą się w tworzeniu i zarządzaniu tego rodzaju wabikami, na przykład Thinkst Canary.

Przykłady honeypotów

Tworząc honeypota, zakładamy, że nikt inny, poza potencjalnym atakującym, nie będzie wchodził w interakcje z przynętą. Powodów takiego założenia może być kilka, na przykład:

  • Nikt nie wie o istnieniu honeypota i trzeba go dobrze poszukać, aby znaleźć i wykorzystać,
  • Wszyscy w organizacji wiedzą, że istnieje i nie należy go używać, więc ktoś, kto to zrobi, jest potencjalnym atakującym spoza organizacji.

Honeypoty mogą przyjmować wiele różnych postaci. Od bardzo skomplikowanych do bardzo prostych. Poniżej przedstawiam kilka przykładów.

  • Strona WWW – umieszczona w sieci (wewnętrznej lub zewnętrznej) spreparowana strona, nieużywana przez nikogo. Jest ona tak skonstruowana, aby wyglądała na prawdziwą, ale jednocześnie nie przyciągała wzroku osób postronnych, na przykład nie miała dobrego pozycjonowania w wyszukiwarkach. Żadna osoba postronna nie trafi na nią przypadkiem.
  • Panel logowania do bazy danych – przykład podobny do strony WWW. Niepozorna, ale dostępna dla wszystkich baza czeka, aż ktoś zacznie uruchamiać na niej zapytania.
  • Dane do logowania do aplikacji lub bazy danych – pozostawione na przykład w pliku tekstowym na serwerze służącym do wymiany plików w firmie. Dane, których żaden użytkownik produkcyjnego systemu nie użyłby do logowania. Strzegą dostępu do konta, które nie zawiera prawdziwych informacji, ale za to informuje obrońców o rozpoczętym ataku.
  • Serwer z wystawionymi usługami sieciowymi – sieć wewnętrzna nie powinna być skanowana w poszukiwaniu serwerów przez nikogo poza zespołem zajmującym się bezpieczeństwem IT. Jeśli więc wystawimy serwer nieużywany przez nikogo, będziemy mogli zbierać informacje o próbach odpytania go na różnych portach. Można do tego celu wykorzystać serwer plików korzystający na przykład z FTP (ang. File Transfer Protocol).
  • Systemy automatyki przemysłowej SCADA – odpowiedzialne za sterowanie takimi instalacjami, jak oczyszczalnie ścieków, elektrownie czy zakłady filtrowania wody. Ważne, aby na pierwszy rzut oka wyglądał tak, jak te prawdziwe.
  • Plik – może być na przykład plik programu Microsoft Word, Excel czy po prostu PDF, który po otwarciu wyśle sygnał do obrońców.

W zależności od implementacji honeypot może być zrealizowany jako maszyna fizyczna lub wirtualna. Jeśli wybierzemy ten drugi sposób, to po skompromitowaniu honeypota można łatwo przywrócić nasz wabik do stanu „zerowego”, czyli do momentu sprzed uruchomienia, gdy jest wolny od ewentualnego szkodliwego oprogramowania zainstalowanego przez atakującego podczas kompromitacji systemu. Pozwala to również na łatwą replikację honeypota.

W grupie raźniej

Honeypot może być samodzielną instalacją lub częścią większej, rozproszonej sieci takich urządzeń na poziomie jednej firmy lub wielu, zwaną „honeynet”. Przykładem drugiego rodzaju sieci jest DShield Honeypot. Jest to inicjatywa organizacji SANS Institute (organizacji zajmującej się wieloma aspektami związanymi z cyberbezpieczeństwem), która ma na celu zbieranie danych o atakach na całym świecie. Wystarczy tylko urządzenie Raspberry Pi i połączenie sieciowe, aby stać się częścią tej inicjatywy. Tworząc honeynet, trzeba pamiętać, że atakujący też bywają sprytni. Jeśli wystawimy wiele identycznych kopii, szybko zorientują się, że coś jest nie tak.

Ciekawostka

W 2016 roku w serwisie Zaufana Trzecia Strona ukazał się artykuł opisujący 168 instancji systemu SCADA oczyszczalni ścieków „Czajka”. Wszystkie znajdowały się w sieciach polskich ministerstw, urzędów, placówek edukacyjnych i dużych firmy z branży energetycznej. Krótko mówiąc, szybko zdradziły swoje prawdziwe zastosowanie.

Trudna sztuka wybierania lokalizacji

Nie chodzi o to, żeby taką przynętę dobrze ukryć. Umieszczenie honeypota musi być przemyślane. Nie powinien on być znaleziony przez przypadkowego pracownika firmy wykonującego swoje obowiązki służbowe. Jednocześnie osoba działająca na szkodę organizacji powinna móc na niego natrafić, najlepiej zanim dostanie się do wartościowych danych. Balans między przypadkowym użyciem a złapaniem w sidła wroga jest trudny do zachowania. Dobrze umieścić honeypot w podobny sposób, w jaki są rozmieszczone autentyczne systemy, które honeypot imituje w danej organizacji. Ważne, aby się nie wyróżniał z tłumu.

Rzeczywiste implementacje

Istnieje wiele komercyjnych i darmowych implementacji tego typu rozwiązań. Obszerna lista różnych rozwiązań typu honeypot znajduje się na GitHubie. Każdy znajdzie coś dla siebie. Poniżej kilka przykładów:

  • Canary Tokens od Thinkst Canary – komercyjna usługa wyróżniająca się wieloma typami tak zwanych tokenów, które mogą posłużyć jako honeypot, na przykład adres URL, dokument PDF czy nawet numer karty kredytowej.
  • Log4Pot – honeypot udający usługę podatną na Log4Shell (CVE-2021-44228).
  • DShield Honeypot – wspomniany już projekt grupowego honeypota od SANS Institute.
Ilustracja 1 Fragment listy tokenów, które mogą służyć jako honeypoty, oferowanych przez firmę Thinkst Canary
Ilustracja 1 Fragment listy tokenów, które mogą służyć jako honeypoty, oferowanych przez firmę Thinkst Canary

Warto wiedzieć

Honeypotem może być nawet karta płatnicza, a konkretnie pełne dane takiej karty. Przy próbie użycia w sklepie, zamiast pokryć należność za zakup, alarmuje swojego właściciela, że została przechwycona przez przestępcę.

Wady i zalety

Jak każde rozwiązanie w branży cyberbezpieczeństwa, tak też honeypoty mają swoje zalety i wady. Zacznijmy od tych pierwszych:

  1. Zbierając dane z rzeczywistych ataków, honeypot dostarcza cennych danych o posunięciach przestępców, co pozwala opracować skuteczne metody obrony.
  2. Nawet jeśli atakujący udoskonalą swoje metody działania, to i tak mogą trafić na kolejny honeypot, który ponownie zbierze o nich informacje.
  3. Honeypoty mogą służyć nie tylko do identyfikowania zagrożeń w infrastrukturze wewnętrznej. Można ich także używać na styku z Internetem.

Wady:

  1. Trudno jest umieścić honeypot tak, aby tylko atakujący go znalazł. Zdarza się, że alarm jest wyzwalany przez nieświadomego pracownika firmy.
  2. Źle skonfigurowany honeypot może niepotrzebnie marnować czas zespołu bezpieczeństwa.
  3. Honeypot może dawać fałszywe poczucie bezpieczeństwa, gdy nikt się nie złapie na przynętę. Tymczasem wprawieni przestępcy mogą rozpoznać pułapkę i sprawnie ją ominąć, nie wyzwalając alarmu.

Używaj z rozwagą

Niestety honeypot może działać jako broń obosieczna. Wyobraźmy sobie, że pracownik działu bezpieczeństwa odpowiedzialny za zarządzanie honeypotami odchodzi z firmy i nie pozostawia po sobie odpowiedniej dokumentacji. Po kilku tygodniach jego koledzy zaczynają znajdować podejrzane rzeczy w sieci firmowej: dane do logowania do konta na produkcyjnym serwerze czy serwer WWW, którego nie ma w spisie systemów. Takie zdarzenia mogą wywołać panikę i niepotrzebne działania, odciągając zespoły od prawdziwej pracy.

Podsumowanie

Używanie honeypotów nie jest prostym zadaniem. Trzeba dobrać rozwiązanie dostosowane nie tylko do atakującego, ale także do obrońców. Ważne, aby zastosowanie tego mechanizmu przyniosło cenną wiedzą o działaniach ofensywnych, nie narażając równocześnie na szkodę już wdrożonych działań defensywnych.

Zapamiętaj

  • Honeypot to broń obosieczna. Należy używać jej z rozwagą.
  • Istnieje wiele klasyfikacji honeypotów – w zależności od ich interakcji, roli i sposobu utrzymania.

Ćwicz w domu

  • Zastanów się, jaki honeypot sprawdziłby się w twojej domowej sieci.
  • Spróbuj skonfigurować własny darmowy honeypot, tylko uważaj przy wystawianiu go do sieci ;).
  • Pomyśl, jakie honeypoty mogą istnieć poza światem cyfrowym.

Zapraszamy do zapoznania się z innymi artykułami przygotowanymi przez bezpieczny.blog dla magazynu Programista Junior:

Jest nam niezwykle miło, że dotarłeś aż tutaj! Jeżeli uważasz, że powyższy tekst jest wartościowy, będziemy wdzięczni za udostępnienie go dalej, bo być może dzięki temu trafi do innej osoby, która również potrzebuje go przeczytać.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *