Pozor, hekerji
Ali ste se kdaj vprašali, ko ste slišali, da so hekerji vdrli v ta ali oni sistem, kako so to storili? Opisali bomo nekatere njihove postopke in videli boste, da niso (sami) geniji. Pravzaprav so večinoma nekakšni nedeljski kuharji, ki pripravljajo jedi po tujih receptih. V žargonu jim pravimo kar hekerski "malčki" (script kiddies).
Vdor je posledica bodisi napak v programski opremi: operacijskem sistemu, aktivnih strežniških programih... bodisi napak pri nastavitvi (konfiguraciji) programske opreme ali napačnega ravnanja uporabnikov. V zadnjem času so najpogostejši vdori posledica klika datoteke, ki je pripeta k elektronski pošti. Tako je gotovo mogoče vdreti v veliko računalnikov, če pa kdo želi vdreti v točno določen sistem, to bržkone ni prava metoda. Za vdor v sistem določene organizacije mora heker najprej zbrati čim več podatkov o cilju.
Internet je bogat rudnik informacij tudi za nepridiprave. Spletna stran podjetja, odkrita z iskalnikom ali kako drugače, je navadno dobra izhodiščna točka. Vdiralci si ogledajo vizitko (about), natančno ime, lokacijo sedeža in podružnic, kontaktne osebe, telefone (za morebitno lažno predstavljanje), naslove elektronske pošte, pregledajo izvirno kodo spletne strani, v kateri vidijo uporabljeno tehnologijo, tehnični nivo avtorjev, kup informacij razkrivajo tudi komentarji na spletni strani. Nato preiščejo spletne strani, kot je www.ripe.net, kjer so podatki o organizacijah in njihovih domenah (gre za internetne registre, kot so npr. v sodnem registru uradni podatki o podjetjih). Zatem skušajo dobiti naslov imenskih strežnikov in iz njih imena ter naslove računalnikov v omrežju. To sicer ni več tako preprosto, a je kljub temu še vedno veliko slabo nastavljenih imenskih strežnikov, ki omogočajo prenos cone (zone transfer) nepooblaščenim. Potem ko dobijo potrebne IP naslove, nadaljujejo z odkrivanjem topologije omrežja (navadno s programi, kot sta traceroute v Linuxu ali tracert v Oknih). Dobra priprava vdora zahteva kar nekaj časa, posebej če gre za veliko organizacijo.
Statistika kaže, da največ vdorov v sisteme podjetij izvedejo (nekdanji) zaposleni. Tu je pogosto tudi industrijsko vohunstvo, dogaja se, da se v podjetju za nekaj časa zaposli delavec konkurenčnega podjetja, ki se po opravljeni "nalogi" vrne v matično podjetje. Zaposleni veliko laže pridobijo dostop do zaupnih podatkov, saj številni delavci radi razglašajo svoja gesla, hekersko "izobraženi" pa veliko laže vdirajo, ker poznajo lokalni sistem (in njegove pomanjkljivosti), pa tudi varnostna infrastruktura (požarni zid) jih (tako) ne ovira.
Ko napadalec spozna topologijo omrežja, preide na naslednjo stopnjo, ki ji pravimo skeniranje (scanning); zdaj preverja posamezne računalnike. To lahko stori z različnimi orodji (od katerih je eden kar ping) prek protokolov ICMP, TCP in UDP. Tako izve, kateri računalniki delujejo in so priključeni v omrežje. Z orodji, kot je nmap, lahko poleg tega ugotovi operacijski sistem in aktivne strežniške programe, ki čakajo na različnih vratih (port) TCP in UDP. Nekateri programi poleg različice operacijskega sistema ciljnega računalnika ugotovijo tudi različice strežniških programov v njem. Če se pokaže, da te niso najnovejše (da torej niso naloženi vsi popravki), je to, če gre za varnostne popravke, očitna priložnost za vdor. Napadalec mora le še poiskati ustrezen program ali ročni postopek za vdor (exploit).
Po uspelem vdoru napadalec najprej odstrani (ali vsaj skrije) sledi, ki so nastale pri vdoru (npr. v dnevniku aktivnosti), nato namesti (in skrije) več stranskih vrat, nekatere programe nadomesti s trojanskimi inačicami, v vlomljeni (compromised) računalnik shrani tudi komplet orodij za vdiranje - za napadanje nadaljnjih sistemov. Omenimo še, da je računalnik, v katerega je bilo "strokovno" vdrto, zelo težko očistiti, če sploh. Zato moramo dosledno upoštevati varnostne napotke, tako da bodo hekerji obupali in se lotili bolj ranljivega plena.
Blokada
Lahko se samo zgodi, da se bo razočarani heker maščeval s katerim od napadov za blokado delovanja (DoS - Denial of Service). Zgled takega napada je "ping smrti" (ping of death). V ukazni vrstici preprosto poda:
$> ping -l 65510 ciljni.ip.naslov
Največja dovoljena dolžina paketa IP je 65.535 bajtov, pri tem glava paketa zaseda 20 bajtov, ukaz ping je izveden s protokolom ICMP, ki zahteva nadaljnjih 8 bajtov. Tako za podatke ostane največ 65.535 - 20 - 8 = 65.507 bajtov. Ker je pri potovanju paketov med omrežji v internetu največja velikost prenosa tipično 1500 bajtov, pride do razdrobljenosti paketa na več manjših, ki se na cilju spet združijo. Večina operacijskih sistemov navadno ne začne obdelovati paketa, dokler ni združen. Ker je po združitvi velikost paketa večja od 65.535 bajtov, to ponekod preplavi 16-bitne vmesnike, to pa obesi ali na novo zažene računalnik. Ta pomanjkljivost je zdaj sicer bolj ali manj zakrpana - občutljiva so Okna NT z SP2 in manj, Linuxi z jedrom 2.0.x in manj, HP-UX 10.20..., pa tudi ti so varni po namestitvi popravka izdelovalcev.
Sledenje
Zdaj si podrobneje oglejmo prvo fazo hekerskega napada. To stopnjo imenujemo sledenje (footprinting). Z njo hekerji zberejo najosnovnejše informacije o žrtvi.
Navadno najprej poiščejo spletne strani žrtve in jih nato shranijo v svoj računalnik in analizirajo. V izvirni kodi spletnih strani je pogosto veliko informacij, posebej v komentarjih. S programom, kot sta Teleport Pro (za Okna) in wget (za UNIX), lahko prekopirajo celotno spletno lokacijo v svoj računalnik in jo tam počasi raziskujejo.
Nadalje intenzivno preiščejo splet, tako s splošno znanimi brskalniki, denimo Googlom, kot z naprednejšimi orodji, ki imajo močnejši poizvedbeni jezik. Taka je zbirka orodij FerretPRO. Z njimi lahko poleg spleta preiskujejo tudi IRC (Internet Relay Chat), sporočila USENET, elektronsko pošto in zbirke podatkov. Ne nazadnje imajo nekateri spletni iskalniki, kot je npr. HotBot, napredne zmožnosti, kot je prikaz vseh lokacij, ki imajo hiperpovezavo na domeno ciljne organizacije.
Domene in omrežja, ki pripadajo ciljni organizaciji, lahko prav tako pridobijo v internetu. Do leta 2000 je imelo podjetje Network Solutions monopol nad poglavitnim registrom domen com, net, edu in org.
Njegove spletne strani (http://www.networksolutions.com) so še vedno eden izmed poglavitnih virov informacij o tem, komu pripadajo katere domene. Zdaj je še nekaj drugih akreditiranih organizacij, ki vodijo registre domen (npr. http://www.allwhois.com in http://www.internic.net/alpha.html).
Poleg tega uporabljajo orodja, kot so odjemalec whois, WS_Ping ProPack, Sam Spade, Netscan in Xwhois. Strežniki, ki jih uporablja odjemalec whois, so na naslovu http://www.ripe.net za Evropo, http://www.apnic.net za Azijo, http://whois.nic.mil za vojsko ZDA in http://whois.nic.gov za vlado ZDA. Preiskati je mogoče specifične podatke o: registrih in strežnikih whois, organizacijah (vsi podatki v zvezi z njimi), domenah, omrežjih in kontaktnih osebah. Odkar so v uporabi sistemi z več registri, morajo iz strežnika http://whois.crsnic.net dobiti podatke o domenah, ki nemara ustrezajo cilju, in registrih, ki se nanašajo na najdene domene.
Odjemalec whois deluje na operacijskih sistemih Unix (na večini različic - tudi Linuxih). Sledi zgled njegove rabe za namišljeno podjetje "Izmisljena Omrezja" (pika spodaj pomeni vse domene, ki se začnejo na "izmisljena"):
$> whois "izmisljena."@whois.crsnic.net
[whois.crsnic.net]
Whois Server Version 1.1
IZMISLJENAORGANIZACIJA.COM
IZMISLJENAOPERA.ORG
IZMISLJENA.NET
...
Nato si lahko posamezen rezultat ogledajo natančneje z:
$> whois "izmisljena.net"@whois.crsnic.net
Whois Server Version 1.1
Domain Name: IZMISLJENA.NET
Registrar: NETWORK SOLUTIONS, INC.
Whois Server: whois.networksolutions.com
Referral URL: www.networksolutions.com
Name Server: DNS.IZMISLJENA.NET
Name Server: DNS2.IZMISLJENA.NET
Na ta način najdejo strežnik, v katerem se hrani registracijski izpis za iskano podjetje Izmisljena Omrezja. Nato lahko pridobijo registracijske podatke:
$> whois izmisljena.net@whois.networksolutions.com
[whois.networksolutions.com]
Registrant:
Izmisljena omrezja (IZML1-DOM)
Slovenska 23
Maribor Slovenia
Domain Name: IZMISLJENA.NET
Administrative Contact, Technical Contact, Zone Contact:
Novak, Janez [Network Engineer] (JN1209) janez@IZMISLJENA.NET
00386-2-1112222 00386-2-1112223 (FAX)
Record last updated on 23-Jul-1997
Record created on 12-Mar-1997
Database last updated on 4-Oct-2003 12:05:28 EDT
Domain servers in listed order:
DNS.IZMISLJENA.NET 10.10.10.1
DNS2.IZMISLJENA.NET 10.10.10.2
Nadalje lahko pridobijo blok omrežnih naslovov, ki pripadajo domeni organizacije. Pri tem je mogoče, da vsi naslovi v bloku niso zasedeni, temveč le rezervirani. Podatke o domeni v pripadajočih blokih za ZDA lahko dobijo v registru ARIN (American Registry for Internet Numbers). Zgled poizvedbe (pika pomeni poljuben niz):
$> whois "Izmisljena Omr."@whois.arin.net
[whois.arin.net]
Izmisljena Omrezja (ASN-XXXX) XXXX 99999
Izmisljena Omrezja (NETBLK) 10.10.10.0 - 10.20.129.255
Omrežja lahko nato podrobneje preiščejo z določenim blokom omrežnih naslovov:
$> whois 10.10.10.0@whois.arin.net
[whois.arin.net]
Major ISP USA (NETBLK-MI-05BLK) 10.10.0.0-10.30.255.255
IZMISLJENA.OMREZJA, INC. (NETBLK-MI-10.10.10) CW-10-10-10
10.10.10.0 - 10.20.129.255
Iz zgornjega vidijo, da je ponudnik internetnih storitev Major ISP USA in je
podjetju Izmisljena Omrezja dodelil omrežje razreda A.
Z naslednjim povpraševanjem pa lahko pridobimo elektronske naslove kontaktnih oseb:
$> whois "@izmisljena.net"@whois.networksolutions.net
Kovac, Ivo (KI 9999) ki@IZMISLJENA.NET (02)-1112-234
(FAX) (02)-1112-213
Horvat, Andrej (HA9999) ha@IZMISLJENA.NET (02)-1112-236
...
Z orodjem whois lahko hekerji pridobijo veliko informacij, elektronske naslove upraviteljev lahko uporabijo za lažno predstavljanje (social engineering), tako da npr. pošljejo kateremu izmed uporabnikov elektronsko pošto s (ponarejenim) upraviteljevim izvirnim naslovom, v katerem mu naročajo, naj si v računalniku nastavi "novo" geslo. Tega se lahko branimo z ustreznim izobraževanjem osebja, lahko pa tudi med resnične upravitelje vključimo lažne oziroma izmišljene. Če kateri od uporabnikov dobi sporočilo ali klic od izmišljenega upravitelja, je to razlog za varnostni alarm.
Zbiranje podatkov nadaljujejo z branjem imenskega strežnika domene (Domain Name Server - DNS). Z njega je mogoče pridobiti, če ga upravitelj ni dobro zavaroval, povezane pare imen in številčnih IP naslovov posameznih računalnikov. Ta podatek lahko zaide v tuje roke, če lahko nepooblaščeni izvaja prenos cone (zone transfer). S prenosom cone sekundarni domenski strežnik imen usklajuje svojo zbirko podatkov s tisto iz primarnega strežnika. Nepooblaščeni prenos cone je za organizacijo posebno nevaren, če interni imenski strežniki domen niso ločeni od zunanjih z internetom povezanih strežnikov. V tem primeru je namreč mogoče "videti" načrt internega omrežja. Enostaven prenos cone je mogoč z ukazom nslookup, ki obstaja na večini sistemov UNIX in NT/2000/2003. Program nslookup lahko uporabljajo interaktivno, zanimive rezultate pa usmerijo v datoteko za poznejšo obdelavo. Zato je najbolje dodeliti pravico prenosa cone iz primarnega imenskega strežnika le pooblaščenim strežnikom. Zunanji in notranji imenski strežniki morajo biti ločeni, v imenski strežnik pa tudi ne vnašajmo informacij o strojni in programski opremi (HINFO zapisi), ker niso obvezni, hekerjem pa dajejo podatke, ki jih drugače teže izvrtajo. Samo z zavarovanjem imenskega strežnika hekerjev ne onemogočimo, vendar morajo informacije o notranjem omrežju poiskati s preverjanjem naslovov iz omrežnega bloka naslovov, dodeljenega naši organizaciji, to pa zahteva precej več časa.
Ko imajo hekerji v lasti naslove IP oziroma imena računalnikov v omrežju organizacije, preidejo na naslednjo stopnjo, na kateri skušajo ugotoviti topologijo omrežja in poti, ki vodijo do posameznih računalnikov. To lahko odkrijejo s programom traceroute (na operacijskih sistemih Unix/Linux) oziroma tracert (v Oknih). Zgled rabe:
C:\Documents and Settings\Administrator> tracert mazm-lu.com
Tracing route to mazm-lu.com [194.249.60.41]
over a maximum of 30 hops:
1 30 ms 20 ms 20 ms BSN-access.dsl.loss.net [213.250.19.90]
2 10 ms 20 ms 20 ms 213.250.19.129
3 20 ms 20 ms 10 ms 213.250.18.57
4 21 ms 20 ms 20 ms 193.77.13.202
5 30 ms 30 ms 20 ms six.sarnes.net [193.2.141.33]
6 30 ms * 10 ms larnes6-V102.sarnes.net [212.235.160.241]
7 20 ms 20 ms 20 ms lizum2-V65.sarnes.net [194.249.16.59]
8 20 ms 20 ms 30 ms lizum1-V580.sarnes.net [193.2.31.162]
9 20 ms 20 ms 20 ms randragoskimb.sarnes.net [193.2.125.6]
10 20 ms 20 ms 20 ms mazm-lu.com [194.249.60.41]
Trace complete.
Z raziskovanjem te poti lahko hekerji izluščijo informacije o usmerjevalnikih, požarnih zidovih, napravah za filtriranje paketov; potem ko pregledajo vse poti, pa znajo določiti tudi topologijo omrežja.
Večinoma raje uporabljajo program traceroute, ki je na voljo le na sistemih Unix/Linux, ker ima precej več možnosti. Na primer, lahko se mu poda, od katerega prehoda na poti naprej naj jih začne beležiti. Določiti mu je mogoče, ali naj za svojo nalogo uporabi UDP ali ICMP pakete. Nadalje je z izbiro -p mogoče podati začetna vrata UDP (UDP port), ki se pri vsakem prehodu poveča za ena. Še več, dostopen je popravek, ki fiksira podana vrata. Tako lahko hekerji delujejo skozi požarni zid, saj programu traceroute podajo vrata, ki jih požarni zid prepušča. Poleg tracert in traceroute sta še dva grafična programa za prikaz poti do ciljnega računalnika, in sicer NeoTrace ter VisualRoute.
Naslednjič pa več o zaščiti in pregledovanju lastnih sistemov.