Leírás
Az iPhone jelenség, a tökéletes dizájnnal párosuló tökéletlenség legismertebb előfordulása: mobilinternet-eszközként (azaz kütyüként) tökéletes, azonban ha az ember alapvetően telefonálásra akarja használni, meglepődhet. Mindezzel együtt nagyon addiktív: több ismerősöm lemondta az otthoni ADSL-t, merthogy úgyis csak az iPhone-on keresztül netezik ezentúl - lássuk, hogy mi mindent lehet kideríteni forensic analízis használatával.
Hardver, oprendszer
Az iPhone firmware több verzióban is elérhető, az Apple frissítést biztosít hozzá. Maga a hardver többnyire ugyanolyan: egy Samsung gyártmányú ARM processzorból, Infineon GSM adapterből és NAND flash memóriából áll, kiegészítve egy csomó egyéb aprósággal (gyorsulásérzékelők, mozgásérzékelők stb.). Az operációs rendszer a Mac OSX egy módosított, speciálisan a hardverre fordított változata, signed kernellel (jailbreak előtt, persze).
Lemezpartíciók
Az iPhone kialakítása bolondbiztos módszerrel történt: az operációs rendszer külön partíción található a lemezen, mint a felhasználói adatok, és megfelelő eszközzel (iTunes) visszaállítható a dobozos, "gyári" állapot, ugyanis az oprendszer partícióját a felhasználói tevékenység nem érinti.
Két partíciót alakítottak ki az iPhone-on:
brw-r----- 1 root operator 14, 0 Apr 7 07:46 /dev/disk0 Disk
brw-r----- 1 root operator 14, 1 Apr 7 07:46 /dev/disk0s1 System
brw-r----- 1 root operator 14, 2 Apr 7 07:46 /dev/disk0s2 Media
Imaging
Az iPhone alapból nem enged hozzáférni, csak a felhasználói adatok tárolására szolgáló területekhez - ahhoz, hogy dd-vel image-et lehessen csinálni a felhasználói partíciókról, jailbreakelni kell a készüléket. Igen, erre sajnos már felszisszenhetnek az igazságügyi eljárásban járatosak, ugyanis sérti azt az elvet, hogy a bizonyítékot nem szabad megváltoztatni feldolgozás közben, de sajnos egyéb mód nincs rá. Mindenesetre elővigyázatosságból érdemes backupolni minden felhasználói adatot a jailbreak elvégzése előtt.
Maga az imagekészítés azzal indul, hogy jailbreakeljük a készüléket, majd rátelepítünk egy speciális, iPhone forensics céljára készített alkalmazást, végül kapunk egy SSH shellt a készüléken dd-vel és netcattel, umountolt felhasználói partícióval - a továbbiak innentől triviálisak. (Annyi gond lehet, hogy az iPhone fájlrendszere az image-ben HFS/X megjelölést kapja, emiatt sok forensic eszköz feladhatja a harcot - semmi gond, hexaeditorral át lehet írni sima HFS-re a fájlrendszer azonosítóját tartalmazó bájtokat.)
Mit lehet találni?
Az iPhone rengeteg dolgot tárol a felhasználóról, ezek nagy része nem törlődik automatikusan, használat közben. Van ugyan ilyen opció, hogy restore factory settings, ez valóban törli a felhasználói adatokat, viszont nem wipe-olja őket, tehát carving eszközökkel visszahozhatóak. A scapel-hez készítettek egy konfigfájlt, ami alapján egyszerűen szétdobálja az iPhone-specifikus fájlokat.
http://oreilly.com/catalog/9780596153588/
http://www.oreillynet.com/pub/e/949
UPDATE:
Többen kérdezték, hogy "de hát miért nem csinálták meg normálisra az egészet?" A válasz egyszerű:
Az iPhone jelenség, a tökéletes dizájnnal párosuló tökéletlenség legismertebb előfordulása: mobilinternet-eszközként (azaz kütyüként) tökéletes, azonban ha az ember alapvetően telefonálásra akarja használni, meglepődhet. Mindezzel együtt nagyon addiktív: több ismerősöm lemondta az otthoni ADSL-t, merthogy úgyis csak az iPhone-on keresztül netezik ezentúl - lássuk, hogy mi mindent lehet kideríteni forensic analízis használatával.
Hardver, oprendszer
Az iPhone firmware több verzióban is elérhető, az Apple frissítést biztosít hozzá. Maga a hardver többnyire ugyanolyan: egy Samsung gyártmányú ARM processzorból, Infineon GSM adapterből és NAND flash memóriából áll, kiegészítve egy csomó egyéb aprósággal (gyorsulásérzékelők, mozgásérzékelők stb.). Az operációs rendszer a Mac OSX egy módosított, speciálisan a hardverre fordított változata, signed kernellel (jailbreak előtt, persze).
Lemezpartíciók
Az iPhone kialakítása bolondbiztos módszerrel történt: az operációs rendszer külön partíción található a lemezen, mint a felhasználói adatok, és megfelelő eszközzel (iTunes) visszaállítható a dobozos, "gyári" állapot, ugyanis az oprendszer partícióját a felhasználói tevékenység nem érinti.
Két partíciót alakítottak ki az iPhone-on:
- 300MB az operációs rendszer számára. Ez tartalmazza a kernelt, az oprendszer moduljait és a preloaded alkalmazásokat: ez a terület a készülék egész élettartama során érintetlenül marad, alapból read-onlyként mountolja fel az oprendszer. Forensic szempontból legtöbbször érdektelen (nyilván ellenőrizni kell, hogy a gyári állapot md5-hashével megegyezik-e a lenyomata, de egyébre nem használható). Forensic alkalmazások telepítésére használatos, ugyanis ezen a területen végzett módosítás nem érinti a felhasználói aktivitás bizonyítékait.
- A maradék a felhasználó számára elérhető terület, a /private/var könyvtárba mountolva. Forensic vizsgálódáskor ezt vesszük szemügyre.
brw-r----- 1 root operator 14, 0 Apr 7 07:46 /dev/disk0 Disk
brw-r----- 1 root operator 14, 1 Apr 7 07:46 /dev/disk0s1 System
brw-r----- 1 root operator 14, 2 Apr 7 07:46 /dev/disk0s2 Media
Imaging
Az iPhone alapból nem enged hozzáférni, csak a felhasználói adatok tárolására szolgáló területekhez - ahhoz, hogy dd-vel image-et lehessen csinálni a felhasználói partíciókról, jailbreakelni kell a készüléket. Igen, erre sajnos már felszisszenhetnek az igazságügyi eljárásban járatosak, ugyanis sérti azt az elvet, hogy a bizonyítékot nem szabad megváltoztatni feldolgozás közben, de sajnos egyéb mód nincs rá. Mindenesetre elővigyázatosságból érdemes backupolni minden felhasználói adatot a jailbreak elvégzése előtt.
Maga az imagekészítés azzal indul, hogy jailbreakeljük a készüléket, majd rátelepítünk egy speciális, iPhone forensics céljára készített alkalmazást, végül kapunk egy SSH shellt a készüléken dd-vel és netcattel, umountolt felhasználói partícióval - a továbbiak innentől triviálisak. (Annyi gond lehet, hogy az iPhone fájlrendszere az image-ben HFS/X megjelölést kapja, emiatt sok forensic eszköz feladhatja a harcot - semmi gond, hexaeditorral át lehet írni sima HFS-re a fájlrendszer azonosítóját tartalmazó bájtokat.)
Mit lehet találni?
Az iPhone rengeteg dolgot tárol a felhasználóról, ezek nagy része nem törlődik automatikusan, használat közben. Van ugyan ilyen opció, hogy restore factory settings, ez valóban törli a felhasználói adatokat, viszont nem wipe-olja őket, tehát carving eszközökkel visszahozhatóak. A scapel-hez készítettek egy konfigfájlt, ami alapján egyszerűen szétdobálja az iPhone-specifikus fájlokat.
- Dynamic directory. Az iPhone folyamatosan figyeli, hogy a felhasználó milyen karaktereket, szavakat üt bele, a bevert szöveget pedig eltárolja - arra jó, hogy a készülék megtanulja, hogy a tulajdonosa milyen szavakat használ gyakran, ezeket ajánlja fel előrébb gépeléskor. Apró gond, hogy nemcsak "szöveg" szöveget tárol, hanem URL-eket, jelszavakat, ilyesmiket is.
- AMR fájlok. Az iPhone AMR formátumban tárolja a hangpostás üzeneteket - mivel egy ilyen fájl tipikusan pár (száz) kilobyte méretű, nagyon sokáig megmaradhat akkor is, ha már a fájlrendszerből letöröltük.
- SQLite adatbázisok. Rengeteg mindenre használ SQLite adatbázisokat kedvenc kütyünk: ilyenben tárolja naptárat, az üzeneteket, a Google maps-es könyvjelzőket, a letöltött leveleket, a kapcsolódáshoz használt stringeket, jelszavakat stb. A legtöbb példány "live", azaz folyamatosan frissül/kezelődik, azonban régi példányok fragmentjei továbbra is rengeteg információt hordozhatnak.
- E-mailek, weboldalak. Sokat nem is mondanék ezekről.
- Képek. A felhasználói élmény fokozására az iPhone valahányszor megnyomjuk a Home gombot, lefotózza a "desktopot", és elmenti a gyors visszatölthetőség kedvéért (tehát amíg vissza nem tölti az adott alkalmazást, a képet teszi a felhasználó elé). A képek pedig sokáig megmaradhatnak, tökéletesen rögzítve, hogy mit csinált a felhasználó.
- Időpecsétek. A HFS fájlrendszer pecsétjei standard linuxosak, triviálisan konvertálhatóak "normál" dátumokká - mivel az iPhone nem ad lehetőséget arra, hogy a felhasználó manipulálja a pecséteket, nagy valószínűséggel igaziak a stampek.
- GeoTagging. Az iPhone képes arra, hogy feltaggelje a készített képeket GPS koordinátákkal.
- Address Book Contacts. /mobile/Library/AddressBook/AddressBook.sqlitedb alatt található, és az, ami a neve.
- Google Maps Data. Külön is érdemes megemlékezni erről a funkcióról: az eszköz eltárolja a google maps keresések eredményeképp készült térképeket, ezek pedig kis szerencsével hónapokig nem íródnak felül. /mobile/Library/Caches/MapTiles/MapTiles.sqlitedb
- Naptár. A naptár a /mobile/Library/Calendar/Calendar.sqlitedb helyen található, bővebb kommentár nem szükséges hozzá.
- Hívás history. No comment. /mobile/Library/CallHistory/call_history.db, azért nagyon alattomos a dolog, ugyanis bár a telefon kijelzőjén nem látszik, nagy valószínűséggel az összes hívást megőrzi az adatbázis.
- SMS adatbázis. Ebből töröl a rendszer fizikailag, viszont nem azonnal: gyakran napokkal a törlés után is kibányászhatóak üzenetek a /mobile/Library/SMS/sms.db könyvtárból.
- Számítógéppel, illetve egyéb eszközökkel végzett párosítások nyomai. Valahányszor párosítjuk az eszközt egy másikkal, vagy számítógéppel, nyomokat hagyunk. A /var/root/Library/Lockdown/pair_records könyvtárban találhatóak meg az azonosítók a párosított eszközöhöz - ehhez persze kell a párosított eszköz is, hogy bizonyítható legyen a kapcsolat a kettő között.
http://oreilly.com/catalog/9780596153588/
http://www.oreillynet.com/pub/e/949
UPDATE:
Többen kérdezték, hogy "de hát miért nem csinálták meg normálisra az egészet?" A válasz egyszerű:
- Ahhoz, hogy egy iPhone-ból ki lehessen bányászni a fenti adatokat, (NAGYON) sok munka és speciális eszközök szükségesek. A forensic analízist nem is szokták emiatt túl gyakran alkalmazni, csak igazságügyi eljárás során (vagy egyéb okból, ami megéri a szükséges szaktudás megfizetését) használatos. Nem mondom, hogy lehetetlen, hogy pont olyasvalakihez kerül a készüléked, aki végig tudja és akarja is csinálni az egész folyamatot, de ennek a valószínűsége meglehetősen csekély.
- Mint minden a mérnöki tudományok eredményeiben, az adatok tárolási módja is kompromisszumok eredménye. A kütyük nagy része saját energiaforrással bír, és a tervezéskor jóval fontosabb szempont a telep élettartama, mint a tárolt adatok biztonsága: emiatt nem írják felül az eszközök a fájlokat fizikailag, ugyanis a memóriába írás erősen telepintenzív művelet. Ha minden fájltörléskor kiwipe-olná az iPhone a törölt bájtokat, lecsökkenne a telep élettartama, azonkívül jóval lassúbb is lenne a felhasználói élmény.
- A "normálisra megcsinálás" a levélíró álláspontja szerint (bár ezt ő konkrétan nem írta le, de a levélből kitalálható) azt jelenti, hogy a készülék semmilyen módon nem tárol olyan adatot, amely a tulajdonos szokásaira, életmódjára, tevékenységére enged következtetni. Méltányolható a vélemény: szerencsére senki sincs rákényszerítve, hogy iPhone-t vásároljon, illetve használjon, a választás szabadsága adott. A fentihez hasonló írások elsősorban információs célzattal íródtak, hogy legalább információ álljon rendelkezésre a tudatos választáshoz.
- Személyes vélemény a végére: mindenkinek megvan a magánélethez való joga. Csakhogy. Bármit teszel, bármit mondasz, nyomot hagy a világban és ha valaki akarja, akkor bizony az egész életedet fel tudja térképezni - csak pénz, idő és energia kell hozzá végtelen. Addig viszont, amíg saját magadról pakolsz fel képeket az iwiw-re, jelölöd be, hogy kivel voltál tavaly Tisza-túrán, kommentelsz a gondolataidról mindenféle blogokon, vagy te magad adod meg a telefonszámodat, lakcímedet a pizzafutárnak, értelmetlen azon pánikba esni, hogy a szükséges tudással, elszántsággal és eszközkészlettel rendelkező forensic expert mit tud kihámozni a telefonodból.