Vdor v računalniški sistem
Varnost in osnovni pojmi
Z razvojem računalništva in informatike in s povezovanjem v
internet je problem varnosti postal še bolj pomemben kot včasih. Kaj se je
spremenilo?
- Napadalci
so bolj usposobljeni in izobraženi ter imajo boljša orodja
- Bolj
smo odvisni od informacijskih tehnologij in več izgubimo kot nekdaj
- Implementacija
in upravljanje varnostne tehnologije je cenejše
- Svet
postaja manj vreden zaupanja
Pred nadaljevanjem moramo spoznati osnovno terminologijo.
Koristno je tudi, da poznamo angleške izraze:
- Gostiteljski
računalniški sistem (host) je računalnik, ki ga moramo varovati. To je
lahko strežni računalnik, ali pa odjemalec, ki komunicira s strežnikom.
- Storitev
(Service) je program v uporabniškem
prostoru, kjer izvaja kakšno uporabno nalogo
- Ranljivost (vulnerability ) je pomanjkljivost, hiba v
programu, kritična z vidika
varnosti. Napadalec išče take pomanjkljivosti v programih s ciljem, da si
poviša pravice oziroma dostopnost v našem sistemu.
- Sistem
za odkrivanje vdorov - IDS (intrusion
detection system) poskuša odkriti oziroma preprečiti
napade
- Napad
(attack) je metoda izkoriščanja ranljivosti.
- Grožnja
(threat): pomeni napadanje s strani
motiviranega in sposobenga nasprotnika
Za varnost moramo poskrbeti na naslednjih komponentah računalniškega
sistema:
- Odjemalec: Preprečiti
moramo neavtoriziran dostop. Uvesti moramo zaščito privatnosti pred
zlonamerno kodo, ki povzroča spreminjanje ali uničevanje naših programov
in podatkov. Zavarovati se moramo
tudi pred nenamernim, slučajnim vnašanjem nekonsistentnosti
- Omrežje: Preprečiti
moramo prestrezanje zaupnih informacij. Pomagamo si lahko z enkripcijo
- Strežnik: Ne
smemo dovoliti neavtoriziranega dostopa. Strežniku se lahko »zgodi« tudi
napad, ki povzroči takoimenovano
»odklonitev storitve« (denial of service)
Varnost mora upoštevati zunanje okolje sistema
in sistem zaščititi pred:
- Neavtoriziranim dostopom.
- Zlonamernim spreminjanjem ali uničevanjem
Varnostni system mora upoštevati zunanje okolje sistema.
Govorimo o takoimenovani »sistemski varnosti«, ki pokriva:
Varnost
računalnika + varnost
omrežja + varnost
interneta
Lažje se zaščitimo pred slučajno, nenamerno napačno uporabo
kot pred zlorabo.
Vrste napadalcev
Varnostni sistem mora upoštevati dve vrsti napadalcev: zunanje
in notranje. Notranji napadalci so lahko tudi naši zaposleni:
|
Zunanji napadalec
- Potrebuje
dostop do sistema
- Deluje
hitro, da ga ne bi odkrili
- Vgradi
“zadnja vrata” (trapdoors)
za nadaljni dostop
- Deluje
v okolju, ki ga ne pozna
Notranji napadalec
- Ima
dostop do sistema
- Deluje
lagodno
- Ima
zagotovljen dostop v prihodnosti
- Dela
v znanem okolju
- Ve,
kaj je pomembno
|
Med aktivnostmi zunanjih napadalcev sodijo:
- Napadi
virusov, črvov in drugih vsiljivcev, spam in kraja računalnikov (tudi to)
Notranji napadalci pa nas lahko ogrožajo na naslednje
načine:
- Finančne
goljufije, sabotaže, posredovanje privilegiranih
podatkov izven organizacije
- Zavračanje
in pomanjkanje odgovornosti
- “Tega nisem storil jaz!”, “Te e-pošte nisem nikoli
prejel…”
- Pretirano
zaupanje v IT
- Telefon in faks sta
bolj zanesljiva
|
Celovita zaščita našega informacijskega sistema je torej
večplastna:
- Predvsem moramo sami poskrbeti za varnost. V to skupino sodi tudi fizično varovanje opreme.
- Na sistemskem nivoju moramo poskrbeti za takoimenovano "utrjeno" sistemsko programsko opremo, odporno proti vsiljivcem.
- Na organizacijskem nivoju moramo poskrbeti za varovanje podatkov v oddelkih.
- Skrajna zaščita je tudi uporaba večkratnih (rezervnih) kopij. Temu pravimo tudi redundanca.
|
|
Če se povrnemo na varnostno terminologijo na področju računalništva, omenimo še zanimiv pojem “belih” in “črnih” klobukov:
- Črni
klobuki so “hudobneži“, ki uporabljajo svoje
znanje za nepooblaščeno vdiranje v druge sisteme in posredovanje svojega
znanja drugim “insiderjem”
- Beli
klobuki so “dobri” ljudje. Delujejo v odkrivanju in v preprečevanju
napadov.
|
V nadaljevanju bomo spoznali grožnje, ki jih mora naš
varnostni system upoštevati. Spoznali bomo še, kako naj se branimo pred njimi.
Nekaj o zaščiti
Zaščita z IDS
IDS
je kratica angleškega izraza »Intrusion Detection
System«. Pomeni programsko opremo za pridobivanje podatkov o
okolju, potrebnih za analizo obnašanja sistema in
odkrivanje varnostnih lukenj, poskusov vdorov, odprtih
ranljivosti, ki bi lahko pripeljale do potencialnih vdorov.
Osnovno vodilo pri tem je, da se računalniške navade
upravičenih uporabnikov le redko nenadno spremenijo, kar pomeni, da je njihov
profil aktivnosti precej stabilen.
Sistem IDS zato temelji na spremljanju vrste podatkov o
varovanem računalniškem sistemu. Ti so:
- dolgoročni
podatki. – baza znanja o
napadih (statično)
- Podatki
o konfiguraciji. – model
trenutnega stanja (statično)
- Revizorski
podatki. – opisujejo dogodke (dinamično)
|
Na kaj moramo
biti pozorni:
- Pozor
na sumljive
vzorce aktivnosti – na
primer večkratno vnašanje napačnih gesel kaže na ugibanje gesel.
- Zapisovanje
dogodkov (Audit log) – zapisovanje časa,
uporabnika, tipa vseh dostopov do objekta, kar olajša obnavljanje in
razvoj boljših varnostnih mer.
- Periodično
skeniranje sistema za odkrivanje
varnostnih lukenj. To delamo tipično, ko je računalnik manj obremenjen.
- Iščemo:
- Kratka
gesla, ki jih je lahko uganiti
- Neavtorizirane
programe
- Nepričakovane
stalno tekoče programe
- Napačne
zaščite direktorijev
- Napačne
zaščite sistemskih podatkovnih datotek
- Spremembe
v sistemskih programih
|
|
Zavedati se moramo še:
- Izpad
zaradi napak in izpad zaradi napadov nista eno in isto
- Vsaka
programska komponenta lahko
potencialno izpade zaradi napadov; včasih ne vemo le, kako!
- Varnost
sistema je tako močna kot najšibkejši člen
- Zatorej,
četudi servis nadzorujemo z ločenim mehanizmom odkrivanja, ali je vse
skupaj res varno?
- IDS je program, in je
tudi lahko kompromitiran
- Bolje
je zato, če je vgrajen v jedro operacijskega sistema
- Implementacija
jedra (kernel)
vpliva na celotni sistem
|
Slabosti oziroma
omejitve varovanja s sistemom IDS so naslednje:
- Obstoječe
tehnike odkrivanja vdorov so usmerjene v nizkonivojsko opazovanje
- Oprema
je enostavna, imamo pa ogromne količine podatkov
- Potrebno
jeeliko računanja
- Difuzen
pomen aktivnosti uporabnika
- Odkrivanje
vdora terja sintezo teh podatkov
- Največkrat ugotovimo napad po dejanju
Kaj je to Enkripcija?
To je način zakrivanja podatkov z neke vrste
šifriranjem. Pomembna je predvsem pri prenašanju
varovanih podatkov med računalniki v omrežju. Poznamo enkripcija z s takoimenovanim »javnim ključem«, ki
temelji na tem, da ima vsak uporabnik dva ključa:
- Javni ključ – objavljen ključ za enkripcijo podatkov.
- Privatni ključ – Ključ, ki ga pozna le posameznik , ki z njim lahko dekodira
podatke.
Shema kodiranja je javna, vendar iz nje ne sme
biti lahko odkriti sheme dekodiranja.
Nekaj o grožnjah
Trojanski konj
|
Trojanski konj je egment kode, ki zlorabi svoje okolje.
Izkorišča mehanizme, ki omogočajo programom, pisanih s strani enih uporabnikov, da jih izvajajo
drugi.
Trojanski
konj oponaša funkcionalnost legitimnega istoimenskega programa.
Vendar ima skrito “poslovanje.” Ima
torej v resnici (še) drugo funkcijo, ki je uporabniku neznana. |
Zadnja vrata (Trap Door)
|
Zadnja vrata so poseeben identifikator uporabnika ali geslo, ki
omogoča, da obidemo normalne varnostne postopke.
- Lahko so vključena tudi v prevajalnik.
- Po angleško jim pravimo trap doors ali backdoors.
- Omogočajo dostop do sistema s preskokom običajnih
vstopnih (login) postopkov
- Omogočajo nepooblaščen dostop v sistem.
- Ne moremo ugotoviti, ali taka vrata ne obstajajo.
|
Napad moža v sredini
|
Smisel napada, ki mu pravimo “man-in-the-middle” je v preusmeritvi prometa med dvema
računalnika proti tretjemu (napadalcu), ki se dela, da je legitimna
komunikacijska točka.
- Komunikacija
na temelju javnega ključa, recimo med Jankom in Metko, je
ranljiva.
- Predpostavimo,
da vdiralec Pepe lahko prisluškuje tako Jankotu kot Metki, lahko pa tudi
spreminja, briše in nadomešča sporočila ter ustvarja nova. Pepe lahko tako
pooseblja Metko, ko se ta pogovarja z Jankom, ter Janka, ko se ta
pogovarja z Metko. Napad bi lahko potekal tako.
- Janko
pošlje Metki svoj javni ključ, Pepe ga prestreže in pošlje Metki svoj javni
ključ.
- Metka
tvori svoj naključni ključ seanse (session key), kodira z njim Jankov javni ključ (ki je v
resnici Pepetov) in ga pošlje Janku.
- Pepe
prestreže njeno obvestilo, dekodira ključ seanse s svojim privatnim ključ,
zakodira ga z javnim ključem Janka in mu ga pošlje.
- Janko
sprejme sporočilo, za katerega misli, da je od Metke. Dekodira ga s svojim privatnim klučem in dobi tako
ključ seanse (session key).
- Janko
in Metka si začneta izmenjevati sporočila z uporabo ključa seanse. Pepe,
ki sedaj prav tako ima ta ključ, lahko nemoteno dešifrira kompleten
pogovor.
|
Črvi
|
Črvi so samostojni programi, ki uporabljajo tehniko sejanja. Črvi so
programi, ki se po omrežju širijo od računalnika do računalnika.
• Lahko tečejo samostojno.
• Imajo (različne) dele svojih kopij, ki
tečejo na več različnih računalnikih.
• Ne spreminjajo drugih programov, čeprav
lahko vsebujejo kodo, ki to počne.
|
Virusi
|
Virus je delček kode, vgrajene v
regularni program.
- Virusi so "programi" ki spreminjajo druge
programe na računalniku tako, da vstavljajo kopije samih sebe.
- Največkrat učinkujejo na mikroračunalniške
sisteme.
- Do okužbe pride s kopiranjem takih programov
preko interneta ali z disketami
- Virusi so "programi" ki spreminjajo druge
programe na računalniku tako, da vstavljajo kopije samih sebe.
- Virusi v bistvu niso programi: ne morejo teči samostojno.
Potrebujejo gostiteljski program.
- Ko teče gostiteljski program, teče tudi virus.
|
Logična bomba
|
Logična
bomba se izvede, ko nastopi določen
pogoj.
– Proženje logične bombe lahko sprožimo s
spremembo kakšne datoteke, s kakšnim posebnim zaporedjem tipk ali ob določenem
času. |
Odklanjanje storitve (Denial of Service)
|
- Računalniški
sistem naj bi zagotavljal storitve pooblaščenim uporabnikom.
- Ko
sistem pade ali pa postanejo programi tako počasni, da so neuporabni,
pravimo, da je prišlo do napada tipa “odklanjanje storitve” ("denial
of service“)
- Napadalec
to doseže s primernimi programi in se dobro zaveda posledic.
|
Varnost na omrežju
- Manj varno: brezžično omrežje
-
Drugo najmanj varno: stalno ožičene povezave
-
Tretje najmanj varno: Občasne povezave (na primer dial-up)
-
Najbolj varno: Nikoli povezan računalnik :(
Zaščita in upravljanje varnosti
- Izolirajmo svoje podatke od aplikacij: imejmo
podatke in programe v različnih mapah oziroma dik+rektorijih.
-
Imejmo podatke na datotečnem strežniku
-
Vsak dan delajmo rezervne kopije
-
Imejmo več rezervnih kopij
-
Imejmo načrt za izhod iz razdejanj
-
Kako bomo rešili operacijski sistem
-
Kako
bomo rešili uporabniške programe
-
Kako bomo rešili svoje podatke
-
Pri novih operacijskih sistemih ne vstopaj s
pravicami administratorja
-
Uporabljaj protivirusne programe
-
Imej ažuriran operacijski sistem in namesti takoimenovane servisne popravke (Service patches)
-
Imej ažurirane uporabniške programe (s
servisnimi popravki)
Postopek pri nastopu virusa
|
• Izoliraj računalnik
• Skušaj razpoznati virus
• Skušaj razpoznati izvor
• Poskušaj dezinfekcijo s protivirusnim programom
• Ponovno namesti operacijski sistem
• Ponovno namesti aplikacije
• Obnovi podatke iz rezervnih kopij |
10 zakonov varnosti
• Če te zlobnež prepriča, da poženeš njegov
program na svojem računalniku, to ni več tvoj računalnik.
• Če lahko zlobnež spremeni operacijski sistem na
tvojem računalniku, to ni več tvoj računalnik
• Če ima zlobnež neomejen fizični dostop do
tvojega računalnika, to ni več tvoj računalnik
• Če dovoliš zlobnežu, da nalaga programe (upload)
na tvojo spletno stran, to ni več tvoja spletna stran
• Slaba gesla zahtevajo močno zaščito
• Računalnik je le toliko varen, kolikor je
zanesljiv njegov administrator
• Enkriptiran podatek je le toliko varen, kolikor
je varen ključ za dekripcijo
• Neaužuriran skener virusov je le nekaj več
vreden od nobenega virusnega skenerja
• Absolutna anonimnost ni praktična ne v realnem
življenju in ne na spletu
• Tehnologija ni zdravilo za vse