HoneyNetwork
Tim: Viktor Balov, Tomislav Kuduz, Marko Kurt
Da bi mogli doći do konkretnog dijela naše teme, a to je HoneyNetwork, trebalo bi prvo objasniti osnovni dio bez kojeg to ne bi funkcioniralo – honeypot, koji pomaže informacijskim sustavima pri zaštiti od raznih vanjskih štetnih utjecaja. Honeypot se sastoji od računala ili nekog podatka koji izgleda kao da je dio mreže za koji se čini ili izgleda kao da sadrži informaciju ili neku vrijednost koja bi bila od koristi za napadače. Za bolji uvid u sam pojam i tijek funkcionalnosti, dobro je skoncentrirati se na iduću sliku:
Slika 1. Honeypot dijagram
Izvor: http://en.wikipedia.org/wiki/Honeypot_%28computing%29#mediaviewer/File:Honeypot_diagram.jpg
U literaturi se mogu pronaći više podjela honeypot-ova. Prva podjela koju ćemo navesti - prema razvoju, se odnosi na sljedeće vrste: - production honeypot (koristi ih se uglavnom kod tvrtki i/ili korporacija, jednostavni za korištenje, zauzimaju informacije s ograničenjem, obično daju manje informacija o vanjskoj prijetnji, tj. napadačima) - research honeypot (koristi ih se uglavnom od strane državnih organizacija (vojska, vlada i sl.), složeni su za implementaciju i održavanje, prikupljanje dodatnih informacija o motivima i taktikama napadača, istraživanje tih dodatnih informacija kako bi se znalo što bolje zaštititi se od njih) Druga podjela – prema dizajnu, se odnosi na sljedeće vrste: - pure honeypot - high-interaction honeypot - low-interaction honeypot
--Vibalov 20:39, 18. siječnja 2015. (CET)
Sadržaj |
Honeynet/HoneyNetwork
Dva ili više honeypot-ova na mreži čine HoneyNetwork, koji se svugdje ili većim dijelom u literaturi može pronaći pod pojmom Honeynet. Honeynet je od iznimno velike pomoći, jer pomoću njega mogu se pratiti veće ili više različitih mreža, a nekada bude takav slučaj da u tim mrežama nije dovoljan jedan honeypot. Za bolje objašnjenje funkcioniranja Honeynet-a, tj. HoneyNetwork-a, poslužit ćemo se praktičnim dijelom ovog projekta.
--Vibalov 20:39, 18. siječnja 2015. (CET)
Modern Honey Network
Modern Honey Network predstavlja open source software platforma osmišljena od autora Jasona Frosta kako bi se moglo što lakše i bolje upravljati i nadgledati cijeli proces oko honeypot-ova: upravljanje, skupljanje i analiziranje podataka. Ukratko, Jason Frost je Senior Analytics Engineer u Threat Stream-u (Cyber Security company s korisnicima iz svijeta financija, nekretnina, tehnologije) s velikim iskustvom u području Big Data Security Analytics. On je vidio problem u tome da razvijanje i upravljanje honeypot-ova može biti jako teško, pogotovo neke aktivnosti vezane uz to i da to može jedan od razloga da ih premalo koristi. Zbog toga se je poduzelo to rješenje za osmišljavanje Modern Honey Network-a. Arhitekturu Modern Honey Network-a možete vidjeti na idućoj slici.
Slika 2. Modern Honey Network
Izvor: http://threatstream.github.io/mhn/
Kad se uđe u MHN (Modern Honey Network) aplikaciju, prvo što se otvori je detaljan prikaz trenutnih napada: ukupan broj napada u zadnjih 24 sata, top 5 napada s njihovim IP adresama, zatim top 5 napadnutih portova, a isto tako može se vidjeti i izvještaj napada (Attacks Report).
Honeypot-ove koji se trenutno podržavaju na MHN-u su:
Snort – honeypot vezano za virtualne mašine kako bi se oni postavili za istraživanje i analiziranje napada
Dionaea – low-interaction honeypot koji snima payload napade i malware
Conpot – low-interaction Industrial Control Systems honeypot koji se koristi kod implementacije, modificiranja i proširivanja
Kippo – medium interaction SSH honeypot osmišljen za prijavu brute force napada
Amun – low-interaction honeypot za snimanje malware-a na automatizirani način
Glastopf – honeypot vezano za web aplikacije i koji pomaže pri otkrivanju ranjivosti za prikupljanje podataka pri napadanju tih aplikacija
Wordpot – honeypot koji se koristi kod WordPress-a za detektiranje plugina, tema, timthumb-ova i sličnih file-ova
ShockPot – honeypot vezano za web aplikacije kako bi se pronašli napadače koji pokušavaju iskoristiti Bash remote code ranjivost
--Vibalov 20:39, 18. siječnja 2015. (CET)
Praktični dio
Za praktični dio odlučili smo se za Modern Honey Network projekt, kako bismo to ostvarili bio nam je potreban unajmljeni poslužitelj i odlučili smo se za Digital Ocean. Nakon registracije na DO servis bilo je potrebno kreirati poslužitelj - "droplet", gdje smo na izbor imali više mogućnosti odabira različitih performansi računala, kao i odabira operativnog sustava i njegove fizičke lokacije. Kreirali smo dva poslužitelja od kojih se jedan nalazio u New Yorku, a drugi u Singapuru radi testiranja različitih rezultata. Na oba dva smo koristili Ubuntu 14.04., bez ikakvih dodatnih aplikacija.
Nakon instalacije i konfiguracije poslužitelja, bilo je potrebno instalirati Modern Honey Network prema uputama sa stranice:
-$ sudo ./install_hpfeeds.sh - senzor koji služi za dostavljanje logove u realnom vremenu koristeći JSON, koji je već konfiguriran te ga se može odmah postaviti na poslužitelj
-$ sudo ./install_mnemosyne.sh - služi za pretvorbu ( normalizaciju ) logova koje daje senzor hpfeeds
-$ sudo ./install_honeymap.sh - sličan mnemosyne-u obrađuje logove iz senzora hpfeeds i postavlja ih na mapu isto tako u realnom vremenu
-$ sudo ./install_mhnserver.sh - objedinjuje sve servise i pokreće konfiguraciju Modern Honey Networka
Nakon što smo postavili i konfigurirali MHN na poslužitelj, potrebno se ulogirati i postaviti honey potove koristeći već pripremljene skripte, koje je moguće ručno prilagoditi. Cijelokupni tekstualni opis se bazire sa podataka prikupljenih na oba poslužitelja, dok će primjeri sa slike biti sa poslužitelja locairanog u Singapuru.
Lista postavljenih honeypotova:
- dionaea
- conpot
- shockpot
- amun
- suricata
- kippo
- wordpot
- p0f
- snort
Na sljedećoj slici je upravljačka ploča MHN, gdje možemo vidjeti koliki je ukupan broj napada, s kojih IP adresa su napadi pristigli, najčešći napadani portovi i najčešće tipove napada.
Sljedeća opcija koju MHN nudi je pregled pojedinačnih napada, na kojoj možemo filtrirati napade po senzoru, honeypotu, datumu, portu ili IP adresi. Napadi su prikazani u tabličnom prikazu po filteru uz što se može dodatno vidjeti država i protokol koji je korišten pri napadu. U nastavku slijede dvije slike sa specifičnijim napadima.
Jedan od specifičnijih napada je napad na port 8080, što govori da je neautorizirani korisnik tj napadač htio pokrenut web servis na našem poslužitelju, ali pošto nije autoriziran nemože koristiti port 80 već port mora biti veći od 1024, za što je port 8080 često korišten. Napat putem TCP protokola na 1433 portu nam govori da je netko pokušao pristupiti bazi podataka i detalji tog napada se nalaze na stranici upravljačke ploče gdje vidimo da je to napad na MSSQL ( ET POLICY Suspicious inbound to MSSQL port 1433). Treći i isto tako neuobičajeni napada nam dolazi IPv6 putem pcap ( packet capture protocol ) na port 80. Nakon toga traženjem lokacije napadača zaključili smo da je to zapravo administrator u Digital Oceanu zbog prijenosa podataka putem FTP-a.
5 najčešće napadanih portova:
- 3128 - port koji koriste web ubrzivači ( akceleratori ), a napadači ga često koriste za zaobilaženje pravila vatrozida
- 80 - port od http-a, često korišten za DDoS ( Distributed Denial of Service ) napad
- 1433 - port na kojem Microsoft SQL sluša, a možete se iskoristiti za dobivanje kontrole nad sustavom
- 22 - port od SSH-a, kod velikog broja napada pretpostavlja se da se izvršava Brute Force metoda
- 8080 - alternativni port http-a, koristi se neautoriziranog pokušaja pristupa
Ostali napadani portovi:
- 23 - port od telnet, slično kao i port 22 moguće je izvršiti Brute Force metodu
- 5901 - port za udaljeni pristup računalu
- 53413 - UDP port koji koriste neki kineski ruteri ( Netis ), i poznat je po tome da izvode backdoor ( izvodeči sam kod na rutirima )
- 1723 - port koji se koristi za VPN ( Virtual Private Network ), za PPTP ( Point-to-Point Tunneling Protocol )
- 1900 - SSDP ( Simple Service Discovery Protocol ), služi za pronalazak "Plug & Play" uređaja isto tako nekih rutera i mrežnih uređaja, može pojačati napad do 30 puta jer zaobilazi određena pravila
Najčešći protokoli korišteni za napad:
- pcap - služi za prisluškivanje prometa ili paketa
- UDP - omogućuje prijenos podataka neovisno o izostanku paketa
- TCP - protokol za kontrolu i pouzdan prijenos podataka u kontroliranom redosljedu
- ssh - mrežni protokol koji omogućuje uspostavu sigurnosnog komunikacijskog kanala
- mssqld - protokol za bazu podataka MSSQL
- telnet - koristi se za udaljeni pristup na komandnu liniju
- http-alt - alternativni protokol http-a za neautorizirani pristup
Neke od država koje su sudjelovale u napadima: Kina, Rusija, Turska, Velika Britanija, Poljska, Tajvan i ostale. Napadi iz Hrvatske su zabilježene kao rezultat našeg pristupa i vršenju operacija na poslužitelju.
--Tokuduz 21:13, 18. siječnja 2015. (CET)
Literatura
http://en.wikipedia.org/wiki/Honeypot_%28computing%29
http://threatstream.github.io/mhn/
http://www.honeynet.org/project
http://github.com/gbrindisi/wordpot
http://github.com/threatstream/shockpot
http://web2.clarkson.edu/projects/itl/projects/honey/