www.fem.tu- ilmenau.de exploiting pocket pc. ilmenau.de exploiting pocket pc pocketpc existiert...
TRANSCRIPT
![Page 1: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/1.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC
![Page 2: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/2.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• PocketPC existiert seit über 5 Jahren
(Windows CE seit ca. 10)
![Page 3: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/3.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Windows CE:
– Embedded Betriebssystem von Microsoft– Echtzeitfähig; für „integrierte Anwendungen“
• PDA‘s, cell/smart phones VoIP, Abspielgeräte, Navigationssysteme, ATMs…
– Lauffähig auf x86, MIPS, SH3/4, ARM, StrongARM,…
• PocketPC:– Pocket PC 2000, 2002, 2003, 2003 SE, 2003 phone
edition– Pocket PC Smartphone– umbenannt in Windows Mobile: aktuell 5.0
• Alle PocketPC Betriebssysteme basieren auf Windows CE
![Page 4: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/4.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Unterschied PocketPC / WindowsCE /
Windows Mobile…• Es gibt nur wenige Exploits / keine
Viren/Würmer• Wozu überhaupt Exploits? Was für
Exploits?– Keyboard Logger, gepatcht und versteckt,
hardreset…
![Page 5: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/5.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Windows CE Architektur:
– max. 256 MB interner Speicher (32 MB max. eine Datei)
– 4 GB virtueller Adressraum• aufgeteilt in „slots“ (jeder slot = 32 MB)• 33 slots für Prozesse und 1 für DLLs, alle anderen für kern• Bei WM5.0: keine Aufteilungsbegrenzung• Alle Prozesse teilen sich den Adressraum
– Es gibt aber Speicherschutz
• Auf 32 Prozesse limitiert (slot 0 ist reserviert) (bei WM5.0 aufgehoben)
– Allerdings kein Thread Limit
![Page 6: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/6.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Speicheraufteilung:
![Page 7: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/7.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Windows CE DLLs:
– XIP (eXecute In Place)• DLLs werden im ROM/RAM gehalten und lediglich in
den Adressraum gemappt (nicht in den RAM kopiert)
• um Speicher zu sparen• man kann keinen break in einer System-DLL
machen…(Sicherheit)
– eine DLL wird immer an die selbe Adresse gemappt• verschiedene Adressen auf verschiedenen Geräten
![Page 8: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/8.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• ARM Prozessor:
– am häufigsten in PocketPCs eingesetzt– RISC CPU
• wenig Energieverbrauch• relativ schnell
– ARM CPUs gibt es von verschiedenen Herstellern:• Intel XScale, TI OMAP, …
![Page 9: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/9.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Load/Store Architektur
– jede Datenoperation wird in den Registern erledigt
• 37 32 Bit register– R0-R13 zur allgemeinen Verwendung– R15 Zähler (PC)– R14 link Register (LR) für die Rücksprung adresse– R13 normalerweise Stack Pointer
• Status Flag (NZCO)• 32 Bit opcodes in ARM und 16 Bit in Thumb
Modus
![Page 10: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/10.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• PC und SP sind register die man modifizieren
kann– Code kann sich leicht selbst im Speicher finden:
• SUB R1,PC,#4– R1 enthält die Adresse der nächsten Instruktion
– Die meisten Instruktionen können bedingt ausgeführt werden
• SUBNE R0,R0,#4– SUB wenn nicht gleich…
– Es existiert kein NOP• Virtuelles NOP: MOV R1,R1
![Page 11: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/11.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Probleme mit ARM
– separater Cache für Daten und Instruktionen• deshalb kein wirkllicher selbstverändernder Code möglich
– Ältere ARM Prozessoren haben kein XOR Befehl
![Page 12: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/12.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Tools:
– PocketPC/WinCE SDK• Microsoft eMbedded Visual C/C++ (eVC)
– Kostenlose Entwicklungsumgebung– Compiler, Debugger, Assembler,…– Spezielle Plattform Tools: Remote Process Viewer…)– Kein Support für ARM inline assembly
• Verschieden Pocket PC SDKs (aktuell Windows Mobile 5.0 SDK)
• Emulatoren für Pocket PC; neu: Emulator der die echte Hardware emuliert)
– ActiveSync:• Synchronisierungssoftware / Dateitransfer / Netzwerkzugriff
![Page 13: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/13.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Dissassembler:
– IDA PRO
• Hex Editor• Optional:
– Gcc/gas ARM cross Compiler und Assembler
![Page 14: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/14.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Single User Betriebssystem
– Kein Login nur optionaler Geräte-Lock– Jede Applikation kann auf alles zugreifen (nur
unmanaged Applikationen)– keine besondere Sicherheit für nicht-.NET
Programme– Sicherheitsstruktur in .NET umgesetzt
![Page 15: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/15.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Mögliche Attacken:
– Netzwerk:• WLAN, GPRS, Bluetooth, USB (WM5)
– Bluetooth• Einige bekannte Bugs (jedoch in aktuellen Versionen
gefixt)– OBEX push Bug (zu lange Dateinamen)
– Infrarot• OBEX; okay sehr unwahrscienlich
– GSM• SMS/MMS parser
![Page 16: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/16.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Shellcode
![Page 17: Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d6649795902118bbbc0/html5/thumbnails/17.jpg)
www.fem.tu-ilmenau.de
Exploiting Pocket PC• Shellcode