Transcript
Page 1: Forenzná analýza SIM kariet

MASARYKOVA UNIVERZITA

FAKULTA INFORMATIKY

}w���������� ������������� !"#$%&'()+,-./012345<yA|Forenzná analýza SIM kariet

BAKALÁRSKA PRÁCA

Andrej Šimko

Brno, jar 2012

Page 2: Forenzná analýza SIM kariet

Prehlásenie

Prehlasujem, že táto bakalárska práca je mojím pôvodným autorským dielom, ktoré somvypracoval samostatne. Všetky zdroje, pramene a literatúru, ktoré som pri vypracovaní po-užíval alebo z nich cerpal, v práci riadne citujem s uvedením úplného odkazu na príslušnýzdroj.

Vedúci práce: Ing. Mgr. Zdenek Ríha, Ph.D.

ii

Page 3: Forenzná analýza SIM kariet

Zhrnutie

Ciel’om tejto práce je vytvorit’ softwarový nástroj s GUI, ktorý bude pomocou terminálupodporujúceho PC/SC rozhranie schopný cítat’ a interpretovat’ do l’udsky citatel’nej podo-by niektoré dôležité údaje zo SIM karty – najprv bez nutnosti zadania PIN kódu, a potom(ak si to užívatel’ želá) aj s jeho zadaním.

V teoretickej casti je popísaná problematika súborov na SIM karte, princíp oprávnení akomunikácia pomocou APDU príkazov.

iii

Page 4: Forenzná analýza SIM kariet

Kl’úcové slová

SIM karta, APDU, elementary file, forenzná analýza, ISO 7816-4

iv

Page 5: Forenzná analýza SIM kariet

Obsah

1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Štruktúra práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Smart karty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1 História . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Výhody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Bezkontaktné cipové karty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.4 Kontaktné cipové karty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.5 Špecifiká SIM kariet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Komunikácia s kartou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.1 C-APDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.2 R-APDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.2.1 Chybové kódy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.3 Niektoré APDU príkazy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.3.1 GET RESPONSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.3.2 READ BINARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3.3 READ RECORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4 Bezpecnostné prvky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1 Prístupové kódy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.1.1 CHV (PIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1.1.1 CHV1 (PIN1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1.1.2 CHV2 (PIN2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1.1.3 BPIN (MPIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.1.2 PUK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.2 Ochrana prístupových kódov . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.3 Prístup k súborom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5 Štruktúra a obsah pamätí na SIM karte . . . . . . . . . . . . . . . . . . . . . . . . . 155.1 Hierarchia súborového systému na SIM karte . . . . . . . . . . . . . . . . . . . 155.2 Dôležité EF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.2.1 ADN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165.2.2 HPLMN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165.2.3 ICCID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.2.4 IMSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.2.5 Kc, KcGPRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.2.6 Ki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.2.7 LND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185.2.8 LOCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.2.8.1 LAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.2.9 LP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.2.10 MSISDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.2.11 PHASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

v

Page 6: Forenzná analýza SIM kariet

5.2.12 SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.2.13 SPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215.2.14 SST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6 Prehl’ad aplikácií na prácu so SIM kartami . . . . . . . . . . . . . . . . . . . . . . . 226.1 Dekart: SIM Manager 3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226.2 SimCardExplorer 1.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.3 Classicalsoft: WinSIM Professional 1.0 . . . . . . . . . . . . . . . . . . . . . . . 246.4 Woron Scan 1.09 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246.5 Compelson: MOBILedit! Forensic 6.1.0.1634 . . . . . . . . . . . . . . . . . . . . 25

7 Praktická cast’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287.1 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

7.1.1 File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297.1.2 Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297.1.3 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297.1.4 Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

7.2 Vypisované údaje bez znalosti PIN kódu . . . . . . . . . . . . . . . . . . . . . . 297.3 Vypisované údaje po autentizovaní PIN kódom . . . . . . . . . . . . . . . . . 307.4 Vnútorná štruktúra programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

7.4.1 CardManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307.4.2 ApduWorker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317.4.3 Getters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317.4.4 WriteIntoSystemOut . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

7.5 Komplikácie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317.5.1 Dekódovanie SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317.5.2 Dekódovanie názvu kontaktu v ADN . . . . . . . . . . . . . . . . . . . 317.5.3 Interpretácia ICCID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327.5.4 Menšie komplikácie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

7.6 Další vývoj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Záver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36A Zoznam elektronických príloh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Slovník . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

vi

Page 7: Forenzná analýza SIM kariet

Kapitola 1

Úvod

Subscriber Identity Module (SIM) je kontaktný typ cipovej karty, ktorý slúži na identifikáciu,autentizáciu a autorizáciu úcastníka v mobilnej sieti. K tomu je potrebná logická a fyzickáadresa zariadenia (podobne ako IP a MAC). V prípade telefónnej siete je fyzickou adresouunikátne IMSI císlo napevno naprogramované v case výroby a logickou adresou je tele-fónne císlo asociované so SIM kartou. Dalej SIM karta zabezpecuje integritu (užívatel’ nieje schopný zmenit’ dáta na karte), nepopieratel’nost’ (odosielatel’ môže zistit’, ci príjemcasprávu prijal), dôveryhodnost’ (dáta prenášané vzduchom sú z dôvodu súkromia užívatel’ašifrované) a ochranu identity.

SIM karty sú dnes používané na každom kroku – najcastejšie v mobilných telefónochalebo pri pripojení na mobilný internet pomocou pocítacov a iných zariadení. Ako si mnohíl’udia uvedomujú, SIM karta obsahuje aj citlivé údaje o úcastníkovi – napríklad volané císla,adresár kontaktov, poslednú známu lokáciu alebo SMS správy.

Na forenzné úcely sa údaje zo SIM karty dnes používajú bežne. Známy je napríklad prí-pad z roku 2005, kedy sa po neúspešných samovražedných bombových útokoch v Londýnepodarilo talianskej polícii vypátrat’ a zatknút’ podozrivého vd’aka IMEI a IMSI kódom po-sielaným mobilným telefónom [1].

Ciel’om tejto práce je vyvinút’ nástroj, ktorý vypíše dostupné údaje zistené z danej SIMkarty.

1.1 Štruktúra práce

V úvodnej kapitole 2. Smart karty sa nachádza strucný úvod do problematiky cipovýchkariet, história, výhody spojené s ich používaním a špecifiká samotých SIM kariet.

Cast’ 3. Komunikácia s kartou nacrtáva komunikáciu pomocou APDU príkazov, ktorépodrobne popisuje, spolu s detailným pohl’adom na niektoré vybrané dôležité APDU prí-kazy, definované v štandarde ISO 7816-4 [11]. Sú tu taktiež príklady samotnej komunikácieako zo strany terminálu, tak zo strany karty.

4. Bezpecnostné prvky popisuje rôzne prístupové kódy využívané v SIM kartách, ria-denie prístupu k samotným EF súborom na karte, ako aj komplexný pohl’ad na samotnúbezpecnost’.

V kapitole 5. Štruktúra a obsah pamätí na SIM karte sú rozpísané typy pamätí, použitýsúborový systém a jeho špecifiká a druhy súborov, ktoré existujú na SIM karte. Rozoberajúsa tu informácie o EF súboroch, ktoré sú nositel’mi samotných dát – SMS, telefónneho zozna-

1

Page 8: Forenzná analýza SIM kariet

1.1. ŠTRUKTÚRA PRÁCE

mu, poslednej známej lokácie, jazykových preferencií, unikátnych kódov a iných údajov. Prišpeciálnych císlach, ako napríklad ICCID, je uvedená interpretácia významu ich samotnýchcíslic.

V casti 6. Prehl’ad aplikácií na prácu so SIM kartami sú popísané tie programy, ktoré súdostupné aspon v skúšobnej verzii. Uvedené sú klady a zápory, unikátnosti funkcionality,obrázky samotných GUI rozhraní a v prípade platenej licencie cena.

Posledná kapitola 7. Praktická cast’ popisuje mnou vytvorený nástroj, ktorý som nazvalSimple SIM Reader – jeho užívatel’ské rozhranie, funkcionalitu, schopnosti, vnútornú štruk-túru a niektoré implementacné detaily a myšlienky na budúci vývoj.

2

Page 9: Forenzná analýza SIM kariet

Kapitola 2

Smart karty

Smart karta, cipová karta, alebo ICC (Integrated Circuit Card) je typicky plastová karta, kto-rá v sebe ukrýva cip s elektronikou – pamät’ou a casto aj s mikroprocesorom. Na komuniká-ciu je potrebné špeciálne zariadenie – cítacka (terminál), ktorá slúži ako medzivrstva medzikartou a d’alším systémom, napríklad bankomatom, mobilným telefónom alebo pocítacom.Výroba týchto kariet každorocne stúpa vd’aka ich všestrannému využitiu v bankovníctve,telekomunikáciách, zdravotníctve, doprave alebo zábave. Postupne sa tak vytlácajú staršietechnológie založené na strojovom cítaní – napríklad magnetické pásky alebo ciarové kódy.Karty môžeme delit’ napríklad podl’a komunikacného média na kontaktné a bezkontaktné.

2.1 História

Zaciatkom 50. rokov 19. storocia bolo vd’aka nízkym cenám syntetických PVC materiálovmožné nahradit’ dovtedajšie papierové karty, ktoré boli náchylné na poškodenie, novýmiplastovými kartami. Prvé celoplastové karty zacala vydávat’ spolocnost’ Diners Club. Boliurcené iba pre vybranú skupinu l’udí a slúžili aj ako ukazovatel’ vyššieho sociálneho statusu.

Nástup spolocností Visa a MasterCard na trh viedol k masovému rozšíreniu plastovýchkariet slúžiacich na platenie. Základné údaje, ako napríklad meno vydavatel’a, boli vytlace-né na karte v normálnej podobe, zatial’ co údaje o vlastníkovi karty a samotné císlo kartyboli vytlacené v embosovanej podobe. Úcel týchto kariet bol zo zaciatku jednoduchý – ukla-danie dát chránené proti vytváraniu falzifikátov. Na to slúžil podpis vlastníka a vizuálneelementy na karte.

Bezpecnost’ týchto kariet však casom prestala postacovat’ a preto nastúpili karty s mag-netickým prúžkom, na ktorom boli uložené digitálne dáta v strojovo citatel’nej podobe.Týmto sa zacal prechod z papierových transakcií na elektronické spracovávanie dát. Aj na-priek zvýšeniu bezpecnosti, ktoré bolo aj vd’aka zavedeniu PIN kódu, boli však karty stálemálo bezpecné. S dostupným zariadením sa totiž mohli všetky dáta na páske cítat’, mazat’alebo menit’.

S nástupom elektronických obvodov sa otvorili nové možnosti a zaciatkom 70. rokovzacali vznikat’ prvé cipové karty. Aj ked’ patent na integrovaný obvod na identifikacnej kartebol vytvorený v Nemecku v roku 1968, pre vysokú cenu a nedokonalú výrobnú technológiusa ešte muselo pockat’ na ich uplatnenie v praxi.

V roku 1984 nastal prelom, ked’ sa francúzskej spolocnosti pre telekomunikáciu úspešnepodarilo pretestovat’ telefónne karty. Pionierom technológie smart kariet teda neboli platob-

3

Page 10: Forenzná analýza SIM kariet

2.2. VÝHODY

né, ale telefónne karty. Koncom roku 1986 existovalo vo Francúzsku už niekol’ko miliónovtelefónov so smart kartami [18]. Tieto karty však stále slúžili na analógové telefonovanie avyužívali magnetický pásik.

Stále narastajúcim vývojom technológií boli implementované stále nové technológie ajna smart karty – magnetické pásiky zacali byt’ nahradzované kartami s cipom, EPROMpamäte boli nahradené EEPROM, vzrastal výpoctový výkon procesorov, ktoré mohli robit’aj zložitejšie matematické a kryptografické operácie a rástlo aj samotné dátové úložisko.

2.2 Výhody

Medzi hlavné výhody patrí to, že cipové karty sú l’ahko prenosné a dokážu sami vyko-návat’ výpocty. To znamená, že oproti starším technológiám, ako sú napríklad magneticképásky, ktoré slúžili iba na uchovávanie dát, nemusia cipové karty bez patricnej autentizácieprezradit’ takmer žiadnu informáciu, ktorá je na nich uložená. Vd’aka tomu môžu podporo-vat’ bezpecné úložisko dát, identifikáciu alebo autentizáciu. Jediná cipová karta môže byt’naprogramovaná na mnohé úcely zároven – otváranie dverí kancelárie, požiciavanie kníhv knižnici, pracovanie s niekol’kými bankovými úctami. Alebo môže napríklad povol’ovat’bezhotovostné platby iba ak je v blízkosti iného unikátneho zariadenia vopred spárovanéhos cipovou kartou (napríklad mobilný telefón), co znamená výrazné zvýšenie bezpecnosti.Možnost’ využívat’ cipovú kartu na viaceré úcely zároven zvyšuje pohodlnost’ pre užívate-l’ov – v penaženke môžu namiesto 5 rôznych kariet nosit’ jedinú. Táto karta môže teoretickyobsahovat’ aj medicínske údaje nositel’a a v prípade núdze výrazne pomôct’ pri poskytovaníprvej pomoci.

2.3 Bezkontaktné cipové karty

Bezkontaktné cipové karty využívajú RF indukciu, ktorá dovol’uje komunikáciu karty s cí-tackou v jej bezprostrednej blízkosti. Tie získavajú na popularite napríklad vd’aka elektro-nickým pasom, alebo cestným platobným systémom.

2.4 Kontaktné cipové karty

Kontaktné cipové karty majú približne 1 cm2 vel’kú viditel’nú pozlátenú kontaktnú plochu,ktorá vyžaduje, aby bola karta vložená do cítacky.

2.5 Špecifiká SIM kariet

SIM karta má v plnej vel’kosti rozmery 85,60 mm × 53,98 mm × 0,76 mm. Pozostáva z mikro-procesora, ROM, RAM, EEPROM a sériového I/O rozhrania. Podporuje T=0 komunikacnýprotokol definovaný v ISO/IEC 7816-3. APDU príkazy podporované SIM kartami sú uve-dené v tabul’ke 2.1

4

Page 11: Forenzná analýza SIM kariet

2.5. ŠPECIFIKÁ SIM KARIET

INS Názov0E Erase Binary20 Verify70 Manage Channel82 External Authenticate84 Get Challenge88 Internal AuthenticateA4 Select FileB0 Read BinaryB2 Read RecordC0 Get ResposeC2 EnvelopeCA Get DataD0 Write BinaryD2 Write RecordD6 Update BinaryDA Put DataDC Update RecordE2 Append Record

Tabul’ka 2.1: Príkazy SIM kariet

5

Page 12: Forenzná analýza SIM kariet

Kapitola 3

Komunikácia s kartou

So SIM kartou sa komunikuje pomocou Application Protocol Data Unit (APDU) príkazov,špecifikovaných v štandarde ISO 7816-4, ktorý je zdarma dostupný na adrese [11]. APDU jemedzinárodný štandard na aplikacnej vrstve (7. v ISO-OSI modely). Zoznam APDU príka-zov, definovaných aj v iných štandardoch, je možné nájst’ na adrese [19].

3.1 C-APDU

Command APDU slúži na zasielanie príkazov z cítacky do SIM karty. Skladá sa z hlavicky,ktorá je povinne prítomná a má pevne stanovenú dlžku a z tela, ktoré má variabilnú dlžkualebo nemusí byt’ prítomné vôbec.

Povinná hlavicka Volitel’né teloCLA INS P1 P2 Lc DATA Le

Tabul’ka 3.1: C-APDU

Class of Instruction (CLA) indikuje typ príkazu. Ak je táto hodnota ’A0’, znamená to po-užitie pre GSM; ’0X’ znamená ISO definované príkazy a ’8X’ indikuje kreditnú kartu kom-patibilnú s EMV štandardom, alebo aplikacne špecifické využitie. CLA sa tiež využíva naindikovanie zabezpecenej komunikácie alebo logických kanálov.

Instruction (INS) kóduje samotný príkaz. Využitý môže byt’ takmer celý adresný priestortohto bytu s výnimkou nepárnych kódov (kvôli využitiu T = 0 protokolu).

P1 a P2 sú parametre, ktoré udávajú dodatocné informácie o príkaze definovanom v INS.Length of command (Lc) indikuje dlžku dát v zasielanom príkaze.Length expected (Le) indikuje dlžku ocakávanej odpovede. Ak je táto hodnota ’00’, ter-

minál ocakáva vrátenie správy s maximálnou možnou dlžkou.Vd’aka možnosti vynechat’ niektoré casti APDU môžu nastat’ 4 situácie zloženia C-

APDU:

hlavicka

hlavicka Le

hlavicka Le DATA

hlavicka Lc DATA Le

6

Page 13: Forenzná analýza SIM kariet

3.2. R-APDU

3.2 R-APDU

Response APDU slúži na zasielanie príkazov z karty terminálu ako odpoved’ na C-APDU.Skladá sa z volitel’ného tela a povinného zakoncenia. Dlžka dátovej casti tela závisí na pred-chádzajúcom APDU a jeho Le. Aj napriek pevne stanovenému Le však môže byt’ dátovácast’ prázdna (jej dlžka sa rovná nule) v prípade, ked’ cipová karta zahlási chybu. Chyby súkódované pomocou Status Word 1 a 2 (SW1 a SW2). Štruktúra R-APDU môže vyzerat’ takto:

SW1 SW2

DATA SW1 SW2

Volitel’né telo Povinné zakoncenieDATA SW1 SW2

Tabul’ka 3.2: R-APDU

3.2.1 Chybové kódy

Prehl’ad chybových kódov môžeme nájst’ v knihe Smart Card Handbook [18], kapitole 16.10.8:Smart card return codes. Chybové kódy môžeme rozdelit’ na 2 kategórie podl’a toho, cisa predošlý proces uskutocnený pomocou C-APDU ukoncil úspešne alebo neúspešne. Preúspešné ukoncenie sa používa najmä ’9000’ (všetko prebehlo v poriadku) a ’9Fxx’, kde ’xx’znací, kol’ko bytov dát sa dá získat’ príkazom GET RESPONSE.

SW1 || SW2 Význam’6700’ zlá dlžka’6A00’ zlý P1 alebo P2 parameter’9804’ verifikácia PINu neúspešná

Tabul’ka 3.3: Niektoré chybové kódy

7

Page 14: Forenzná analýza SIM kariet

3.3. NIEKTORÉ APDU PRÍKAZY

3.3 Niektoré APDU príkazy

3.3.1 GET RESPONSE

CLA INS P1 P2 Le’A0’ ’C0’ ’00’ ’00’ dlžka

Tabul’ka 3.4: príkaz GET RESPONSE

Použitie príkaz GET RESPONSE závisí na predošlom príkaze. Ak sa použije po príkazeSELECT, GET RESPONSE vráti hlavicku daného MF/DF/EF. Ked’že po získaní ATR jeimplicitne vyselektovaný MF, je tento príkaz možné použit’ aj ihned’. V Le sa zadá dlžkasúboru, ktorá bola vrátená v SW2 po príkaze SELECT.

Byte Popis Dlžka3 – 4 Celková vel’kost’ pamäte vyselektovaného DF, ktorá nie je alokovaná

žiadnemu DF ani EF pod vyselektovaným DF.2

5 – 6 FID 27 typ súboru:

• ’01’ = MF

• ’02’ = DF

• ’04’ = EF

1

15 Pocet DF, ktoré sú priamymi potomkami momentálne vyselektovanéhoDF.

1

16 Pocet EF, ktoré sú priamymi potomkami momentálne vyselektovanéhoDF.

1

19 CHV1 status (tabul’ka 3.6) 120 PUK1 status (tabul’ka 3.6) 121 CHV2 status (tabul’ka 3.6) 122 PUK2 status (tabul’ka 3.6) 1

Tabul’ka 3.5: niektoré dôležité dáta odpovede na príkaz GET RESPONSE po príkaze SE-LECT na MF/DF

b8=0: kód neinicializovaný; b8=1: kód inicializovanýb4 – b1: pocet zostávajúcich pokusov na zadanie zlého kódu (’0’ znamená zablokovaný)

8

Page 15: Forenzná analýza SIM kariet

3.3. NIEKTORÉ APDU PRÍKAZY

b8 b7 b6 b5 b4 b3 b2 b1

Tabul’ka 3.6: statusu kódov CHV1/2, PUK1/2

3.3.2 READ BINARY

Vd’aka predošlému príkazu GET RESPONSE vieme z jeho 3. – 4. bytu odpovede, akú dlžkutransparentného súboru môžeme ocakávat’. R-APDU nám v dátovej casti vráti HEX repre-zentáciu binárnych dát.

VERYFI PIN(0000) ’A0 20 00 01 08 30 30 30 30 FF FF FF FF’’90 00’

SELECT DF GSM ’A0 A4 00 00 02 7F 20’’9F 16’

SELECT EF IMSI ’A0 A4 00 00 02 6F 07’’9F 0F’

GET RESPONSE EF IMSI ’A0 C0 00 00 0F’’00 00 00 09 6F 07 04 00 1B 00 1B 01 02 00 00 90 00’

READ BINARY ’A0 B0 00 00 09’’08 29 13 10 31 00 84 48 30 90 00’

Príklad 3.3.1: Komunikácia so SIM kartou pomocou READ BINARY

’08’ v príklade 3.3.1: Komunikácia so SIM kartou pomocou READ BINARY znamená,že IMSI je kódované na 8 bytoch. Byty, ktoré nesú samotné IMSI, sú uložené v prehode-nej podobe, takže výsledné IMSI je v tomto prípade 231011300488403. SW kód je ’9000’, coznamená, že je všetko v poriadku.

9

Page 16: Forenzná analýza SIM kariet

3.3. NIEKTORÉ APDU PRÍKAZY

Byte Popis Dlžka3 – 4 vel’kost’ EF:

• pre transparentný EF: dlžka tela EF

• pre cyklický alebo lineárne pevný EF: dlžka záznamu vynáso-bená poctom záznamov v EF

2

5 – 6 FID 27 typ súboru:

• ’01’ = MF

• ’02’ = DF

• ’04’ = EF

1

9 – 11 podmienky prístupu (tabul’ka 4.1) 314 štruktúra EF:

• ’00’ = transparentná

• ’01’ = lineárne pevná

• ’03’ = cyklická

1

15 dlžka záznamu 1

Tabul’ka 3.7: dáta odpovede na príkaz GET RESPONSE po príkaze SELECT na EF

3.3.3 READ RECORD

Tento príkaz slúži na cítanie cyklickych záznamov a položiek záznamov s lineárne pevnoudlžkou. Ak je P2 = ’04’, znamená to adresovanie absolútne pomocou P1. Ak chcem precítat’prvý záznam, bude P1 = ’01’.

Pocet bytov v príklade 3.3.2: Komunikácia so SIM kartou pomocou READ RECORD ob-sahujúcich telefónne císlo, je uložený v 14. byte dátovej casti R-APDU od konca (’06’ v prí-klade). Nasleduje typ telefónneho císla – ’81’ pre národné císlo a ’91’ pre medzinárodnécíslo. Nasleduje samotné telefónne císlo v prehodenom slovoslede, doplnené znakmi ’FF’ –v tomto prípade 0517733733. Na znakoch pred tým je uložený názov v telefónnom adresári,v tomto prípade „Taxi Presov;/W“ uložení v 7-bitovom kódovaní.

10

Page 17: Forenzná analýza SIM kariet

3.3. NIEKTORÉ APDU PRÍKAZY

CLA INS P1 P2 Le’A0’ ’B0’ ’00’ ’00’ dlžka

Tabul’ka 3.8: príkaz READ BINARY

CLA INS P1 P2 Le’A0’ ’B2’ ’xx’ ’04’ dlžka

Tabul’ka 3.9: príkaz READ RECORD

VERYFI PIN(0000) ’A0 20 00 01 08 30 30 30 30 FF FF FF FF’’90 00’

SELECT DF TELECOM ’A0 A4 00 00 02 7F 10’’9F 16’

SELECT EF ADN ’A0 A4 00 00 02 6F 3A’’9F 0F’

GET RESPONSE EF ADN ’A0 C0 00 00 0F’’00 00 1B 58 6F 3A 04 00 11 00 22 01 02 01 1C 90 00’

READ 1. RECORD ’A0 B2 01 04 1C’’54 61 78 69 20 50 72 65 73 6F 76 3B 2F 57 06 81 5071 37 73 33 FF FF FF FF FF FF FF 90 00’

Príklad 3.3.2: Komunikácia so SIM kartou pomocou READ RECORD

11

Page 18: Forenzná analýza SIM kariet

Kapitola 4

Bezpecnostné prvky

4.1 Prístupové kódy

Bez prístupového kódu PIN/PUK sa z karty nedajú zistit’ takmer žiadne údaje vd’aka po-užitým šifrovacím algoritmom. Z tohto dôvodu sa pri forenznej analýze na zariadeniach,pri ktorých nie je dostupný ani PIN ani PUK kód, vyskúšajú 3 štatisticky najpoužívanejšiePIN kódy. Po neúspechu je SIM karta zablokovaná a orgány cinné v trestnom konaní musiapožiadat’ operátora o dodanie PUK kódu. Problémom sú karty zo zahranicia, kde je získa-nie PUK kódu zdlhavé. Vd’aka ochranným prvkom nie je možné urobit’ kópiu SIM karty sovšetkými dátami ani pri znalosti prístupových kódov.

4.1.1 CHV (PIN)

Personal Identification Number (PIN) je zastaraný termín pre Card Holder Verification in-formation (CHV). Oba pojmy oznacujú 4 – 8-miestny kód slúžiaci na autentizáciu užívatel’avoci SIM karte. CHV zaberá na karte 8 bytov, kde sú povolené len numerické znaky. Aksi užívatel’ zvolí CHV1 kratší než 8 znakov, rozdiel sa doplní pomocou ret’azca ’FF’. Po-skytovatel’ SIM karty nastaví PIN1/BPIN na predvolenú hodnotu (väcšinou 4-miestnu) aužívatel’ovi je odporúcané si ju po prvom zapnutí zmenit’. Po zadaní 3 nesprávnych PINkódov sa mobil zablokuje a na jeho opätovné sfunkcnenie je potrebné zadat’ PUK kód.

4.1.1.1 CHV1 (PIN1)

PIN1 kód je nutný na zapnutie mobilnej stanice a normálne využívanie SIM karty mobil-nou stanicou. Bez autentizácie týmto kódom sa nedajú využívat’ služby SIM karty okremnúdzového volania.

4.1.1.2 CHV2 (PIN2)

CHV2 kód slúži na správu niektorých menších funkcionalít na karte a používa sa len naADF. Túto hodnotu pozná iba mobilný operátor, rovnako ako PUK2 kód. Blokáciou CHV2kódu nedochádza k narušeniu bežnej funkcionality SIM karty.

12

Page 19: Forenzná analýza SIM kariet

4.2. OCHRANA PRÍSTUPOVÝCH KÓDOV

4.1.1.3 BPIN (MPIN)

Banking PIN (BPIN), alebo obcas nazývaný Mobile Banking PIN (MPIN) je kód distribu-ovaný spolu s PIN1, PUK1 a BPUK kódmi (pod stieracími pol’ami) a SIM kartou. Tento4-miestny kód slúži na prácu s GSM bankingom. Poskytuje vyššiu bezpecnost’ pre službyelektronického bankovníctva, ked’že je oddelený od CHV1 kódu. Blokáciou BPIN kódu ne-dochádza k narušeniu bežnej funkcionality SIM karty.

4.1.2 PUK

PIN Unlock Key (PUK) je 8-miestny kód dodávaný poskytovatel’mi SIM kariet (PUK1 aBPUK). Kódovanie PUK kódu je rovnaké ako kódovanie CHV kódu s rozdielom, že tentoret’azec musí mat’ stále dlžku práve 8 znakov. Ak sa PUK kód zadá 10-krát nesprávne, SIMkarta je natrvalo zablokovaná a je potrebné si zaobstarat’ novú. Pri trvalom zablokovaní SIMkarty neexistuje spôsob, akým by sa dali získat’ dáta na forenznú analýzu [14].

4.2 Ochrana prístupových kódov

Aj napriek tomu, že CHV1/2 sú uložené v EF súboroch, je zabezpecenie EF so samotnýmiprístupovými kódmi vysoké vd’aka dvom hl’adiskám:

• FID týchto EF nie sú verejne známe. Ked’že súbory sa dajú precítat’, bolo by prav-depodobne možné zistit’ nieco o danom EF súbore a analyzovat’ jeho obsah offline[15].

• Pocítadlo zlých pokusov PINu je najprv znížené, až potom dôjde k samotnej verifi-kácii PINu a v prípade správneho PINu je zvýšené. Toto hl’adisko je bezpecné hlavnevoci odberovej analýze, kde ak by to bolo riešené iným spôsobom (najprv by prebeh-la verifikácia a podl’a nej by sa pocítadlo znížilo/zvýšilo), bolo by možné prerušit’napájanie, ak by bol PIN kód nesprávny, alebo naopak pokracovat’ ako autentizova-ný užívatel’ po úspešnej verifikácii.

4.3 Prístup k súborom

Každý súbor sa riadi špecifickými prístupovými pravidlami:

• ALW: akcia môže byt’ uskutocnená stále (napríklad cítanie LP)

• CHV1: akcia môže byt’ uskutocnená iba ak bude splnená aspon 1 z 3 podmienok:

– v priebehu momentálnej session bol poskytnutý správny CHV1

– CHV1 indikátor je nastavený na disable

– UNBLOCK CHV1 bol úspešne uskutocnený v momentálnej session

13

Page 20: Forenzná analýza SIM kariet

4.3. PRÍSTUP K SÚBOROM

• CHV2: akcia môže byt’ uskutocnená iba ak bude splnená aspon 1 z 2 podmienok:

– v priebehu momentálnej session bol poskytnutý správny CHV1

– UNBLOCK CHV1 bol úspešne uskutocnený v momentálnej session

• ADM: o tieto práva sa stará administratívna autorita

• NEV: akcia nemôže byt’ uskutocnená nikdy cez SIM/ME (Mobile Equipment) roz-hranie. SIM karta však môže uskutocnit’ akciu vnútorne.

Úroven prístupových pravidiel nie je hierarchická – napríklad ak zadám CHV2 kód, nemámoprávnenie uskutocnovat’ akcie s potrebným CHV1 oprávnením.

Ak zadám nejaký kód, mám oprávnenie robit’ akcie vyžadujúce tento kód až do koncasession.

Prístupové práva sa k danému EF zistia pomocou príkazu SELECT a jeho odpovedev 9. – 11. byte. CHV1/2 status (enabled/disabled a pocet zostávajúcich pokusov) sa zistípríkazom SELECT na akékol’vek DF alebo MF a jeho odpoved’ou na 19./20. byte.

Level Prístup0 ALW1 CHV12 CHV23 rezervované4 – 14 ADM15 NEV

Tabul’ka 4.1: Interpretácia bytu prístupových kódov

14

Page 21: Forenzná analýza SIM kariet

Kapitola 5

Štruktúra a obsah pamätí na SIM karte

• Read-Only Memory (ROM) je energeticky nezávislá pamät’ obsahujúca operacnýsystém karty a bezpecnostné algoritmy.

• Random Access Memory (RAM) je energeticky závislá pamät’, v ktorej prebiehajúvýpocty algoritmov a slúži aj ako vyrovnávacia pamät’.

• Electronicly-Erasable Programable Read-Only Memory (EEPROM) je energeticky ne-závislý typ pamäte, v ktorom sú uložené úcastnícke dáta, napríklad ICCID, IMSI,Ki. . . Ked’že má ale obmedzený pocet zápisov, je vyvinutá snaha zbytocne neprepi-sovat’ dáta, pokial’ to nie je nutné.

5.1 Hierarchia súborového systému na SIM karte

Súborový systém je uložený v pamäti EEPROM ako hierarchická stromová štruktúra. Každýsúbor je jednoznacne identifikovatel’ný pomocou následnosti otvorených DF a identifikáto-ru súboru (FID), ktorý má dlžku 2 byty. Súbory teda nemajú klasický názov ako v bežnomsúborovom systéme na PC. Rozoznávame 3 druhy súborov:

• Master File (MF) je korenovým (root) adresárom, ktorý môžeme prirovnat’ k linuxo-vému „/“. Môže obsahovat’ 1 alebo viac DF/EF súborov. Adresa MF je ’3F00’.

• Dedicated File (DF) je ekvivalent priecinkov (uzol v stromovej štruktúre), obsahujeiba hlavicku. Špeciálnym typom DF je Application Dedicated File (ADF), ktorý sipod sebou uchováva všetky DF a EF patriace k danej aplikácii.

• Elementary File (EF) je ekvivalent súborov (list v stromovej štruktúre), obsahuje hla-vicku aj telo.

Existujú 3 druhy štruktúry fyzického záznamu EF v súborovom systéme karty:

• transparentná (transparent) je sekvencia bytov s l’ubovol’ným prístupom. Celkovádlžka súboru je definovaná v jeho hlavicke.

• lineárna pevná (linear fixed) je sekvencia záznamov, kde má každá položka vopredstanovenú dlžku. Prvý záznam je indexovaný císlom 1. Pocet záznamov a ich celkovável’kost’ sú definované v hlavicke.

15

Page 22: Forenzná analýza SIM kariet

5.2. DÔLEŽITÉ EF

• cyklická (cyclic) slúži na uchovávanie údajov v chronologickom poradí. Ked’ bolivšetky sloty na záznamy využité, po pridaní nového záznamu sa prepíše najstaršiapoložka (FIFO). Pocet záznamov a ich celková vel’kost’ sú definované v hlavicke.

Niektoré zdroje uvádzajú aj lineárny zoznam s variabilnou dlžkou. Túto možnost’ všakštandard GSM 11.11 [6] nešpecifikuje.

Všetky súbory na smart kartách sú objektovo orientované. Z toho vyplýva, že musia byt’najprv vyselektované a až potom sa s nimi dá pracovat’.

EF FID DF štruktúra cítanie zápisADN 6F3A TELECOM linear fixed CHV1 CHV1HPLMN 6F31 GSM transparent CHV1 ADMICCID 2FE2 MF transparent ALW NEVIMSI 6F07 GSM transparent CHV1 ADMKC 6F20 GSM transparent CHV1 CHV1KCGPRS 6F52 GSM transparent CHV1 CHV1LND 6F44 TELECOM cyclic CHV1 CHV1LOCI 6F7E GSM transparent CHV1 CHV1LP 6F05 GSM transparent ALW CHV1MSISDN 6F40 TELECOM linear fixed CHV1 CHV1PHASE 6FAE GSM transparent ALW ADMSMS 6F3C TELECOM linear fixed CHV1 CHV1SPN 6F46 GSM transparent ALW ADMSST 6F38 GSM transparent CHV1 ADM

Tabul’ka 5.1: niektoré EF a ich vlastnosti

5.2 Dôležité EF

5.2.1 ADN

Abbreviated Dialing Numbers sú telefónne císla uložené spolu s dodatocnou informáciou(textovým ret’azcom), ktoré môžu byt’ pohodlne vyvolané z telefónu. Bežná SIM karta mápamät’ na 250 kontaktov v tomto telefónnom zozname.

5.2.2 HPLMN

Home Public Land Mobile Network search period udržuje informácie o casovom intervalepre vyhl’adávanie domácej siete. Tento údaj sa uvádza v minútach a je obvykle nastavenýna 5 minút.

16

Page 23: Forenzná analýza SIM kariet

5.2. DÔLEŽITÉ EF

5.2.3 ICCID

Integrated Circuit Card Identification je unikátne císlo SIM karty, ktoré nemôže byt’ zmene-né za žiadnych okolností a je fyzicky vytlacené na líci SIM karty. ICCID sa dá analyzovat’pomocou online analyzátora [9] a podl’a ITU-T E.118 [2] pozostáva z 19 císlic.

89 420 2 039961122830 2

Príklad 5.2.1: ICCID císlo

• Prvá dvojica znamená Major Industry Identifier (MII) (89 v príklade znací použitiena telekomunikacné úcely).

• Dalšie 1 až 3 císlice sú Mobile Country Code (MCC) zadané v odporúcaní E.164 [3](420 v príklade je Ceská republika [13]).

• Dalšie 1 až 2 císlice sú Mobile Network Code (MNC), alebo Issuer Identifier, ktoré saviažu na konkrétnu krajinu (2 v príklade je operátor O2 [10]).

• Zvyšné císlice (s výnimkou poslednej) sú Individual Account Identification Number(IAIN), ktoré si vytvára samotný operátor.

• Posledná císlica je kontrolný súcet spocítaný pomocou Luhnovho algoritmu (císlo 2v príklade).

Pri spojení MII, MCC a MNC vznikne maximálne 7-miestne císlo, ktoré sa nazýva IssuerIdentificatoin Number. V príklade je to císlo 894202.

Obrázok 5.1: slovenské a ceské údaje od Telefónica O2 [4]

17

Page 24: Forenzná analýza SIM kariet

5.2. DÔLEŽITÉ EF

5.2.4 IMSI

International Mobile Subscriber Identity je unikátne císlo v GSM systéme o maximálnej dlž-ke 15 znakov, ktoré jednoznacne identifikuje úcastníka siete. Dá sa analyzovat’ napríkladpomocou online analyzátora [9]. Pozostáva z 3-miestneho císla MCC, ktoré identifikuje kra-jinu; 2-miestneho (európsky štandard) alebo 3-miestneho (severoamerický štandard) MNC,ktoré identifikuje mobilného operátora v danej krajine a maximálne 10-miestne Mobile Sub-scription Identification Number (MSIN), ktoré pridel’uje mobilný operátor v danej krajine najednoznacnú identifikáciu úcastníka siete. IMSI sa normálne neprenáša vzduchom v plain-texte, aby sa neprezradila lokácia daného úcastníka siete. Namiesto toho sa na identifikáciuposiela TMSI spolu s LAI.

Pri realizácii telefónneho hovoru je najprv potrebné preložit’ telefónne císlo volaného naIMSI (pomocou databázy, ktorá mapuje telefónne císla na IMSI) a hovor je potom presme-rovaný na aktuálnu polohu daného IMSI.

Príklad: 230 02 1900572323. MCC = 230 pre Ceskú republiku [13], MNC = 02 pre O2,MSIN = 1900572323.

MCC-MNC Operátor230-01 T-Mobile230-02 230-02230-03 Vodafone230-99 R&D Centre

Tabul’ka 5.2: zoznam MNC aktívnych ceských operátorov k dnu 09.04.2012

5.2.5 Kc, KcGPRS

Cipher Key je tajný symetrický kl’úc slúžiaci na šifrovanie dát zasielaných vzduchom medzimobilnou stanicou a základnou.

5.2.6 Ki

Individual Key alebo Authentication Key je tajný 128-bitový symetrický kl’úc neznámy uží-vatel’ovi, ktorý slúži na autentizáciu a generovanie šifrovacích kl’úcov. Ki bolo špeciálnenavrhnuté tak, aby sa nedalo kompromitovat’ pomocou smart-card rozhrania. Ki sa nikdyneposiela do siete ani do mobilného telefónu. Všetky operácie teda prebiehajú vo vnútriSIM. Na starších SIM kartách však bola objavená chyba v GSM kryptografii, umožnujúcazistit’ Ki a tým pádom klonovat’ SIM karty [17].

5.2.7 LND

Last Number Dialed slúži na uschovanie posledných volaných císel. Tento súbor je cyklickejštruktúry, takže najstaršie dáta sa prepíšu novšími v prípade nedostatku vol’ných záznamov.

18

Page 25: Forenzná analýza SIM kariet

5.2. DÔLEŽITÉ EF

Císlo samotné sa ukladá na posledných 14 bytoch, kde prvý byte urcuje dlžku císla, druhýnesie informáciu o medzinárodnosti hovoru (’81’ pre národný a ’91’ pre medzinárodný) ad’alej nasledujú byty so samotným telefónnym císlom uložené s prehodenými polovicamibytov prípadne doplnené sprava ’FF’.

Príklad na posledných 14 bytov: ’07 91 24 91 70 21 43 65 FF FF FF FF FF FF’. Císlo je dlhé7 bytov, ide o medzinárodný hovor (takže sa v praxi pred císlo pridajú znaky ’00’). Císloteda vyzerá: 00421907123456.

Niektoré mobilné telefóny pred toto císlo pridávajú aj textový ret’azec s informáciouo volanom císle podl’a adresára.

5.2.8 LOCI

Location information drží momentálne informácie o lokácii. Prvých 8 znakov udáva Tem-porary Mobile Subscriber Identity (TMSI), d’alších 10 znakov je LAI, nasledujú 2 znaky preTMSI TIME, ktoré sa už ale nevyužívajú a sú nastavené na ’FF’ a posledné 2-císlie znamenástatus (tabul’ka 5.3).

hodnota status00 Updated01 Not updated02 Forbidden PLMN03 Forbidden location area

Tabul’ka 5.3: status TMSI

Príklad: ’1EBB5FCB 230F027002 FF 00’. TMSI = ’1EBB5FCB’, LAI = ’230F027002’, TMSITIME = ’FF’ (nepoužívané), status = aktualizovaný.

5.2.8.1 LAI

Location Area Identity je unikátne císlo lokálnej stanice operátora. Toto císlo je uložené naSIM karte, aby zariadenie vedelo, s ktorou stanicou má karta komunikovat’. Po presunutí nainú stanicu sa LAI novej stanice pridá na SIM kartu tak, že ostatné LAI ostanú zachované.Toto je výhoda pre forenzných analytikov, pretože môžu urcit’ geografickú polohu, kde sakarta nachádzala, ked’ bola zapnutá. LAI sa skladá z 3 císlic MCC, 2 – 3 císlic MNC a 4 císlicLocal Area Code (LAC), ktoré umožnuje maximálne 65536 staníc v jednom GSM PLMN.

Príklad: ’230 F02 7002’. MCC = ’230’ (Ceská republika), MNC = ’02’ (operátor O2), LAC= ’7002’.

5.2.9 LP

Language Preferences je súbor, ktorý udržuje informácie o preferovaných jazykoch zorade-ných podl’a priority. Tento súbor sa riadi štandardom GSM 03.38 [7].

19

Page 26: Forenzná analýza SIM kariet

5.2. DÔLEŽITÉ EF

5.2.10 MSISDN

Mobile Station ISDN Number znamená telefónne císlo SIM karty. Je to avšak nepovinnýúdaj, takže ho niektorí operátori na SIM karte neimplementujú.

5.2.11 PHASE

Obsahuje informácie o fáze – fáza oznacuje postupné evolucné štádiá vývoja GSM systémua je priamo zodpovedná za funkcionalitu obsiahnutú v SIM kartách. Fáza 1 obsahovala ibapár základných služieb pre komunikácie v GSM využitie IMSI a šifrovania. Fáza 2 bol vel’mizavedený štandard, ktorý ale nemohol podliehat’ zmenám. Oproti tomu Fáza 2+ umožnujepridávanie nových funkcionalít.

Fáza v EF je kódovaná takto: ’00’ pre fázu 1; ’02’ pre fázu 2; ’03’ pre fázu 2+.

fáza 1 fáza 2 fáza 2+autentizácia SIM karty v sieti PIN2 SDNochrana dát na SIM kartePIN kódom

FDN High-Speed Circuit-Switched Data (HSCSD)

telefónny adresár PLMN Over The Air (OTA)SMS konferencné hovory SIM ToolKit (STK)roaming posledné volané císla Barred Dialing Numbers

(BDN)prenos hlasu GSM 1800 MHz GPRS

Tabul’ka 5.4: zoznam niektorých funkcionalít fáz

5.2.12 SMS

Short Message Service je súbor obsahujúci niekol’ko 176 bytových správ. Ukladanie SMSje špecifikované v štandarde GSM 03.40[5]. Ked’že pamät’ EEPROM má obmedzený pocetzápisov, ked’ užívatel’ vymaže SMS zo SIM karty, ich obsah sa automaticky nepremaže nasamé ’FF’, ale miesto toho sa nastaví 1. byte záznamu na ’00’, co znamená vol’nú pozíciu.Po vymazaní sú teda staré SMS stále nedotknuté, kým ich neprepíšu novšie správy. Akje správa kratšia než maximálna dlžka, je doplnená sprava znakmi ’FF’. Samotný textovýobsah SMS správy má iba 140 oktetov a môže byt’ kódovaný v 3 rôznych kódovaniach.

Existujú „dlhé SMS“ nazývané aj „multi-segmentové SMS“, ktoré sa dajú poslat’ pomo-cou viacerých normálnych SMS. Na zaciatku (prvých 7 bytov) sa k nim ale pridáva UserData Header (UDH) s informáciami o segmentácii, a preto sa do nich vojde menší pocetznakov. Úlohou mobilného telefónu je spojit’ multi-segmentové SMS a ukázat’ z nich užíva-tel’ovi iba 1 dlhú SMS správu.

20

Page 27: Forenzná analýza SIM kariet

5.2. DÔLEŽITÉ EF

kódovanie normálna SMS dlhá SMS7-bit 160 1538-bit 140 134

16-bit (UCS-2) 70 67

Tabul’ka 5.5: pocty znakov v daných kódovaniach

5.2.13 SPN

Service Provider Name je 17 bytov vel’ký súbor, ktorý si v sebe udržiava meno mobilné-ho operátora, kódovaného pomocou GSM 03.38 [7]. Ak je meno menšie než maximum, jedoplnené sprava znakmi ’FF’.

5.2.14 SST

SIM Service Table obsahuje tabul’ku, ktorá obsahuje informácie o dostupných a aktivova-ných službách na SIM karte, ktoré sú doplnkovými službami ku základným hlasovým služ-bám. Služby sú definované v štandarde GSM 11.11 [6].

21

Page 28: Forenzná analýza SIM kariet

Kapitola 6

Prehl’ad aplikácií na prácu so SIM kartami

Na internete je k dispozícii pomerne málo použitel’ných nástrojov na prácu so SIM karta-mi, ktoré zvládajú PC/SC špecifikácie. Vybral som z nich tie, ktoré majú dostupné asponskúšobné verzie.

6.1 Dekart: SIM Manager 3.1

Obrázok 6.1: SIM Manager

SIM Manager je komercný software na cítanie, ale aj zmenu, vymazávanie a pridávanieúdajov na SIM karte. Jeho cena je 29USD.

Bez autentizácie PINom je možné zistit’ pocet zostávajúcich zlých pokusov PIN1/2 aPUK1/2, ICCID, fázu, SPN a ATR a následne ich uložit’ do csv súboru.

22

Page 29: Forenzná analýza SIM kariet

6.2. SIMCARDEXPLORER 1.1.2

Po autentizácii PINom sa dá zistit’ IMSI a posledná známa lokácia SIM karty. Okrem to-ho sa nasledujúce údaje dajú nielen cítat’, ale aj menit’ a mazat’ (ak to daný súbor povol’ujea mám požadované autentizacné kódy): telefónny zoznam, SMS, PLMN, zakázané PLMN,SDN, FDN, LND, MSISDN. Získané informácie sa dajú exportovat’ do niekol’kých formátov.Program podporuje aj vytvorenie kópie SIM karty, konkrétne prekopíruje vybrané z vyššieuvedených údajov na inú SIM kartu. Pritom môže ponechat’ alebo zmazat’ dáta na ciel’ovejSIM karte. Je podporovaná zmena PIN kódu, vymazanie všetkých dát na SIM karte aleboimport kontaktov z Google, Yahoo alebo iTunes. V nastaveniach je možnost’ zobrazenia vy-mazaných SMS správ, aj ked’ je defaultne vypnutá. SMS správy je možné úplne vymazat’(prepísat’ znakmi ’FF’), obnovit’ z vymazaných, alebo vymazat’.

6.2 SimCardExplorer 1.1.2

Obrázok 6.2: SimCardExplorer

SimCardExplorer je vol’ne dostupný software dostupný v 3 jazykových mutáciách (an-

23

Page 30: Forenzná analýza SIM kariet

6.3. CLASSICALSOFT: WINSIM PROFESSIONAL 1.0

glictina, francúzština, španielcina). Jeho posledná verzia vyšla v roku 2007.Bez PINu zobrazuje ATR a možnost’ odblokovania PIN1/2 kódov, ale aj možnost’ pre-

cítania EF súborov, ktoré majú nastavené prístupové práva na cítanie ALW. Obsah týchtosúborov však nie je dostupný v l’udsky citatel’nej podobe, ale v HEX.

Ako jeden z mála z dostupných programov dokáže zobrazit’ SST, a to v prehl’adnej ta-bul’ke s farebným zvýraznením ne/aktívnych a ne/dostupných služieb. Dokáže tiež precí-tat’ mnohé EF a poskytnút’ ich detaily (popis, typ súboru, FID, vel’kost’ dát a samotné dátav HEX). Interpretovat’ do l’udsky citatel’ného formátu však vie okrem SST iba SMS, LND,FDN, MSISDN a telefónny zoznam. Pri cítaní položiek s diakritikou má problém (konkrétnev názvoch kontaktov v UCS-2 kódovaní s prvým bytom ’81’ nepíše správne znaky a s pr-vým bytom rovným ’80’ nevypíše na danom mieste žiaden ret’azec), rovnako ako pri cítanímulti-segmentových SMS, kde zobrazuje na konci samotného textu SMS správy UDH v ne-citatel’nej forme. SMS dokáže úplne vymazat’, vymazat’ a obnovit’. Položky v ADN doká-že vytvárat’, mazat’ a editovat’. Ako iné programy, aj tento zvláda zmenu a odblokovaniePIN1/2 kódov, ale ako jeden z mála umožnuje aj zmenu PIN1 identifikátora na disable, címumožní prístup ku karte bez zadania PIN1 kódu.

6.3 Classicalsoft: WinSIM Professional 1.0

WinSIM Professional je dostupný iba v 1 verzii, ktorá vyšla v roku 2008. Licencia pre 1 pocí-tac stojí 500USD. Pre bežných užívatel’ov je tento nástroj neprínosný, pretože neprezentuježiadne dáta v citatel’nej podobe.

Program slúži na prácu s APDU príkazmi. Má preddefinované všetky bežné APDU prí-kazy, ktoré musia SIM karty podporovat’. Silnou stránkou tohto programu je podpora skrip-tovania APDU príkazov, možnost’ breakpointov alebo export logov s príkazmi, dátovýmiodpoved’ami a SW1 + SW2.

Asi najunikátnejšia vlastnost’ tohto programu je možnost’ precítania informácií o akom-kol’vek DF/EF na karte. Pre DF zobrazuje ich ID, typ (MF/DF), alokovanú pamät’, pocetDF a pocet EF, ktoré obsahuje. Pre EF zobrazuje FID, typ (EF), vel’kost’, typ súboru, status apodmienky prístupu. Samotné súbory sa dajú aj precítat’, ale iba ich HEX podoba, aj to ažpo zadaní dlžky súboru.

6.4 Woron Scan 1.09

Woron Scan je vol’ne šíritel’ný program, ktorý vznikol vd’aka clenom fóra KIEVSAT. An-tivírové programy od spolocnosti ESET ho však detekujú ako trójskeho kona. Ako jedenz mála dostupných nástrojov dokáže na starých SIM kartách zistit’ Ki, co môže trvat’ cca4 hodiny. Okrem Ki zistí IMSI, ICCID, ATR, pocet zostávajúcich PIN1/2 PUK1/2 pokusov,zmenit’ PIN1, odblokovat’ PIN1/2, zobrazit’ a exportovat’ telefónny zoznam a pridávat’ amenit’ jeho položky. Položky v telefónnom zozname však nezobrazuje všetky správne – ne-ráta s kódovaním GSM_DEFAULT, takže napríklad ’05’, co je v danom kódovaní znak „é“,zobrazí ako prázdny.

24

Page 31: Forenzná analýza SIM kariet

6.5. COMPELSON: MOBILEDIT! FORENSIC 6.1.0.1634

Obrázok 6.3: WinSIM Professional

6.5 Compelson: MOBILedit! Forensic 6.1.0.1634

MOBILedit! Forensic je komercný, neustále aktualizovaný a vyvíjaný software na forenznúanalýzu mobilných telefónov a SIM kariet. Je využívaný zložkami FBI a CIA, je vysoko hod-notený spolocnost’ou NIST a umožnuje iba read-only mód, aby nedošlo k zmene niektorýchpoložiek a predišlo sa tak zniceniu dôkazov. Je dostupný v Lite verzii ktorá má zablokovanúniektorú funkcionalitu. Cena je 399EUR bez DPH.

Program po pripojení PC/SC zariadenia zobrazuje pocet možných zlých pokusov za-dania PINu a požaduje zadanie PIN kódu, alebo PUK kód s následnou zmenou PINu. Bezzadania PINu vypíše ATR a ICCID. Ked’ ale chcem zadat’ PIN kód po tom, ako som zrušildialóg pri pripojení zariadenia, musím zariadenie odpojit’ a zapojit’ znovu, alebo vypnút’ azapnút’ program – program nepodporuje opätovné zadanie PINu inokedy ako pri pripojenízariadenia.

Po autentizovaní PINom je možné zistit’ IMSI, fázu, LAI, pocet možných zlých pokusovPIN1/2 a PUK1/2, telefónny adresár, posledné volané císla (LND), FDN, alebo preferovanéa zakázané siete (so slovným popisom štátu a siete). SMS správy sú viditel’né bez príznakuci sú vymazané alebo nie. Dalej je možné pomocou tohto programu odblokovat’ PIN1/2

25

Page 32: Forenzná analýza SIM kariet

6.5. COMPELSON: MOBILEDIT! FORENSIC 6.1.0.1634

Obrázok 6.4: Woron Scan

pomocou PUK1/2, aj samotná zmena PIN1/2. Výhodou je možnost’ zálohovania všetkýchzískaných dát do súboru.

Po aktivácii v platenej verzii programu je možné obnovit’ vytvorené zálohy, exporto-vat’ údaje do rôznych formátov alebo generovat’ forenzné reporty jedným kliknutím, coeliminuje l’udský faktor. Program dokáže vygenerovat’ reporty aj z predošlých pripojenýchzariadení, nie iba zo zariadenia, ktoré je momentálne pripojené.

26

Page 33: Forenzná analýza SIM kariet

6.5. COMPELSON: MOBILEDIT! FORENSIC 6.1.0.1634

Obrázok 6.5: MOBILedit! Forensic Lite

27

Page 34: Forenzná analýza SIM kariet

Kapitola 7

Praktická cast’

Program Simple SIM Reader bol vytvorený v Jave v JDK7 pomocou vol’ne šíritel’ného vý-vojového prostredia NetBeans IDE. Na komunikáciu so SIM kartou používa balícek ja-vax.smartcardio a na interpretáciu samotného textového obsahu SMS správ knižnicu smsj-20051126.jar [20], konkrétne balícky org.marre.sms. Ked’že Java neobsahuje znakovú saduGSM_DEFAULT, využil som ju z knižnice JCharset [12].

7.1 GUI

Obrázok 7.1: Simple SIM Reader

28

Page 35: Forenzná analýza SIM kariet

7.2. VYPISOVANÉ ÚDAJE BEZ ZNALOSTI PIN KÓDU

Návrh GUI je jednoduchý, ale úcelný. Tvorí ho jedno vel’ké textové pole a 4 základnémenu položky. Do textového pol’a sa vypisujú všetky údaje získané zo SIM karty, dajú sal’ahko skopírovat’ alebo uložit’ do textového súboru. Menu, chybové hlásenia, ako aj vypi-sované atribúty sú v anglictine.

7.1.1 File

Nachádzajú sa tu 2 možnosti – Save, ktorý uloží obsah textového okna do textového súborua Exit, ktorý vypne celý program.

7.1.2 Card

Tlacidlo Connect ustanoví spojenie s prvou cítackou kariet, ktorú dostane a so SIM kartouv nej. Táto možnost’ je dostupná iba ak nie je v programe otvorené žiadne spojenie na SIMkartu. Po pripojení na kartu sa táto možnost’ zneprístupní až do stlacenia Disconnect. Toutovol’bou sa zruší spojenie so SIM kartou a cítackou.

7.1.3 Data

Najdôležitejšia cast’ na celom GUI, ktorá sa stará o vypisovanie dát a autentizáciu PIN kó-dom. Možnost’ Clear jednoducho vymaže obsah textového okna, Read without PIN vypíševšetky informácie, ktoré sa podarilo zistit’ bez znalosti PIN kódu. Položka Read with PINje neprístupná, pokial’ sa užívatel’ vopred úspešne neautentizoval znalost’ou PIN kódu avypisuje všetky informácie, ktoré sa podarilo zistit’ vd’aka znalosti PINu.

Možnost’ Enter PIN je zodpovedná za autentizovanie PINom. Ak užívatel’ zadá PINo dlžky menej ako 4 znaky alebo viac ako 8 znakov, PIN sa neposiela na SIM kartu, aleprogram upozorní užívatel’a na zlú dlžku PINu. Rovnako, ak sa v PINe nachádzajú iné akonumerické znaky, PIN sa neposiela na SIM kartu a užívatel’ je na túto skutocnost’ upozorne-ný. Po úspešnej autentizácii PINom sa zneprístupní jeho opätovné zadanie, ktoré sa znovusprístupní až po odpojení karty.

7.1.4 Help

Má zatial’ iba jedinú položku About. V nej sú informácie o konkrétnej verzii programu,mojom mene a kontaktnom emaile.

7.2 Vypisované údaje bez znalosti PIN kódu

Ked’ je program úspešne pripojený na SIM kartu, dokáže z nej precítat’ mnohé informácie,ktoré majú prístupové práva na cítanie nastavené na ALW.

Vypíše ATR, ICCID (s rozpársovanými MII, MCC, MNC, IIN, IAIN a císlicu kontrolnéhosúctu), SPN, PHASE, PIN 1/2 a PUK 1/2 statusy (initialised alebo not initialised) a pocet ichzostávajúcich pokusov a preferované jazyky.

29

Page 36: Forenzná analýza SIM kariet

7.3. VYPISOVANÉ ÚDAJE PO AUTENTIZOVANÍ PIN KÓDOM

7.3 Vypisované údaje po autentizovaní PIN kódom

Po úspešnom pripojení na SIM kartu a po zadaní správneho PIN kódu je program schopnýprecítat’ omnoho viac informácií. Konkrétne tie, ktoré majú práva na cítanie nastavené naCHV1.

Zobrazuje sa IMSI s rozpársovanými MCC a názvom danej krajiny, MNC a názvom da-ného operátora a MSIN. Názvy krajiny v MCC a operátora v MNC sú zatial’ funkcné iba preSlovensko a Ceskú republiku. Dalej sa zobrazí LOCI a jeho rozpársované informácie TMSI,LAI, MCC, MNC, LOC, TMSI TIME a Location Update Status.

Ked’že niektoré mobilné telefóny nezaznamenávajú na SIM kartu posledné volané císla,táto položka je niekedy prázdna. Ak to daný mobil využíva, zobrazí sa tam bud’ telefón-ne císlo, alebo pri niektorých SIM kartách aj názov volaného kontaktu spolu s telefónnymcíslom.

Kc, KcGPRS, HPLMN sú d’alšie informácie, ktoré sú vypisované, a to bez akejkol’vekinterpretácie.

Telefónny zoznam je vypisovaný v l’udsky citatel’nej podobe – poradové císlo kontaktu,jeho názov a telefónne císlo, ktoré je vypisované s prefixom 00, ak ide o medzinárodné císlo.Môže sa stat’, že sú niektoré položky vypisované až ku koncu ADN záznamu – poslednécísla väcšinou okupujú vopred definované císla mobilným operátorom. Program nevypi-suje prázdne telefónne záznamy, aj ked’ ich musí precítat’. Výpis samotného telefónnehozoznamu trvá dlhší cas, cca 7 sekúnd pre 250 záznamov.

Posledná vec, ktorú program vypisuje, sú SMS správy. Vypisuje ich poradové císlo, zá-znam o vymazaní (vypisuje kompletne aj vymazané SMS), cas prijatia správy, císlo odosie-latel’a, príznak, ci je daná SMS multi-segmentová a ak je tak, jej offset a samozrejme samotnýtext správy.

7.4 Vnútorná štruktúra programu

Program je štruktúrovaný podl’a logických celkov. Obsahuje dátové triedy, ktoré si o se-be iba nesú informácie – Contact, DF, DatabaseOfEF, EF, ICCID, IMSI, LOCI a SMS;výnimky BadStatusWordException, NoReaderFoundException, WrongLengthOf-PINException, WrongPINCharactersException a WrongPINException, triedu GUIzastrešujúcu celé grafické rozhranie, triedu SwingWorkerGUI, ktorá sa stará o plynulé vy-pisovanie dát bez znalosti a so znalost’ou PIN kódu bez toho, aby zamrzlo hlavné oknoprogramu.

7.4.1 CardManager

Je trieda, ktorá zistí všetky pripojené terminály, dokáže sa pripojit’ na prvý terminál, ktorývidí a na SIM kartu, ktorá je v nom. Sprostredkováva aj samotné odpojenie od karty a ter-minálu, vie verifikovat’ PIN1 vložený ako String alebo byte[]. V poslednom rade slúži nasamotné zasielanie APDU príkazov do karty vo forme byte[] a získavanie R-APDU.

30

Page 37: Forenzná analýza SIM kariet

7.5. KOMPLIKÁCIE

7.4.2 ApduWorker

ApduWorker pracuje na logicky vyššej úrovni – vytvára APDU príkazy, ktoré preposielado triedy CardManager. Funkcie, ktoré sa dajú použit’, sú select(), getResponse(),readBinary() a readRecord(). V argumentoch majú tieto funkcie už iba FID súboru, naktorý chcú danú operáciu aplikovat’ (select() a getResponse()), prípadne byte[] pre-došlej odpovede na getResponse() (readBinary() a readRecord()) alebo poradovécíslo záznamu, ktorý chcem cítat’ (readRecord()). Všetky tieto funkcie vracajú byte[], kto-rý využijú funkcie o logickú úroven vyššie.

7.4.3 Getters

Getters pracuje logicky nad triedou ApduWorker. Väcšina jeho funkcií vracia String (na-príklad getPhase()), dátovú entitu (napríklad getIMSI()), alebo List dátových entít(getListOfSMS()).

7.4.4 WriteIntoSystemOut

Ako už názov napovedá, táto trieda sa stará o výpis informácií na System.out. Využívatriedu Getters a všetky informácie sú v l’udsky citatel’nej podobe vypísané aj s popisom.Má 2 základné metódy pre výpis, ktoré používajú ostatné metódy v tejto triede – write-DataWithoutAuthentication() a writeDataWithAuthentication(), ktoré sa sta-rajú o výpis všetkých informácií, ktoré sa dajú zistit’ bez znalosti PINu a po úspešnej auten-tizácii PINom.

7.5 Komplikácie

7.5.1 Dekódovanie SMS

Pre kompresiu je samotný text 7-bit SMS správy kódovaný do oktetov tak, že na zvyšný 1bit je uložená d’alšia informácia. Na zakódovanie desiatich znakov teda postacuje 9 bytov.Nemal som problém získat’ dané byte[] obsahujúce text SMS správy – problém som ho maldekódovat’ do zrozumitel’ného textu. Na internete som našiel knižnicu SMSJ [20], z ktorejsom využil tento prevod.

7.5.2 Dekódovanie názvu kontaktu v ADN

Väcšinu telefónnych císel mám uložených s diakritikou a ked’ som sa ich snažil interpreto-vat’, vznikli z toho splete špeciálnych znakov. Napríklad položka „Aleš“ (’41 6C 65 61’) sazobrazila ako „$ Ale£“ (’81 06 02 41 6C 65 E1’).

Textové údaje v mieste mena na pociatku ADN záznamu môžu byt’ uložené v GSM_-DEFAULT alebo 16-bit UCS2 kódovaní [21]. Pokial’ sú uložené v GSM_DEFAULT a interpre-tujú sa ako ASCII hodnoty, väcšinou nevzniká na prvý pohl’ad žiaden problém – každý byte

31

Page 38: Forenzná analýza SIM kariet

7.5. KOMPLIKÁCIE

sa interpretuje ako jeden znak (8. bit je nastavený na 0). Ked’že ale tabul’ka GSM_DEFAULTobsahuje na prvých miestach iné znaky ako ASCII, nie je tento postup ideálne riešenie. Na-príklad znak ’05’ má v GSM_DEFAULT hodnotu „é“, kdežto v ASCII je to biely znak. Akocharset som použil vol’ne dostupnú knižnicu JCharset [12].

Pri použití znakov, ktoré sa nenachádzajú v GSM_DEFAULT sa používa kódovanie UCS2.To môže mat’ 3 rôzne varianty (GSM 11.11, Annex B [6]), v závislosti na prvom byte.

Ak je prvý byte rovný ’80’, potom sú všetky d’alšie byty 16 bitové, kedy je jeden znakkódovaný dvojicou bytov. Výsledný kód znaku vznikne spojením danej dvojice – napríkladzo znakov ’01 7D 00 69’ vzniknú 2 znaky: „Ž“ (zápis v UTF-16 je „U+017D“) a „i“ (zápisv UTF-16 je „U+0069“).

Ak je prvý znak rovný císlu ’81’, nasledujúci byte kóduje pocet znakov v ret’azci, ktorýchceme dostat’ a d’alší byte kóduje bity 15 – 8 vo výslednom 16-bitovom císle. Ostatné cifrysú vyplnené nulami. Vznikne nám teda vzor „0xxx xxxx x000 0000“. Nasledujúce byty bud’tokódujú samy 1 znak (majú 8. bit rovný nule), alebo využívajú vzor uvedený vyššie (ak majú8. bit nastavený na 1). V tom prípade sa ich bity 7 – 1 pridajú ako bity 7 – 1 predchádzajúcehovzoru. Vznikne nám teda vzor 16-bit císla „0xxx xxxx xyyy yyyy“. Napríklad ’81 04 02 41 6C65 E1’ hovorí o tom, že výsledný ret’azec má 4 znaky. Vzor pomocou prefixu ’02’ je v tomtoprípade„0000 0001 0000 0000“. Nasleduje znak ’41’ („A“), ’6C’ („l“), ’65’ („e“) a znak ’E1’.Tento znak má na svojom 8. bite jednotku, a tým sa bude interpretovat’ pomocou suffixudo vopred daného vzoru. Tým z neho vznikne znak „0000 0001 0110 0001“, co je znak „š“(v UTF-16 „U+0161“). Z príkladu nám teda vznikol ret’azec„Aleš“.

Posledným možným prípadom je, ked’ sa prvý byte rovná císlu ’82’. Vtedy sa nasledu-júci byte znovu rovná poctu znakov v ret’azci. Tentokrát však nasledujúce 2 byty kódujúcelú šestnástkovú bázu. Dalšie byty kódujú samotné znaky – ak má daný byte na 8. mies-te 0, je to samostatný znak. Ak má na tomto mieste jednotku, jeho hodnota v 7 – 1 bite sapripocítava k báze a vznikne daný znak. Napríklad ’82 07 00 E1 41 75 AC 6B 6F 76 80’ ho-vorí o tom, že výsledný ret’azec má 7 znakov. Pri spojení znakov ’00 E1’ nám vznikne báza’00E1’. Znak ’42’ je („B“), ’75’ („u“), ’AC’ má v 8. bite jednotku, a preto jeho 7 – 1 bity pri-pocítane k báze, z coho nám vznikne znak „c“ („U+010D“), ’6B’ („k“), ’6F’ („o“), ’76’ („v“)a ’80’ je znova nutné interpretovat’ scítaním s bázou, z coho vznikne znak „á“ („U+00E1“).Výsledný dekódovaný ret’azec je teda „Bucková“.

Na internete som nenašiel žiadnu použitel’nú knižnicu, ani zdrojový kód v akomkol’vekjazyku, ktorý by mi pomohol k riešeniu tohoto prevodu. Vd’aka tomu, že som implemen-toval využitie GSM_DEFAULT kódovania a všetky možnosti koverzie USC-2 kódovania avd’aka natívnej podpore UTF-16 pri práci s ret’azcami v jave dokáže môj program interpre-tovat’ správne znaky s nižším kódom aj všetky exotické znaky v názve kontaktov, co mnohéz mnou testovaných programov nevedeli úplne bezchybne dekódovat’.

7.5.3 Interpretácia ICCID

S interpretáciou císel v ICCID a ich významu som mal problém pre nekompatibilitu niekto-rých zdrojov. Podl’a Forensics Wiki [8] je na bytoch 7 – 10 uložená informácia o mesiaci a

32

Page 39: Forenzná analýza SIM kariet

7.6. DALŠÍ VÝVOJ

roku výroby SIM karty a na d’alších 2 bytoch je uložený switch configuration code. Pri tes-tovaní na niektorých SIM kartách mi však mesiac a rok výroby nesedel (napríklad „1561“).Nakoniec som sa teda riadil priamo štandardom ITU-T E.118 [2].

Pre zaujímavost’ som zaslal email so žiadost’ou o d’alšie informácie k danej téme naemaily ceskej, slovenskej aj anglickej spolocnosti Telefónica O2 a slovenskému a anglickémuOrange. Zo slovenského Orange mi po 9 dnoch odpovedali, že mojej požiadavke sa nedávyhoviet’. Zo slovenského O2 mi odpísali informacne prínosnú odpoved’ (pozri obrázok5.1), ktorá neobsahuje žiadne údaje o roku výroby karty, ani o switch configuration code, alemá zase definovanú prvú císlicu v IAIN ako Vendor. Nie som si však istý, ci to používajú ajiní operátori ako O2, a preto som tento údaj nevyzdvihol.

7.5.4 Menšie komplikácie

Dalšie problémy, ktoré sprevádzali vývoj programu, bolo napríklad vypisovanie položiekADN a SMS v reálnom case (ked’že moje metódy sú schopné vrátit’ kolekcie s danými po-ložkami, napríklad List<SMS> a samotné dátové triedy SMS a ADN majú implementovanémetódy toString() na vypisovanie informácií o sebe), ale to som vyriešil výpisom naSystem.out už pri naplnaní danej kolekcie. Ked’ som už postupne vypisoval všetky polož-ky v reálnom case, v pôvodnej verzii programu som mal problém so zamrznutím hlavnéhookna, kým dané metódy na výpis všetkých prvkov nedobehli. To som ale l’ahko vyriešil po-mocou implementácie triedy SwingWorker, do ktorej som dané výpisy umiestnil pre svojuzvýšenú casovú nárocnost’.

Problémom bolo pre mna samotné vypisovanie položiek v GUI – pri vypisovaní par-ciálnych dát mi totižto vypisovaný text nechcelo pripájat’ k pôvodnemu, ktorý bol stálepremazávaný novším textom. To som vyrešil presmerovaním System.out na danú textovúkomponentu pomocou triedy TextAreaOutputStream [16].

7.6 Další vývoj

Plánovaná je podpora multijazycnosti, exportovanie do XML a HTML, zmena PIN1/2 kódu,možnost’ odblokovania PIN1/2 kódov pomocou PUK1/2, povolenie a zakázanie PIN1/2,špeciálne terminálové okno na vypisovanie samotnej komunikácie pomocou APDU s mož-ným exportom, vypísanie celého súborového systému na SIM karte spolu s detailnými in-formáciami o konkrétnom DF/EF (typ, prístupové práva, vel’kost’), editovanie SMS správ,telefónneho adresára a niektorých iných EF, zväcšenie databázy krajín k MCC a operátorovk MNC, nevratné mazanie SMS správ, zmena flagu zmazaných SMS správ na prijaté, alebomožnost’ výberu z nájdených terminálov.

33

Page 40: Forenzná analýza SIM kariet

Kapitola 8

Záver

V rámci tejto bakalárskej práce bol vytvorený program, ktorým je možné vypísat’ a uložit’väcšinu zaujímavých údajov uložených na SIM karte. Akýkol’vek užívatel’ tak môže tentonástroj za pomoci PC/SC cítacky smart kariet, alebo špeciálnej cítacky SIM kariet použit’.

Pri nezadaní PINu je užívatel’ schopný zistit’ o SIM karte jej ATR, ICCID, názov operá-tora, ktorý vydal danú SIM kartu, fázu, preferované jazyky a statusy PIN 1/2 a PUK 1/2kódov s poctom zostávajúcich pokusov.

Po zadaní správneho PIN1 kódu je d’alej možné získat’ IMSI, LOCI, šifrovací kl’úc Ki

spolu so šifrovacím kl’úcom pre GPRS, periódu vyhl’adávania siete, telefónny adresár kon-taktov a SMS správy (vrátane tých, ktoré boli vymazané).

Tieto získané údaje si užívatel’ môže následne uložit’ to textového súboru, v ktorom mô-žu byt’ uložené dáta ku viacerým SIM kartám.

34

Page 41: Forenzná analýza SIM kariet

Referencie

[1] BBC News. Tracking a suspect by mobile phone [Online]. 2005-08-03 [cit. 2011-11-12].Dostupné z: <http://news.bbc.co.uk/2/hi/technology/4738219.stm>. 1

[2] ITU-T Recommendation E.118. SERIES E: TELEPHONE NETWORK AND ISDN: Ope-ration, numbering, routing and mobile service – International operation – Generalprovisions concerning Administrations [Online]. 2006-05-11 [cit. 2012-04-01]. Dostup-né z: <http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-E.118-200605-I!!PDF-E&type=items>. 5.2.3, 7.5.3

[3] COMPLEMENT TO ITU-T RECOMMENDATION E.164. LIST OF ITU-T RECOM-MENDATION E.164 ASSIGNED COUNTRY CODES [Online]. 2011-11-01 [cit. 2012-04-01]. Dostupné z: <http://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.164D-11-2011-PDF-E.pdf>. 5.2.3

[4] STUBNIAK, Ivan. Telefónica Slovakia, s.r.o. Odpoved [Online]. Andrej ŠIMKO.2012-04-27 14:19; [cit. 2012-05-07]. Dostupné z: <http://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.164D-11-2011-PDF-E.pdf>. Odpoved’ z oddeleniastarostlivosti o zákazníka. 5.1, A

[5] 3GPP TS 03.40. Technical realization of the Short Message Service (SMS) [Online]. Ver.7.5.0. 2001-12 [cit. 2012-04-03]. Dostupné z: <http://www.3gpp.org/ftp/Specs/archive/03_series/03.40/0340-750.zip>. 5.2.12

[6] 3GPP TS 11.11. 3rd Generation Partnership Project; Technical Specification Group Ter-minals Specification of the Subscriber Identity Module - Mobile Equipment (SIM - ME)interface [Online]. Ver. 8.14.0. 2007-06 [cit. 2012-04-03]. Dostupné z: <http://www.3gpp.org/ftp/Specs/archive/11_series/11.11/1111-8e0.zip>. 5.1,5.2.14, 7.5.2

[7] TS 100 900. Digital cellular telecommunications system (Phase 2+); Alphabets andlanguage-specific information (GSM 03.38 version 7.2.0 Release 1998) [Online]. Ver.7.2.0. 1999-07 [cit. 2012-04-05]. Dostupné z: <http://www.3gpp.org/ftp/Specs/archive/11_series/11.11/1111-8e0.zip>. 5.2.9, 5.2.13

[8] SIM Cards: ICCID In: GARFINKEL, Simson. Forensics Wiki. [Online]. 2012-05-15 [cit. 2012-04-08]. Dostupné z: <http://www.forensicswiki.org/w/index.php?title=SIM_Cards&oldid=10310>. 7.5.3

[9] International Numbering Plans B.V. International Numbering Plans: Numberanalysis tools [Online]. c2012 [cit. 2012-04-09]. Dostupné z: <http://www.numberingplans.com/?page=analysis>. 5.2.3, 5.2.4

35

Page 42: Forenzná analýza SIM kariet

[10] International Numbering Plans B.V. International Numbering Plans: Numberingplans for mobile networks (IMSI) [Online]. c2012 [cit. 2012-04-08]. Dostupné z:<http://www.numberingplans.com/?page=plans&sub=imsinr>. 5.2.3

[11] ISO 7816-4. ISO 7816-4 Smart Card Standard [Online]. Posledné úpravy 2011-07-01 [cit. 2012-04-06]. Dostupné z: <http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-4.aspx>. 1.1, 3

[12] ROTHMAN, Amichai. JCharset [Online]. Ver. 1.3. c2012 [cit. 2012-05-11]. Dostupné z:<http://www.freeutils.net/source/jcharset/>. 7, 7.5.2

[13] sendega.com Mobile country codes (MCC) and Mobile network codes (MNC) [Onli-ne]. Posledné úpravy 2012-03-28 [cit. 2012-04-09]. Dostupné z: <http://mcclist.com/>. 5.2.3, 5.2.4

[14] ORGON, Miloš. KOVÁC, Adrián. Forenzná analýza a bezpecnost’ mobilných telefó-nov [DOC dokument]. Císlo revízie 5. [cit. 2011-11-11]. V dobe citácie nepublikované.4.1.2

[15] SMITH, Greg. SIM PIN Challenge [online]. 2009-01-08 [cit. 2012-04-26]. <http://trewmte.blogspot.com/2009/01/sim-pin-challenge.html>. 4.2

[16] HITE, John. Redirecting System.out to a JTextArea [online]. 2010-04-05 [cit. 2012-04-28]. <http://blog.johnhite.com/2010/04/05/redirecting-systemout-to-a-jtextarea/>. 7.5.4

[17] Brookson, Charles. Smart card cloning is easy! [online]. 2005 [cit. 2012-04-09]. <http://www.brookson.com/gsm/cardclone.pdf>. 5.2.6

[18] RANKL, Wolfgang. EFFING, Wolfgang. Smart Card Handbook 3. vyd. Chiches-ter: Wiley, 2003. 1088 s. <http://www.wrankl.de/SCH/SCH.html>. ISBN 04-708-5668-8. 2.1, 3.2.1

[19] RANKL, Wolfgang. The Smart Card Tables [online]. Posledné úpravy 2008-06-31 [cit.2012-04-26]. <http://www.wrankl.de/SCTables/SCTables.html>. 3

[20] ERIKSSON, Markus. SMS library for the Java platform [online]. 2006-03-01 [cit. 2012-05-07]. <http://smsj.sourceforge.net/>. 7, 7.5.1

[21] TS 23.038. 3rd Generation Partnership Project; Technical Specification Group Co-re Network and Terminals; Alphabets and language-specific information [Online].Ver. 10.0.0. 2011-03 [cit. 2012-05-10]. Dostupné z: <http://www.3gpp.org/ftp/Specs/archive/23_series/23.038/23038-a00.zip>. 7.5.2

36

Page 43: Forenzná analýza SIM kariet

Dodatok A

Zoznam elektronických príloh

• simpleSimReader priecinok s NetBeans projektom

• simpleSimReader\dist\simpleSimReader.jar spustitel’ná verzia programu

• simpleSimReader\dist\javadoc vygenerovaný javadoc

• textová cast’ priecinok s textovou cast’ou

37

Page 44: Forenzná analýza SIM kariet

Slovník

ADF Application DF

ADN Abbreviated Dialing Numbers

APDU Application Protocol Data Unit

BDN Barred Dialing Numbers

BPIN Banking PIN

C-APDU Command APDU

DF Dedicated File

EEPROM Electronicly-Erasable Programable Read-Only Memory

EF Elementary File

GSM Global System for Mobile communication

HPLMN Home Public Land Mobile Network search period

HSCSD High-Speed Circuit-Switched Data

CHV Card Holder Verification information

IAIN Individual Account Identification Number

ICC Integrated Circuit Card

ICCID Integrated Circuit Card Identification

IIN Issuer Identification Number

IMSI International Mobile Subscriber Identity

ISDN Integrated Services Digital Network

Kc Cipher Key

Ki Individual Key

LAC Local Area Code

LAI Location Area Identity

LND Last Number Dialed

LOCI Location Information

38

Page 45: Forenzná analýza SIM kariet

SLOVNÍK

LP Language Preferences

MCC Mobile Country Code

MF Master File

MII Major Industry Identifier

MNC Mobile Network Code

MPIN Mobile banking PIN

MSIN Mobile Subscription Identification Number

MSISDN Mobile Station ISDN Number

OTA Over The Air

PC/SC Personal Computer/Smart Card

PIN Personal Identification Number

PUK PIN Unlock Key

RAM Random Access Memory

R-APDU Response APDU

ROM Read-Only Memory

SIM Subscriber Identity Module

SMS Short Message Service

SPN Service Provider Name

SST SIM Service Table

STK SIM ToolKit

TMSI Temporary Mobile Subscriber Identity

UCS-2 2-bytový Universal Character Set

UDH User Data Header

UTF UCS Transformation Format

39

Page 46: Forenzná analýza SIM kariet

Zoznam obrázkov

5 Štruktúra a obsah pamätí na SIM karte . . . . . . . . . . . . . . . . . . . . . . . . . .5.1 slovenské a ceské údaje od Telefónica O2 [4] 17

6 Prehl’ad aplikácií na prácu so SIM kartami . . . . . . . . . . . . . . . . . . . . . . . .6.1 SIM Manager 226.2 SimCardExplorer 236.3 WinSIM Professional 256.4 Woron Scan 266.5 MOBILedit! Forensic Lite 27

7 Praktická cast’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7.1 Simple SIM Reader 28

40

Page 47: Forenzná analýza SIM kariet

Zoznam tabuliek

2 Smart karty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.1 Príkazy SIM kariet 5

3 Komunikácia s kartou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.1 C-APDU 63.2 R-APDU 73.3 Niektoré chybové kódy 73.4 príkaz GET RESPONSE 83.5 niektoré dôležité dáta odpovede na príkaz GET RESPONSE po príkaze

SELECT na MF/DF 83.6 statusu kódov CHV1/2, PUK1/2 93.7 dáta odpovede na príkaz GET RESPONSE po príkaze SELECT na EF 103.8 príkaz READ BINARY 113.9 príkaz READ RECORD 11

4 Bezpecnostné prvky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.1 Interpretácia bytu prístupových kódov 14

5 Štruktúra a obsah pamätí na SIM karte . . . . . . . . . . . . . . . . . . . . . . . . . .5.1 niektoré EF a ich vlastnosti 165.2 zoznam MNC aktívnych ceských operátorov k dnu 09.04.2012 185.3 status TMSI 195.4 zoznam niektorých funkcionalít fáz 205.5 pocty znakov v daných kódovaniach 21

41


Recommended