Małe a cieszy czyli koncepcja sprzętowego honeypota za 200 PLN

dodał 4 stycznia 2015 o 20:04 w kategorii HowTo  z tagami:
Małe a cieszy czyli koncepcja sprzętowego honeypota za 200 PLN

Honeypot to ważne narzędzie w pracy badacza bezpieczeństwa. Obserwowanie cudzych ataków może być zarówno pouczające jak i zabawne. Czy jednak trzeba w tym celu stawiać osobny sprzęt serwerowy? Może da się to zrobić taniej i prościej?

Nasz Czytelnik, Piotr Marczak, chce się z Wami podzielić koncepcją honeypota opartego o mikrokomputer. Co prawda nie znajdziecie poniżej opisu krok po kroku, jak taką platformę skonfigurować i uruchomić, ale może lektura tego artykułu natchnie Was do sporządzenia własnego projektu – a kiedyś również opisania go na naszych łamach. Zapraszamy.

Drodzy Czytelnicy :)

Przy okazji konferencji „Advanced Threat Summit 2014” rozmawiałem sobie ze znajomymi o tym, jak wiele zdolnych i dobrze rokujących osób czytuje polskie portale o bezpieczeństwie. Rozmowa zeszła na tematy edukacyjne, poszerzanie wiedzy i sięganie po nowe formy.

Postanowiłem wtedy, że spróbuję przedstawić Wam pewien pomysł z dziedziny bezpieczeństwa. Liczyłem na możliwość przekazania go podczas sesji „Lightning talks” podczas konferencji „Secure 2014”, lecz nie było takiego punktu programu w tym roku. Pomyślałem zatem o opisaniu go w jakimś miejscu w sieci. Mam ten zaszczyt znać szefów trzech największych polskich serwisów traktujących o bezpieczeństwie, dlatego zwróciłem się do niektórych z nich :) Adam z Zaufanej Trzeciej Strony zgodził się na opublikowanie, jeśli go zaakceptuje po przeczytaniu. Wysłałem też ten artykuł w inne miejsce, ale chyba utknął w długiej kolejce, a ja chciałbym opisać Wam to już teraz.

Niecały rok temu zainteresowały mnie możliwości komputerów zawierających SoC (System on a Chip). Charakteryzują się bardzo małymi rozmiarami, jednak mają dość wydajne procesory, do tego zwykle za dysk służy karta microSD (lub podobna). Znacie przynajmniej jeden przykład takiego komputera – RaspberryPi. Jednak w mojej ocenie ma on za dużo wad i skupiłem się na innych modelach. Zastosowań takich komputerów jest chyba nieskończenie wiele i na pewno potraficie wymienić ich więcej ode mnie. Kilka z nich jest najbardziej znanych:

  • sterowanie elektroniką,
  • pomiary z różnych źródeł,
  • robotyka,
  • rozrywka (np. własne media center).
Iteaduino Plus A10 (źródło: iteadstudio.com)

Iteaduino Plus A10 (źródło: iteadstudio.com)

Co mogą zrobić dla nas, „bezpieczniaków”?

Mnie przyszedł do głowy inny pomysł, którym chciałbym Was zainspirować – można zaprząc te komputery do pracy w bezpieczeństwie.

W jaki sposób? Jest taki projekt, który wnosi dużo dobrego do bezpieczeństwa: The Honeynet Project. Tak, już się domyślacie – uruchomić jakiś rodzaj honeypota na małym komputerze. Bardzo pomocny może być tu raport polskiego CERTu o honeypotach. Sam dokument ma prawie 200 stron, ale jest wspaniale usystematyzowaną kopalnią wiedzy na temat różnych rozwiązań. Ludzie z CERTu nieźle się napracowali.

Argumenty za użyciem komputerów z układami SoC jako platformy do honeypotów:

  • dają możliwość zainstalowania na nich systemów typu Linux i BSD (ten ostatni rodzaj jest oczywiście słabiej wspierany),
  • mają małe wymiary i bardzo łatwo umieścić je w dogodnym miejscu,
  • do zasilania zwykle wykorzystywany jest port microUSB i można korzystać ze standardowych zasilaczy (jeden z moich komputerów „chodził” przez dwa miesiące podłączony do zwykłej ładowarki do telefonu),
  • zasilanie nie jest zbyt wymagające – pobór mocy nie powinien przekroczyć 2,5W, a i to przy dużym obciążeniu,
  • są tanie – cena zwykle oscyluje w granicach 30-70 dolarów,
  • łatwo obsługuje się pamięć masową – karta pamięci daje możliwość prostego wykonywania backupów, przygotowywania różnych wersji systemów, itp.,
  • posiadają port ethernet, co pozwalałoby takiemu honeypotowi przesyłać logi do innych systemów,
  • mają porty USB, które można wykorzystać do rozszerzenia funkcjonalności,
  • zwykle wyposażone są w bardzo dużą ilość innych złącz (np. I2C, SPI) – pozwala to podłączać różne czujniki, konsole szeregowe – kto korzystał z Arduino na pewno potrafi sobie wyobrazić, jak wiele jest tu możliwości,
  • niektóre mają nawet złącze SATA, gdyby ktoś chciał podłączać zwykły dysk twardy (trzeba pamiętać o zapewnieniu dodatkowego zasilania w razie potrzeby),
  • część z tych systemów jest budowanych na zasadach Open Hardware (czyli dostępne są pełne specyfikacje, na podstawie których moglibyście zlecić komuś wykonanie Waszej wersji sprzętu).

Tych argumentów jest oczywiście więcej, ale powyższe moim zdaniem wystarczająco oddają zalety takiego sprzętu.

Wyobraźcie sobie, że w swoich sieciach wstawiacie kilka, kilkanaście lub nawet kilkadziesiąt takich systemów honeypot. W przypadku dużych komputerów byłoby to dość uciążliwe z kilku powodów: rozmiarów, obsługi instalacji systemów i kopii zapasowych, kosztów, itp. Wszystkie te honeypoty mogłyby raportować zdarzenia do systemów centralnych typu SIEM, czy też wspólnej bazy logów bez korelacji. W niektórych komputerach tego typu trzeba ustawić osobno adres MAC karty ethernet, co podsuwa pomysł „udawania” sprzętu konkretnego producenta (np. drukarek, serwerów). Dla testu mój sprzęt działał sobie w sieci z MAC sugerującym, że jest to automat pewnego producenta napojów (tak, oni też mają przydzielony swój zakres ;) ).

Sprzęt, którym można się zainteresować.

Powstaje pytanie: „jaki sprzęt wybrać?”

Tutaj zostawiam Wam pole do popisu. Podpowiem jedynie, w którym kierunku szedłem w swoich testach. Pamiętajcie też, że nie polecam i nie wspieram konkretnego sprzętu. Wspominam o przetestowanych przeze mnie konkretnych rozwiązaniach, bo nie byłem w stanie ponieść kosztów sprawdzania wszystkich systemów.

Można zacząć od spisu platform na Wiki Debiana (FreedomBox TargetedHardware). Jest to dobre zestawienie sprzętu, który spełnia wyobrażenia developerów Debiana na temat otwartego (może nie w każdym przypadku), taniego i prostego sprzętu. Znajdziecie tam również specyfikację najważniejszych cech oraz sposób wsparcia w kernelu Linux. Od czasu moich testów nastąpił znaczny postęp w migrowaniu sterowników z „obcych” repozytoriów do oficjalnego jądra. Nawet twórcy dystrybucji Fedora w najnowszej wersji zapewnili bezpośrednie wsparcie przynajmniej dla chipów z serii Allwinner (Release Notes, punkt 2.5.2.). Dzięki temu instalacja systemów powinna być dużo prostsza.

Co z popularnym Raspberry Pi? Według moich kryteriów odpadł już przed testami. Ma dość starą, niewydajną architekturę (ARMv6), do tego częściowo jest zamknięty – zobaczcie opis problemów. Moim zdaniem źle to rokuje na przyszłość, jeśli chodzi o wykorzystanie go jako system dla honeypota. To prawda, że ma ogromną społeczność i jej członkowie aktywnie rozwijają szeroki wachlarz zastosowania Malinowego Pi. Stawiam jednak na prostotę działania i obsługi, która ukazuje swoje zalety przy wzroście skali zastosowania. Przy jednym komputerze można jeszcze się „bawić” – co zrobicie przy dwudziestu, stu?

Sam testowałem głównie sprzęty oparte na chipie A10 Allwinner (jednostka jednordzeniowa). Sprawowały się świetnie, systemy działały stabilnie (na jednym działała sobie sesja IRC „wisząca” tygodniami podłączona do serwera przez sieć Tor). Niestety do poważnego zastosowania miałbym pewną wątpliwość: jest to kostka chińskiej produkcji. Na szczęście są też inne systemy i mogłem planować wykorzystanie BeagleBone Black opartego na chipie produkcji Texas Instruments („Aha! Chce nas pchnąć w objęcia NSA!!!” – nigdy dość paranoi, ale wybór to już wasze zadanie). Można też porzucić architekturę ARM i spróbować innej: MIPS (moim zdaniem obiecująca), x86. Problem jest niestety ze znalezieniem odpowiedniego sprzętu, a zarazem w rozsądnej cenie.

Zdjęcie z czasów testowania pcDuino jako koparki walut. Podłączony hub USB z osobnym zasilaniem, konsola szeregowa, ethernet. Działało jak należy.

Zdjęcie z czasów testowania pcDuino jako koparki walut. Podłączony hub USB z osobnym zasilaniem, konsola szeregowa, ethernet. Działało jak należy.

Pamiętajcie też o zużywaniu się nośników (dlatego lepiej wysyłać logi na zdalny serwer), zapewnieniu odpowiedniej obudowy (niektóre styki są mocno odsłonięte) – czasem wystarczy stare „pudełko” z zasilacza do notebooka. Bardzo ważne jest również to, co dzieje się z produktem po wypuszczeniu serii na rynek. Co z tego, że opracuje go zdolny student z Chin lub innego kraju, opublikuje specyfikację, sprzeda 10000 egzemplarzy, jeśli potem nie da sobie rady ze wsparciem? Doświadczenie uczy, że te systemy również mają wady i trzeba je poprawiać, wypuszczać nowsze wersje, lub zwyczajnie poradzić użytkownikom, jak obejść pewne problemy. Pamiętajcie o „cyklu życia” sprzętu. Warto zwracać też uwagę na wersję sprzętu, jeśli jest oznaczana. Czasem w niektórych sklepach będą zalegać starsze niż dostępne gdzie indziej.

Co dalej?

Pomysłu nie udało mi się bardziej rozwinąć ze względu na intensywne zmiany w otoczeniu, czyli zwykły remont. Niemniej jednak wciąż wydaje mi się on atrakcyjną formą wykorzystania idei „garnków miodu”. Wymaga niestety pewnego nakładu czasu, którego mi brakuje. Wierzę, że wśród Was znajdą się osoby, które dadzą mu nowe życie. Może komuś wyjdzie z tego ciekawy startup? Mam nadzieję, że przynajmniej w pewnym stopniu pomoże niektórym podnieść bezpieczeństwo w swoich organizacjach.

Interesujące jest to, że próbowałem zainteresować tym kilka osób zajmujących się bezpieczeństwem w większych firmach. Tak w ramach dzielenia się dobrymi pomysłami. Odzew był pozytywny, natomiast szanse na zastosowanie przez nich – zerowe. W rezultacie nikt tego nawet nie wypróbował. „Mniej ważni” ludzie z kolei bardzo chętnie się nim zajęli. Zacząłem zadawać sobie pytanie: dla kogo ważniejsze jest bezpieczeństwo?

Spotkałem też ludzi, którzy chętnie by to wykorzystali i przedstawili jako swoje pomysły. Można i tak, ale oni po „zapunktowaniu” schowaliby je do szuflady. Lepiej podzielić się ze wszystkimi naraz.

Czy honeypoty to wart uwagi dobry pomysł? Według mnie zdecydowanie tak. Pomyślcie o sytuacji, gdy atakujący dostał się do wnętrza Waszej sieci. Najczęściej bywa tak, że musi „rozejrzeć się” po okolicy i sprawdzić, z jakimi systemami ma do czynienia, jaka jest struktura sieci wewnętrznej, gdzie warto uderzać dalej. Przy odpowiednim rozmieszczeniu honeypotów będziecie mieli duże szanse na wykrycie takich zagrożeń i szybkie zareagowanie. Wiadomo przecież, że czas reakcji gra dużą rolę w przypadku cyberataków. Możecie mieć do dyspozycji proste i tanie narzędzie wspomagające Waszą pracę.
Powodzenia.

Piotr Marczak

PS: Proszę też o odzew w komentarzach: opinie, argumenty za i przeciw. Może jeszcze coś doprecyzuję lub dowiem się czegoś ciekawego. Przy okazji komentarze pozwolą innym skorzystać później, jeśli na nie trafią. Tekst możecie kopiować ile chcecie, choć wypada podać źródło (przynajmniej Zaufaną Trzecią Stronę! :))

Kilka słów o mnie. Pracuję w branży energetycznej i zajmuję się bezpieczeństwem teleinformatycznym. Wśród interesujących mnie tematów są m.in. terroryzm w wersji „cyber”, złośliwe oprogramowanie, kampanie typu APT. Ostanio miałem okazję spotkać się z niektórymi z Was podczas konferencji „Advanced Threat Summit 2014” oraz warsztatów „Cybercrime”, na których byłem prelegentem. Pomagam również przygotowywać konferencję „Security Management Audit Forum” w ramach działania w stowarzyszeniu ISSA Polska, którego jestem członkiem. Od czasu do czasu piszę artykuły w różnych miejscach lub w wolnej chwili u siebie na: Cyber steppe. Na Twitterze możecie znaleźć mnie jako @cybstep. Wszystkie publikowane przeze mnie opinie są wyłącznie moje i nie występuję w imieniu mojego pracodawcy.