Sažetak - bib.irb.hr Web viewOpisati moguće načine zaštite industrijskih automatiziranih...
Transcript of Sažetak - bib.irb.hr Web viewOpisati moguće načine zaštite industrijskih automatiziranih...
VELEUČILIŠTE VELIKA GORICA
Pristupnik: Josip PavićMatični broj: 77130627Adresa boravišta (ili prebivališta):
Hum na Sutli 17149231 Hum na Sutli
Studij: Informacijski sustaviTelefon: 0997046002
VELEUČILIŠTE VELIKA GORICAPovjerenstvu za diplomske radove
Predmet: Zamolba za pristupanje izradi diplomskog rada
Molim dozvolu za pristupanje izradi diplomskog rada.
Izjavljujem da sam položio ispite i ispunio sve ostale uvjete propisane Člankom 4. Pravilnika o završnom i diplomskom radu.
Predlažem za mentora: Mr.sc. Marinko Žagar
Molbi prilažem:1. Prijedlog naslova teme i teza rada2. Indeks
U Velikoj Gorici,
Pristupnik:
VELEUČILIŠTE VELIKA GORICA
PRIJEDLOG TEME DIPLOMSKOG RADA
Ime i prezime studenta: Josip Pavić
Prijedlog naslova rada: Računalni napadi na automatsko vođenje industrijskih procesa
Znanstveno područje: tehničke znanosti
Znanstveno polje: računarstvo
Teze rada ili opis zadatka:1) Opisati problematiku sigurnosti industrijskih postrojenja povezanih na internet2) Objasniti što je informatičko ratovanje i koji su to zlonamjerni programi specijalne
namjene3) Opisati Stuxnet- tehnika zaobilaženje antivirusnih i drugih zaštita računalnih sustava
posebno SCADA sustava temeljenih na PLC tehnologijama.4) Opisati moguće načine zaštite industrijskih automatiziranih postrojenja spojenih na
Internet, te dati pregled karakterističnih primjera napada ovog tipa u svijetu.
Prijedlog literature:
Suglasan mentor:
Suglasan komentor (ako se predlaže):
VELEUČILIŠTE VELIKA GORICA
Velika Gorica,
ZADATAK DIPLOMSKOG RADA
Pristupnik: Josip Pavić
Matični broj: 77130627
Studij: Informacijski sustavi
Naslov rada: Računalni napadi na automatsko vođenje industrijskih procesa
Znanstveno područje: Tehničke znanosti Znanstveno polje: računarstvo
Teze rada ili opis zadatka:
1) Opisati problematiku sigurnosti industrijskih postrojenja povezanih na internet2) Objasniti što je informatičko ratovanje i koji su to zlonamjerni programi specijalne
namjene3) Opisati Stuxnet- tehnika zaobilaženje antivirusnih i drugih zaštita računalnih sustava
posebno SCADA sustava temeljenih na PLC tehnologijama.4) Opisati moguće načine zaštite industrijskih automatiziranih postrojenja spojenih na
Internet, te dati pregled karakterističnih primjera napada ovog tipa u svijetu.
Mentor: Pročelnik studija:
Komentor: (ako je određen)
Datum uručenja zadatka: Datum predaje završnog rada:
Voditelj Odsjeka za studentska pitanja:
VELEUČILIŠTE VELIKA GORICA
JOSIP PAVIĆ
Računalni napadi na automatsko vođenje industrijskih procesa
DIPLOMSKI RAD
Velika Gorica, 2015.
VELEUČILIŠTE VELIKA GORICANaziv studija
Računalni napadi na automatsko vođenje industrijskih procesa
DIPLOMSKI RAD
Mentor: Student:Mr.sc. Marinko Žagar Josip Pavić, 77130627
Velika Gorica, 2015.
Sažetak
U ovom diplomskom radu opisani su i analizirani napadi na industrijske računalno
vođene sustave. Većina takvih sustava iako nije spojena na Internet podložna je virusima
odnosno njihovim zarazama. Prikazani su načini i razlozi zaraze računala te područja na
kojima su bile najrasprostranjeniji. Inficiranjem računala na kojem je instaliran WinCC, S7, i
PCS7 Siemens Simatic program obrađene su promjene u datotekama sustava Windows XP
service pack3 i njihov tijek. Detaljno je obrađen Stuxnet računalni crv, identificiran kao prvi
rootkit u industrijskim mrežama izrađen da napadne, te svojim djelovanjem promijeni
programerski kod s ciljem nanošenja štete. Proučavanjem načina djelovanja Stuxneta i
područja na kojem je djelovao uviđa se da uz Stuxnet postoje i drugi zlonamjerni programi. U
ovom radu prikazani su uz Stuxnet još i Duqu,Flame,Mahdi,Wiper kao zlonamjerni programi
koji su nekim svoji dijelom usko vezani uz Stuxnet. Također su opisane i predložene mjere
zaštite iako idealne zaštite ne postoje. Ovo je početak crv (rootkit) postoji, pitanje je samo
vremena njegove modifikacije i ponovne aktivacije.
Abstract
This thesis describes and analyzes the attacks on industrial computer-guided
systems. Most of these systems, although not connected to the Internet, is vulnerable to
viruses and their infections. There are shown the ways and reasons of infecting the computer
and the areas where they were most widespread. Infecting computers with the installed
WinCC, S7, and Siemens Simatic PCS7 program were covered changes in the files of
Windows XP Service pack3 and their flow. Stuxnet computer worm was determined in detail,
identified as the first rootkit in industrial networks designed to attack, and with his action to
change the programming code tend to cause damage. By studying the mode of action of
Stuxnet and the area where he worked, recognizes that with Stuxnet there are other
malicious programs. In this thesis, there are shown except Stuxnet also Duqu, Flame, Mahdi
and Wiper as malicious programs that have some part which are closely related to Stuxnet.
There are also described the proposed protection actions although there are no perfect
protection. This is the beginning, a worm (rootkits) exists, there is a question only about the
time of his modifications and reactivation.
SADRŽAJ
Uvod..........................................................................................................................................11.Problematika sigurnosti industrijskih postrojenja povezanih na Internet...............................22. Informatičko-ratovanje..........................................................................................................63. Zlonamjerni programi specijalne namjene............................................................................84. Stuxnet crv..........................................................................................................................14
4.1. Osobine Stuxneta........................................................................................................164.2. Planiranje napada........................................................................................................174.3. Kratki primjeri događanja informatičkih ratova.............................................................18
4.3. 1 Stuxnet kratki primjeri događanja..........................................................................194.4. Stuxnet arhitektura.......................................................................................................20
4.4.1. Organizacija..........................................................................................................204.4.2. Zaobilaženje softvera za blokiranje ponašanja.....................................................214.4.3. Tehnika ubacivanja...............................................................................................21
4.5 Instalacija......................................................................................................................224.5.1 Pokretanje..............................................................................................................23
4.6. Rad Stuxneta...............................................................................................................244.7 Prikaz zaraze Stuxnet-om na konkretnom primjeru......................................................27
5. Zašitita................................................................................................................................415.1. Preventivno pasivne mjere...........................................................................................415.2 Preventivno aktivne mjere.............................................................................................42
6. Statistika zaraze..................................................................................................................44Zaključak.................................................................................................................................46Literatura.................................................................................................................................47Ključne riječi............................................................................................................................47Skraćenice..............................................................................................................................48Dodaci.....................................................................................................................................49
Uvod
U sadašnje vrijeme u kojem ima veliki utjecaj novac, odnosno profit, razvojem
informacijskih tehnologija i skoro neograničenih mogućnosti informacijsko društvo postaje
globalno društvo, a rast elektroničkog poslovanja razvija nova tržišta. Cijelo informacijsko
društvo izgrađeno je na vrlo ranjivom okviru Interneta. Internet više nije samo opasan zbog
mogućih napada običnih hakera. Iako ni to nije bezazleno, upravo ulazimo u eru
informatičkih ratova ili smo već ušli, samo još možda nismo dovoljno svjesni mnogo
opasnijih napada. S razvojem terorističkih organizacija susrećemo se s terorizmom preko
naprednih tehnologija informatike u koji se uključuje Internet - mreža koja omogućuje
takozvano informatičko ratovanje. Informatičko ratovanje je izraz koji se koristi za definiranje
sukoba u 21. stoljeću koji koristi kao svoje glavno sredstvo odnosno, mogli bismo reći oružje
elektroničke i informacijske sustave. Iskazalo se već sada da mnogi koji se time bave takve
napade ne smatraju ozbiljnim jer praktički ratuju iz fotelje vlastitog doma. Mnogi misle da su
tako nevidljivi te da mogu raditi što ih je volja uz objašnjenje da oni ne posežu za nikakvim
oružjem poput noža, puške, pištolja. Bilo koja nacija pa čak i osoba ili teroristička
organizacija s dovoljno novca i tehničkog znanja moći će razviti maliciozne programe za
izvršavanje virtualnog napada. Izrada takvog oružja već odavno postoji i prema nekim
procjenama više država je vojno sposobna u virtualnom svijetu, što osim obrane uključuje i
oružja za napade. Korištenjem takvog oružja za napadanje neprijateljske infrastrukture i
komunikacijskih mreža moći će se protivnika učiniti digitalno gluhim i slijepim. Prvi izvršilac
takvog vida napada je se Stuxnet crv, pravi napadački softver. Mnogi stručnjaci ga danas
nazivaju digitalnim super oružjem ili ga uspoređuju s atomskom bombom. Stvorili su ga ljudi
s informatičkim tehnološkim i programerskim znanjem, a iskoristili su nedostatke windows
platformi koje nisu dokraja bile dorađene (sigurnosno testirane) zbog uštede novaca i
povećanjem profita. Velika je razlika između običnih virusa i Stuxnet-a u tome što Stuxnet
nanosi štetu u stvarnom realnom svijetu. Izrađen je točno ciljano i njegov konačni cilj bio je
reprogramiranje industrijskih sustava kontrole obogaćivanja urana odnosno sustava za
razvoj Iranskog nuklearnog programa.
1
1.Problematika sigurnosti industrijskih postrojenja povezanih na Internet
Današnja suvremena industrijska postrojenja uglavnom su računalno vođena, te
kao takva međusobno povezana računalnim mrežama koje omogućavaju povezanost prema
perifernim nižim jedinicama kao i prema centralnim polu autonomnim ili potpuno autonomnim
jedinicama koje vode cjelokupni proces. Gotovo je nemoguće izbjeći i dosegnuti potpunu
izolaciju takvih sustava od interneta koji se može koristiti iz različitih potreba bilo da se radi o
daljinskom upravljanju, nadzoru procesa, slanju izvještaja ili daljinskim servisnim posezanjem
u sustav. Svaka tvrtka koja se bavi proizvodnjom danas želi povećati zaradu u svojem
poslovanju, takvo što se postiže automatizacijom proizvodnih procesa, koje pridonosi
smanjenju radne snage. Pravilno izvedenom automatizacijom odnosno pravilno napisanim
kodom smanjuje se mogućnost pogreške u procesu te su takvi proizvodni procesi stabilniji i
učinkovitiji. Složeniji sustavi povezani su sa sustavima baza podataka u kojim se spremaju
podaci (recepture za proizvodne programe, programska podešavanja i upute za postupanja
tzv. procedure). Postizanjem uspjeha pobjeđuje se konkurencija koja postaje jedan od
mogućih potencijalnih špijuna ili čak napadača. Osim konkurencije postoje mnogi mogući
napadači od kojih su neki povezani s metom napada ( otpušteni zaposlenici, nezadovoljni
zaposlenici, konkurencija) dok drugi nisu povezani s metom napada ( osobe koje vrše
napade na sustave iz dokazivanja o mogućim nedostacima na sustavu a ujedno žele
pokazati svoje znanje). Internet je okruženje koje pruža neograničeni pristup mrežama,
računalima, serverima od kojih su većina njih zaštićeni vatro zidom, pristupnim zaporkama,
anti virusnim programima. Sve te zaštite onemogućavaju slobodan pristup neovlaštenim
osobama ili hakerima računalnim sustavima, ali moramo biti svjesni da savršena zaštita ne
postoji kako je netko izradio najkvalitetniju zaštitu tako netko može čak s istim znanjem samo
malo više uloženim vremenom i trudom zaobići takvu zaštitu. Dakako kreiranjem zaštite
započinjemo tako da najprije sve zabranimo a kasnije dodjeljujemo dozvole po potrebama i
ovlastima. Pri tome moramo paziti da sustav ne zaštićujemo u tolikoj mjeri da potrošimo sve
resurse samo na zaštitu te tako onemogućimo da sustav odrađuje procese za koje je građen.
Sigurnost je proces, skup procedura i pravila uz primjenu edukacija i stalno praćenje stanja.
Tako je i Siemens izradi sustave koji su moderni autonomni i visoko sofisticirani ali u utrci s
vremenom i zaradom izostavio nešto najvažnije, a to su sigurnosne zaštite. Za kompletan
sustav upravljanja Siemens je osmislio PCS7 sustav koji u sebi osim PLC programa sadrži
SCADA –WinCC sustav. Preko WinCC sustava se može potpuno autonomno upravljati i
nadzirati postrojenje kojim upravlja ne jedan, već nekoliko sustava u kojem ima više PLC-
2
ova. Nešto niža razina upravljanja su WinCC flexible SCADA sustavi koji su spojeni direktno
na jedan PLC preko različitih tipova sučelja kao što su ethernet sučelje, profinet sučelje,
profibus sučelje ili MPI1 sučelje. Napadači su kod izrade zlonamjernog programa iskoristili
baš nedostatke zaštite kako u Siemensovim aplikacijama tako i nedostatke u platformama na
koje su instalirane Siemens-ove aplikacije.
Slika 1. industrijske mreže različitih medija i protokola
1 MPI- multi point interface
3
Slika 2. Komunikacijske mreže cijelog poduzeća
Slika opisuje mreže unutar proizvodno orijentiranog poduzeća, te ja na samom vrhu lan
mreža poduzeća koju koriste odjeli kao što su nabava, prodaja i financije. Proizvodno
operativni dio mreže koriste odjeli koji su vezani uz proizvodnju ali ne upravljaju
proizvodnjom. To su odjeli pripreme, planiranja i koordinacije proizvodnje. Mreža za
upravljanje procesima upravlja cjelokupnim procesom proizvodnje na višoj razini(recepture,
baze podataka,izvješća), dok mreža za upravljanje sustavima sačinjena je od PLC ,perifernih
jedinica, lokalni grafičkim sučeljima i izvršnim jedinicama. Mreža poduzeća povezana je
internetom kako bi odjeli nabave, financija i prodaje mogli komunicirati sa kupcima odnosno
dobavljačima. Sve ove mreže unutar poduzeća međusobno su povezane zbog potreba
poduzeća. Tako na primjer iz odjela nabave mogu pogledati trenutnu potrošnju sirovina i po
potrebi izvršiti narudžbu ili iz odjela prodaje pregledati stanje proizvodnje proizvoda te
dogovoriti termin prodaje odnosno isporuke. Mreže imaju mogućnost udaljenog pristupa iz
više razloga. Jedan razlog je administrativno posezanje na mrežu zbog rješavanja mogućih
problema i neispravnosti. Ovakva tvrtka ne može biti operabilna ako se sruši mreža,
zagušenje ili rušenje ovakve mreže može nanijeti milijunske štete. Drugi razlog udaljenog
pristupa je mogućnost pristupa terenskih djelatnika prodaje sustavu zbog provjere
4
raspoloživosti proizvoda za prodaju. Upravljački menadžment želi u svakom trenutku imati
uvid u poslovanje tvrtke te i oni žele udaljeni pristup. Udaljeni pristup imaju omogućen i
serviseri zaposlenici tvrtke kako bi što brže otkloni moguće kvarove na proizvodnim
postrojenjima. Sve više se i takav pristup dozvoljava serviserima proizvođača opreme koja je
instalirana u proizvodnji, a sve u svrhu što bržeg otklanjanja mogućih kvarova. Svaki zastoj u
proizvodnom sustavu generira gubitke. Kada pogledate strukturu ovih mreža vrlo je lako
zaključiti da idealne zaštite uz primjenu zaporki, vatro zidova, antivirusnih programa nema
ako se djelatnici ne pridržavaju sigurnosne politike. Jednom kada napadač uđe u ovakvu
mrežu pitanje je samo vremena, njegovih želja i sposobnosti do kojih će dijelova doći i kakvu
će štetu prouzročiti.
5
2. Informatičko-ratovanje
Informatičko ratovanje je pojam koji označava uporabu računala, interneta i drugih
sredstava za provođenje napada na informacijske sustave s ciljem nanošenja štete ili prekida
u radu. Glavni smjerovi koji su uključeni u informatičko ratovanja: financijski, infrastrukturni i
državne vlade. Napadi na financijski sektor poremetit će svjetska tržišta, zaustavljanjem
elektroničke razmjene robe ili zatvaranjem web poslovanja velikih banaka i trgovaca. Napadi
na infrastrukturu mogu oštetiti ključne komunalne sustave kao što je električna mreža,
prouzročiti štetu na milijun način kao što je otvaranje akumulacione brane ili ometanje
kontrole zračnog prometa. Postoje tri glavne karakteristike koje određuju svako informatičko
ratovanje, a to su: opseg, opasnost i trajanje. Opseg definira područje na kojem djeluje
informatičko ratovanje. Time se može vidjeti da li je informatičko ratovanje limitirano samo na
sigurnost mreže ili pokriva cijelo područje informatičkog djelovanja. Razina opasnosti koju
može prouzročiti informatičko ratovanje druga je karakteristika kojom se ispituje ugroženost
nacionalnih kritičnih infrastruktura, vojnih sustava i potencijal informatičko ratovanja. Zadnja
karakteristika odnosi se na vremensko trajanje informatičko ratovanja. Pojam ratovanja
povezivao se s ratovanjem jedne države protiv druge. Ovaj današnji način informatičkog
ratovanja može primijeniti ne samo u napadu jedne države protiv druge već u napadu na
vladu unutar države, na međusoban napad korporacija kao i u terorističke svrhe. Sve je viša
povezanost u svijetu računalnim mrežama, a s obzirom na rast umreženih računala raste
broj kritičnih sustava koje su podložni napadima i povezani su na Internet. Iako većina
sustava koja su povezana na Internet imaju svoju vlastitu obranu i visoku razinu zaštite nisu
sasvim otporni na napade. Dio tako zvanih ratnika koji se bave informatičkim ratovanjem
bave se baš pronalaženjem slabosti u takvim sustavima i njihovom iskorištavanju.
Popularnost špijunskih zlonamjernih programa u svijetu vrtoglavo raste što zbog želje u
dokazivanju programera da mogu učiniti nešto što drugi ne mogu što zbog komercijalnih
razloga proizvođača zaštitnih programa. Osnivaju se tvrtke čija je cjelokupna djelatnost
posvećena otkrivanju ranjivosti odnosno nedostataka pojedinih programa (zero_day). Osim
osnivanja tvrtki koje se bave pronalaskom ranjivosti programa osnivaju se i tvrtke (exploit
brokeri) odnosno posrednici između vladinih agencija i hakera koji žele ostati anonimni kod
prodaje takvih otkrivenih nedostataka u programima Jedna od poznatijih takvih tvrtki je
francuski Vupen ona se specijalizirala za pronalaske ranjivosti u programima te prodaju istih
trećim osobama. Organiziraju se i hakerska natjecanja na kojima razni programeri
pokušavaju pronaći ranjivost određenog programa. Jedno takvo natjecanje organizirao je
Google u ožujku 2012 godine u Kanadi na kojem je bio cilj pronaći ranjivost google web
6
tražilice Chrome. Za pronalazak takve ranjivosti Google je ponudio nagradu od 60.000
američkih dolara onome tko ju pronađe pod uvjetom da im otkrije način na koji je to
postignuo. Ako odemo još korak dalje postoje kalkulacija brokera Forbes-a koji se bave
posredovanjem prodaje između hakera i kupaca njihovih usluga da se od komercijalnih
programa najviše zarađuje na preprodaji nedostataka u programima Adober reader, Mac
osx, Android, flash or java brovsers plug-ins, Microsoft word, windowsima, Firefox tražilici i
Crome tražilici.
7
3. Zlonamjerni programi specijalne namjene
Pregledom su obuhvaćeni samo kompleksniji zlonamjerni programi te ovaj pregled
započinje sa Stuxnetom, Duquom i Flameom. Stuxnet je nakon otkrića u lipnju 2010.
prozvan prvim informatičkim oružjem, ciljano je izrađen za napad na iranska nuklearna
postrojenja. Zadatak Duqu i Flame nije bio nanositi štetu, već špijunirati. Za Flame stručnjaci
za računalnu sigurnost navode kako je to jedan od najsloženijih ako ne i najsloženiji
zlonamjerni program dosad. Tehnička izvedba Flame ocijenjena je nakoliko puta složenije
nego izvedba Stuxneta, a procjena je da je za izradu Stuxnet_ovog programskog koda
potrebno 10 čovjek-godina. Mahdi2 je špijunski program, dok je zadaća Wipera3 bila čišćenje
diskova i uklanjanje tragova kojeg su ostavljali Stuxnet i Duqu. Svi dosad spomenuti
programi a što prikazuje i slika bili su namijenjeni Iranu.
Slika 3.Prikaz najveće zaraženosti računala zlonamjernim programima po državama
Gauss koji je špijunski program većinom je zarazio računala u Libanonu. Pretpostavlja se
kako su ga koristili SAD i Izrael za praćenje bankovnih transakcija „Hezbollah-a“. Razvijen je
na istoj platformi kao i Flame. „Saudi Aramco“ je naftna tvrtka iz Saudijske Arabije koju je
zahvatio špijunski program pod nazivom „Shammon“. Pretpostavlja se da je ovaj zlonamjerni
2 Mahdi-u islamu najčešće se koristi za označavanje božanskog vodstva3 Wiper-brisač, briše podatke s diskova
8
program nastao kao odgovor Irana na informatička oružja i naftni embargo kojim je on bio
napadnut. U tabeli prikazani su kronološki nastajanje verzija ,širenje i otkrivanje navedenih
zlonamjernih programa.
6 / 2009 Prva inačica Stuxneta
2 / 2010 Flame
3/ 2010 Širenje druge inačice Stuxneta
6/ 2010 Otkriven Stuxnet
12/ 2010 Duqu
6/ 2011 Špijunski programi zahvačaju računala tibetanskih aktivista
8/ 2011 Gauss započeo špijunažu
9/ 2011 Otkriven Duqu
11/ 2011 Akcija protiv sirijske oporbe upotrijebljeno više vrsta programa za špijunažu
2 / 2012 Otkriven Mahdi
4/ 2012 Wiper započeo napad
5/ 2012 Otkriven Flame
8/ 2012 Otkriven Gauss
8/ 2012 Otkriven Shamoon
6/2015 Duqu 2,0Kako je već spomenuto Stuxnet-ove glavne mete bili su sustavi za kontrolu rada koji koriste
upravljačke sklopove utemeljene na PLC-u. Važno je spomenuti da je Stuxnet napadao
samo Siemens-ove sustave dok u svijetu postoje različiti proizvođači potpuno identične
opreme. Stuxnet je tako i građen da se može infiltrirati u platforme odnosno operacijske
sustave na kojima se može instalirati Step7 ili PCS7. Spominju se takvi sklopovi unutar
elektrana i sličnih velikih industrijskih postrojenja, ali Stuxnet je specijalno bio namijenjen za
uništavanje centrifuga koje služe za obogaćivanje urana u Iranu. Direktno su ciljani PLC4
uređaji tvrtke Siemens modeli „Simatic“ S7 i PSC7, koji su koristili podatkovne blokove DB
890 i DB8062 s takvim postavkama koje se koriste isključivo u ciljanom okruženju kojeg se
napada. Jedna od glavnih komponenti koje je crv koristio bio je prvi PLC rootkit u povijesti.
Stuxnet je prvi zlonamjerni program koji prikriva svoje aktivnosti odnosno nije vidljivo da je
izmijenio kôd unutar samog PLC-a. Jedan od najvećih sigurnosnih propusta koji se iskazao
je prisuta u načinu pristupanja plc-a podacima, crvu je iskoristio sigurnosni propust u
Siemensovom SCADA softveru za upravljanje PLC-om („WinCC“), instaliranom na
računalima koja su izravno povezani sa PLC-om. Najveća pogreška tih sustava bila su
korisnička imena i zaporke za pristup bazi podataka koja su bila ručno upisana u
programskom kôdu. Tako poslužena , nezaštićena korisnička imena i zaporke crv je
4 PLC- programibilni logički kontroleri
9
jednostavno pročitao. Za širenje i stjecanje potrebnih privilegija na operacijskim sustavima
Windows Stuxnet je iskoristio njihove ranjivosti. Neke od tih ranjivosti su tzv. „zero-day“
ranjivosti, odnosno ranjivosti koje dotad nisu bile javno poznate. Najpoznatija je ranjivost
LNK ikona koja se koristila za širenje putem USB prijenosnih memorija. Osim preko USB
prijenosnih memorija, crv se širio i putem lokalnih mreža, a mogao se i nadograđivati putem
komandnih poslužitelja preko Interneta. Za preuzimanje kontrole nad računalima koje je
zarazio crv je koristio dva ukradena certifikata računalnih tvrtki s Tajvana. Time je bila
onemogućena bilo kakva sumnja u prisutnost zlonamjernog programa na računalu. Duqu je
također zlonamjerni program za koji će se utvrditi da je povezan sa Stuxnet-om. Naziv je
dobio po nastavcima na datotekama koje izrađuje (~DQ). Duqu su uspoređivali sa Stuxnet-
om, kao potpuno identičnim programima koji imaju različitu namjenu. Namjena Duqu je
prikupljanje povjerljivih informacija, odnosno špijuniranje meta koje sadrže informacije o
nuklearnom programu u Iranu. Duqu nije napadao PLC sustave. Zajedničko Duqu sa
Stuxnetom je korištenje iste programske platforme pod nazivom „Tilded“. Oba zlonamjerna
programa koristi ukradeni digitalni certifikat te iskorištavaju tkz. „zero-days“ ranjivosti jezgre
Windowsa. Duqu koristi ranjivost koja se koristi putem zlonamjernog Word dokumenta, a
vezana je uz sustav za obradu „Win32 True Type“ fonta. Duqu u sebi sadrži programa koji
snima pritisnute tipke (tkz.“keylogger“ program) i prikuplja sve sistemske informacije. Takve
informacije obično su povezane sa sustavima za kontrolu određenih industrijskih
postrojenja. Tako prikupljene podatke, Duqu sprema u kriptiranu JPEG datoteku odnosno
sliku. Do sadašnjom analizom nije poznato koje točno informacije Duqu prikuplja.
Slika 4. Raspored lokacija poslužitelja koje su koristili zlonamjerni programi
Poslužitelji koje je Duqu koristio nalazili su se u Indiji, Filipinima, Belgiji, Njemačkoj, Kini i
Vijetnamu. Analizom došlo se do spoznaja kako su se napadači koristili tim poslužiteljima od
studenog 2009. Otkriveni su nakon izvršenja brute-force napada na root lozinku. Dana 20.
listopada 2011. napadači su obrisali sve tragove koji bi ih povezali sa korištenjem tih
poslužitelja. Nakon brisanja nije izvučena nikakva korisna informacija kojom bi se mogao
10
dohvatiti kod ili izvor koda. Postoje indicije kako je Duqu od kontrolnih poslužitelja dobivao
naredbe za širenje putem lokalne mreže.
Slika 5. Usporedba koda zlonamjernog programa Duqu iz 2011. godine i najnovijeg iz 2015.
Symantec5 i Kaspresky6 su objavili kako je ovih dana došlo do aktivacije Duqu zlonamjernog
programa odnosno njegove druge verzije. Ova verzija Duqu-a nastanjuje se u memoriji
računala. Pošto ima dosta podudarnosti u kodu verzije 2 s prvom izvornom verzijom
pretpostavlja se da je došlo do aktivacije usavršene verzije Duqu. Tvrtka Symantec navodi
kako je pronašla dokaze o korištenju zlonamjernog programa Duqu V2.0 koji je korišten u
nekoliko različitih napada. Po njihovom navodu napadane su europski telekomunikacijski
operateri, telekom operateri Sjeverne Afrike i jugoistočne azijski proizvođač elektroničke
opreme. Također zaražena računala mogu se naći u SAD-u, Velikoj Britaniji, Švedskoj, Indiji i
Hong Kongu.
5 Symantec- američka tvtka koja se bavi proizvodnjom sigurnosnih programa6Kaspersky-ruska tvtka koja se bavi proizvodnjom sigurnosnih programa
11
Slika 6. Digitalni certifikat koji koristi Duqu2.0
Flame koji je također poznat i kao Skywiper otkriven je u svibnju 2012., nakon što su
otkriveni Stuxnet i Duqu. Zlonamjerni programi Flame i Duqu namijenjeni su za špijunažu.
Veličina Flame koja iznosi oko 20 megabajta nije karakteristika koju imaju zlonamjerni
programi. Koliko je snažan ovaj zlonamjerni program uvidi se pregledom liste sastavljene od
njegovih mogućnosti. Širi se putem USB prijenosnih memorija i uz pomoć lokalne mreže.
Flame može snimati audio zapise, raditi screenshot slike, bilježiti pritisnute tipke i snimati
mrežni promet. Tako prikupljene podatke, program šalje svojim kontrolnim poslužiteljima, od
kojih i prima naredbe. Jedna od naredbi je naredba „kill“ koja briše sve tragove
12
zlonamjernog programa sa zareženog računala. Nakon objave u javnosti o otkriću Flamea
napadači su pokrenuli upravu naredbu „kill“. Flame upotrebom krivotvorenog Microsoftovog
certifikata pojavljivao se kao posrednik poslužitelja zaduženog za instalaciju nadogradnji
sustava windows (windows update). Ove takozvane nadogradnje bile su zlonamjerni kod i
zapravo način uz pomoć kojega se Flame kao zlonamjerni program dalje širio unutar interne
mreže neke organizacije na koju je izvršen napad. Krivotvoreni certifikat je dobiven
izvršenjem napada na ranjivi kriptografski algoritam MD5. Zanimljivo je da prema
procjenama, za uspješnu primjenu ovakve tehnike potrebna su superračunala i računalne
opreme u vrijednosti od više stotina tisuća američkih dolara. Mahdi je špijunski zlonamjerni
program koji je nazvan prema datotekama koje referiraju muslimanskog mesiju. Mahdi je
najviše pogodio Irana, a osim Irana pogođeni su i Izrael, Afganistan, Ujedinjeni Arapski
Emirati i Saudijska Arabija.. Mahdi je snimao pritisnute tipke, pohranjivao slike s monitora
računala koje je bilo zaraženo tim programom, također je špijunirao audio razgovore te
kopirao tekstualne datoteke i slike. Izvršen je napad putem zaraženih privitaka u porukama
elektroničke pošte u kombinaciji sa socijalnim inženjeringom. Tako je otkriveno pet
poslužitelja Mahdija, smještenih u Kanadi. Nakon javnog objavljivanja informacija o Mahdiju,
otkrilo se kako su napadači u nekoliko navrata vršili nadogradnju programa, kako bi izbjegli
otkrivanje zlonamjernog programa od strane antivirusnih alata. Nije meta ovog špijunskog
programa bio samo Iran, mete novih inačica špijunskog programa nalazile su se u SAD-u i
Njemačkoj. Pretpostavlja se da su sve napadnute tvrtke izvan bliskog istoka napadnute zato
jer su bile poslovno povezane s državama bliskog istoka. Nakon izlaska u javnost u travnju
2012. godine informacije kako se pojavio virus koji gasi računalne sustave u Iranu, nikakvi
uzorci programskog koda nisu bili dostupni, pa se sumnjalo u te informacije. ITU
(Internacionalna telekomunikacijska unija) zajedno sa tvrtkom Kaspersky pokrenuli su istragu
o kakvom se zlonamjernom programu radi. Istraga je dovela do otkrića zlonamjernih
programa Flamea i Gaussa.
13
Slika 7.Distribucija Gauss zlonamjernog programa
Geografska rasprostranjenost zlonamjernog programa Gauss koju prikazuje slika pokazuje
da je najveća koncentracija tog zlonamjernog programa bila u Libanonu. Iza Libanona je
Izrael, zatim Palestina i SAD slijede ih Egipat Poljska i Rusija a kao zadnja je Ukrajina.
Potvrđeno je također i postojanje Wiper kao zasebnog zlonamjernog programa . Za razliku
od ostalih zlonamjernih programa koji su poharali Iran čija je zadaća bila špijuniranje ili
nanošenje štete Wiper je, imao zadaću potpuno brisanje sadržaja tvrdih diskova zaraženih
računala odnosno uništavanje podataka i tragova zlonamjernih programa. Wiper je bio u
sprezi s ostalim zlonamjernim programima to dokazuje da su prioritet za brisanje imale
datoteke s .pnf nastavkom, a te su datoteke upravo one koje su koristili Stuxnet i Duqu.
Nikada se nije službeno dokazalo posjedovanje primjerka Wiper-a koji bi poslužio za
analiziranje, jer je izrađen upravo tako da uklanja i svoje tragove koje on ostavlja iza sebe.
Tek analizom preostalih kopija tvrdih diskova otkrili su imena nekih obrisanih datoteka s
kojima se kasnije omogućilo otkriće Flamea i Gaussa. Tada su otkrivene i datoteke s
nastavkom .tip koje sadrže iste bajtove kao datoteke kod Stuxneta i Duqua.
Slika 8. Prijetnje raspoređene prema složenosti
Takva povezanost dovodi do zaključka da se radi o datoteci koja potječe iz programske
platforme „Tilded“, a na toj istoj platformi temelje se Stuxnet i Duqu. Međusobno povezanost
Stuxneta, Duqu,Flame i Gauss dokazuje i slijedeća slika.
14
Slika 9.Međusobna povezanost Stuxneta, Duqu,Flame i Gauss
15
4. Stuxnet crv
W32.Stuxnet je složeni malicioni softver s mnogo različitih komponenti i
funkcionalnosti. Stuxnet je izrađen za napad na industrijske sustave kontrole i upravljanja.
Industrijski sustav kontrole (engl. Industrial control system,) je pojam koji obuhvaća nekoliko
tipova sustava kontrole koji se upotrebljavaju u industrijskoj proizvodnji kao što su (SCADA7)
sustavi, distribuirani upravljački sustavi (DCS), i programabilni logički kontroleri (PLC).
Napad može biti izveden na različite načine no dva su najčešća. Prvi je napad omogućen
kada izvršavamo programiranje PLC-a računalom koje je zaraženo Stuxnet-om, dok je drugi
kada preko USB stika zarazimo računalo na kojem je instaliran PCS7 sustav, odnosno
WinCC8 sustav koji služi za upravljanje i nadzor PLC-a odnosno sustava kojim upravlja PLC.
Slika 10. Stuxnet kôd Siemens Simatic Manager Step 7 STL programu
7 SCADA- Supervisory Control And Data Acquisition8 WinCC-Siemens program za izgradnju aplikacija, sučelja za komunikaciju čovjek stroj i pohranu podataka
16
Slika 11. Kôd Stuxneta u Simatic manageru
Slika prikazuje dio kôda kojim si Stuxnet pribavlja najviša prava izvođenja svojeg kôda u
PLC-u koji se nalazi u FC1865 određuje ga naredbom UC9 što znači bezuvjetno izvršavanje ,
bez obzira u kojem si statusu izvrši moj kôd. Takav se kôd nalazi u OB 1 ili OB35 to su
organizacijski blokovi PLC iz kojih se pozivaju u izvršenje svi ostali blokov. Inflitracijom
Stuxnet côda u ova dva bloka Stuxnet sebi pribavlja najviša prava izvršavanja. Cilj Stuxneta
je reprogramiranje industrijskih sustava upravljanja tako da rade na način kako je to
napadač zamislio. U postizanju cilja tvorci kôda iskoristili su niz komponenti, uključujući i
iskorištavanje još neotkrivenih propusta :
-(engl. zero-day exploits)
-rootkit10 Windows sustava,
-prvi PLC rootkit
-tehnike za izbjegavanje antivirusnog softvera,
-ubacivanje u proces i dohvaćanje kôda
-inficiranje mrežne rutine
-peer-to-peer ažuriranje
-davanje naredbi i nadzor sučelja.
Kako bi se dokučila razina opasnosti koju Stuxnet crv ostvaruje, detaljno se pregledava
svaka njegova komponenta.
9 UC- unconditional call10 Rootkit je vrsta malicioznog softvera koja napadaču omogućuje udaljenu administrativnu kontrolu nad računalom
17
4.1. Osobine Stuxneta
Stuxnet ima mnoga osobina kao što su:
Samostalno kopiranje putem prijenosnih diskova i iskorištavanje ranjivost Windows
prečica za samostalno pokretanje (ranjivost Microsoft Windows prečica kod LNK i PIF
datoteka omogućuje napadaču izvršavanje kôda).
Širenje po LAN-u kroz ranjivost Windows usmjerivača ispisa (engl. Print Spooler).
Širenje kroz SMB protokol (engl. Server Message Block) iskorištavanjem propusta
prilikom poziva udaljene procedure kod Microsoft Windows Server servisa.
Kopiranje i izvršavanje na udaljenim računalima putem dijeljenih direktorija u mreži.
Kopiranje i izvršavanje na udaljenim računalima s pokrenutim WinCC poslužiteljem
baze podataka.
Kopiranje u Step 7 projekt (.S7P datoteke) na način da se automatski izvršava kada
se Step 7 projekt učita u PLC.
Ažuriranje unutar LAN-a putem peer-to-peer mehanizma.
Iskorištavanje ukupno četiri Microsoft ranjivosti, od kojih su dvije već spomenute
ranjivosti za samostalno umnožavanje, a druge dvije su ranjivosti za eskalaciju
privilegija koje tek trebaju biti objavljene.
Uspostavlja kontakt s upravljačkim i nadzornim poslužiteljem koji omogućuje hakeru
preuzimanje i izvršavanje kôda.
Sadrži rootkit Windows sustava kojim sakriva svoje datoteke.
Izbjegava sigurnosne mehanizme sustava na kojem se nalazi.
Imitira specifične ICS-e i mijenja kôd na Siemens PLC-u za potencijalno sabotiranje
sustava.
Skriva promjene kôda na PLC-u (u suštini rootkit za PLC).
4.2. Planiranje napada
Stuxnet je malicioni program specijalno izrađen za napad na industrijske sustave
kontrole kao što su plinovodi, elektrane. Takav napad se dogodio u Iranu gdje je pronađena
18
najveća zaraza Stuxnet crvom. Cilj je sabotiranje PLC-a tako da ne izvršava originalni kod
već djeluju na način kako je to napadač zamislio. Stuxnet je službeno otkriven u srpnju 2010.
godine, ali su informacije o njegovom postojanju postojale i prije. Industrijskim sustavima
kontrole (ICS) se upravlja pomoću specijaliziranog kôda sličnog asemblerskom jeziku koji se
nalazi na programibilnim logičkim kontrolerima (PLC). Simatic manager je program za
programiranje rada PLC-ova koji su u vrijeme pronalaženja Stuxnet crva mogli raditi na
Windows 32 bitnim operacionim sustavima koja obično nisu spojena na Internet ili internu
mrežu. Zadnja verzija Step7 V5.5 Siemens Simatic manegera može raditi na windows 64
bitnom sustavu, ali ona je izdana nakon pronalaska Stuxneta. Osim toga, industrijski sustavi
kontrole i sami većinom nisu spojeni na Internet, ali mogu biti umreženi u neki industrijski
lokalni LAN. Napadači najprije trebaju izvidjeti situaciju. Kako je svaki PLC konfiguriran na
sebi jedinstven način, napadač bi prvo trebao imati saznanja o strukturi ICS-a. Takva se
dokumentacija mogla ukrasti osobno ili ju je mogla preuzeti ranija verzija Stuxneta. Nakon
pribavljanja potrebne dokumentacije te upoznavanja s računalnim okruženjem, mogu
razvijati nove verzije Stuxneta ili verzije koja će odgovarati tom ICS-u. Napadači mogu
koristiti ogledno okruženje koje će uključivati potrebnu ICS opremu kao što su PLC, moduli i
periferije kako bi testirali svoj kôd. Napadači su, da izbjegnu svaku sumnju, datoteke sa
zlonamjernim kôdom i digitalno potpisali. Da bi to postigli napadači su se domogli dva
digitalna certifikata najvjerojatnije fizičkom krađom jer su dvije tvrtke od kojih su certifikati
ukradeni u neposrednoj blizini. Kako bi zarazio ciljani sustav, Stuxnet je trebao biti uveden u
ciljnu okolinu. Pretpostavka je da je do zaraze došlo neznanjem od treće strane kao što je
izvođač radova koji je imao pristup do objekta i sustava dok je izvorna zaraza vjerojatno
uvedena pomoću prijenosnog diska (USB stika). Nakon zaraze računala unutar sustava
Stuxnet se počeo širiti u potrazi za Siemens računalima Field PG, ( Windows računala koja
su namjenjena specijalno za programiranje PLC-ova). Većina od tih računala nisu
umrežena, zlonamjerni kôd pokušati će se proširiti na druga umrežena računala putem
prijenosnih diskova iskorištavajući još neotkrivenu (nezaštićenu rupu u sustavu) starijih Step
7 projekata. Umnožavanje preko mreže kroz LAN i prijenosne diskove vjerojatno služi kao
korak kako bi se zarazila Field PG11 računala. Kao što je spomenuto ranije, napadači preko
poslužitelja mogu kontrolirati Stuxnet. Ključno zaraženo računalo vjerojatno nije imalo pristup
Internetu tako da su sve potrebne funkcionalnosti za sabotažu sustava ugrađene izravno u
Stuxnet izvršnu datoteku. Ažuriranje ove datoteke vrši se peer-to-peer metodom koju
uspostavlja sam Stuxnet. Kada bi Stuxnet konačno pronašao pogodno računalo s
instaliranim Step 7 programom on bi izmijenio kôd na PLC-u. Stuxnet bi svoje modifikacije
sakrio tako da je svaki pokušaj da se otkrije zaraženi PLC bio uzaludan. Ovakve izmjene bi
11 PG računala—specijalna računala koja služe samo za programiranje PLC-ova
19
sabotirale sustav koji je vjerojatno vrlo visoke vrijednosti s obzirom na sredstva uložena u
stvaranju Stuxneta.
4.3. Kratki primjeri događanja informatičkih ratova
Rusija
U drugom rusko-čečenskom ratu koji je trajao od 1997. do 2001.godine Obije
zaraćene strane su se sukobile kako na vojnom području tako i u virtualnom prostoru.
Informatičkim bi ratom kontrolirale tok i sadržaj informacija i time oblikovale javno mišljenje.
Ubrzo nakon službenog završetka ovog rata 26. 8. 2002. u Moskvi dolazi do incident u
kazalištu kada su čečenski teroristi zarobili ruske civile. Ruska federativna služba sigurnosti
(FSB) je u više navrata rušila web stranice čečenskih terorista kako bi stvorila pomutnju
imeđu njima te prekinula tok informacija. U isto to vrijeme ruski su specijalci imali zadaću
oslobađanja civila. Informatički rat koji se dogodio 2007. Godine u Estoniji a kojemu je kao u.
uzrok bilo premještanje kipa „Brončani vojnik Tallinna12“. Na ovaj događaj uslijedilo je
masovnim ruskim DDoS (engl. Distributed Denial of Service) napadima koji su srušili web
stranice estonskih banaka, parlamenta, ministarstva. Kao i u svim anonimnim napadima tako
i u ovom ne postoje direktni dokazi koji bi povezali Rusku vladu s ovim napadima, Konstantin
Goloskokov, vođa ruskog pokreta mladeži pod nazivom Nashi, priznao je umiješanost u
napade . Rusko-gruzijski rat 2008.godine je prvi primjer informatičkog napada koji je direktno
prethodio napadu na teritorij druge države.
Kina
Pojavom hakerske zajednice Narodne Republike Kine (NRK) potaknuto je
ogorčenjem na anti-kineske nemire održane u svibnju 1998 u Indoneziji. Hakeri njih oko
3.000 se organiziralo i napalo web stranice vlade u Indoneziji. No samo godinu dana kasnije
7. 5. 1999. NATO-ov avion je bombardirao kinesku ambasadu u Beogradu. Kada je za ovaj
napad saznala kineska udruga hakera Red Hacker Alliance započela je napad na web
stranice američke vlade. Incident koji se se dogodio 2001. kada se kineski borbeni zrakoplov
sudario s američkim iznad sjeverno kineskog mora još je jedan od okidača u nizu za
djelovanje hakera. Tada je preko 80.000 hakera protumačivši ovaj događaj kao čin rata
započelo tkz. „obrambeni“ informatički rat.
12 Brončani vojnik Tallinna je spomenik posvećen poginulim vojnicima Sovjetskog saveza
20
Sjeverna Korea
Tijekom vikend 4. 7. 2009. srušena je nekoliko američkih web stranica DDoS
napadom. Na popisu srušenih web stranica našle se i stranica Bijele kuće. Nekoliko dana
kasnije tom su se popisu pridružile civilne i vladine stranice Južne Koreje. Ne postoje
konkretni dokazi, o napadaču ali se sumnja da je za to odgovorna Sjeverna Korea. Bez
obzira da ne postaje direktni dokazi u umiješanosti u napad dotične države, mediji i vladini
dužnosnici Južne Koreje vrše pritisak na Sjevernu Koreju.
Izrael
U prosincu 2008. od strane Izraela pokrenuo je operaciju Cast Lead13 (baci olovo)
protiv Palestine. Takva je akcija rezultirala informatičkim ratom između izraelskih i arapskih
hakera. Ono što je jedinstveno u ovom slučaju je da je dio hakera u ovom informatičkom ratu
angažirala država. Provaljivanjem članova izraelskih snaga u TV postaju Hamasa Al-Aksa i
emitiranjem animiranog crtića koji prikazuje smrt Hamasa s porukom „vrijeme odmiče“ (na
arapskom jeziku). Za razliku od informatičkog rata u Izraelu s onim u čečenskom, estonskom
i gruzijskom ratu gdje su djelovali hakeri s nacionalnim porivom hakere u Izraelu angažirala
vlast odnosno država. U slučaju kada u interesu jedne države djeluju anonimni hakeri to je
djelovanje teško pripisati toj državi.
13 Cast lead- u prijevodu baci olovo naziv je operaciju koja se vodila u ratu u Gazi
21
4.3. 1. Stuxnet kratki primjeri događanja
-20. 11. 2008. Pronađen trojanac Trojan14.
Časopis za sigurnost Hakin915 objavljuje detalje o ranjivosti usmjerivača
ispisa (propust kasnije identificiran kao MS10-061).
-lipanj 2009. Pronađena prvi uzorak Stuxnet crva koji ne iskorištava ranjivost MS10-
046 niti nema digitalno potpisane upravljačke programe.
-25. 1. 2010. Stuxnet upravljački program potpisan s važećim certifikatom Realtek
Semiconductor Corps.
-ožujak 2010. Prva verzija Stuxneta koja iskorištava ranjivost MS10-046.
-17. 6. 2010.Tvrtka VisusBlokAda pronalazi W32.Stuxnet (tada nazvan
RootkitTmphider) koji iskorištava propust .lnk prečaca za umnožavanje(propust
kasnije identificiran kao MS10-046).
-13. 7. 2010. Tvrtka Symatec dodaje definiciju otkrivenog trojanskog konja
W32.Temphid.
16. 7. 2010.Microsoft izdaje sigurnosno priopćenje za otkrivenu ranjivost MS10-
046.Kompanija Verisign povlači Realtek Semiconductor Crops certifikat.
17. 7. 2010. ESET identificira novi Suxnet upravljački program potpisan JMicron
Technology Crop certifikatom.
19. 7. 2010. Siemens izvještava o istragama zloćudnog programa koji inficira Siemens
WinCC SCADA sustave. Symatec preimenuje pronađenu prijetnju u W32.Stuxnet.
20. 7. 2010. Symatec nadzire Stuxnetov komandni i kontrolni promet.
22. 7. 2010. Kompanija Verisign povlači JMicron Technology Corps certifikat.
2. 8. 2010. Microsoft izdaje sigurnosnu zakrpu za MS10-046.
6. 8. 2010.Symatec izvještava kako Stuxnet može ubaciti i sakriti kôd na PLC-u
ugrožavajući industrijski sustav kontrole
14 Trojan-trojanski konj, maliciozni računalni program15 Hakin9 Poljska Internet stranica koja se bavi sigurnošću u IT-u
22
15. 9. 2010.Microsoft izdaje sigurnosnu zakrpu za MS10-061. Microsoft izvještava o
još dvije ranjivosti s eskalacijom privilegija koje je Symatec otkrio u kolovozu.
30. 9. 2010. Symatec izdaje obavijest i detaljnu analizu Stuxneta.
4.4. Stuxnet arhitektura
4.4.1. Organizacija
Stuxnet okruženje (jezgra ) sastoji se od .dll datoteke, koja sadrži različite eksporte
i resurse te dva kriptirana konfiguracijska bloka. Sve se to nalazi u dijelu programa koji služi
kao omotač kojeg nazivamo „stub“. Kod pokretanja programa omotač izvlači .dll datoteku iz
stub dijela, mapira ju u memoriju kao modul te poziva jedan od .dll eksporta. Kod eksporta
se preko parametara predaje pokazivač na originalni stub dio. Eksport tada izvlači .dll
datoteku iz stub dijela, mapira ju u memoriju i poziva drugi eksport unutar mapirane .dll
datoteke. Pokazivač na originalnom stub dijelu se dalje prosljeđuje sve dok traje izvršavanje
napada. Na taj način svaki sloj u svakom trenutku ima pristup glavnoj .dll datoteci i
konfiguracijskim blokovima. Pored učitavanja .dll datoteke u memoriju i direktno pozivanje
eksporta, Stuxnet također čita glavne .dll datoteke. Izvršni obrazac se popunjava
odgovarajućim podacima (.dll datoteka i odgovarajući eksporti) i zatim se ubacuje u drugi
proces koji se pokreće. Pokrenuti obrazac će tada učitati originalnu .dll datoteku i pozvati
eksport naredbe s kojima je popunjen.
4.4.2. Zaobilaženje softvera za blokiranje ponašanja
Kako ne bi bio otkriven, Stuxnet pri svakom učitavanju DLL-a koristi metode
zaobilaska programa za blokiranje ponašanja i drugih sigurnosnih mehanizama koji nadziru
LoadLibrary (LoadLibrary mapira specificiranu DLL datoteku u adresni prostor pozivajućeg
procesa) pozive. Stuxnet poziva LoadLibrary s posebno napravljenim imenom datoteke koja
ne postoji na disku što uzrokuje neuspjeh LoadLibrary funkcije kod učitavanja te datoteke.
Međutim, Stuxnet je dohvatio Ntdll.dll 16koji nadzire pozive za učitavanje tih posebno
napravljenih imena nepostojećih datoteka koje su mapirane na drugoj lokaciji. Tu lokaciju
određuje Stuxnet i to je obično područje gdje je .dll datoteka prije bila dekriptirana i
pohranjena. Imena datoteka odgovaraju uzorku KERNEL32.DLL.ASLR.[HEXADECIMAL] ili
SHELL32.DLL.ASLR.[HEXADECIMAL], gdje je varijabla [HEXADECIMAL].
16 Ntdll.dll je datoteka NT funkcije jezgre smještena u c:\windows\system32 datoteci
23
4.4.3. Tehnika ubacivanja
Pri pozivu eksporta Stuxnet ubacuje čitav DLL u drugi proces i zatim poziva
određeni eksport. Taj proces može biti proizvoljno napravljen ili odabrani pouzdan proces.
Kod ubacivanja u pouzdan proces, ubačeni kôd se može ili zadržati ili ubaciti u drugi trenutno
pokrenuti proces. Pouzdan proces se sastoji od seta predodređenih Windows procesa i niza
sigurnosnih proizvoda: kaspersky KAV (avp.exe), Mcafee17 (Mcshield.exe), AntiVir
(avguard.exe), BitDefender (bdagent.exe), Etrust (UmxCfg.exe), F-Secure18 (fsdfwd.exe),
Symatec (rtvscan.exe), Symatec Common Client (ccSvcHst.exe), Eset NOD32
(ekrn.exe),Trend Pc-Cillin (tmpproxy.exe), Dodatno, pretražuje se registar za instalacijom
slijedećih programa: KAV v6 do v9, McAfee,Trend PcCillin Ako je jedan od navedenih
sigurnosnih proizvoda instaliran, na temelju verzije sigurnosnog proizvoda određuje se u koji
će se proces ubaciti. U slučaju da se sigurnosni proizvod ne može zaobići ubacivanje kôda
se neće izvršiti. Tada će Stuxnet pokrenut odabrani proces u suspendiranom načinu rada.
Na mjestu adrese u .verif odjeljku Stuxnet postavlja skok na željeni ulaz u kôdu za
ubacivanje. Taj kôd se tada zapisuje u zadani proces i pozivom ResumeThread funkcije
izvršava se proces i u njemu ubačeni kôd. Ovom metodom se mogu zaobići sigurnosnih
proizvodi koji rade na tehnici blokiranja ponašanja. Uz stvaranje novog odjeljka i ulazne
točke, .stub dio (koji sadrži glavni .dll i konfiguracijske podatke) mapira se u memoriju novog
procesa pomoću zajedničkih dijelova. Na taj način novi proces ima pristup originalnom .stub
dijelu i kada se proces pokrene, ubačeni kôd će raspakirati .dll datoteku i pozvati
odgovarajući eksport.
4.5 Instalacija
Kada se učita .dll datoteka, prvo se poziva eksport. Zadatak eksporta jest provjera
ažurnosti konfiguracijskog bloka podataka. Konfiguracijskih blok podataka može bit
pohranjen na dva mjesta, Stuxnet provjerava koji od ta dva više ažuran i nastavlja dalje s tim
blokom. Zatim se utvrđuje da li se radi o 64-bitnom računalu ili 32-bitnom. Ukoliko se radi od
64-bitnom, prestaje se s daljnjim izvođenjem. Ako se radi o 32-bitnom, provjerava se verzija
operacijskog sustava. Suxnet će raditi samo na slijedećim verzijama operacijskog sustava:
Win2K, WinXP, Windows 2003, Vista, Windows Server 2008, Windows 7, Windows Server
2008 R2. Ako računalo ne radi na niti jednoj od navedenih platformi, prestaje se s daljnjim
izvođenjem. Slijedi provjera administratorskih prava na računalu. Stuxnet želi raditi s
najvećom razinom prava kako bi mogao izvoditi što više dozvoljenih operacija. U slučaju da
nema potrebnu razinu prava, podignut će ju s jednim od dva propusta za eskalaciju
17 Mcafee- američka tvrtka za izradu sigurnosnih programa18 F-Secure-Finska tvrtka koja proizvodi antivirusne programe
24
privilegija. Koji točno od ta dva propusta će se koristiti ovisi o vrsti operacijskog sustava na
ugroženom računalu. Ako računalo ima operacijski sustav Windows Vista, Windows 7 ili
Windows Server 2008 R2, koristit će se propust u Microsoftovom raspoređivaču zadataka
(engl. Task Scheduler) dok se kod operacijskog sustava Windows XP i Windows 2000
upotrebljava ranjivost Win32k.sys datoteke. Oba slučaja rezultiraju time da se glavna .dll
datoteka pokreće kao novi zadatak u slučaju ranjivosti raspoređivača zadataka ili unutar
csrss.exe procesa u slučaju Win32k.sys ranjivosti zatim kod provjerava vrijednost „NTVDM19
TRACE“ u registarskom ključu
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MS-DOS
Emulation. Vrijednost jednaka 19790509 označava da se računalo ne treba zaraziti ili da je
već zaraženo. Zatim provjerava datum konfiguracijskih podataka (pomak 0x8c u
konfiguracijskim podacima). U slučaju da trenutni datum premašuje 24. 6. 2012. (trenutno
postavljeni datum u konfiguracijskim podacima), također neće doći do zaraze. Stuxnet
komunicira s ostalima komponentama putem globalnih mutexa. Da bi stvorio te mutexe
stuxnet prvo mora osigurati pravo pisanja. To postiže pokretanjem SetSecurityDescriptorDacl
funkcije na računalima s operacijskim sustavom Windows XP ili SetSecuritySacl API na
računalima s operacijskim sustavom Windows Vista na dalje. Sutxnet zatim iz .stub dijela
kriptira i zapisuje datoteke na disk, te datoteke su:
Glavni .dll za pokretanje snimljen kao Oem7a.pnf
Datoteka duljine 90 okteta kopirana u %SystemDrive%\inf\mdmeric3.pnf
Konfiguracijski podaci kopirani u %SystemDrive%\inf\mdmcpq3.pnf
Dnevnik događaja kopiran u %SystemDrive%\inf\oem6C.pnf
Ponovo se provjerava da li datum premašuje 24. 6. 2012. Čitanjem verzije s diska i
učitavanjem u memoriju provjerava se da li je trenutna verzija Stuxneta najnovija. Nastavlja
se s najnovijom verzijom i iz dijela resursa se izvlače i zapisuju dvije datoteke na disk. Te
datoteke se čitaju iz dijela resursa 201 i 242 te se zapisuju na disk kao Mrxnet.sys i
Mrxcls.sys. Jedna služi za pokretanje, a druga za sakrivanje kôda na zaraženom računalu i
zamjeni obrisanih datoteka. Kako bi se osiguralo da se ove datoteke pokrenu prilikom
podizanja sustava postavljaju se potrebne izmjene u registru računala. Stvaranjem novih
globalnih mutexa20 Stuxnet signalizira ostalim komponentama da je instalacija uspješna i
predaje kontrolu drugim eksportima da dovrše instalaciju i zarazu računala. Jedan od tih
eksporta je eksport 32 koji je odgovoran za zarazu prenosivih diskova i pokretanje RPC
servera, a drugi je eksport 2 koji služi za zarazu svih Step 7 projekata. Od tuda na dalje
19 NTVDM—NT virtual dos machine20 Mutex-program (objekt) koji omogućava da više programa dijeli isti izvor
25
izvršavanje Stuxneta se odvija putem ova dva eksporta te datoteka i servisa koju su stvoreni
prilikom instalacije.
Slika 12. Instalacija Stuxnet-a
4.5.1 Pokretanje
Prilikom instalacije Stuxnet postavlja datoteku Mrxcls.sys koja služi za pokretanje
Stuxneta prilikom podizanja sustava. Mrxcls.sys je upravljački program koji je digitalno
potpisan certifikatom kompanije Realtek i JMicron. Ova datoteka je zapisana kao servis za
podizanje sustava u registru računala s odgovarajućim registarskim ključem. Cilj ovog
upravljačkog programa je ubacivanje i izvršavanje kopija Stuxneta u odgovarajućim
procesima. Podaci o procesima i modulima koje treba izvršiti zapisani su u registarskom
ključu u obliku para: ime procesa − modul za ubacivanje:
services.exe − %Windir%\inf\oem7a.pnf
s7tgtop.exe − %Windir%\inf\oem7a.pnf
CCProjectMgr.exe − %Windir%\inf\oem7a.pnf
explorer.exe − %Windir%\inf\oem7m.pnf
Tako će se u procese services.exe, s7tgtop.exe i CCProjectMgr.exe ubaciti oem7a.pnf koji
sadrži kopiju glavne .dll datoteke. Kod procesa instalacije crv može ako su pokrenuti ugasiti
procese explorer.exe i S7tgtopx.exe.Stuxnet u sebi ima integriranu specijalnu funkciju koja
će inficirati sve Step7 projekte ali neće inficirati primjere. Prije dovršetka instalacije Stuxnet
26
će se probati spojiti na RPC21 poslužitelja kojeg je prethodno uspostavila jedna od njegovih
funkcija dok će podatke o spajanju pohraniti u svoju log datoteku. Nakon dovršenog
ubacivanja pokrenut će se Stuxnet.
4.6. Rad Stuxneta
Valja se podsjetiti da je glavni cilj Stuxneta bio reprogramiranje i zaraza specifičnih
programabilnih logičkih kontrolera (PLC). PLC uređaji sadrže blokove kôda napisanih
programskim jezicima kao što su STL ili SCL. Prevedeni (kompajlirani) kôd tih jezika se zove
MC7. Te blokove kôda upotrebljava PLC kako bi kontrolirao, izvršavao i nadgledao rad
industrijskog procesa. Najčešće vrste blokova koje koristi PLC su sljedeći:
Blokovi podataka (DB) - sadrže specifične podatke za programe, kao što su brojevi,
strukture, i tako dalje.
Sistemski blokovi podataka (SDB) - sadrže podatke o tome kako je PLC je
konfiguriran. Stvaraju se ovisno o broju i vrsti modula hardvera spojenih na PLC.
Organizacijski blokovi (OB) - ulazna točka programa. Oni se izvršavaju ciklički od
strane procesora. U odnosu na Stuxnet, dva su značajna organizacijska bloka OB1 je
glavna ulazna točka PLC programa. Izvršava se ciklički, bez posebnih vremenskih
zahtjeva. OB35 čuva sustav. Izvodi se svakih 100 ms i pratiti kritične unose kako bi se
pravovremeno moglo odgovoriti kritične situacije.
Funkcijski blokovi (FC) - standardni blok kôda. Oni sadrže kôd kojeg izvršava PLC.
Za pristup PLC-u koristi se softver Step 7 s kojim se može pregledati sadržaj memorije
PLC-a, konfigurirati postavke ili ispravljati pogreške učitanog kôda. Za komunikaciju između
PLC-a i računala na kojem je instaliran Step 7 koji služi za programiranje PLC-a koristiti se
datoteka s7otbxdx.dll. Kada se pokrene, Stuxnet preimenuje originalnu datoteku
s7otbxdx.dll u s7otbxsx.dll i zamjenjuje ju sa svojom verzijom. Stuxnetova verzija sadrži sve
eksporte originalne .dll datoteke (maksimalno njih 109) kako bi normalno upravljao svim
zahtjevima. Većina tih eksporta jednostavno se prosljeđuju pravoj .dll datoteci sada nazvanoj
s7otbxsx.dll. U stvari, 93 od izvornih 109 eksporta radi na ovaj način. Međutim, 16 eksporta
koji se ne prosljeđuju služe za presretanje zahtjeva i preusmjeravanje na Stuxnetovu .dll
datoteku. Presretanjem tih zahtjeva Stuxnet može neopaženo mijenjati podatke koji se šalju i
primaju s PLC-a. Ovaj način se upotrebljava također kako bi se sakrio zlonamjeran kôd na
PLC-u. Stuxnet će zaraziti PLC drugačijim kôdom ovisno o sustavu na kojem se nalazi.
Redoslijed zaraze sastoji se blokova kôda i blokova podataka koji će se ubaciti u PLC.
21 RPC –remote procedure call
27
Postoje tri glavna redoslijeda zaraze nazvana A, B i C. Redoslijed A i B su vrlo slični i bit će
promotreni zajedno, dok se redoslijed C čini onemogućen ili djelomično dovršen. Ako je
pokrenut unutar DLL datoteke ccrtsloader.exe, zlonamjerni s7otbxdx.dll započinje dvije
dretve odgovorne za zarazu specifične vrste PLC-a. Prva dretva pokreče rutinu zaraze
svakih 15 minuta. Informacije o ciljnom PLC-u u dohvaćene pomoću eksporta s7db_open().
Ova rutina zaraze specifično napada serije procesora 6ES7-315-2 (serija 300) s posebnim
karakteristikama sistemskih podataka (SDB). Kada se pronađe specifični PLC, izvršavaju se
slijedeći koraci:
Provjerava se PLC-a pomoću s7ag_read_szl API-a. PLC mora biti tipa 6ES7-315-2.
Provjeravaju se SDB blokovi kako bi se utvrdilo da li PLC treba biti zaražen i ako da,
kojim redoslijedom (A ili B).
Ako prva dva koraka prođu, započinje pravi proces zaraze. Blok DP_RECV 22se kopira
u FC1869 i zamjenjuje se zlonamjernim blokom ugrađenim u Stuxnet.
Zlonamjerni blok se zapisuje u PLC odabranim redoslijedom zaraze. Izvršava se
zaraza organizacijskog bloka OB1 kako bi se zlonamjerni kôd pokrenuo početkom
ciklusa.
Također se radi zaraza organizacijskog bloka OB35. On nadzire rad i pod određenim
uvjetima može zaustaviti izvršavanje bloka OB1.
Druga dretva redovito (svakih pet minuta) šalje upit prema PLC-u za specifični blok DB890
ubačen pomoću prve dretve. Svrha ove dretve je da nadzire sve PLC-ove tipa S7- 315 na
sabirnici. Kada se pokrene rutina za sabotažu ova dretva piše u sve blokove DB890 na
sabirnici kako bi svih ostali PLC-ovi također započeli rutinu sabotaže. Na taj način napad se
odvija istovremeno na svim S7-315 uređajima koji se nalaze na istoj sabirnici.
22 DP_RECV-blok za komunikaciju PLc sa WinCC i perifernim jedinicama
28
Slika 13. Siemens PLC i HMI
4.7 Prikaz zaraze Stuxnet-om na konkretnom primjeru
Što se zapravo dogodilo ? Analiza primjera. Prije zaraze računala Stuxnet-om
pregledom Windows/system32 direktorija
29
Slika 14. Siemens Simatic Manager STEP7 sučelja
Slika prikazuje Siemens Simatic projekt s konfiguracijom sklopovlja i blokovima koji
zajedno sačinjavaju upravljački program. Takav se program spušta u odgovarajući plc koji
zajedno sa svojim sklopovskim perifernim jedinicama i aktuatorima upravlja postrojenjem.
Vrlo je teško razlikovati zaraženi i ne zaraženi program plc-a. Potrebno je izvršiti
uspoređivanja arhiviranog ne zaraženog programa i programa u plc-u preko Hash algoritma
što nas dovodi do mogućnosti zaraze računala sa kojim to želimo napraviti. Ovakav je
program preko plc sučelja povezan sa WnCC aplikacijom koja je instalirana na nekom
računalo s windows operacijskim sustavom. Siemens WinCC sustavi, programi za
programiranje takvih sustava i plc-a mogu se instalirati samo na windows operacijske
sustave.
30
Slika 15. WinCC grafičko sučelje za programiranja HMI
Slika prikazuje projekt u Siemens WinCC programu u koje se izrađuje aplikacija koja
će služiti kao grafičko sučelje u interakciji čovjeka i stroja. U ovom programu napravljeni su
jedni od najvećih propusta te ih je Stuxnet iskoristio kako bi preko njih dohvaćao kod u plc-u
kojeg je izmjeni na način kako je to želi napadač. U najvećoj mjeri računala na kojima je bio
instaliran WinCC i njegove aplikacije nisu bila povezana s internetom što je dovelo do toga
da ta računala nisu bila ažurirana Microsoftovim zakrpama za instalirani operacijski sustav.
Neke od tih propusta Stuxnet je koristio kod inficiranja računala i dodjela ovlasti.
31
Slika 16. Grafičkog dizajnerskog sučelja WinCC programa
Slika prikazuje grafičko sučelje dizajnera aplikacije u Siemens WinCC programu. Pomoću
takvog programa izrađujemo grafički dizajn aplikacije koja će služiti kao korisničko sučelje za
upravljanje nadziranja i promjenu radnih parametara postrojenja.
32
Slika 17. DLL EXPORTI
Tabela prikazuje exporte koje koristi Stuxnet kod zareze računala, umnožavanja na druge
prijenosne usb memorije odnosno distribucije putem mreže u kojoj se nalazi. Stuxnet je
sposoban sam napraviti ažuriranja (update) ako na drugom računalu u mreži pronađe
datoteke novijeg izvora.
33
Slika 18.Način zaraze
Način zaraze i provjere koje sam crv radi u postupku zaraze. Naime neće svako računalo biti
zaraženo na kojem je instaliran PCS7 ili WinCC programa postoji niz provjera koje crv
Stuxnet radi prije nego što zarazi računalo .
Slika 19. Datoteke ne inficiranog sustava 1
Slika 19 prikazuje stanje ne zaraženog računala odnosno sustava u kojem postoje samo
dvije datoteke mrxdav.sys i mrxsmb.sys. Kasnije ćemo vidjeti da nakon zaraze Stuxnetom
nastaju neke nove datoteke.
34
Slika 20. Datoteka ne inficiranog sustava C:\windows\inf
Također kod pregleda datoteke C:\windows\inf , kod ne zaraženog računala postoje datoteke
oem6.inf, oem6.PNF, oem7.inf, oem7.PNF , dok će kod zaraženog računala postojati još
neke datoteke koje je stvorio Stuxnet sa dodanim još jednim slovom u imenu.
35
Slika 21. Datoteka s7otbxdx.dll ne inficiranog sustava
U direktoriju C:\windows\system32 kod ne zaraženog računala postoji datoteka s7otbxdx.dll
kad se računalo zarazi Stuxnetom što ćemo uraditi u sljedećem koraku ta se datoteka
preimenuje i Stuxnet postavlja svoju datoteku istog imena.
Slika 22. Datoteke Stuxneta na usb prijenosnoj memoriji pod O.S. Linux
Slika prikazuje datoteke Stuxneta pregledavane na Linux operacionom sustavu kojeg
zlonamjerni program Stuxnet nemože zaraziti.
Slika 23. Datoteke Stuxneta na usb prijenosnoj memoriji O.S. Windows
Ovako kao na slici vide se datoteke Stuxneta na windows operativnom sustavu. Da je sustav
zaražen odnosno da je Stuxnet prisutan možemo već zaključiti kada priključimo usb
memoriju jer se Stuxnet datoteke na usb memoriji ne bi vidjele. Naime Stuxnet kada se
instalira na računalo prikrije postojanje svojeg koda i datoteka.
36
Slika 24.Nevidljive Stuxnet datoteke na usb memoriji nakon izvršene zaraze
Nakon zaraze Stuxnet-om datoteke koje sadrže Stuxnet kod nestaju odnosno nisu više
vidljive na usb prijenosnoj memoriji.
Slika 25. Novo nastale datoteke mrxcls.sys i mrxnet.sys
Prilikom inficiranja računala nastaju nove dvije datoteke „mrxcls.sys „ i „mrxnet.sys“.
Zanimljivo je da Stuxnet mijenja vrijeme nastanka tih datoteka te unosi potrebne ključeve u
registar kako bi se obadvije datoteke pokretale kao servisi. Provode se svi ovi postupci kako
se ne bi posumnjalo u postojanje crva odnosno zaraze.
37
Slika 26.Prvi ukradeni Certifikat Realtek Semiconductor Corporation
Prvi ukradeni certifikat s digitalnim potpisom koji otklanja bilo kakvu sumnju o zarazi. Jedino
što nedostaje ovom certifikatu je e-mail adresa na što u prvi mah nitko nije obraćao pažnju.
Slika 27.Drugi ukradeni certifikat s digitalnim potpisom
38
Slika 28.Novo nastale datoteke u C:\windows\inf nakon zaraze računala Stuxnet-om
Uz postojeće datoteke oem6.inf, oem6.PNF, oem7.inf, oem7.PNF nezaraženog računala kod
zaraženog pojavljuju se još oem6C.PNF , oem7A.PNF, mdmeric3.PNF i mdcpq3.PNF.
39
Slika 29. Novo nastale datoteke nakon zaraze računala Stuxnet-om
Uz datoteku s7otbxdx.dll koja je pogonski program (driver) za komunikaciju između WinC
programa instaliranog na računalu sa operacijskim sustavom windows i plc-a pojavljuje se i
datoteka s7otbxsx.dll koja prije zaraze Stuxnet-om nije postojala.
40
Slika 30.Usporedba dviju datoteka hash algoritmom
Upotrebom Hash algoritma izrađena usporedba datoteka istog naziva prije zaraze i poslije
zaraze. Rezultat pokazuje da to nisu iste datoteke. Pravilo Hash algoritma kaže ako su dva
izlaza dobivena istom funkcijom različita onda su i ulazi bili različiti.
Slika 31.Pojava novog pogonskog programa –drivera
Nakon izvršene zaraze računala Stuxnet-om u C:\windows\system32 direktoriju pojavljuje se
novi pogonski program, nova dll. datoteka s oznakom s7otbxsx.dll. U nastavku ovog rada uz
41
pomoć hash algoritma pokazati će se da je novo nastala datoteka u stvari preimenovana
s7otbxdx.dll datoteka iz još ne zaraženog računala.
Slika 32. Usporedba datoteka hash algoritmom
Dodavanjem novo nastale datoteke s7otbxsx.dll i provedbom hash funkcije nad njom
dobijemo isti rezultat kao i kod provedbe hash funkcija nad datotekom s7otbxdx.dll prije
zaraze. Ovaj podatak nas dovodi do zaključka da je Stuxnet zamijenio ime originalnoj
datoteci te ubacio svoju datoteku koju je nazvao originalnim nazivom. Nakon izvršene
zaraze računala u mojem se primjeru ništa značajno nije dogodilo, što potkrjepljuje navode
stručnjaka koji su detaljno analizirali kod Stuxnet-a kako je Stuxnet izrađen ciljano za
određenu vrstu napada i ciljeva. U mojem projektu nisam upotrijebio konfiguraciji kavu
Stuxnet traži da bi mijenjao kod programa plc-a. Ovaj događaj dovodi do zaključka kako
računalo i plc mogu biti inficirani a da se ništa značajno ne dogodi. Zbog toga je potrebno
pribaviti konfiguraciju programa u plc-u kako bi se mogao izvršiti ciljani napad. No takav
zaključak nikako ne znači sigurnost za ostale sustave koji ne upotrebljavaju takvu
konfiguraciju u kojoj sadašnja verzija Stuxnet-a ne mijenja kod u plc. Sigurnosne postupke i
politike treba provoditi stalno jer pitanje je samo vremena kada će se pojaviti drugačija
inačica Stuxnet-a.
42
5. Zašitita.
Sprječavanje i ublažavanje Stuxnet napada.Danas stručnjaci nude savjete, postoje konzultantske firme koje nude usluge o tome
kako zaštititi svoju računalnu mrežu i računala. Ugledni stručnjaci poznatih tvrtki kao što su
Symantec, Kaspersky, McAfee grade misiju svojih tvrtki na savjetima i rješenjima kako se
nositi sa Stuxnet napadom te napadima poput Stuxneta. Iako se mnogi savjeti razlikuju, svi
se slažu u jednom: ne postoji jedinstveno rješenje koje će blokirati napad poput Stuxnet, ali
opsežne protumjere koje uključuju sigurnosne procese i sigurnosnu politiku mogu značajno
smanjiti negativne posljedice koje proizlaze iz takvih napada. Svaka takva strategija
ublažavanja posljedica trebala bi se temeljiti na čvrstoj obrani koja koristi višestruke neovisne
razine zaštite. Iako će uvijek biti moguće pronaći nedostatke u pojedinom sigurnosnom
rješenju, propust u cjelovitoj višestrukoj razini zaštite bi trebalo biti značajno teže pronaći i
iskoristiti. Predloženi koncept obrane mogao bi se podijeliti u dvije zasebne faze: prevencija i
reakcija. Prvi skup protumjera trebao bi biti preventivne naravi i dizajniran na način da se
smanji mogućnost zaraze prilikom napada. Drugi skup protumjera trebao bi biti reaktivne
naravi i dizajniran na način da smanji negativne posljedice ukoliko do napada dođe. Svaki
skup protumjera trebao bi se sastojati od pasivne i aktivne komponente kojima će se
obuhvatiti izravno i neizravno djelovanje na događaj. Ove protumjere se tada primjenjuju u
stvarnom vremenu ovisno o trajanju i utjecaju napada.
5.1. Preventivno pasivne mjere
Preventivne protumjere služe za suzbijanje nedostatka sigurnosti u okviru sustava
kontrole okruženja i odražavaju sigurnosne postupke koji bi se trebali provest na svim
sustavima i prije događaja poput Stuxneta. Te protumjere uključuju djelotvorne sigurnosne
politike i procedure. Politike i procedure su prvi korak u sigurnosti kontrolnog sustava. Te
politike i procedure treba pregledavati i ažurirati s ciljem kontinuiranog poboljšanja.
Sigurnosna politika treba biti rađena u odnosu na posebne zahtjeve za komunikacijom,
uključujući protokole, vrata, itd. Ova informacija je od bitnog značaja i bit će korištena u
kasnijim protumjerama za identificirati osumnjičenog prometa te je osnovni zahtjev za sklad s
ISA-99 standardom.
Mjere:
43
Provođenje programa sigurnosne informiranosti među zaposlenicima organizacije.
Onemogućavanje korištenje USB uređaja unutra strožih sigurnosnih zona.
Primjenu pravila korištenja softverskih ograničenja koja sprečavaju izvršavanje kôda
na udaljenom i prijenosnom mediju.
Onemogućavanje svih nepotrebnih usluga i servisa.
Uklanjanje korisničkih imena i lozinki s unaprijed dodijeljenom vrijednosti.
Pridržavanje osnovnih sigurnosnih smjernica kao što je jačina sigurnosne lozinke i
dodavanje lozinki s određenom razinom pristupa.
Testiranje sustava na poznate ranjivosti (tijekom minimalnog opterećenja ili dok sustav
nije u pogonu) kako bi se mogla procijeniti i zabilježiti konfiguracija protiv poznatih
ranjivosti i utvrditi osnovne smjernice ponašanja sustava.
Implementaciju programa za upravljanje i ažuriranje zakrpa operacijskog sustava i
instaliranih aplikacija.
5.2 Preventivno aktivne mjere
Instalacija mjerodavnih vatro zida, antivirusnih i antispyware aplikacija na svim
računalima.
Instalacija sustava za detekciju uljeza na centralnom računalu.
Implementacija metoda za praćenje rada prilikom autorizirane prijave na
sustav.Trebala bi se pratiti svaka aktivnost, od prijave na sustav do rada s podacima.
Dnevnik zabilježenih događaja ne bi trebalo pohranjivati na isti uređaj koji generira
dnevnik nego na odvojeni uređaj. To otežava napadaču sakrivanje tragova i pomaže u
analizi prije i nakon napada. Sustavi za sigurnost informacija i bilježenje događaja
(engl. Security Information and Event Managment, skraćeno SIEM) su dizajnirani
upravo za tu svrhu.
Sigurnosne aplikacije temeljene na dopuštanju dozvoljenog ponašanja bi trebale
prednjačiti nad onima koje zabranjuju nedozvoljeno kako bi se smanjila mogućnost
iskorištavanja neotkrivenih propusta.
44
Pravila vatro zida bi trebala biti podešena da po podrazumijevanom vrijednošću
„odbijaju“ odlazni promet iz mreže kontrolnog sustava.
Upotrebljavati digitalno potpisivanje kôda u svim kritičnim sustavima. Promjene i
ažuriranje kôda bi se trebalo pratiti i uspoređivati u odnosu na digitalni potpis
proizvođača. Ako se potpisi ne podudaraju treba zabraniti novo pristigli kôd.
Vrlo važan aspekt suzbijanja negativnih posljedica napada je identifikacija potencijalne
prijetnje. Možda nije moguće suzbiti sve prijetnje koje iskorištavaju neotkrivene
propuste, ali cilj bi trebao biti otkriti aktivnosti koje bi mogle upućivati na napad i
minimizirati posljedice. SIEM sustavi trebali bi biti instaliran i automatski analizirati i
povezati podatke kojise proizvedu i sačuvaju u dnevniku sustava i dnevniku događaja
diljem mreže.
Provesti integraciju sustava za praćenje upada i SIEM sustava unutar mreže. Ovi
sustavi će pregledati uzorke prometa i stvoriti temelj za prihvatljivo korištenje mreže.
Korištenjem tih podataka mogu se podešavati pravila sigurnosnih politika kako bi se
identificirale varijacije od prihvatljivog ponašanja.
Implementirati metodu i pravila za praćenje izlaznog prometa gledajući tko, što, kada,
gdje i kako napušta mrežu. Pravilno podešena pravila generirat će upozorenja za
potencijalne napade od strane klijenta.
Implementirati pasivne pretraživače ranjivosti (engl. Passive Vulnerability Scanners,
skraćeno PVS) za praćenje i povezivanje neobičnog prometa na mreži..
Osnovna ideja honeypota je privući napadača na naizgled ranjiv uređaj. Radi se više o
forenzičkom alatu, nego obrambenom alatu koji se upotrebljava kako bi se dobile vrijedne
informacije o korištenim metodama napada ili o predstojećim napadima prije nego se oni
dogode. Primjenom ovih mjera više nije moguće spriječiti ili zaustaviti napad, ali vrlo je važno
da se sigurno prikupe forenzički podaci u slučaju da do napada dođe. Aktivnom analizom
podataka prije i poslije napada mogu se ublažiti posljedice. Većina ovih sigurnosnih mjera se
koristi za forenzičke svrhe i učenje o tome što se nije i što se može napraviti kako bi se
spriječio sličan napad u budućnosti. Kada je napad identificiran, operativno osoblje ili
automatizirani postupci bi trebali izolirati pogođena računala ili segmente mreže sve dok ona
nisu ponovo pouzdana . Komutacijski čvorovi (engl. switch), usmjerivači, vatro zidovi i sama
računala mogu se koristiti za izolaciju napada u tijeku. Jednom kada je do napada došlo, sve
nebitne komunikacijske kanale treba filtrirati i pomno pratiti kako bi se suzbio napad a
istovremeno osigurao rad postrojenja. Treba definirati planove reakcije na napad, testirati i
ažurirati utvrđenim vremenskim periodom kako bi bili učinkoviti u slučaju napada. Procedure
45
za odgovor na incident i nastavak poslovanja trebaju biti definirane i održavane kako bi se
omogućilo nesmetano poslovanje dok se sustav oporavlja od napada. Kod metodologije i
koraka pri postupku forenzičke analize potrebno je obratiti pažnju kako bi se očuvao integritet
podataka unutar zaraženog sustava Kao posljednji izbor, bit će, ugasiti zahvaćeni proces
kako bi se smanjila šteta za okoliš ili gubitak koji proizlazi iz potencijalnog kvara na sustavu.
46
6. Statistika zaraze
Symantec tvrtka je 20. 7. 2010. uspostavila sustav kontrole prometa prema
Stuxnetovom poslužitelju za upravljanje i nadzor. Podaci koji su se slali poslužitelju su
kriptirani i sadrže informacije kao što su unutarnja i vanjska IP adresa, ime računala, verzija
operacijskog sustava te da li računalo ima instaliran Step 7 softver. Promatranjem više od
40 000 jedinstvenih IP adresa iz 155 zemalja utvrđeno je da 58,85% svih zaraza dolazi iz
Irana, 18,22% iz Indonezije, zatim 8,31 % iz Indije, 2.57% iz Azebaijan, a nadalje ih slijede
Pakistan sa 1,28% i ostale sa 9,20%.[10]
Slika 33.Graf Postotak zaraze po zemljama
47
Slika 34 :Zaraze Stuxnet virusom
Prikazom zaraženog područja na slici 27 uviđamo da je prostor najveće zaraze bio prostor
bliskog istoka odnosno sam Iran nakon kojeg slijede Indonezija, Indija i Azerbejdžan.
U manjim količinama zabilježene su i zaraze Stuxnet-om U Rusiji , Njemačkoj i SAD-u.
48
Zaključak
Razvojem informatičkih tehnologija te digitalne povezanosti kao i porastom
sposobnosti korisnika, vrlo je vjerojatno da će protivnici razviti nove načine i vještine za
provedbu napadačkih i obrambenih digitalnih strategija. Budući ratovi mogli bi se dobivati bez
ispaljenog metka. Neprijatelj bi mogao pritiskom gumba zatvoriti cjelokupnu nacionalnu
infrastrukturu drugoga te kompletno kontrolirati ili uništiti njegove komunikacijske mreže. To
bi moglo značiti prijetnje iz cijelog svijeta pa čak i od država bez sposobnosti izvršavanja
konvencionalnog napada. Takve prijetnje zahtijevaju razvoj i implementaciju novih Internet
arhitektura više otpornih na nezakonito korištenje za razorno svrhe. To bi podrazumijevalo
snažnije kodiranje, znatno snažniji sustav kontrole upada, razvoj sigurnijih operativnih i
softverskih te bolje i brže primjenjivanje sigurnosnih zakrpa. U pogledu informatičkog
ratovanja Stuxnet predstavlja dosad najsloženije i najopasnije digitalno oružje ikad izrađeno.
Prvi je koji iskorištava četiri neotkrivene ranjivosti, kompromitira dva digitalna certifikata te
ubacuje kôd u industrijske sustave vođenja i sakriva ga od operatora. Zbog kompleksnost i
utrošenih resursa u proizvodnji takvog kôda, smatra se da je Stuxnet prvi računalni crv
izrađen uz potporu države ili nacije. Dodatnu podršku toj tvrdnji daje i svrha za koju je
izrađen, sabotaža iranskog nuklearnog programa. Stuxnet je prijetnja kakva dosad nije
viđena. On je potvrdio da napad na kritičnu infrastrukturu nije samo teorija već opasnost sa
stvarnim posljedicama. Da li je Stuxnet prijetnja koja će nas uvesti u novu generaciju
malicioznog kôda ili pojava koja se događa jednom u nekoliko godina, ostaje na tome da se
vidi. Ovo je početak crv (rootkit) postoji, kôd je dostupan pitanje je samo vremena njegove
modifikacije i ponovne aktivacije. Koga će napasti, kakva i kolika će biti šteta??
49
Literatura
[1] FEGHHI, J. Digital certificates: applied Internet security. Reading: Addison-Wesley, 2000.
[2] FEINSTEIN, K. How to do everything to fight spam, viruses, pop-ups and spyware.Zagreb: 2005.
[3] CONRY-MURRAY, A. The symantec guide to home Internet. Zagreb: Miš, 2005.
[4] JANCZEWKSI, L., COLARIK, A. Cyber Warfare and Cyber Terrorism. New York: IGI Global, 2008.
[5] BILLO, C., CHANG, W. Cyber Warfare: An analysis of the means and motivations of selected nation states. Dartmouth: Dartmouth College, 2004.
[6] ERBSCHLOE, M. Information Warfare: How to Survive Cyber Attacks. Osborne: McGraw-Hill, 2001.
[7] RIVA, R., Malware Hits Computerized Industrial Equipment.
[8] Solution Arhitecture for Cyber Deterrence,
[9] Stuxnet Information and Removal, http://www.stuxnet.net/, lipanj 2014
[10] http://www.symantec.com/security_response/writeup.jsp?docid=2010-071400- 3123-99 23.06.2015.
50
Ključne riječi
ažuriranje
DLL datoteka
eksport
Internet
Iran
rootkit
Step 7
Stuxnet crv
virtualni prostor
web
51
Skraćenice
DB-- Data Block ---Blok podataka
DDoS Distributed Denial of Service distribuirano uskraćivanje usluga
ICS Industrial control system industrijski sustav kontrole
OB --Organization Block ---organizacijski blok
PE Portable Executable prijenosna izvršna datoteka
PVS Passive Vulnerability Scanners pasivni pretraživači ranjivosti
RPC Remote Procedure Call poziv udaljene procedure
SCADA Supervisory Control and Data Acquisition nadziranje i prikupljanje
podataka
SDB System Data Block sistemski blok podataka
SIEM Security Information and Event Managment sigurnost informacija i
bilježenje događaja
52
Dodaci
Popis slika:
Slika 2. Komunikacijske mreže cijelog poduzeća.....................................................................4
Slika 3.Prikaz najveće zaraženosti računala zlonamjernim programima po državama............8
Slika 4. Raspored lokacija poslužitelja koje su koristili zlonamjerni programi.........................10
Slika 5. Usporedba koda zlonamjernog programa Duqu iz 2011. godine i najnovijeg iz 2015.
................................................................................................................................................11
Slika 6. Digitalni certifikat koji koristi Duqu2.0........................................................................12
Slika 7.Distribucija Gauss zlonamjernog programa................................................................14
Slika 8. Prijetnje raspoređene prema složenosti.....................................................................14
Slika 9.Međusobna povezanost Stuxneta, Duqu,Flame i Gauss............................................15
Slika 11. Kôd Stuxneta u Simatic manageru..........................................................................17
Slika 12. Instalacija Stuxnet-a.................................................................................................25
Slika 13. Siemens PLC i HMI..................................................................................................28
Slika 14. Siemens Simatic Manager STEP7 sučelja.............................................................29
Slika 15. WinCC grafičko sučelje za programiranja HMI........................................................30
Slika 16. Grafičkog dizajnerskog sučelja WinCC programa...................................................31
Slika 17. DLL EXPORTI..........................................................................................................32
Slika 18.Način zaraze.............................................................................................................33
Slika 19. Datoteke ne inficiranog sustava 1............................................................................33
Slika 20. Datoteka ne inficiranog sustava C:\windows\inf.......................................................34
Slika 21. Datoteka s7otbxdx.dll ne inficiranog sustava...........................................................35
Slika 22. Datoteke Stuxneta na usb prijenosnoj memoriji pod O.S. Linux.............................35
Slika 23. Datoteke Stuxneta na usb prijenosnoj memoriji O.S. Windows.............................35
Slika 24.Nevidljive Stuxnet datoteke na usb memoriji nakon izvršene zaraze.......................36
Slika 25. Novo nastale datoteke mrxcls.sys i mrxnet.sys.......................................................37
Slika 26.Prvi ukradeni Certifikat Realtek Semiconductor Corporation....................................38
Slika 27.Drugi ukradeni certifikat s digitalnim potpisom..........................................................38
Slika 28.Novo nastale datoteke u C:\windows\inf nakon zaraze računala Stuxnet-om..........39
Slika 29. Novo nastale datoteke nakon zaraze računala Stuxnet-om....................................40
Slika 30.Usporedba dviju datoteka hash algoritmom..............................................................41
Slika 31.Pojava novog pogonskog programa –drivera...........................................................41
Slika 32. Usporedba datoteka hash algoritmom.....................................................................42
Slika 34 :Zaraze Stuxnet virusom...........................................................................................47
53
54
P O T V R D A
kojom se potvrđuje da je student Josip Pavić izradio diplomski rad pod naslovom
Računalni napadi u automatsko vođenim industrijskim procesima u skladu s zadanim
zadatkom, tezama i pravilima struke.
Mentor:
titula, ime i prezime
Velika Gorica, _______________
55
IZJAVA
Izjavljujem s punom materijalnom i moralnom odgovornošću da sam ovaj rad samostalno
napravio, te da u njemu nema kopiranih ili prepisanih dijelova teksta tuđih radova, a da nisu
označeni kao citati s napisanim izvorom odakle su preneseni.
Svojim vlastoručnim potpisom potvrđujem da sam suglasan da se ovaj moj rad javno objavi
na Internetu.
U Velikoj Gorici, ______________
ime i prezime studenta
56