Andmefailide ehtsuse kontrollimine

Viimasel ajal on teravalt päevakorda kerkinud  teemad, kui  kasutajad tirivad juhuslikult veebilsaidilt või ka torrentitest ja P2P programmidega1.encryption arvutisse faile, mida peetakse ehtsaks, ent paraku on sellesse peidetud pahatahtlik kood.

Mis kood see on ja mis on selle ülesanne, selgub tavaliselt alles hiljem, kui viirusetõrje spetsialistid on selle kindlaks teinud.  Siis võib aga hilja olla, kuna trooja, viiruse või muu pahalase esimene ülesanne on juba täidetud -  kas on siis varastatud kasutajate privaatseid andmeid, näiteks pangaparoole ja –koode,  või lülitatud kasutaja arvuti botnet võrgustikku.  Kõik oleneb nüüd kurjategijast endast, mis ta saadud andmetega või kaaperdatud arvutiga edasi teeb – võibolla hakkab ta ise vähehaaval kasutaja pangakontot tühjendama, võibolla aga  soovib korraga suuremat noosi  saada ja müüb näiteks nakatunutest arvutitest moodustunud võrgu edasi teistele kuritegelikele gruppidele. Pole teab mis suur saladus, et internetisügavustest võib leida poode, kus kaubeldakse just nende samade kasutajatelt  varastatud andmetega või tuhandetest arvutitest koosnevatest zombie-võrgustikega.

Mis on hash

Mõned väljavõtted Valdo Praust loengukursusest:

Krüptoräsi ehk krüptograafiline sõnumilühend (cryptographic message digest, hash, fingerprint, thumbprint)  on ükskõik kui pikast sõnumist (failist) teatud matemaatiliste eeskirjade järgi arvutatav lühike (paarsada bitti) teabekogum.

Kui meil on olemas paar – sõnum ja räsi (sõnumilühend) – , kus räsi vastab failile, võime olla igal juhul kindlad, et räsi on arvutatud kindlasti sellest failist ega mitte millestki muust.

Krüptoräsi ehk krüptograafiline sõnumilühend on mõeldud pikast sõnumist püsipikkusega lühikese bitijada, nn sõnumilühendi ehk räsi (message digest) tekitamiseks, millel oleksid teatud eriomadused.

Algoritmi, mis sõnumilühendi tekitab, nimetatakse (krüptograafilisteks) räsifunktsiooniks (hash function).

Räsifunktsioonilt nõutavad omadused :

  • algse sõnumi mistahes muutused peavad põhjustama muutuse ka lühendis (räsis)
  • ka pika sõnumi räsi peab olema lihtsate protseduuridega leitav
  • räsi leidmise algoritm ei tohi olla pööratav: etteantud räsi korral ei tohi praktikas olla võimalik leida sellega sobivat sõnumit
  • etteantud räsi korral ei tohi olla leitav teist sõnumit, mis annaks sama räsi
  • ei tohi olla leitav sellist sõnumitepaari, mis annaks sama räsi

Kui nüüd väga lihtsalt seda juttu kokku võtta, siis mistahes fail signeeritakse unikaalse koodiga, kindla pikkusega digitaalsete algoritmidega, mis jääb iseloomustama antud faili. Kui seda faili kas tahtmatult või tahtlikult muudetakse, siis  ka failiandmete algväärtus muutub.

Näiteks kui kurjam  tirib tootja kodulehelt originaalfaili, lisab sellesse pahatahtliku koodi, mis võib olla ka kõigest  1 biti suurune, siis juba sellest piisab, et faili algne tunnusinformatsioon muutuks teiseks.  Kurjategija loomulikult ise teab seda, ent eeldab, et tavakasutaja ei tea. Selle eesmärgiga riputabki ta valefaili piraatprogramme jagavatele lehtedele või P2P- ja torrent-võrkudesse lootuses, et kasutajad tirivad selle originaalfaili pähe alla ja ka paigaldavad. Käivitamisel aga aktiveeritakse pahatahtlik kood, mis nakatab arvuti.

Loomulikul alati ei pruugi modifitseeritud failid alati troojalast sisaldada, ent seda on väga raske kindlaks teha.  Loota ju võib, et teisendatud fail, milles pole ühtegi pahavara, on netti üles riputud kellegi filantroobist kräkkeri poolt , kes ainult suurest ligimesearmastusest ja heatahtlikust žestist seda teeb,  ent lootus on lollide lohutus. 99 %  võib siiski kindel olla, et faili on peidetud  mõni  pahatahtlik kood, mis üsna pikaks ajaks võib tõrjeprogrammide eest märkamatuks jääda.

Vahet tuleks teha tavalisel kräkkimisel, kui originaalfailile leitakse erinevaid mooduseid kasutades võtmeid, mis selle programmi  täisfunktsioonides avavad, ja sellisel kräkkimisel, kui originaalfaili andmeid täielikult muudetakse.

Eriti ettevaatlik tasuks olla siis, kui teatatakse mõne faili lekkimisest, eriti just Microsoft toodete puhul.  Näiteks Windows 7 nn. “lekkinud” versioonid võivad sisaldada troojat, mis lülitab kasutaja arvuti botnet võrgustikku. Arvan, et kaugel pole see aeg, kui teatatakse ka  Microsoft Security Essentialsi internetti lekkinud versioonidest, millest on avastatud õelvara.

Täiesti arusaadav, et paljud kibelevad just esimeste seas saama seda, mida tema sõbral veel ei ole, ja selline ahvatlev reklaam nagu “Microsoftist lekkinud täiesti uus, parem, kihvtem ja lahedam versioon nüüd saadaval” on  ju parim viis kasutajaid õnge püüda. Ent enne tirimist võiks igaüks ikka natukene järele mõelda, et kas ikka tõesti on võimalik, et et absoluutselt iga uus programm, mille Microsoft loob ja mis pole veel ilmavalgustki näinud (loe: ametlikku avaldamist leidnud), on juba pihta pandud ja rahvale allalaadimiseks üles riputatud!  Kui see tõesti nii oleks, siis mina ütleksin küll selle kohta: “Püha Taevaisa, sa näed seda kõike, aga ei mürista!”

Kuidas failide ehtsust kontrollida

Võltsailide  eristamine originaalfailidest on imelihtne, millega saab hakkama ka algaja.

Tirige arvutisse utiliit nimega HashTab ja paigaldage. Seejärel tehke kontrollimist vajaval failil paremklikk ning valige Properties.

2.hashtab right

Alloleval pildil on näha, et faili iseloomustavasse tabelisse on ilmunud täiendav funktsioon nimega File Hashes. Esimesel pildil pole HashTabi veel arvutisse paigaldatud.

3.hashtab

Vajutades nüüd  lingile File Hashes kuvatakse antud faili unikaalsed tunnusväärtused. Aknakeses suvalises kohas paremklikki tehes ja valides Settings saab iga kasutaja ise valida, milliseid faili krüptoalgoritme ta soovib võrrelda teise samaväärse failiga, kuid mis ei ole tiritud faili kodulehelt.

4.hashtab algorithms

Näiteks, mul on tiritud Microsoft ametlikult kodulehelt fail (tähistatud numbriga 1) , mille panen võrdlusesse Softpediast tiritud failiga. Selleks valin Compare a file, leian avanenud failiredelist koha, kuhu salvestasin teiselt saidilt tõmmatud faili ja vajutan Open. Seejärel kontrollitakse, kas mõlema faili väärtused klapivad. Kontrollida saab kõike krüptoalgoritme, mille kasutaja on varasemalt sätetest valinud. Tuleb lihtsalt vastav krüpteerimismeetodi  rida  hiireklikiga aktiivseks teha ning korrata eelnevat tegevust (Compare a file).

5.hashtab compare

Kui kõik on korras ja ka mingilt teiselt saidilt tiritud faili võib pidada originaaliks, siis annab sellest märku roheline linnuke, kui aga tasub ülimalt ettevaatlik olla faili arvutisse paigaldamisel, siis teatab sellest punane rist.

6.hastab compare bad or ok

Üsna sageli on aga kasutajad probleemi ees, et pole kahte faili võrdlusesse lisada. Tavaliselt on selleks lihtsalt viitsimatus ametlikult kodulehelt originaalfaili arvutisse tirida, seda enam, et paljud programmiarendajad pakuvad küll prooviversioone allatirimiseks, kuid nende arvutisse saamiseks  peab läbima mitmeid tüütuid etappe  – nõutakse näiteks isikuandmete ja kehtiva meiliaadressi sisestamist jne. Sel juhul minnaksegi kergema vastupanu teed ning tiritakse fail mõnelt alternatiivselt lehelt, näiteks piraatsaidilt. Kas see fail on aga ehtne, on küsitav.

Ent ka nende  andmefailide kontrollimiseks on mitmeid võimalusi. Kõige olulisem on nüüd teada originaalfaili kontrollsumma väärtusi, mis tavaliselt on kodulehtedel kirjas. Kui neid sealt aga ei leia, võib kasutada Google otsingut, kirjutades lahtrisse kontrollimist vajava programmi nime ja lõppu rea Hash või Hashes või Checksum, SHA1, MD5 jne. Loomulikult tuleb siis ikka kindel olla, et veebileht pole kuritahtlik ega paku valesid summasid. Ent kui vaadata mitmelt lehelt ühe kindla programmiversiooni algoritme ja kui need omavahel sarnanevad, siis võib neid juba kõrvutada arvutisoleva versiooniga.

Näiteks  Arvutikaitse pole pahatahtlik sait ja selle artikli kommentaarist võib leida Microsoft Security Essentials hetke viimase ametliku versiooni 1.0.1407.0 kontrollsummad. Kui tuleb välja uus versioon, siis loomulikult võivad need väärtused muutuda.

Seejärel on vaja utiliiti, mille abil saab summasid võrrelda. Arvutisse  võib tirida väikese abivahendi HashX ja see installeerida. Programmi avades tuleb veebilehelt saadud vastava krüptoalgoritmi (SHA1, MD5 jne) väärtus kopeerida ja kleepida utiliidi alumisele reale Compare with, seejärel tuleb vajutada lingile File to hash ning otsida failiredeli abil üles võrdlust vajav fail ja see avada (Open). Võrdlemiseks tuleb  vajutada paremal nurgas olevale lingile Hash File.

7.x1

Loomulikult peab Hash algorithm abil valima võrdlemiseks just selle algoritmi, mis alla lahtrisse sai kleebitud. Nüüd jääb vaid visuaalselt üle kontrollida, kas väärtused on samad.

8.x2

Palju rohkem tasuta programme pakutakse krüpteerimisalgoritmi MD5 kontrollimiseks. Enamuses need töötavad kõik samal põhimõttel  nagu viimatinimetatud utiliit, vaid väga väikeste erinevustega. Ikka tuleb kontrollimist vajav fail arvutist failiredeli abil üles otsida, kopeerida ja kleepida võrdlemist vajavad kontroolväärtused  vastavatesse lahtritesse ning seejärel vaadata nende sobivust.

WinMD5Free

9.winmd5free

MD5 Check 2.1

10.md5 check

One thought on “Andmefailide ehtsuse kontrollimine”

  1. Vahemärkusena olgu öeldud, et MD5 on vananenud krüptoalgoritm, millel on mitmeid tõsiseid ja tuntud turvaauke ning spetsialistid soovitavad MD5 hashi enam mitte usaldada.
    Vähemkriitiliste rakenduste ja vanade failide ehtsuse kontrolliks käib vast veel küll.

Lisa kommentaar

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga