Izvor: http://www.dusko-lolic.from.hr/usbwp/
Objavljeno: 4. lipnja 2011. g.

Also available in English


Početna stranica

Zaštita USB memorijskih stickova od virusa, crva, trojanaca i ostalih napasti

Pstoji li iti jedan USB stick na ovome svijetu koji nije bio bar jednom zarašen nekakvom napašću? Te praktične male napravice koje šaraju po mnogim računalima su se pokazale idelanim za širenje kompjuterskih zaraza svih oblika boja i veličina. Neki su još iz tvornice dolazili s poklončićem.
Najsigurnija zaštita je ne koristiti stickove uopće, što bi bilo lako kad ne bi bili tako korisni. Tko bi se opet mogao vratiti na nošenje torbica punih DVD-ova! Nećemo se predati već ćemo smisliti način kako da ih zaštitimo.
I ne samo USB stickovi, bilo koji prenosivi oblik memorije je uskoro postao slasan zalogaj za malware.

Mehanizam širenja zaraze

Prvo da vidimo kako se te zaraze šire. Svi mi redovito koristimo autoplay mogućnosti Windowsa iako možda toga nismo svjesni. Svaki komercijalni CD/DVD će otvoriti nekakav početni izbornik čim se ubaci u računalo. Tako (donekle) rade i USB stickovi. Šta i kako se pokreće prilikom autoplay-a određeno je u AutoRun.inf datoteci u korijenskoj mapi diska. Uključite stick u zaraženo računalo i napast će se prekopirati na stick te kreirati svoj AutoRun.inf tako da se pokrene idućom prilikom kad se taj stick prikljluči na drugo, nezaraženo računalo. USB stickovi na kojima su neke izvršne datoteke (*.exe) su osim toga podložne napadima klasičnih virusa.

Pazit ćemo, mama!

Ni najopasniji virus ne može vam ništa ako pazite šta radite sa stickom. Microsoft se u kasnijim izdanjima svojih operativnih sistema odrekao većeg dijela AutoPlay funkcionalnosti stickova koja i inače nije radila potpuno automatski kao na CD-u, sve u cilju spriječavanja širenja zaraze. Priključite stick na računalo i ništa sa sticka neće biti pokrenuto bez pitanja. Umjesto toga dobit ćete ovakav dijalog...

 

U ovom dijalogu relativno je sigurno odabrati opciju Open folder to view files, ali pogotovu na starijim windowsima (XP) koji nisu redovito ažurirani možete na taj način pokupiti napast koja glumi funkcionalnost ovog dijaloga, a zapravo je trojanac. Najsigurnije je ovo odmah zatvoriti i po sticku švrljati koristeći Windows Exploer koji naknadno otvorimo (najlakše pritiskom na tipke Win+E). I u Exploreru nije svejedno gdje klikate. Svaki dvoklik u desnom dijelu (crveno na slici) je čista lutrija. Otvarati direktorije šireći stablo (zeleno na slici) je siguran način. Ako vam ne smeta, uključite prikaz skrivenih i sistemskih datoteka i foldera, jer većina zlog osftvera se na taj način pokušava skriti. Kad ste već u opcijama, uključite prikaz ekstenzije za sve datoteke jer tako ćete lako razlikovati pravi folder od nekog trojanca koji samo glumi da je folder ne bi li zaveo nepažljivog klikača.

       

Uz malo vježbe i usvojenih dobrih navika moći ćete bez straha za svoje računalo ubosti stick nepoznatog statusa zaraženosti i biti sigurni da nećete ništa neželjeno pokupiti s njega. Uvijek sa stickovima postupajte kao da su zaraženi! Ako ste ih uključivali na više od jednog računala, onda sigurno jesu!

Počnimo štititi naše stickove

Cilj od sada pa nadalje će nam biti spriječiti zarazu ako je ikako moguće, minimalizirati štetu kad se zaraza dogodi i trenutno detektirati kad se prije ili kasnije dogodi ono neizbježno.

Hardveraši će se sjetiti da su nekad postojali stickovi sa prekidačićem kojim se moglo onemogućiti upisivanje. Koliko znam, više nitko takve ne proizvodi. To ionako nije neko rješenje, kao šta ćemo u nastavku vidjeti.

Počevši od Windowsa XP SP2 Microsoft je razmišljao na sličan način. Uveli su ključ u registry-ju kojim se može onemogućiti zapisivanje na sve uklonive memorijske uređaje. Evo ga:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies]
"WriteProtect"=dword:00000001

Ovo može poslužiti za prvu pomoć, ali morate ključ imati na papiriću i unijeti ga ručno prije nego stick uključite. U slučaju XP-a provjerite prije imate li bar SP2! Zatreba li vam naknadno pisanje po sticku, samo promijenite 0 u 1, i čak ni restart nije potreban. Rješenje naizgled obećava, ali obično će vam trebati nešto i snimiti na taj stick bez da ugrozite ono šta je već na njemu. U nastavku ćemo naučiti podijeliti sitck na zaštićeni i otvoreni dio, a kako će otvoreni dio prije ili kasnije biti zaražen, poradimo najprije na detekciji.

Bar me upozori!

UPOZORENJE: postupak u nastavku pretpostavlja da nemate korisničkih datoteka u korijenskoj (root) mapi USB diska. Sve svoje datoteke držite u podmapama, inače će biti obrisane. Općenito je loša praksa držati bilo kakve korisničke datoteke u korijenskoj mapi bilo kojeg diska.
Vratite se malo natrag na sliku Windows Explorera i primjetite kako disk H: ima karakterističnu ikonu . Ista ikona se javlja i u AutoPlay dijalogu. Ikona nije tu samo da bi olakšala snalaženje u šumi slovnih oznaka diskova već ima prije svega sigurnosnu ulogu. Ikona se specificira u AutoRun.inf datoteci u korijenskoj mapi diska. Zlonamjerni softver, ako je prisutan na sticku, će zamijeniti našu AutoRun.inf datoteku svojom što će za posljedicu imati nestanak naše ikone. Nestanak ikone u ovom slučaju je pokazatelj da nivo opreza prilkom manipuliranja stickom treba podignuti na crvenu razinu! Najjednostavniji AutoRun.inf koji specificira samo ikonu izgleda ovako:

[AutoRun]
icon=MyIcon.ico

Kreirati ikonu poput ove gore je dječja igra. U običnom Windows MS Paintu nacrtajte nešto veličine 32x32 piksela. Stavite jednu crnu točkicu u gornji lijevi kut, to će sačuvati sve ostale boje ikone. Snimite kao ikona.bmp i samo preimenujte u ikona.ico. Da bi dobili pravu ikonu, perfekcionisti će otvoriti datoteku ikona.bmp programom IrfanView i snimiti je kao ikona.ico, ali i obično preimenovanje će odlično poslužiti.

Jedan korak dalje, napraviti samodezinficirajući stick nije nešto komplicirano. Princip je sačuvati negdje kopiju datoteke AutoRun.inf i usporediti je sa aktivnom AutoRun.inf. Ako nisu potpuno jednake, treba sve obrisati i vratiti početno stanje iz backupa. To radi skripta test.bat koja će biti predstavljena kasnije u sklopu potpune zaštite, ali ako vam je dovoljna samo detekcija i osnovna dezinfekcija možete je koristiti samostalno. Za provjeru sticka pokrenite test.bat, i ako je sve u redu on će se odmah zatvoriti. Ako pronađe nešto sumnjivo, biti ćete upozoreni i ponuđeni opcijom samočišćenja. Princip je jednostavan i uspješan u zaštiti samog sticka, ali za zaštititi sadržaj sticka treba nam nešto jače.

Teška artiljerija za jaku odbranu 

Bezkompromisna zaštita sticka porazumijeva da trebamo nekako onemogućiti bilo kakvo zapisivanje po zaštićenom sadržaju, a istovremeno ostaviti dio otvoren za dosnimavanje i izmjene. Saveznika sam pronašao na neočekivanom mjestu, to je TrueCrypt softver za enkripciju. Pomoću njega može se kreirati virtualni enkriptirani disk sadržan u datoteci, a kvaka je u tome da se taj disk može mountati u načinu koji dozvoljava samo čitanje sadržaja. TrueCrypt je osmišljen tako da može raditi sa sticka u tzv. portable modu, tako da nam ostaje nekako zaštiti negove datoteke kako ne bi one same postale žrtva virusa, te automatizirati sve tako da bude što jednostavnije za upotrebu.

Instalacija

Sve do sad je bila teorija, prelazimo na praksu. Instalacija nije potpuno automatizirana, ali ne dozvolite da vas to uplaši. Ako treba zamolite nekoga da vam pomogne oko instalacije, a jednom instaliran sistem može koristiti svatko tko zna kliknuti mišem i napisati dva slova. Mala je to cijena za koju se dobije temeljita i pouzdana zaštita osjetljivih podataka.
Najprije skinite s interneta instalacijsku datoteku za TrueCrypt. Ove upute su zasnovane na verziji 7.0a. Instalirajte uobičajenim načinom na predloženu lokaciju pod Program Files.
Zatim skinite s interneta pomagalo Hidden Start . Koristiti ćemo samo program hstart.exe iz arhive hstart.zip. Nemojte još raspakirati arhivu.
Skinite ovu arhivu koja sadrži sve ostalo i kopirajte je na vaš USB stick. Raspakirajte sadržaj arhive u X:\mnt mapu (desni klik na arhivu, odabrati Extract All..., kliknuti Next, Next, Finish). Sada izvucite program hstart.exe iz arhive hstart.zip u X:\mnt mapu (otvorite arhivu dvoklikom, odvucite datoteku iz prozora arhive u X:\mnt mapu). Naravno, umjesto X: koristit ćete slovo pod kojim je vaš USB stick prijavljen.
Pokrenite (dvoklik) 00mount.bat u mapi X:\mnt. Ako ste na Windowsima 7 ili Visti, uobičajeni UAC dijalog će zatražiti dozvolu za pokretanje Hidden Start. Također, zasad ignorirajte upozorenje Using unprotected 'hstart.exe'!, znamo da je nezaštićen, uskoro više neće biti.
Konačno dolazimo do glavnog izbornika koji izgleda ovako:

Unesite naredbu install. Naredba nije u izborniku, ali samo utipkajte install i pritisnite Enter.
Ako ste do sad sve napravili kako treba, biti ćete obaviješteni o uspješnoj instalaciji. Ako instalacija ne uspije iz nekog razloga, to će biti prijavljeno. U tom slučaju popravite šta se traži ili ponovite sve pažljivo iz početka.
Malo nam nedostaje da možemo početi koristiti zaštitu. Sad je vrijeme za pročitati TrueCrypt tutorial za početnike i naučiti kako se napravi enkriptirani disk sadržan u datoteci (encrypted file container). Ako bude vremena i volje, a ponajviše interesa, možda napravim upute za TrueCrypt na hrvatskom. Kad to savladate, napravite dva enkriptirana diska u mapi X:\mnt na USB sticku, dajte im imena vol1.tc i vol2.tc i dodjelite im lozinku abc123. Imena i lozinka su predprogramirani u xmount.bat i moraju biti unešeni točno tako (kod lozinke paziti na velika/mala slova) ili xmount.bat mora biti prilagođen. Odaberite veličinu diska koja vam treba, to će biti zaštićeni dio na USB sticku. Imajte na umu da je granica 4 GB (zapravo 4095 MB, 1 MB manje od 4 GB) pošto su stickovi obično formatirani FAT32 sistemom i zbog toga smo kreirali dva diska da bi mogli pohraniti do 8 GB zaštićenih podataka. Povirite u  xmount.bat i vidjet ćete kako se još zaštićenih diskova može dodati, ili vol2.tc ukloniti ako vam je 4 GB dovoljno. Ograničenje od 4 GB u jednom komadu se može zaobići tako da se USB stick preformatira u NTFS sistem, ali to vuče druge probleme i po mom iskustvu je bolje ovako.
Jednom instaliran, sistem se na drugi stick prebaci jednostavnim kopiranjem. Počastite svoje prijatelje i spasite ih virusnih i crvolikih muka.
I to je to! Isprobajmo kako radi. Izvucite stick, ne zaboravite na sigrno uklanjanje hardvera.

Svakodnevna upotreba

Ubodimo novozaštićeni USB stick u računalo. Uobičajeni  Windows AutoPlay dijalog bi trebao iskočiti. Primjetitie da stick ima novu ikonu, to je prilično pouzdan pokazatelj da se neka napast nije naselila na njega. Odaberite pociju Open folder to view files using Windows Explorer. Ili još bolje, zatvorite AutoPlay dijalog i stickom baratajte koristeći Windows Explorer. Sjećate se ovog?
Uđite u mapu X:\mnt. Prva datoteka je 00mount.bat (ime joj počima s 00... da bi bila prva), to je glavni ulaz u sistem zaštite. Pokrenite je (Windows Vista i Windows 7 će pitati za UAC potvrdu) i otvara se glavni izbornik. Miša ćete malo odmoriti jer se stavke u izborniku aktiviraju samo tipkovnicom. A stavke su:

Za početak birajte W za mountati diskove uz mogućnost zapisivanja. Posebni (crveni) prozor će tražiti dodatnu potvrdu, unesite yes. Ako sve prođe kako treba, po jedan prazni prozor će se otvoriti za svaki kreirani zaštićeni disk. Spremite svoje podatke na te diskove i zatvorite ih.
Ponovo pokrenite 00mount.bat i birajte U za unmountati sve diskove.
Jednom kad se zaštićeni diskovi pripreme, zaštićenom sadržaju se lako pristupa preko brzog ulaza na automnt.bat koji se nalazi odmah u korijenskoj mapi USB sticka. Pokrenete ga jednom i zaštićeni diskovi će biti mountani zaštićeni od izmjena (prozor će bljesnuti zeleno) i otvoreni svaki u svom prozoru. Pokrenite ga opet i diskovi će biti unmountani (prozor će bljesnuti plavo). Bez podmapa, bez tipkovnice, bez izbornika, samo klik i gotovo. Pri tom datoteka Mounted.txt ukazuje da su diskovi trenutno mountani.

U slučaju da sumnjate da vam je USB stick zaražen (recimo, izgubio je ikonu, pojavile su se neke sumnjive datoteke, neke su mape nestale...), pokrenite test.bat dijagnostiku. Ona će provjeriti je li AutoRun.inf mijenjan i provjeriti će postojanje sakrivenih mapa i datoteka, tipičnih znakova prisutnosti zoćudnog softvera. Ako se pronađe išta sumljivo, to će biti prijavljeno i ponuđena mogućnost čišćenja. Kako ovaj samostalni podsistem radi objašnjeno je prije.
UPOZORENJE: čišćenje će obrisati sve datoteke u korijenskoj mapi sticka! Datoteke u podmapama su sigurne.

Mac OS, Linux...

Nema straha ni potrebe za zaštitu od zlonamjernog softvera na ovim sistemima, ali ostaje pitanje kako pristupiti zaštićenim podacima sa USB sticka?
Može se sa interneta instalirati TrueCrypt uobičajenim načinom, a moguće je i na sticku držati instalaciju TrueCrypt-a u nezaštićenom obliku. Vjerojatnost da se instalacijske datoteke zaraze pod Windowsima ravna je nuli.

Zaključak

Postupci opisani ovdje nastali su iz nasušne potrebe za zaštitom USB stickova nakon višestrukih havarija uzrokovanih zlonamjernim softverom. Sistem je u upotrebi već više godina i pokazao se apsolutno stabilnim, bez ijednog proboja u zaštićeni dio sadržaja. Samodetekcija i samočišćenje sticka uklanja veliku većinu uobičajenih napasti, ili ih bar razotkriva i tako učini bezopasnima.
Postoje neki kompromisi u svrhu pojednostavnjenja korištenja (lozinka je pohranjena u vidljivom obliku), ali dok ovaj sistem koristi samo manji broj korisnika svjesnih problematike sigurnosti i dok zlonamjerni softver ne postane svjestan ove zaštite, možemo biti mirni.
Brzina protoka podataka ništa ne pati, moderni procesori dekodiraju podatke brže nego ih stick može snabdjevati. Zapisivanje čak može biti puno brže kad je u pitanju puno malih datoteka jer Windowsi puno brže rade sa jednom velikom datotekom (virtualni disk) nego sa gomilom malih.
Jedina situacija u kojoj sistem kiksa je kad naiđete na računalo na kojem nemate administrativne ovlasti. Tu jedino pomaže da vam netko šapne lozinku, osim u slučaju da je TrueCrypt već instaliran.

Odricanje odgovornosti i Copyright

Copyright © 2011 Duško Lolić.
Dozvoljava se kopiranje, distribucija i/ili izmjena ovog dokumenta pod uvjetima navedenim u GNU Free Documentation License, Verzija 1.3 ili bilo koja novija koju objavi Free Software Foundation.
Ove upute i pripadajući softver autor objavljuje u dobroj namjeri i s nadom da će poslužiti svrsi za koju su namijenjene ali bez bilo kakvih jamstva! Koristite na vlastitu odgovornost!
Pripadajući softver je pokriven uvjetima GPL3 licence, originalni tekst je priložen.

Comments