Honeypot – pułapka w postaci zasobu informatycznego, którego jedynym zadaniem jest stać się celem skanowania, ataku, przejęcia lub innego nieuprawnionego użycia. Może nim być usługa, aplikacja, system lub zespół systemów, a nawet pojedyncza informacja. Honeypot nie pełni żadnej funkcji produkcyjnej, dlatego każdy, kto się z nim łączy lub próbuje z niego korzystać, jest z założenia podejrzany. Cała aktywność wobec honeypota jest monitorowana i analizowana, co pozwala wykrywać i potwierdzać próby nieuprawnionego użycia. Z punktu widzenia atakującego honeypot nie powinien się różnić od prawdziwego zasobu, a jednocześnie powinien być odizolowany od środowiska produkcyjnego. Sieć honeypotów nazywa się honeynet.
Honeypoty służą m.in. do obserwowania automatycznego skanowania internetu przez robaki i boty, wykrywania przejętych komputerów, identyfikowania nowych exploitów i podatności, przechwytywania nowego złośliwego oprogramowania, badania zachowań atakujących oraz wykrywania infekcji i ataków wewnątrz organizacji. Zespoły reagowania na incydenty wykorzystują je jako czujniki wczesnego ostrzegania o infekcjach, nowych exploitach i podatnościach oraz o zmianach w taktyce atakujących.
Honeypoty klasyfikuje się według dwóch niezależnych kryteriów: rodzaju atakowanego zasobu oraz poziomu interakcji z atakującym.
Honeypoty serwerowe udostępniają usługi sieciowe, np. SSH, i biernie czekają na połączenia. Wykrywają przede wszystkim skanujące sieć robaki i boty, ale także ręczne próby włamań. Uważa się je za „klasyczny” typ honeypotów. Honeypoty klienckie (ang. honeyclients) działają odwrotnie: same łączą się z serwerami, najczęściej jako przeglądarka internetowa odwiedzająca strony, i wykrywają ataki na aplikacje klienckie.
Ze względu na poziom interakcji wyróżnia się honeypoty:
Honeypoty niskiej interakcji są łatwiejsze we wdrożeniu i utrzymaniu, a ryzyko ich przejęcia jest mniejsze, ale łatwiej je rozpoznać i nie wykrywają ataków na nieznane wcześniej podatności. Honeypoty wysokiej interakcji zbierają więcej danych i mogą wykryć ataki na nieznane podatności (typu zero-day), ale wymagają więcej zasobów i pracy, a ryzyko utraty nad nimi kontroli jest większe. Rozwiązania hybrydowe łączą oba typy, aby wykorzystać zalety każdego z nich.
Odmianą honeypota jest honeytoken – dane, np. plik tekstowy, wiadomość e-mail lub rekord w bazie danych, których w normalnej pracy systemu nikt nie powinien użyć, dlatego każde sięgnięcie po nie należy traktować jako działanie złośliwe.
Do honeypota nie powinien trafiać żaden uprawniony ruch, dlatego generuje on znacznie mniej fałszywych alarmów niż systemy wykrywania włamań (IDS). Nie wykrywa jednak ataków skierowanych bezpośrednio na systemy produkcyjne, więc honeypoty i systemy IDS/IPS traktuje się jako technologie uzupełniające się.
Od piaskownic honeypoty różnią się celem. Piaskownica służy do szczegółowej analizy zachowania złośliwego oprogramowania po infekcji, a honeypot – do wykrycia ataku i poznania mechanizmów prowadzących do infekcji. W odróżnieniu od honeypotów darknety (teleskopy sieciowe) jedynie biernie obserwują kierowany do nich ruch i nie wchodzą z nim w żadną interakcję.
Honeypoty nie monitorują ruchu produkcyjnego, dlatego ich stosowanie budzi mniej zastrzeżeń dotyczących prywatności niż inne technologie wykrywania ataków. Barierą dla ich szerszego stosowania są m.in. trudna obsługa, słaba dokumentacja, niestabilność oprogramowania i potrzeba zatrudnienia wysoko wykwalifikowanych specjalistów.
Honeypota nie da się całkowicie zabezpieczyć. Atakujący, który go rozpozna, może go ominąć albo celowo wprowadzić do niego mylące dane, co utrudnia lub uniemożliwia ich analizę. Przejęty honeypot może też posłużyć do ataku na inne połączone z nim systemy. Szczególnie honeypoty niskiej interakcji można rozpoznać po charakterystycznych cechach, np. stałych ciągach znaków, banerach usług czy niepoprawnej implementacji protokołów. Dlatego ruch wychodzący z honeypota powinien być ściśle kontrolowany, np. przez blokowanie połączeń z zewnętrznymi serwerami pocztowymi (SMTP). Wdrożenie honeypota może też rodzić problemy prawne, np. dotyczące odpowiedzialności, jeśli zostanie on użyty do skutecznego ataku na inny system.