dienstag 30 nov 10 all your baseband are
play

Dienstag 30. Nov. 10 [] All Your Baseband Are over-the-air - PowerPoint PPT Presentation

Dienstag 30. Nov. 10 [] All Your Baseband Are over-the-air exploitation of memory corruptions in GSM software Ralf-Philipp Weinmann Laboratory for Algorithmics, Cryptology & Computer Security University of Luxembourg


  1. Dienstag 30. Nov. 10 []

  2. All Your Baseband Are over-the-air exploitation of memory corruptions in GSM software Ralf-Philipp Weinmann Laboratory for Algorithmics, Cryptology & Computer Security University of Luxembourg https://cryptolux.org Dienstag 30. Nov. 10 []

  3. Outline  GSM / Smartphone basics  Baseband software (in)security  How to find bugs  Practicality of exploitation  Scenarios for the “baseband apocalypse”  Disclosure, outlook & conclusions Dienstag 30. Nov. 10 []

  4. Part I: GSM and smartphone basics Dienstag 30. Nov. 10 []

  5. Lay of the GSM/UMTS land MS links to (Mobile outside world Station) [BSCs, VLR, HLR/AUC, SS7] Um (air) interface BTS (base transceiver station) [Usually located at cell tower] Dienstag 30. Nov. 10 []

  6. Layers of the GSM Um Connection Management (MM) Layer 3 Mobility Management (MM) Radio Resource (RR) LAPDm (Layer 2) Layer 1 Dienstag 30. Nov. 10 []

  7. Smartphones • Somewhen in the late 20 th century, PDAs and cellular phones merged • Result: smartphones • Have driven PDAs into extinction • Usually a multi-CPU architecture: application processor (APP) and baseband (BB) processor • In 99% of all cases, ARM CPUs used for both • Trend: single-chip APP/BB (for cost Dienstag 30. Nov. 10 []

  8. Dominant Smartphone archs vs. Application Application Processor RAM Processor (slave) Serial communication RAM or shared memory Digital Baseband Processor Digital Baseband RAM (master) Processor Dienstag 30. Nov. 10 []

  9. Let’s do some quick market research before we dive into the technical details... Dienstag 30. Nov. 10 []

  10. Baseband market shares 3Q2009 Qualcomm Mediatek Texas Instruments ST-Ericsson Infineon Broadcom Freescale Other Source: Strategy Analytics Cellular Baseband Suppliers & their 3Q’ 09 shipment share) Dienstag 30. Nov. 10 []

  11. Part II: Baseband (in)security Dienstag 30. Nov. 10 []

  12. Baseband (in)security • Code base created in the 1990s… • … with a 1990s attitude towards security • Network elements are considered trusted • Both GSM and UMTS protocols have many, many length fields • (Almost) no exploit mitigations [one counter-example: XMM6180 on iPhone4 has hardware DEP enabled] Dienstag 30. Nov. 10 []

  13. I know you forgot what the GSM protocol stack looks like, so let’s see it once more before we proceed. Dienstag 30. Nov. 10 []

  14. Layers of the GSM Um Connection Management (MM) Layer 3 Mobility Management (MM) Radio Resource (RR) LAPDm (Layer 2) Layer 1 Dienstag 30. Nov. 10 []

  15. Where to look for bugs • Layer 1 not fruitful • Layer 2: messages to short • Layer 3: specified in GSM 04.08 – allows for variable length messages (TLV and LV) – Maximum length: 255 octets (length field: one octet) • However: ASN.1 used as well (e.g. RRLP) • GPRS layer very fruitful as well – GPRS not supported by OpenBTS – layer 1 di fg erent Dienstag 30. Nov. 10 []

  16. Where to look for bugs • Layer 1 not fruitful • Layer 2: messages to short • Layer 3: specified in GSM 04.08 – allows for variable length messages (TLV and LV) – Maximum length: 255 octets (length field: one octet) • However: ASN.1 used as well (e.g. RRLP) • GPRS layer very fruitful as well – GPRS not supported by OpenBTS – layer 1 di fg erent Dienstag 30. Nov. 10 []

  17. Where to look for bugs Things get interesting • Layer 1 not fruitful • Layer 2: messages to short • Layer 3: specified in GSM 04.08 – allows for variable length messages (TLV and LV) – Maximum length: 255 octets (length field: one octet) • However: ASN.1 used as well (e.g. RRLP) • GPRS layer very fruitful as well – GPRS not supported by OpenBTS – layer 1 di fg erent Dienstag 30. Nov. 10 []

  18. Initial Targets Image credit: Yutaka Tsutano Image credit: Jose A. Gelado Apple iPhones HTC Dream [G1] (Infineon (Qualcomm baseband) baseband) Dienstag 30. Nov. 10 []

  19. How were the bugs found? • Fuzzing was not successful – Lots of crashes, but no easy way to triage • Static analysis • No source code publicly available – exception: TSM30 src was available for some years • Conclusion: reverse-engineer binaries Dienstag 30. Nov. 10 []

  20. How do we start? • Firmware updates often contain baseband firmware as well • Packed multiple times, need to extract • Tools for iPhone and HTC phones to do that • Qualcomm firmwares: ELF files • Infineon needs custom loaders/relocator • Later: ability to dump memory/MMU 17 Dienstag 30. Nov. 10 []

  21. Reverse-engineering • Bootstrap: use BinDi fg to port symbols from known libraries (i.e. compiler runtimes) • Identify functions that do memory transfers using REIL and BinNavi • Lots of strings and assertions (!) in firmwares • Often: clean-cut regions for RR/MM/AT command parser in binary 18 Dienstag 30. Nov. 10 []

  22. More reversing • Identified functions handling GSM frames – Problem: apparently di fg erent tasks – Assertions/logging functions very helpful 19 Dienstag 30. Nov. 10 []

  23. Types of bugs found • Many, many unchecked memory copies (can be found in binary once memcpy() et al. identified) • Object/structure lifecycle issues (e.g. use after free, uninitialized variables, state engine confusion), can lead to infoleaks as well • Protocol foo-bars: Code paths normally used for UMTS / CDMA can be triggered using GSM frames Dienstag 30. Nov. 10 []

  24. An example (in ICE • TMSI reallocation: – TMSI always, always, always is 32 bits – nonetheless encoded as TLV • Infineon stack uses length in L3 packet • Results: heap overflow • Somewhat tricky to exploit in stable way • iPhone 2/3G/3GS vs. iPhone 4: di fg erent RTOS – old iPhones: Nucleus – iPhone 4: ThreadX Dienstag 30. Nov. 10 []

  25. An example (in QCOM • GSM & UMTS use challenge-response auth • Originally: fixed-length challenge in GSM – 16 bytes RAND • 3GPP specification 24.008 added variable length challenge (AUTN) • Functionality not needed in GSM! • Allows to overwrite stack (limit 251 bytes) • Result: remote code exec, pre-auth • QCOM fixed after disclosure (pushed to OEMs) Dienstag 30. Nov. 10 []

  26. Baseband Exploitation • Baseband: what operating system? • Unlock teams often have good info on this (iPhone dev team, XDA developers) • Locate bu fg ers used for GSM L3 messages • Write custom code or use existing features (e.g. AT+S0=x handler in Infineon baseband) • Debugging is hard, write own debugger Dienstag 30. Nov. 10 []

  27. The AT+S0=n feature • Hayes command to turn on auto-answer • present in some software stacks (verified for Infineon & QCOM) • Enable with *5005*AANS# on iPhones, disable with #5005*AANS# • Excellent target to demonstrate memory corruptions • Auto-answer can be made silent/ Dienstag 30. Nov. 10 []

  28. Part III: Practicality Dienstag 30. Nov. 10 []

  29. Why should we care • New base stations: expensive (cheapest: 25k USD) • Old gear however often is sold on eBay • Threat model has entirely changed: hardware has become cheap, open-source SW appeared • Open-source projects for running GSM base stations: OpenBSC & OpenBTS • OpenBTS provided service at Burning Man 2008-2010 • HAR2009 had OpenBSC test network Dienstag 30. Nov. 10 []

  30. • Siemens BS11 • used by OpenBSC • HEAVY • E1/Abis interface • cheap: EUR 250 • hard to come by now. Image credit: Björn Heller Dienstag 30. Nov. 10 []

  31. • ip.access nanoBTS • supported by OpenBSC as well • Abis over IPv4 • approx. USD 4500 • di fg erent versions for GSM900/1800, GSM850/1900 • supports GPRS Dienstag 30. Nov. 10 []

  32. Our gear: Ettus USRPv1 • price: approx USD 1250 plus good clock Image credit: Synthesis Studios • software defined radio (SDR) • versatile (di fg erent daughterboards) • OpenBTS support, GSM850/900, GSM1800/1900 • no GPRS since layer 1 is di fg erent there • clock: wrong freq (64Mhz) and imprecise Dienstag 30. Nov. 10 []

  33. Part IV: Demo Dienstag 30. Nov. 10 []

  34. Common failures (my experience) • Lacking clock precision • Misinterpreting stack traces • Triggering the wrong bug ;) • Overlooking code is placed is non-exec page Dienstag 30. Nov. 10 []

  35. Some words about clocks • Get a good one, seriously! – GSM spec requires 0.05ppm – equiv. to 50Hz in 900MHz band • Time is too precious for fixing clock issues • Using FA-SY on the road (EUR 40) – Si570 based design – not optimal: 20ppm uncalibrated – approx. 1ppm when calibrated Dienstag 30. Nov. 10 []

  36. Part V: The Baseband Apocalypse Dienstag 30. Nov. 10 []

  37. The “Baseband Apocalypse” • Place fake BTS in crowded/sensitive areas: airport lounges, financial districts, near embassies • Stealth room monitor: record audio, compress, store in RAM, piggy-back onto next data connection (mic/camera usually hang o fg BB CPU) • Shared mem CPUs: compromise APP CPU as well, place backdoor/rootkit Dienstag 30. Nov. 10 []

  38. The “Baseband Apocalypse” • Ping-pong games: compromise cellphone, then BTS/BSC, infect more phones from there • Brick phones permanently (e.g. erase SecZone on iPhone) • No easy forensics possible in BB land (JTAG disabled to prevent easy unlocks). Need exploits to perform forensics Dienstag 30. Nov. 10 []

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend