ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ AOL ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠ»Π°Π²ΡΠ½Π΅, ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ , ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π²ΠΈΠ·ΡΠ°Π»Π½Π° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΈ ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½Π° Ρ ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C (ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° Node.js/JavaScript) ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Apache 2.0. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°Π±ΠΎΡΠ° Π² Linux ΠΈ FreeBSD. ΠΠΎΡΠΎΠ²ΠΈ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° CentOS ΠΈ Ubuntu.
ΠΡΠΎΠ΅ΠΊΡΡΡ Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ ΠΏΡΠ΅Π· 2012 Π³ΠΎΠ΄ΠΈΠ½Π° Ρ ΡΠ΅Π» Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° ΡΡΡΠ³ΠΎΠ²ΡΠΊΠ°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠΏΠΎΡΠΎΠ±Π½Π° Π΄Π° ΡΠ΅ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ° Π΄ΠΎ ΠΎΠ±Π΅ΠΌΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π½Π° AOL. ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π² AOL ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΏΡΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ
Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΡΡΠ΅Π· ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΠΈΠΌ ΡΡΡΠ²ΡΡΠΈ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΠΈ ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ β ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Moloch Π·Π° ΠΏΡΠ»Π΅Π½ ΡΠ»ΠΎΠ² Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π² ΠΌΡΠ΅ΠΆΠΈΡΠ΅ Π½Π° AOL ΡΡΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΡΡΠΈ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎ-ΡΠ°Π½ΠΎ, ΠΈΠ·ΡΠ°Π·Ρ
ΠΎΠ΄Π²Π°Π½ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ Π·Π° ΡΠ»Π°Π²ΡΠ½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π² Π΅Π΄Π½Π° ΠΌΡΠ΅ΠΆΠ°. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ°ΡΠΈΠΊ ΠΏΡΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΎΡ Π΄Π΅ΡΠ΅ΡΠΊΠΈ Π³ΠΈΠ³Π°Π±ΠΈΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠ±Π΅ΠΌΡΡ Π½Π° ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΠ°ΠΌΠΎ ΠΎΡ Π½Π°Π»ΠΈΡΠ½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ² ΠΌΠ°ΡΠΈΠ².
ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΠΈΠΈΡΠ΅ ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Ρ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π΄Π²ΠΈΠΆΠΊΠ° .
Moloch Π²ΠΊΠ»ΡΡΠ²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ»Π°Π²ΡΠ½Π΅ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ ΡΠΎΡΠΌΠ°Ρ PCAP, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈ Π·Π° Π±ΡΡΠ· Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ. ΠΠ° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° Π½Π°ΡΡΡΠΏΠ°Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ, ΡΡΡΡΠ΅Π½Π΅ ΠΈ Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π²Π°Π΄ΠΊΠΈ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ΅ ΠΈ , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠ»Π°Π²ΡΠ½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΊΡΠΌ Π²ΡΠ½ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°Ρ PCAP ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°Π½ΠΈ ΡΠ΅ΡΠΈΠΈ Π² ΡΠΎΡΠΌΠ°Ρ JSON. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΡΠΌΠ°Ρ PCAP Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° Ρ Π½Π°Π»ΠΈΡΠ½ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΈ Π½Π° ΡΡΠ°ΡΠΈΠΊ, ΠΊΠ°ΡΠΎ Wireshark.
Moloch ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°:
- Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ»Π°Π²ΡΠ½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° β ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° C Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ°, Π·Π°ΠΏΠΈΡ Π½Π° Π΄ΡΠΌΠΏΠΎΠ²Π΅ Π² ΡΠΎΡΠΌΠ°Ρ PCAP Π½Π° Π΄ΠΈΡΠΊ, ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ»Π°Π²ΡΠ½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠ΅ΡΠΈΠΈΡΠ΅ (SPI, Stateful packet inspection) ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° Elasticsearch. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° PCAP ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ Π²ΠΈΠ΄.
- Π£Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Node.js, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΡΡΠ²ΡΡ Π·Π° ΡΠ»Π°Π²ΡΠ½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π·Π°ΡΠ²ΠΊΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° PCAP ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΡΠ΅Π· .
- Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ Ρ Elasticsearch.
Web ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ β ΠΎΡ ΠΎΠ±ΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, ΠΊΠ°ΡΡΠ° Π½Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΠΈ Π½Π°ΠΎΡΠ½ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ Ρ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π΄ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΏΡΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΈ ΡΠ΅ΡΠΈΠΈ, Π°Π½Π°Π»ΠΈΠ· Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ PCAP Π΄Π°ΠΌΠΏΠΎΠ²Π΅.
Π :
- ΠΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±Π΅Π·ΡΠΈΠΏΠΎΠ² ΡΠΎΡΠΌΠ°Ρ Π·Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½Π΅ Π² Elasticsearch.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΡΠΈΠ»ΡΡΠΈ Π·Π° Π·Π°Ρ Π²Π°ΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊ Π½Π° Π΅Π·ΠΈΠΊΠ° Lua.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° 46-ΡΠ΅ΡΠ½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° QUIC.
- ΠΠΎΠ΄ΡΡ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΡΠ΅ΡΠΈ Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ ΠΎΡ Π½ΠΈΠ²ΠΎΡΠΎ Ethernet ΠΈ IP.
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠΈ Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ arp, bgp, igmp, isis, lldp, ospf ΠΈ pim, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠΈ Π·Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ unkEthernet ΠΈ unkIpProtocol.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ Π·Π° ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΡΠ΅ΡΠΈ (disableParsers).
- Web ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ Π²Π΅ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΡΠΊΠΎ ΡΡΠ»ΠΎ ΡΠΈΡΠ»ΠΎ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅, Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
- ΠΡΠ°ΡΠΈΠΊΠΈΡΠ΅ ΠΈ Π·Π°Π³Π»Π°Π²ΠΈΡΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π·Π°ΠΊΡΠ΅ΠΏΠ²Π°Ρ ΠΈ Π΄Π° Π½Π΅ ΡΠ΅ Π΄Π²ΠΈΠΆΠ°Ρ ΠΏΡΠΈ ΠΏΡΠ΅Π²ΡΡΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°.
- ΠΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ° ΡΠΊΡΠΈΡΠΈ ΠΈΠ»ΠΈ ΡΠ³ΡΠ½Π°ΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
