Objavljeno: 30.4.2019 | Avtor: Simon Peter Vavpotič | Monitor Maj 2019

Ko gre vse v franže

Podatkovni ključki USB se pogosteje okvarijo zaradi težav z vgrajeno programsko opremo in njenimi nastavitvami kot zaradi fizičnih poškodb. Kako jih popravimo? Jih lahko pohitrimo in optimiziramo?

Le malokdo se vpraša, kako delujejo, vendar le dokler prvič ne izgubimo podatkov na njih ali ko se daljše datoteke večkrat zaporedoma brez posebnega razloga napačno zapišejo oziroma že prenos nekaj MB podatkov traja nerazumno dolgo. Čudno obnašanje podatkovnega ključka je lahko posledica slabega delovanja vgrajene programske opreme ali njenih napačnih nastavitev, težav z gonilnikom operacijskega sistema, okužbe z zlonamerno programsko kodo, mehanskih težav s kontakti priključka USB pa tudi delne odpovedi bliskovnega (flash) pomnilnika, v katerem so podatki zapisani. Z ustreznimi programskimi orodji lahko vsaj delno odpravimo skoraj vse težave, če le ne gre za električne in mehanske poškodbe.

Podatkovni ključek zmogljivosti 16 GB

Kje preberemo ime krmilnika podatkovnega ključka.

Kako delujejo?

Podatkovni ključek na miniaturnem večplastnem tiskanjem vezju združuje mikrokrmilniški čip, pomnilniški čip z do nekaj 10 GB velikim bliskovnim pomnilnikom, peščico diskretnih elektronskih komponent ter seveda vtikač USB. Navadno sta čipa zaradi boljše izrabe prostora nameščena vsak na svoji strani tiskanega vezja, ki se dobro prilega majhnemu ohišju, pri čemer pomnilniški čip pogosto izkoristi vso razpoložljivo širino in dolžino. Ključki z največjimi zmogljivostmi imajo lahko vgrajenih tudi po več pomnilniških čipov.

Lahko hekerji spremenijo vgrajeno programsko opremo ključka?

Možnost preprogramiranja vgrajene programske opreme mikrokrmilniškega čipa prek povezave USB je odvisna prav od programske opreme. Seveda bi jo lahko spremenili le še z ustreznim zunanjim programatorjem (razen če je v mikrokrmilniški čip vgrajena v pomnilniku ROM). Kljub temu je vgrajena programska oprema manj zanimiva za hekerje kot zagonski programi, ki niso odvisni od notranje zgradbe mikrokrmilnika podatkovnega ključka.

Mikrokrmilniški čip se operacijskemu sistemu predstavi kot enota za masovno hrambo podatkov, obenem pa izvaja tudi vitalne funkcije vzdrževanja in podpore delovanju bliskovnega pomnilnika, ki je le shramba podatkov in se po notranji zgradbi in funkcionalnosti ne razlikuje od kateregakoli drugega velikega bliskovnega pomnilnika.

Logično je razdeljen na podatkovne strani, ki jih lahko mikrokrmilniški čip briše posamezno, omogoča pa tudi brisanje v celoti. Pisanje lahko poteka po podatkovnih besedah ali blokih več zaporednih podatkovnih besed, pri katerih naslov pisanja ali branja krmilnik poda samo na začetku pošiljanja/branja podatkovnega bloka. Vendar se pisiju s tovrstnimi podrobnostmi ni treba ukvarjati, saj je vsa potrebna programska logika shranjena v pomnilniku mikrokrmilniškega čipa.

Majhen bliskovni pomnilnik in bralno-pisalni delovni pomnilnik (RAM, angl. random access memory) sta vgrajena tudi v mikrokrmilniški čip, pri čemer je prvi namenjen hrambi programov in nastavitev, drugi pa hrani dinamične programske strukture in obenem (lahko) rabi kot izravnalnik pri prenosu podatkov med podatkovnim ključkom in računalnikom.

Bliskovni pomnilniški čip podatkovnega ključka

zluščeno tiskano vezje podatkovnega ključka

Zakaj se poškodujejo?

Podatkovni ključki se pri normalnem delovanju operacijskemu sistemu predstavljeni z eno veliko particijo in enim logičnim diskom. S sodobnimi računalniki jih lahko uporabljamo tudi kot sistemske diske za manj zahtevne operacijske sisteme, za kar jih lahko z različnimi sistemskimi orodji tudi ustrezno formatiramo. Z istimi skrbniškimi orodji lahko na ključku tvorimo tudi po več različnih particij za različne operacijske sisteme, vendar se pri takih eksperimentih rado zgodi, da po formatiranju, ali pa že med njim, krmilnik podatkovnega ključka operacijskemu sistemu ne zna več pravilno predstaviti. Ugotovi, da podatkovnega medija preprosto ni več. Ključek je s tem onesposobljen in njegovega normalnega delovanja s standardnimi skrbniškimi sistemskimi orodji ni več mogoče vzpostaviti.

Ob napadu zlonamerne programske opreme na podatkovni ključek so lahko spremenjene tudi njegove nastavitve in je nanj obenem naložena zlonamerna zagonska programska oprema ali pa se preprosto (deloma) zaklene za branje in/ali pisanje. Sumljivo je lahko vsako čudno obnašanje podatkovnega ključka, ki kaže na to, da njegov krmilnik poleg običajnih nalog v ozadju izvaja tudi neželene operacije.

Razdiranje in sestavljanje

Ohišje podatkovnega ključka navadno ne ponudi dovolj informacij, s katerimi bi lahko na spletu poiskali ustrezno specializirano programsko opremo proizvajalca njegovega krmilnika in izvedli popravilo, zato nam ne preostane drugega, kot da ga razdremo, si natančno ogledamo njegovo tiskano vezje in upamo, da proizvajalec ni izbrisal oznak z mikrokrmilniškega čipa. Ta je pravokotne ali kvadratne oblike, navadno na drugi strani tiskanega vezja kot bliskovni pomnilnik ter precej manjši od njega.

Pri razdiranju ohišja moramo biti previdni, saj bomo ključek s polomljenim ohišjem le stežka uporabljali, obenem pa lahko z neprevidnim razdiranjem polomimo ali poškodujemo tudi tiskano vezje. Če se zadovoljimo le z oznako mikrokrmilniškega čipa, pri razdiranju pogosto ni treba ničesar odlepiti, moramo pa biti vseeno previdni pri odmikanju plastičnih zatičev.

Podobno kot z mikrokrmilniškega čipa lahko tudi s čipa z bliskovnim pomnilnikom preberemo oznako, vendar utegnemo imeti težave z iskanjem podatkov o njem, saj je proizvajalcev in tipov pomnilniških čipov precej več kot proizvajalcev in tipov mikrokrmilniških čipov. Obenem proizvajalci ključkov pogosto tiskano vezje ključka prilepijo na ohišje kar prek čipa z bliskovnim pomnilnikom, zato se ob morebitnem razdiranju lahko (del) napisa na njem odtrga oziroma izbriše.

Orodje za proizvodnjo podatkovnih ključkov

Sestavljanje ključka je sorazmerno preprosto, saj ima ohišje malo delov. Paziti moramo predvsem, da nismo pregrobi in da vsi plastični zatiči pravilno sedejo na svoja mesta. Vsekakor pa se izplača pred sestavljanjem tiskano vezje fotografirati ali vsaj preveriti, da smo podatke s čipov pravilno prepisali, saj je tveganje, da polomimo katerega od plastičnih zatičev pri vsakem nadaljnjem razdiranju večje, z manj zatiči pa je ohišje manj trdno sestavljeno.

Programska oprema

Za večino proizvajalcev namenskih mikrokrmilniških čipov najdemo na javno dostopnih spletnih straneh programska orodja za masovno proizvodnjo podatkovnih ključkov, s katerimi lahko z enim pisijem naenkrat izdelamo tudi po 16 ali več ključkov, odvisno od razpoložljivih priključkov USB. Umetnost proizvodnje in uspešne prodaje podatkovnih ključkov je tako predvsem v najcenejši in najvzdržljivejši kombinaciji mikrokrmilnika, bliskovnega pomnilnika in ohišja.

Zaupati podatkovnim ključkom ali ne?

Podatkovni ključki so problematični predvsem z vidika gonilnikov, ki so potrebni za njihovo povezavo z operacijskim sistemom in delovanje, saj lahko zlonamerna programska koda prek njih okuži računalnik. Prav tako se lahko na ključkih skrivajo razni zagonski programi, med katerimi so lahko tudi zlonamerni, ti pa se sprožijo takoj, ko ključek vstavimo v vtičnico USB.

Vendar se lahko pred zlonamerno programsko opremo zaščitimo z ustreznimi protivirusnimi programi in nastavitvami operacijskega sistema. Zelo dobro je tudi, da za običajno delo z računalnikom ne uporabljamo skrbniškega računa oziroma uporabniškega računa s skrbniškimi pravicami za nameščanje nove programske opreme, saj tako morebitni zlonamerni programski opremi zelo omejimo možnosti naselitve v naš računalnik. Odkar po spletu »strašita« varnostni luknji Spectra in Meltdown, podatkovnim ključkom žal ne moremo v celoti zaupati, a lahko nevarnost okužbe računalnika z zlonamerno programsko opremo vseeno zmanjšamo na še sprejemljivo raven …

Kljub temu si težko predstavljamo, da bi podatke med dvema, z omrežjem nepovezanima računalnikoma prenašali drugače kot s podatkovnimi ključki, saj bi, denimo, z uporabo bralno-pisalnih plošč DVD brez vgrajene »pameti« porabili nekajkrat več časa, mnogi ultra tanki prenosni računalniki pa danes enot DVD sploh nimajo več.

Za iskanje ustrezne programske opreme na osnovi oznake mikrokrmilniškega čipa lahko uporabimo kateregakoli od spletnih iskalnikov. Ko odkrijemo spletno stran proizvajalca, navadno hitro najdemo tudi ustrezno programsko orodje, ki pogosto samo ugotovi in predlaga tudi ustrezen tip in velikost bliskovnega pomnilnika, hitrost prenosa podatkov pa tudi število pomnilniških modulov in podatkovnih kanalov. Kljub temu ni rečeno, da je ponujena nastavitev prava ali najoptimalnejša. Nastavitve omogočajo tudi optimizacijo hitrosti delovanja podatkovnega ključka glede na razpoložljivo kapaciteto podatkovne shrambe in izbiro varnostnega kodiranja. Programsko orodje zna obenem na več načinov izločiti morebiti poškodovane dele bliskovnega pomnilnika, ki jih označi kot slabe pomnilniške bloke.

Nastavitev načina delovanja ključka v operacijskem sistemu

Princip delovanja programske opreme je naslednji: Najprej se moramo podati v nastavitve in vnaprej izbrati želene možnosti, nato pa s klikom na gumb start začnemo pripravo enega podatkovnega ključka ali več z mikrokrmilnikom istega proizvajalca. Med izvajanjem postopka ne moremo ničesar spreminjati in lahko le spremljamo njegov potek na posameznem ključku. Če z njim nismo zadovoljni, lahko pripravo ključka prekinemo, ponovno izvedemo nastavitve in postopek ponovimo. Ker iskanje optimalnih nastavitev za posamezen podatkovni ključek ni vedno trivialno, imamo tudi možnost njihove shranitve in obnovitve iz datoteke.

Popravilo

Sam sem se lotil popravila dveh podatkovnih ključkov in presenečen odkril, da sta programski opremi različnih proizvajalcev po funkcionalnostih precej podobni. Sistem dialognih oken ni kdove kako prijazen uporabnikom, a omogoča zelo veliko nastavitev, s katerimi lahko delovanje mikrokrmilniškega čipa zelo dobro prilagodimo povezanemu čipu z bliskovnim pomnilnikom.

Ob nepoznavanju natančne notranje arhitekture uporabljenega bliskovnega pomnilnika je potrebno kar nekaj eksperimentiranja, če želimo v celosti izkoristiti možnosti ključa. K sreči sta oba ključka začela delovati takoj, ko sem v nastavitvah izbral kopico prednastavljenih možnosti in ju ustrezno formatiral.

Vendar sem od drugega ključka pričakoval 4 GB uporabne kapacitete, dobil pa sem jih le nekaj več ko 2 GB, zato sem se lotil njegove celovite obnove oziroma ponovnega formatiranja v celoti, ki poteka treh korakih: izvedemo nastavitve, z nizkonivojskim formatiranjem pripravimo »teren«, nato pa z visokonivojskim formatiranjem pripravimo ključek za delo v izbranem operacijskem sistemu. Nizkonivojsko formatiranje lahko traja tudi pol ure ali več, odvisno od velikosti in hitrosti delovanja bliskovnega pomnilnika pa tudi od tega, ali izberemo hitri ali počasni način. Vendar lahko bliskovni pomnilnik le z njim očistimo (morebiti namerno označenih) slabih sektorjev, ki jih je morda za seboj pustila (zlonamerna) programska oprema. Po drugi strani je visokonivojsko formatiranje mogoče izvesti tudi pod ciljnim operacijskim sistemom.

Pestra izbira nastavitev podprtih pomnilniških čipov z bliskovnim pomnilnikom.

Žal sem prepozno ugotovil, da se izplača že na začetku shraniti obstoječe nastavitve ključka oziroma njegove tehnične podatke, ki jih lahko preberemo s posebno funkcijo namestitvenega orodja. Nerodno je, ker so priložena navodila samo v kitajščini, v angleščino pa je k sreči preveden vsaj uporabniški vmesnik, a iz njega ne moremo neposredno uganiti delovnih postopkov.

Kakorkoli, shraniti je mogoče tudi ostale nastavitve, ki jih izberemo za posamezno vrsto in tip podatkovnega ključka. Poljubno lahko izberemo tudi njegovo serijsko številko ter določimo celo številko izdelovalca (VID, angl. vendor indentification number) in identifikacijsko številko izdelka (PID, angl. product indentification number). Ti sta potrebni za povezavo ključka prek vodila USB. Določimo lahko celo potreben napajalni tok, ki ga mora za ključek zagotoviti krmilnik USB osebnega računalnika. Ključek lahko obenem z geslom zaščitimo pred pisanjem.

Vsekakor na koncu ne moremo mimo misli, če bi vsi proizvajalci podatkovnih ključkov datoteke z ustreznimi nastavitvami objavili na spletu, bi bila njihova obnova veliko enostavnejša in hitrejša, predvsem pa ne bi bilo treba toliko eksperimentirati …

Bi si izdelali lasten ključek?

Primer orodja za proizvodnjo podatkovnih ključkov proizvajalca Chipbank Technologies: www.usbdev.ru/files/chipsbank/cbm2099umptool/

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentarji

Vlajke | 28.5.2019 | 10:23

Zelo zanimiv in informativen članek. Morda pa vseeno ne bi bilo odveč za firmware uporabiti drugega izraza kot "vgrajena programska oprema". Če se ne motim, je bolj ustaljen izraz "strojna programska oprema". http://dis-slovarcek.ijs.si/search?text=firmware&x=0&y=0 Dodatno je malo tudi moteče, ker imam občutek, da tudi izraz "vgrajena programska oprema" ni konsistentno uporabljan skozi članek in je potem težko ugotoviti ali govorimo o software ali firmware zgodbi :-)

Matjaž Klančar | 28.5.2019 | 10:33

Res je, strojna programska oprema bo prav. Konsistentno ;)

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji