Ez a cikk bemutatja az Android törvényszéki vizsgálatokat és az Android törvényszéki vizsgálatok elvégzéséhez használt technikákat. Tárgyaljuk az Android fájlrendszereket, az adatgyűjtést, az elemzést és az Android-adatszerzéshez rendelkezésre álló különböző eszközöket.
Bevezetés
Az okostelefonok piaca egyre nagyobb mértékben növekszik. A technológia drasztikus változásával az okostelefonok a bűnözők célpontjaivá válnak. Mivel a legtöbb ember teljesen rászokott a mobileszközökre a mindennapi feladataink elvégzéséhez, kezdve az emlékeztető beállításától, hogy különleges alkalmakkor jókat kívánjunk szeretteinknek, egészen az online banki tranzakciókig, a mobileszközök sok olyan érzékeny adatot tartalmaznak, amelyek a nyomozók érdeklődésére tarthatnak számot. Mivel az Android az egyik vezető okostelefon operációs rendszer, fontos, hogy ismeretekkel rendelkezzünk az Android kriminalisztikáról.
Az Android kriminalisztika több okból is különbözik a hagyományos lemezes kriminalisztikától. Támogatja a különböző fájlrendszereket, amelyek az Androidra jellemzőek. A következő adatokat kereshetjük az Android-eszközökön:
Nagyon fontos megérteni a fájlrendszereket, a könyvtárstruktúrákat, valamint azt, hogy hogyan és hol tárolódnak az adatok az eszközökön, mielőtt belevágnánk a tényleges törvényszéki vizsgálatba.
Android könyvtárstruktúra
Az Androidnak sajátos könyvtárstruktúrája van. Az “adb shell” segítségével megnézhetjük az eszköz könyvtárszerkezetét. Az eszköz könyvtárszerkezetét a DDMS segítségével is megnézhetjük. A következő ábra a “Sony Xperia E” nevű készülékem fájlrendszerét mutatja az “adb shell” használatával.
A fenti ábra számos fájlt és mappát mutat az aktuális eszközön. A törvényszéki elemző számára legfontosabb helyek a /system, /data, /sdcard, /ext_card.
/system:
Amint a fenti ábrán látható, ez a könyvtár különböző alkönyvtárakat tartalmaz a rendszeralkalmazásokra, betűtípusokra, könyvtárakra, futtatható fájlokra stb. vonatkozó információk tárolására.
/data: Felhasználó-specifikus adatokat tartalmaz, például egy SMS-alkalmazás által tárolt adatokat. A “/data/app” könyvtárban láthatjuk az egyes telepített alkalmazások futtatható fájljait. Ehhez root jogosultságok szükségesek, ami azt jelenti, hogy egy rootolt eszközzel nem rendelkező felhasználó nem láthatja ennek a könyvtárnak a tartalmát. Az alábbi ábra azt mutatja, hogy az egyes telepített alkalmazások bináris fájljai hogyan láthatók a készüléken (a kimenet csonka).
A felhasználói adatok a “/data/data//” könyvtárban találhatók. Biztonsági okokból az egyes könyvtárakban lévő adatokhoz más alkalmazások nem férhetnek hozzá.
/sdcard és /ext_card: Ebben a konkrét esetben sdcard-ot kaptunk a belső tárolóhoz és ext_card-ot a külső tárolóhoz. Általában az sdcard a külső tárolóhoz van megadva. Ezeket a felhasználói adatok, például képek, zenefájlok, videók stb. tárolására használják.
Android fájlrendszerek
Az Android fájlrendszerek alapszintű ismerete mindig jó, mielőtt belevetnénk magunkat az Android kriminalisztikába. Az Android ugyanis különböző fájlrendszereket támogat. Az Android fájlrendszer fő partícióját gyakran YAFFS2 (Yet Another Flash File System) néven particionálják. A YAFFS2-t kifejezetten beágyazott rendszerekhez, például okostelefonokhoz tervezték. Nagyobb hatékonyságot és teljesítményt biztosít.
A támogatott fájlrendszerek listájának megtekintéséhez az alábbi parancsot használhatjuk az “adb shell”-en.
“cat /proc/filesystems”
Amint a fenti ábrán láthatjuk, megkaptuk a készülék által támogatott fájlrendszerek listáját. A fájlrendszer melletti “nodev” bejegyzés azt jelzi, hogy az adott fájlrendszerhez nem tartozik fizikai eszköz. Az Android támogatja az ext2, ext3 és ext4 fájlrendszereket (amelyeket a Linux-rendszerek használnak), valamint a Windows-alapú rendszerek által használt vfat fájlrendszert. Mivel az Android a mobileszközök számára készült, támogatja a YAFFS és YAFFS2 fájlrendszereket, mivel ezekben az eszközökben használt NAND chipek támogatását igényli.
Az Android fájlrendszere különböző partíciókra van felosztva. Ahhoz, hogy láthassuk a különböző partíciókat, amelyek fel vannak szerelve egy Android eszközre, kaphatunk egy héjat az eszközön, és futtathatjuk a következő parancsot: “mount”. Ez a következő ábrán látható.
Amint a fenti ábrán láthatjuk, az eszközre különböző partíciók vannak felcsatolva.
Ha megfigyeljük a fenti ábrát, van néhány fontos fájlrendszeri partíció, például a /system, /cache, /data, amelyek a YAFFS helyett ext4 fájlrendszer-típust használnak. Ennek az az oka, hogy a Gingerbread-től kezdve az Android a YAFFS fájlrendszert ext4-re cserélte.
Adatszerzési módszerek
Az adatszerzés a bizonyítékokból történő adatszerzés folyamata. Amint azt korábban tárgyaltuk, az adatszerzés a mobileszközökön nem olyan egyszerű, mint a hagyományos merevlemezes törvényszéki adatszerzés. Ezek az adatszerzési módszerek nagyjából a következő típusokra oszthatók.
Kézi adatszerzés:
A vizsgáló a mobileszköz felhasználói felületét használja a tartalom vizsgálatához. A készülék böngészése közben a vizsgáló képeket készít az egyes képernyőkről. Ez a módszer nem igényel semmilyen eszközt az adatgyűjtés elvégzéséhez. Az előnyök mellett a módszer legnagyobb hátránya, hogy csak a felhasználók által a telefonon látható adatok nyerhetők ki, és nyilvánvalóan időigényes.
Fizikai adatszerzés:
Hasonlóan a hagyományos digitális kriminalisztika fizikai adatszerzési folyamatához, a mobileszközök fizikai adatszerzési folyamata a teljes fájlrendszerről bitenkénti másolatot készít. Másolatot készít a teljes fájlrendszerről, amely az eszközön található adatokat tartalmazza, beleértve a törölt adatokat és a ki nem osztott helyet is.
Logikai adatszerzés:
A logikai adatszerzés a telefon tartalmának a személyi számítógéppel való szinkronizálásához az eredeti készülékgyártó alkalmazásprogramozási interfészének segítségével szerez információt az eszközről.
A legtöbb ingyenesen elérhető eszköz logikai adatszerzést végez. A Logical Acquisition az eszköz felhasználói számára hozzáférhető adatok kinyerésének folyamata, ezért nem tudja megszerezni a törölt adatokat vagy a ki nem osztott tárhelyen lévő adatokat. A fenti állítás bizonyos esetekben korlátozásokkal jár.
SD-kártya képalkotása az FTK Imagerrel
Az FTK Imager letölthető az alábbi linkről. http://www.accessdata.com/support/product-downloads
Nagyon fontos, hogy a telefon SD-kártyájáról bitről bitre másolatot készítsünk, hiszen a nyomozás során értékes adatkincsként használható. Legjobb gyakorlatként írási blokkolót kell használnunk a bizonyítékok sértetlenségének megőrzése érdekében.
Az SD-kártyák általában FAT32 fájlrendszerűek. Így használhatjuk a hagyományos képalkotó eszközöket, és megszerezhetjük az SD-kártya képét. Ebben a szakaszban az FTK Imager nevű népszerű eszközt fogjuk használni az SD-kártya képének elkészítéséhez.
Itt vannak a lépések:
- Vegye ki az SD-kártyát a mobileszközből, és csatlakoztassa a munkaállomáshoz egy kártyaolvasó segítségével.
-
Futtassa az FTK Imager eszközt. Ez az alábbi ábrán látható módon jelenik meg.
-
Most navigáljon a “Fájl” menüpontra, és kattintson az alábbi ábrán látható “Lemezkép létrehozása” gombra.
A fenti lépésben egy új ablak nyílik meg a felvételi típus kiválasztására.
Mivel a teljes SD-kártyáról próbálunk képet készíteni, a “Fizikai meghajtó” lehetőséget választottam. Megnyílik egy új ablak a Fizikai meghajtó kiválasztásához az alábbiakban látható módon.
A “PHYSICALDRIVE 2” 1GB-ot választottam, ami a mi esetünkben az SD-kártya. A megfelelő opció kiválasztása után kattintson a Befejezés gombra. Megjelenik egy másik ablak, ahol hozzáadhatjuk a célt, valamint a létrehozandó kép típusát.
A “Hozzáadás” gombra kattintva egy új ablak nyílik meg a célkép típusának kiválasztására.
Egy másik ablakban a mi esetünkben a “Raw” lehetőséget választjuk, ami egy “dd” képet ad. Más képformátumokkal ellentétben, mint például az “E01”, a “dd” kép nem tárolja a metaadatokat a képben. A következő gombra kattintva egy újabb ablak jelenik meg, amelyben az FTK Imager a bizonyítékelemek adatait kéri. Kitölthetjük a megfelelő adatokat, és a “tovább” gombra kattinthatunk, vagy kihagyhatjuk, ha nyomkövetésként végezzük.
Amint a fenti ábrán látható, megadtuk a kimeneti fájl célútvonalát és nevét. Végül kattintson a befejezés gombra a képalkotás megkezdéséhez.
A folyamat megkezdéséhez kattintson a “start” gombra.
-
A folyamat befejezése után az FTK Imager egy új ablakot jelenít meg, ahol a hash-ellenőrzés eredményeit mutatja. Ez az alábbi ábrán látható.
A létrehozott kép most már tovább elemezhető a hagyományos törvényszéki elemző eszközökkel.
Androidos fájlrendszer képalkotása:
Ebben a szakaszban megnézzük, hogyan végezhetjük el az Android fájlrendszeri partícióinak adatgyűjtését.
Megjegyzés: az alábbi folyamat követéséhez a készüléknek rootoltnak kell lennie.
A munkánkhoz a népszerű “dd” eszközt fogjuk használni. A “dd” alapértelmezés szerint jelen van az Androidban a “/system/bin” helyen. Ez a következő ábrán látható.
Most nézzük meg a minket érdeklő partíciók helyét a mount parancs segítségével.
A következő a “/data” partícióhoz tartozó bejegyzés a fenti kimenetből.
/dev/block/platform/msm_sdcc.3/by-num/p16 /data ext4 rw,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0
Ezért használjuk a következő parancsot, hogy a “dd” segítségével kivonjuk ezt a partíciót.
dd if=/dev/block/platform/msm_sdcc.3/by-num/p16 of=/mnt/sdcard/output.img
A fenti parancsot az alábbiakban ismertetjük.
if = bemeneti fájl
of = létrehozandó kimeneti fájl
output.img = a létrehozandó kimeneti kép neve.
Megadhatjuk még a blokkméretet is a dd-ben a “bs” opcióval.
A fenti folyamat befejezése után ezt a fájlt olyan eszközökkel tudjuk előhívni, mint a Droid Explorer. Ezt akár az adb pull parancs segítségével is megtehetjük.
Az alábbi képernyőképen az adb pull parancs segítségével a képet a munkaállomásunkra való lehívásának parancsa látható.
Most, ezt a képet használhatjuk a további elemzéshez a készüléken.