Firma AOL opublikowała system indeksowania ruchu sieciowego Moloch 2.3
Firma AOL wydany udostępnienie systemu przechwytywania, przechowywania i indeksowania pakietów sieciowych Moloch 2.3, który udostępnia narzędzia do wizualnej oceny potoków ruchu i wyszukiwania informacji związanych z aktywnością sieciową. Kod napisany jest w języku C (interfejs w Node.js/JavaScript) i dystrybuowane przez licencjonowany w ramach Apache 2.0. Obsługuje pracę na Linuksie i FreeBSD. Gotowy pakiety przygotowany dla różnych wersji CentOS i Ubuntu.
Projekt powstał w 2012 roku w celu stworzenia otwartego zamiennika komercyjnej platformy przetwarzania pakietów sieciowych, która mogłaby być skalowana do wielkości ruchu AOL. Wdrożenie nowego systemu w AOL pozwoliło uzyskać pełną kontrolę nad infrastrukturą dzięki wdrożeniu na jej serwerach i znacznie obniżyć koszty - wykorzystanie Molocha do całkowitego przechwytywania ruchu we wszystkich sieciach AOL kosztuje tyle samo, co przy użyciu rozwiązanie komercyjne Wcześniej wydano je na przechwytywanie ruchu tylko w jednej sieci. System można skalować w celu przetwarzania ruchu z szybkością kilkudziesięciu gigabitów na sekundę. Ilość przechowywanych danych ograniczona jest jedynie wielkością dostępnej macierzy dyskowej.
Metadane sesji są indeksowane w klastrze opartym na wyszukiwarce Elasticsearch.
Moloch zawiera narzędzia do przechwytywania i indeksowania ruchu w natywnym formacie PCAP, a także do szybkiego dostępu do zaindeksowanych danych. Aby przeanalizować zgromadzone informacje, oferowany jest interfejs sieciowy, który umożliwia nawigację, wyszukiwanie i eksportowanie próbek. Również zapewnione API, który umożliwia przesyłanie danych o przechwyconych pakietach w formacie PCAP i przeanalizowanych sesjach w formacie JSON do aplikacji innych firm. Zastosowanie formatu PCAP znacznie upraszcza integrację z istniejącymi analizatorami ruchu, takimi jak Wireshark.
Moloch składa się z trzech podstawowych komponentów:
System przechwytywania ruchu to wielowątkowa aplikacja C służąca do monitorowania ruchu, zapisywania zrzutów w formacie PCAP na dysku, analizowania przechwyconych pakietów i wysyłania metadanych o sesjach (SPI, Stateful Packet Inspection) i protokołach do klastra Elasticsearch. Możliwe jest przechowywanie plików PCAP w formie zaszyfrowanej.
Interfejs WWW oparty na platformie Node.js, który działa na każdym serwerze przechwytywania ruchu i przetwarza żądania związane z dostępem do zaindeksowanych danych oraz przesyłaniem plików PCAP poprzez API.
Przechowywanie metadanych w oparciu o Elasticsearch.
Interfejs sieciowy udostępnia kilka trybów przeglądania - od ogólnych statystyk, map połączeń i wykresów wizualnych z danymi o zmianach aktywności sieciowej po narzędzia do badania poszczególnych sesji, analizowania aktywności w kontekście używanych protokołów i analizowania danych z zrzutów PCAP.
Dokonano przejścia na używanie formatu bez typu do indeksowania w Elasticsearch.
Dodano przykłady filtrów przechwytywania ruchu w Lua.
Zaimplementowano obsługę 46-roboczej wersji protokołu QUIC.
Kod do analizowania protokołów został przerobiony, umożliwiając pisanie parserów dla protokołów na poziomie Ethernet i IP.
Zaproponowano nowe parsery dla protokołów arp, bgp, igmp, isis, lldp, ospf i pim, a także parsery dla nieznanych protokołów unkEthernet i unkIpProtocol.