SlideShare une entreprise Scribd logo
1  sur  71
Télécharger pour lire hors ligne
A 16 Bit Rootkit, and
Second Generation Zigbee Chips


           Travis Goodspeed
     travis@radiantmachines.com

        Black Hat USA, 2009
           Las Vegas, NV
Topics for Today
●   Second Generation Zigbee Chips
        –   EM250, CC2430, CC2530
        –   How to break them.
●   A 16 Bit Rootkit
        –   A very portable operating system,
        –   easily injected into a µC application,
        –   without damaging that application.
Notice That
●   In IT,
        –    Malware is common.
        –    It's annoying.
        –    Simple malware is detected, removed.
●   In embedded systems,
        –    Malware is rare.
        –    No one looks for it.
        –    Simple malware is undetected, sufficient.
Forward
●   Confidentiality
        –   Only to prevent plagiarism.
●   Integrity
        –   Only against accidental corruption.
●   Availability
        –   A watchdog timer.
In this Episode
●   EM250
       –   WTF were they thinking?
●   CC2430/CC2530
       –   Keys are easily extracted.
●   MSP430
       –   A rootkit design.
       –   How to recognize one, or to build one.
Disclaimers
●   EM250/260
       –   EM3xx will be better.
●   CC2430/CC2530
       –   CC430 will be better.
●   MSP430
       –   MSP430 only chosen for a concrete
            example.
Brief Review: Microcontrollers
●   Little computer.
        –   8 or 16 bit
        –   Von Neumann or Harvard
        –   Internal Flash/RAM
        –   No/partial MMU
●   Still a computer.
Brief Review: Wireless Sensors
●   Radio+MCU=WSN
●   Ultra low power, long deployment.
●   Mesh Networking
●   Applications
       –   Smart Grid
       –   Military
       –   Wildlife, Geological Research
Brief Review: Terms
●   802.15.4, MAC and lower layers.
●   Zigbee, upper layers.
●   MSP430, a 16 bit µC
●   First Gen Radios, just a radio
●   Second Gen Radios, radio+µC
Part 1:
Second Generation Zigbee Chips



         Travis Goodspeed
            Black Hat 09
First Generation
●   CC2420, EM2420
        –   Same chip!
●   Just a radio.
        –   Keys are sent by SPI.
        –   As cleartext.
Zigbee Bus Snooping
●   First presented at S4 Miami.
        –   Later Source Boston, HackADay.
        –   Workshop at Defcon!
●   Dirt simple,
        –   Stick needles into the board's test points.
        –   Capture SPI traffic live.
        –   Read the AES128 key.
        –   Set your radio to the same.
Bus Snooping: Needles
Bus Snooping: Scope
Bus Snooping: Scope
Bus Snooping: Sniffer
People are mean!
Again
●   “...the vast majority of pilots and products
    out there that support SEP are based on
    the EM250, and not the TI CC2420.
    Utilities are requiring the security and
    standardization that the SEP provides. ...”
        –   Bruce
EM250
●   12MHz XAP2b 16-bit microcontroller core
        –   128kB Flash and 5kB RAM
        –   128-bit AES hardware engine
        –   <1uA sleep current w/ internal RC oscillator
             running
●   Also a radio.
So to be clear.
●   The argument is:
       –   The CC2420 is vulnerable.
       –   The EM250 doesn't expose keys by SPI.
       –   Therefore, EM250 boards are secure.
●   The argument is wrong.
       –   Let's see why!
EM250 Chip
●   16 bit Harvard XAP2
       –   1999 design by Cambridge Consultants
●   Insight® for Debugging
       –   JTAG Variant
EM250 Programming
●   OTA and by Serial Port
        –   Bootloader of some sort.
        –   Might be vulnerable. I haven't looked.
●   Serial Port
        –   Vulnerable to glitching, but don't bother.
●   InSight®
        –   Wide open.
InSight® Port




                from SPZB260ADP
Insight® Cable
EM2xx Conclusions
●   Insight®
       –   Lacks a fuse.
       –   Exploitable with Ember's own tools.
●   Locally indefensible.
CC2430
●   TI/Chipcon
●   System on a Chip
       –   802.15.4 radio
       –   8051 µC
●   Debugging
       –   SPI-like
       –   MOSI/MISO on a single pin.
CC2430 Debugging
●   Init Sequence
●   Commands
       –   CHIP_ERASE
       –   GET_PC
       –   DEBUG_INSTR
       –   GET_CHIPID
●   Reply
Entry Sequence
0x34
Chipcon Physical Layer
●   Bits
           –   MSBit first
           –   Written on rising edge of clock.
           –   Sampled on falling edge of clock.
●   Direction
           –   Master speaks first.
           –   Slave replies.
Chipcon Debugging Protocol
●   Command
        –   5b instruction
        –   1b R/!R
        –   2b Objects
●   0 to 3 object bytes
●   0 to 1 return bytes
Chipcon Lock Bit
●   Unlocked                 ●   Locked
       –   All verbs work.          –   CHIP_ERASE
                                    –   READ_STATUS
                                    –   GET_CHIP_ID
                             ●   To unlock,
                                    –   CHIP_ERASE
Chipcon CHIP_ERASE
●   Erases all of Flash.
        –   All firmware.
        –   Debug Fuse too.
●   None of RAM.
8051 Constant Sidebar
●   8051 is Modified Harvard Architecture
       –   Data Memory
               ●   Non-executable.
               ●   Quickly read/written.
       –   Code Memory
               ●   Executable.
               ●   Slowly read as data.
       –   Incompatible pointers.
Brief Review
●   Von Neumann      ●   Harvard
●   Unified Memory   ●   Divided Memory
●   Executable RAM          –   Code
                            –   Data
                     ●   Unexecutable RAM
8051 Constant Sidebar
●   8051 Compilers
       –   All variables in Data memory,
                ●   unless explicitly told otherwise.
       –   At initialization
                ●   Data is populated from Code.
●   Therefore,
       –   EVERY variable is in Data by default.
       –   Keys are in Data memory.
Chipcon Exploitation
●   GoodFET.CC
       –   Erase
       –   Write Data >keys.bin
●   Key search
       –   Joshua Wright's Killer Bee, TBR
       –   2 seconds for upper RAM
       –   4 seconds for all of RAM
Chipcon Defense
●   Keep anything sensitive in Code memory.
        –   See Chipcon DN200.
●   const __code char foo[]=”Hello World!”
●   printf(foo);
        –   Won't work!
        –   printf() expects a pointer to Data memory.
Chipcon Summary
●   All current chips are vulnerable.
●   Keys are exposed unless protected.
●   Protection requires some recoding.
Third Generation Chips
●   EM3xx
        –   ARM Cortex M3 µC
        –   JTAG Pin Fuse
●   CC430
        –   MSP430 µC
        –   JTAG TAP Fuse
●   Neither is yet available.
Third gen Chips: EM3xx
Third Gen Chips: CC430




                 photo from TI E2E Blog
Part 1 Conclusions
●   Zigbee chips aren't very secure.
●   Next generation might be better.
        –   Might not be better.
●   Local security is hard.
        –   Cryptography != Security
Part 2:
              A 16-bit Rootkit
●   IVT Proxying/Hooking
●   Initial Foothold
●   Blind Command Reception
●   Efficient Command Frames
●   Blind Function Calling
History
●   2007, I authored the first WSN exploit.
        –   MSP430 infected by 802.15.4 packet
●   2008, I authored an MSP430 R.E. kit.
        –   http://msp430static.sf.net/ in Perl/SQLite
●   2009, Mike Davis Smart Grid Worm
        –   Catch his talk at 16h45.
        –   Practical implementation, which mine ain't.
WSN Exploits in Brief
●   Memory is precious
       –   A few kilobytes of free memory.
       –   128 byte packets
●   No operating system.
       –   No system calls, function tables, etc.
       –   Single statically-linked image.
●   Code is in Flash, not RAM.
This Rootkit
●   Generic Installation
        –   Reasonably hardware agnostic.
        –   Coexists with prior firmware.
●   Efficient
        –   Fits in available memory.
        –   Reuses victim code where possible.
        –   Memory/security tradeoff.
MSP430
●   16 bit RISC processor
       –   Two 20 bit variants.
●   Masked ROM Bootloader (BSL)
       –   Flash ROM in recent variants.
●   Chosen for a concrete example.
       –   Similarities in AVR, PIC, MIPS, etc.
Rootkit Specifics
●   How do you find a function?
       –   No linking tables.
●   How do you trap an incoming packet?
       –   Radio drivers are inlined.
●   How do you make the rootkit stealthy?
       –   Would you make it stealthy?
Locating a Function
●   Fingerprints
        –   Isolate functions, then iterate.
        –   Checksum bytes.
        –   Call function that matches bytes.
●   Ports
        –   IO ports are unique to hardware.
        –   Called as literal indirects.
Interrupt Handling
●   Interrupt Vector Table
        –   List of interrupt handler addresses.
        –   At the top of memory in Flash.
●   To proxy it,
        –   Copy table to a lower address.
        –   Handle each target.
        –   Handler branches to original.
Interrupt Proxy
Unproxied
Interrupt Proxying
●   Also used without malice.
●   Drastically changes
       –   Bootloader password.
       –   Call Graph.
       –   Memory usage.
       –   Calling convention.
●   Barely changes
       –   Bytes.
Bootloader Password
●   Hard to fake for masked BSL.
       –   Entry sequence is in hardware.
       –   Not maskable on classic MSP430.
●   JTAG Fuse
       –   If blown, access is restricted without pass.
       –   If unblown, local attacker has access.
Call Graph
●   Two applications,
       –   Two disconnected graphs.
       –   Child connections can be made,
               ●   CALL #0x4000
       –   Parent connections are more difficult.
               ●   Clearing bits is easier than setting them.
               ●   Reflashing a segment.
Memory Usage
●   Linker behavior
       –   Flash is at the top of memory.
       –   Code grows from starting address upward.
       –   Each app starts at a segment boundary.
Calling Convention
●   Hackers use GCC
       –   r15, r14, r13, r12
●   Others use IAR
       –   r12, r14 in IAR 3
       –   r12, r13, r14, r15 in IAR 4
●   Other compilers
       –   other conventions
Further Fingerprinting
●   switch(){}
        –   Table, word offset, or byte offset?
●   mov #0xFFFF, r15
        –   Constant generator or literal?
●   Unused interrupts.
        –   0xFFFF, single handler, or many handlers?
Locating a Rootkit
●   One app or two?
       –   Memory map, register usage, gap.
●   One compiler or two?
       –   Calling convention consistency?
       –   Assembler, switch{} consistency?
Two IVTs
●   0xFB78       ●   0x403A, repeated
●   0xFB7C       ●   0x40B4
●   0xFB80       ●   0x4068
●   0xFB84       ●   0x43B8
●   0xFB88       ●   0x40FA
●   0xFB8C       ●   0x4000
●   ...
Once again,
●   In IT,
        –    Malware is common.
        –    It's annoying.
        –    Simple malware is detected, removed.
●   In embedded systems,
        –    Malware is rare.
        –    No one looks for it.
        –    Simple malware is undetected, sufficient.
For more information,
●   TravisGoodspeed.blogspot.com
       –   Compiler behavior survey.
       –   MSP430static R.E. toolkit.
●   GoodFET.sourceforge.net
       –   Chipcon debugging.
       –   Voltage glitching soon.
Defcon talks
●   Locally Exploiting Wireless Sensors
       –   Less theory, more practice.
●   An Open JTAG Debugger
       –   Mapping JTAG Registers
       –   CC2430 Protocol
       –   Voltage Glitching
Questions?

Contenu connexe

Tendances

OVERVIEW OF MSP430G2553
OVERVIEW OF MSP430G2553OVERVIEW OF MSP430G2553
OVERVIEW OF MSP430G2553shams tabrez
 
Laptop Chip level repairing(CPU section)
Laptop Chip level repairing(CPU section)Laptop Chip level repairing(CPU section)
Laptop Chip level repairing(CPU section)chiptroniks
 
LAPTOP REPAIR TRAINING COURSE DETAIL
LAPTOP REPAIR TRAINING COURSE DETAIL LAPTOP REPAIR TRAINING COURSE DETAIL
LAPTOP REPAIR TRAINING COURSE DETAIL Abdullah Khan
 
CodeWarrior, Linux; OrCad and Hyperlynx; QMS Tools
CodeWarrior, Linux; OrCad and Hyperlynx; QMS ToolsCodeWarrior, Linux; OrCad and Hyperlynx; QMS Tools
CodeWarrior, Linux; OrCad and Hyperlynx; QMS Toolsdjerrybellott
 
Ls catalog thiet bi tu dong gm e_0908_dienhathe.vn
Ls catalog thiet bi tu dong gm e_0908_dienhathe.vnLs catalog thiet bi tu dong gm e_0908_dienhathe.vn
Ls catalog thiet bi tu dong gm e_0908_dienhathe.vnDien Ha The
 
FSEC 2014 - I can haz your board with JTAG
FSEC 2014 - I can haz your board with JTAGFSEC 2014 - I can haz your board with JTAG
FSEC 2014 - I can haz your board with JTAGDobrica Pavlinušić
 
Synopsys User Group Presentation
Synopsys User Group PresentationSynopsys User Group Presentation
Synopsys User Group Presentationemlawgr
 
Unitii armarchitecture-130305014346-phpapp01
Unitii armarchitecture-130305014346-phpapp01Unitii armarchitecture-130305014346-phpapp01
Unitii armarchitecture-130305014346-phpapp01mannepalli Srinivasulu
 
MR - MGD
MR - MGDMR - MGD
MR - MGDleet01
 
Practical reverse engineering and exploit development for AVR-based Embedded ...
Practical reverse engineering and exploit development for AVR-based Embedded ...Practical reverse engineering and exploit development for AVR-based Embedded ...
Practical reverse engineering and exploit development for AVR-based Embedded ...Alexander Bolshev
 
Overview of LPC214x MCUs
Overview of LPC214x MCUsOverview of LPC214x MCUs
Overview of LPC214x MCUsPremier Farnell
 
Trf7960 and trf7970 a comparison
Trf7960 and trf7970 a comparisonTrf7960 and trf7970 a comparison
Trf7960 and trf7970 a comparisonHà Thanh
 

Tendances (20)

OVERVIEW OF MSP430G2553
OVERVIEW OF MSP430G2553OVERVIEW OF MSP430G2553
OVERVIEW OF MSP430G2553
 
STM32 MCU Family
STM32 MCU FamilySTM32 MCU Family
STM32 MCU Family
 
Laptop Chip level repairing(CPU section)
Laptop Chip level repairing(CPU section)Laptop Chip level repairing(CPU section)
Laptop Chip level repairing(CPU section)
 
LAPTOP REPAIR TRAINING COURSE DETAIL
LAPTOP REPAIR TRAINING COURSE DETAIL LAPTOP REPAIR TRAINING COURSE DETAIL
LAPTOP REPAIR TRAINING COURSE DETAIL
 
Pic16 c7x
Pic16 c7xPic16 c7x
Pic16 c7x
 
Arm7 architecture
Arm7 architectureArm7 architecture
Arm7 architecture
 
Msp430g2453
Msp430g2453Msp430g2453
Msp430g2453
 
CodeWarrior, Linux; OrCad and Hyperlynx; QMS Tools
CodeWarrior, Linux; OrCad and Hyperlynx; QMS ToolsCodeWarrior, Linux; OrCad and Hyperlynx; QMS Tools
CodeWarrior, Linux; OrCad and Hyperlynx; QMS Tools
 
What is POR,LVD,WDT ?
What is POR,LVD,WDT ?What is POR,LVD,WDT ?
What is POR,LVD,WDT ?
 
Ls catalog thiet bi tu dong gm e_0908_dienhathe.vn
Ls catalog thiet bi tu dong gm e_0908_dienhathe.vnLs catalog thiet bi tu dong gm e_0908_dienhathe.vn
Ls catalog thiet bi tu dong gm e_0908_dienhathe.vn
 
FSEC 2014 - I can haz your board with JTAG
FSEC 2014 - I can haz your board with JTAGFSEC 2014 - I can haz your board with JTAG
FSEC 2014 - I can haz your board with JTAG
 
Synopsys User Group Presentation
Synopsys User Group PresentationSynopsys User Group Presentation
Synopsys User Group Presentation
 
Flashcatusb manual
Flashcatusb manualFlashcatusb manual
Flashcatusb manual
 
8 bit microcontrollers
8 bit microcontrollers8 bit microcontrollers
8 bit microcontrollers
 
Unitii armarchitecture-130305014346-phpapp01
Unitii armarchitecture-130305014346-phpapp01Unitii armarchitecture-130305014346-phpapp01
Unitii armarchitecture-130305014346-phpapp01
 
MR - MGD
MR - MGDMR - MGD
MR - MGD
 
Practical reverse engineering and exploit development for AVR-based Embedded ...
Practical reverse engineering and exploit development for AVR-based Embedded ...Practical reverse engineering and exploit development for AVR-based Embedded ...
Practical reverse engineering and exploit development for AVR-based Embedded ...
 
Overview of LPC214x MCUs
Overview of LPC214x MCUsOverview of LPC214x MCUs
Overview of LPC214x MCUs
 
Trf7960 and trf7970 a comparison
Trf7960 and trf7970 a comparisonTrf7960 and trf7970 a comparison
Trf7960 and trf7970 a comparison
 
Avr and arm
Avr and armAvr and arm
Avr and arm
 

En vedette

ZigBee Smart Energy Security Securing The HAN Network
ZigBee Smart Energy Security   Securing The HAN NetworkZigBee Smart Energy Security   Securing The HAN Network
ZigBee Smart Energy Security Securing The HAN NetworkZin Kyaw
 
DefCon 2012 - Power Smart Meter Hacking
DefCon 2012 - Power Smart Meter HackingDefCon 2012 - Power Smart Meter Hacking
DefCon 2012 - Power Smart Meter HackingMichael Smith
 
How I Learned To Stop Worrying And Love the Smart Meter
How I Learned To Stop Worrying And Love the Smart MeterHow I Learned To Stop Worrying And Love the Smart Meter
How I Learned To Stop Worrying And Love the Smart MeterzeroSteiner
 
BlackHat 2010 - Electricity for Free - The Dirty Underbelly of SCADA and Smar...
BlackHat 2010 - Electricity for Free - The Dirty Underbelly of SCADA and Smar...BlackHat 2010 - Electricity for Free - The Dirty Underbelly of SCADA and Smar...
BlackHat 2010 - Electricity for Free - The Dirty Underbelly of SCADA and Smar...Michael Smith
 
Wireless Microcontroller (IEEE802.15.4 and ZigBee): JN5139
Wireless Microcontroller  (IEEE802.15.4 and ZigBee): JN5139Wireless Microcontroller  (IEEE802.15.4 and ZigBee): JN5139
Wireless Microcontroller (IEEE802.15.4 and ZigBee): JN5139Premier Farnell
 
2007, Radiocrafts: Make Or Buy, Life cycle cost of ZigBee® solution
2007, Radiocrafts: Make Or Buy, Life cycle cost of ZigBee® solution2007, Radiocrafts: Make Or Buy, Life cycle cost of ZigBee® solution
2007, Radiocrafts: Make Or Buy, Life cycle cost of ZigBee® solutionWireless Sensor Networks Apellidos
 
Wireless sensor network using zigbee
Wireless sensor network using zigbeeWireless sensor network using zigbee
Wireless sensor network using zigbeeeSAT Journals
 
Zigbee wireless control made easy
Zigbee wireless control made easyZigbee wireless control made easy
Zigbee wireless control made easyrajrayala
 
Introduction to Ti wireless solution: ZigBee
Introduction to Ti wireless solution: ZigBeeIntroduction to Ti wireless solution: ZigBee
Introduction to Ti wireless solution: ZigBeeChiu-Hao Chen (Ted)
 
Wireless Communication And Mobile Network - ZigBee
Wireless Communication And Mobile Network - ZigBeeWireless Communication And Mobile Network - ZigBee
Wireless Communication And Mobile Network - ZigBeeXaver Y.R. Chen
 
Real Time Location System with ZigBee
Real Time Location System with ZigBeeReal Time Location System with ZigBee
Real Time Location System with ZigBeeMihai Gheza
 
Zigbee based intelligent helemet for coal miners ppt
Zigbee based intelligent helemet for coal miners pptZigbee based intelligent helemet for coal miners ppt
Zigbee based intelligent helemet for coal miners pptVenkatesh Kaduru
 
Zigbee network
Zigbee networkZigbee network
Zigbee networkbhavithd
 
Smart Home Tech Short
Smart Home Tech ShortSmart Home Tech Short
Smart Home Tech Shortchowfei
 

En vedette (20)

ZigBee Smart Energy Security Securing The HAN Network
ZigBee Smart Energy Security   Securing The HAN NetworkZigBee Smart Energy Security   Securing The HAN Network
ZigBee Smart Energy Security Securing The HAN Network
 
DefCon 2012 - Power Smart Meter Hacking
DefCon 2012 - Power Smart Meter HackingDefCon 2012 - Power Smart Meter Hacking
DefCon 2012 - Power Smart Meter Hacking
 
How I Learned To Stop Worrying And Love the Smart Meter
How I Learned To Stop Worrying And Love the Smart MeterHow I Learned To Stop Worrying And Love the Smart Meter
How I Learned To Stop Worrying And Love the Smart Meter
 
BlackHat 2010 - Electricity for Free - The Dirty Underbelly of SCADA and Smar...
BlackHat 2010 - Electricity for Free - The Dirty Underbelly of SCADA and Smar...BlackHat 2010 - Electricity for Free - The Dirty Underbelly of SCADA and Smar...
BlackHat 2010 - Electricity for Free - The Dirty Underbelly of SCADA and Smar...
 
Zigbee technology2
Zigbee technology2Zigbee technology2
Zigbee technology2
 
Wireless Microcontroller (IEEE802.15.4 and ZigBee): JN5139
Wireless Microcontroller  (IEEE802.15.4 and ZigBee): JN5139Wireless Microcontroller  (IEEE802.15.4 and ZigBee): JN5139
Wireless Microcontroller (IEEE802.15.4 and ZigBee): JN5139
 
2007, Radiocrafts: Make Or Buy, Life cycle cost of ZigBee® solution
2007, Radiocrafts: Make Or Buy, Life cycle cost of ZigBee® solution2007, Radiocrafts: Make Or Buy, Life cycle cost of ZigBee® solution
2007, Radiocrafts: Make Or Buy, Life cycle cost of ZigBee® solution
 
Wireless sensor network using zigbee
Wireless sensor network using zigbeeWireless sensor network using zigbee
Wireless sensor network using zigbee
 
Zigbee wireless control made easy
Zigbee wireless control made easyZigbee wireless control made easy
Zigbee wireless control made easy
 
Zigbee
 Zigbee    Zigbee
Zigbee
 
Introduction to Ti wireless solution: ZigBee
Introduction to Ti wireless solution: ZigBeeIntroduction to Ti wireless solution: ZigBee
Introduction to Ti wireless solution: ZigBee
 
Wireless Communication And Mobile Network - ZigBee
Wireless Communication And Mobile Network - ZigBeeWireless Communication And Mobile Network - ZigBee
Wireless Communication And Mobile Network - ZigBee
 
Real Time Location System with ZigBee
Real Time Location System with ZigBeeReal Time Location System with ZigBee
Real Time Location System with ZigBee
 
Zigbee based intelligent helemet for coal miners ppt
Zigbee based intelligent helemet for coal miners pptZigbee based intelligent helemet for coal miners ppt
Zigbee based intelligent helemet for coal miners ppt
 
Zigbee
ZigbeeZigbee
Zigbee
 
Zigbee network
Zigbee networkZigbee network
Zigbee network
 
Smart Home Tech Short
Smart Home Tech ShortSmart Home Tech Short
Smart Home Tech Short
 
Zigbee ppt
Zigbee pptZigbee ppt
Zigbee ppt
 
zigbee full ppt
zigbee full pptzigbee full ppt
zigbee full ppt
 
Zigbee Presentation
Zigbee PresentationZigbee Presentation
Zigbee Presentation
 

Similaire à BlackHat 2009 - Hacking Zigbee Chips (slides)

An_Introduction_to_Microcontrollers.pptx
An_Introduction_to_Microcontrollers.pptxAn_Introduction_to_Microcontrollers.pptx
An_Introduction_to_Microcontrollers.pptxStefan Oprea
 
BadUSB, and what you should do about it
BadUSB, and what you should do about itBadUSB, and what you should do about it
BadUSB, and what you should do about itrobertfisk
 
Controlling USB Flash Drive Controllers: Expose of Hidden Features
Controlling USB Flash Drive Controllers: Expose of Hidden FeaturesControlling USB Flash Drive Controllers: Expose of Hidden Features
Controlling USB Flash Drive Controllers: Expose of Hidden Featuresxabean
 
Infecting the Embedded Supply Chain
 Infecting the Embedded Supply Chain Infecting the Embedded Supply Chain
Infecting the Embedded Supply ChainPriyanka Aash
 
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheap
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheapUWE Linux Boot Camp 2007: Hacking embedded Linux on the cheap
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheapedlangley
 
Armadillos - or how to bypass code readout protection on microcontrollers
Armadillos - or how to bypass code readout protection on microcontrollersArmadillos - or how to bypass code readout protection on microcontrollers
Armadillos - or how to bypass code readout protection on microcontrollersAndrew Tierney
 
Device inspection to remote root
Device inspection to remote rootDevice inspection to remote root
Device inspection to remote rootTim N
 
Embedded system design using arduino
Embedded system design using arduinoEmbedded system design using arduino
Embedded system design using arduinoSantosh Verma
 
Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1Marcus Tarquinio
 
Travis Goodspeed - Not Quite ZigBee
Travis Goodspeed - Not Quite ZigBeeTravis Goodspeed - Not Quite ZigBee
Travis Goodspeed - Not Quite ZigBeeSource Conference
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON
 
SMP implementation for OpenBSD/sgi
SMP implementation for OpenBSD/sgiSMP implementation for OpenBSD/sgi
SMP implementation for OpenBSD/sgiTakuya ASADA
 
Microcontroller from basic_to_advanced
Microcontroller from basic_to_advancedMicrocontroller from basic_to_advanced
Microcontroller from basic_to_advancedImran Sheikh
 

Similaire à BlackHat 2009 - Hacking Zigbee Chips (slides) (20)

Let's begin io t with $10
Let's begin io t with $10Let's begin io t with $10
Let's begin io t with $10
 
An_Introduction_to_Microcontrollers.pptx
An_Introduction_to_Microcontrollers.pptxAn_Introduction_to_Microcontrollers.pptx
An_Introduction_to_Microcontrollers.pptx
 
BadUSB, and what you should do about it
BadUSB, and what you should do about itBadUSB, and what you should do about it
BadUSB, and what you should do about it
 
Controlling USB Flash Drive Controllers: Expose of Hidden Features
Controlling USB Flash Drive Controllers: Expose of Hidden FeaturesControlling USB Flash Drive Controllers: Expose of Hidden Features
Controlling USB Flash Drive Controllers: Expose of Hidden Features
 
Hardware hacking
Hardware hackingHardware hacking
Hardware hacking
 
Infecting the Embedded Supply Chain
 Infecting the Embedded Supply Chain Infecting the Embedded Supply Chain
Infecting the Embedded Supply Chain
 
Introduction to Microcontroller
Introduction to MicrocontrollerIntroduction to Microcontroller
Introduction to Microcontroller
 
Introduction to Microcontroller
Introduction to MicrocontrollerIntroduction to Microcontroller
Introduction to Microcontroller
 
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheap
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheapUWE Linux Boot Camp 2007: Hacking embedded Linux on the cheap
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheap
 
Beagle board
Beagle boardBeagle board
Beagle board
 
Microcontroller
Microcontroller Microcontroller
Microcontroller
 
Armadillos - or how to bypass code readout protection on microcontrollers
Armadillos - or how to bypass code readout protection on microcontrollersArmadillos - or how to bypass code readout protection on microcontrollers
Armadillos - or how to bypass code readout protection on microcontrollers
 
Device inspection to remote root
Device inspection to remote rootDevice inspection to remote root
Device inspection to remote root
 
Embedded system design using arduino
Embedded system design using arduinoEmbedded system design using arduino
Embedded system design using arduino
 
Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1
 
Travis Goodspeed - Not Quite ZigBee
Travis Goodspeed - Not Quite ZigBeeTravis Goodspeed - Not Quite ZigBee
Travis Goodspeed - Not Quite ZigBee
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
 
PIC 18F2550
PIC 18F2550PIC 18F2550
PIC 18F2550
 
SMP implementation for OpenBSD/sgi
SMP implementation for OpenBSD/sgiSMP implementation for OpenBSD/sgi
SMP implementation for OpenBSD/sgi
 
Microcontroller from basic_to_advanced
Microcontroller from basic_to_advancedMicrocontroller from basic_to_advanced
Microcontroller from basic_to_advanced
 

Plus de Michael Smith

DHS - Recommendations for Securing Zigbee Networks in Process Control Systems
DHS - Recommendations for Securing Zigbee Networks in Process Control SystemsDHS - Recommendations for Securing Zigbee Networks in Process Control Systems
DHS - Recommendations for Securing Zigbee Networks in Process Control SystemsMichael Smith
 
BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (white paper)
BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (white paper)BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (white paper)
BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (white paper)Michael Smith
 
BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (slides)
BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (slides)BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (slides)
BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (slides)Michael Smith
 
DefCon 2012 - Near-Field Communication / RFID Hacking - Miller
DefCon 2012 - Near-Field Communication / RFID Hacking - MillerDefCon 2012 - Near-Field Communication / RFID Hacking - Miller
DefCon 2012 - Near-Field Communication / RFID Hacking - MillerMichael Smith
 
DefCon 2012 - Near-Field Communication / RFID Hacking - Lee
DefCon 2012 - Near-Field Communication / RFID Hacking - LeeDefCon 2012 - Near-Field Communication / RFID Hacking - Lee
DefCon 2012 - Near-Field Communication / RFID Hacking - LeeMichael Smith
 
DefCon 2012 - Hardware Backdooring (White Paper)
DefCon 2012 - Hardware Backdooring (White Paper)DefCon 2012 - Hardware Backdooring (White Paper)
DefCon 2012 - Hardware Backdooring (White Paper)Michael Smith
 
DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)Michael Smith
 
DefCon 2012 - Firmware Vulnerability Hunting with FRAK
DefCon 2012 - Firmware Vulnerability Hunting with FRAKDefCon 2012 - Firmware Vulnerability Hunting with FRAK
DefCon 2012 - Firmware Vulnerability Hunting with FRAKMichael Smith
 
DefCon 2011 - Vulnerabilities in Wireless Water Meters
DefCon 2011 - Vulnerabilities in Wireless Water MetersDefCon 2011 - Vulnerabilities in Wireless Water Meters
DefCon 2011 - Vulnerabilities in Wireless Water MetersMichael Smith
 
Defcon 2011 - Penetration Testing Over Powerlines
Defcon 2011 - Penetration Testing Over PowerlinesDefcon 2011 - Penetration Testing Over Powerlines
Defcon 2011 - Penetration Testing Over PowerlinesMichael Smith
 
DefCon 2012 - Anti-Forensics and Anti-Anti-Forensics
DefCon 2012 - Anti-Forensics and Anti-Anti-ForensicsDefCon 2012 - Anti-Forensics and Anti-Anti-Forensics
DefCon 2012 - Anti-Forensics and Anti-Anti-ForensicsMichael Smith
 
DefCon 2012 - Subterfuge - Automated MITM Attacks
DefCon 2012 - Subterfuge - Automated MITM AttacksDefCon 2012 - Subterfuge - Automated MITM Attacks
DefCon 2012 - Subterfuge - Automated MITM AttacksMichael Smith
 
DefCon 2012 - Bluetooth Monitoring With SCAPY
DefCon 2012 - Bluetooth Monitoring With SCAPYDefCon 2012 - Bluetooth Monitoring With SCAPY
DefCon 2012 - Bluetooth Monitoring With SCAPYMichael Smith
 
DefCon 2012 - Owned In 60 Seconds - Windows Hacking
DefCon 2012 - Owned In 60 Seconds - Windows HackingDefCon 2012 - Owned In 60 Seconds - Windows Hacking
DefCon 2012 - Owned In 60 Seconds - Windows HackingMichael Smith
 
DefCon 2012 - Rooting SOHO Routers
DefCon 2012 - Rooting SOHO RoutersDefCon 2012 - Rooting SOHO Routers
DefCon 2012 - Rooting SOHO RoutersMichael Smith
 
DefCon 2012 - Finding Firmware Vulnerabilities
DefCon 2012 - Finding Firmware VulnerabilitiesDefCon 2012 - Finding Firmware Vulnerabilities
DefCon 2012 - Finding Firmware VulnerabilitiesMichael Smith
 
DefCon 2012 - Gaining Access to User Android Data
DefCon 2012 - Gaining Access to User Android DataDefCon 2012 - Gaining Access to User Android Data
DefCon 2012 - Gaining Access to User Android DataMichael Smith
 

Plus de Michael Smith (17)

DHS - Recommendations for Securing Zigbee Networks in Process Control Systems
DHS - Recommendations for Securing Zigbee Networks in Process Control SystemsDHS - Recommendations for Securing Zigbee Networks in Process Control Systems
DHS - Recommendations for Securing Zigbee Networks in Process Control Systems
 
BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (white paper)
BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (white paper)BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (white paper)
BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (white paper)
 
BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (slides)
BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (slides)BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (slides)
BlackHat 2011 - Exploiting Siemens Simatic S7 PLCs (slides)
 
DefCon 2012 - Near-Field Communication / RFID Hacking - Miller
DefCon 2012 - Near-Field Communication / RFID Hacking - MillerDefCon 2012 - Near-Field Communication / RFID Hacking - Miller
DefCon 2012 - Near-Field Communication / RFID Hacking - Miller
 
DefCon 2012 - Near-Field Communication / RFID Hacking - Lee
DefCon 2012 - Near-Field Communication / RFID Hacking - LeeDefCon 2012 - Near-Field Communication / RFID Hacking - Lee
DefCon 2012 - Near-Field Communication / RFID Hacking - Lee
 
DefCon 2012 - Hardware Backdooring (White Paper)
DefCon 2012 - Hardware Backdooring (White Paper)DefCon 2012 - Hardware Backdooring (White Paper)
DefCon 2012 - Hardware Backdooring (White Paper)
 
DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)
 
DefCon 2012 - Firmware Vulnerability Hunting with FRAK
DefCon 2012 - Firmware Vulnerability Hunting with FRAKDefCon 2012 - Firmware Vulnerability Hunting with FRAK
DefCon 2012 - Firmware Vulnerability Hunting with FRAK
 
DefCon 2011 - Vulnerabilities in Wireless Water Meters
DefCon 2011 - Vulnerabilities in Wireless Water MetersDefCon 2011 - Vulnerabilities in Wireless Water Meters
DefCon 2011 - Vulnerabilities in Wireless Water Meters
 
Defcon 2011 - Penetration Testing Over Powerlines
Defcon 2011 - Penetration Testing Over PowerlinesDefcon 2011 - Penetration Testing Over Powerlines
Defcon 2011 - Penetration Testing Over Powerlines
 
DefCon 2012 - Anti-Forensics and Anti-Anti-Forensics
DefCon 2012 - Anti-Forensics and Anti-Anti-ForensicsDefCon 2012 - Anti-Forensics and Anti-Anti-Forensics
DefCon 2012 - Anti-Forensics and Anti-Anti-Forensics
 
DefCon 2012 - Subterfuge - Automated MITM Attacks
DefCon 2012 - Subterfuge - Automated MITM AttacksDefCon 2012 - Subterfuge - Automated MITM Attacks
DefCon 2012 - Subterfuge - Automated MITM Attacks
 
DefCon 2012 - Bluetooth Monitoring With SCAPY
DefCon 2012 - Bluetooth Monitoring With SCAPYDefCon 2012 - Bluetooth Monitoring With SCAPY
DefCon 2012 - Bluetooth Monitoring With SCAPY
 
DefCon 2012 - Owned In 60 Seconds - Windows Hacking
DefCon 2012 - Owned In 60 Seconds - Windows HackingDefCon 2012 - Owned In 60 Seconds - Windows Hacking
DefCon 2012 - Owned In 60 Seconds - Windows Hacking
 
DefCon 2012 - Rooting SOHO Routers
DefCon 2012 - Rooting SOHO RoutersDefCon 2012 - Rooting SOHO Routers
DefCon 2012 - Rooting SOHO Routers
 
DefCon 2012 - Finding Firmware Vulnerabilities
DefCon 2012 - Finding Firmware VulnerabilitiesDefCon 2012 - Finding Firmware Vulnerabilities
DefCon 2012 - Finding Firmware Vulnerabilities
 
DefCon 2012 - Gaining Access to User Android Data
DefCon 2012 - Gaining Access to User Android DataDefCon 2012 - Gaining Access to User Android Data
DefCon 2012 - Gaining Access to User Android Data
 

BlackHat 2009 - Hacking Zigbee Chips (slides)

  • 1. A 16 Bit Rootkit, and Second Generation Zigbee Chips Travis Goodspeed travis@radiantmachines.com Black Hat USA, 2009 Las Vegas, NV
  • 2.
  • 3. Topics for Today ● Second Generation Zigbee Chips – EM250, CC2430, CC2530 – How to break them. ● A 16 Bit Rootkit – A very portable operating system, – easily injected into a µC application, – without damaging that application.
  • 4. Notice That ● In IT, – Malware is common. – It's annoying. – Simple malware is detected, removed. ● In embedded systems, – Malware is rare. – No one looks for it. – Simple malware is undetected, sufficient.
  • 5. Forward ● Confidentiality – Only to prevent plagiarism. ● Integrity – Only against accidental corruption. ● Availability – A watchdog timer.
  • 6.
  • 7. In this Episode ● EM250 – WTF were they thinking? ● CC2430/CC2530 – Keys are easily extracted. ● MSP430 – A rootkit design. – How to recognize one, or to build one.
  • 8. Disclaimers ● EM250/260 – EM3xx will be better. ● CC2430/CC2530 – CC430 will be better. ● MSP430 – MSP430 only chosen for a concrete example.
  • 9. Brief Review: Microcontrollers ● Little computer. – 8 or 16 bit – Von Neumann or Harvard – Internal Flash/RAM – No/partial MMU ● Still a computer.
  • 10. Brief Review: Wireless Sensors ● Radio+MCU=WSN ● Ultra low power, long deployment. ● Mesh Networking ● Applications – Smart Grid – Military – Wildlife, Geological Research
  • 11. Brief Review: Terms ● 802.15.4, MAC and lower layers. ● Zigbee, upper layers. ● MSP430, a 16 bit µC ● First Gen Radios, just a radio ● Second Gen Radios, radio+µC
  • 12. Part 1: Second Generation Zigbee Chips Travis Goodspeed Black Hat 09
  • 13. First Generation ● CC2420, EM2420 – Same chip! ● Just a radio. – Keys are sent by SPI. – As cleartext.
  • 14. Zigbee Bus Snooping ● First presented at S4 Miami. – Later Source Boston, HackADay. – Workshop at Defcon! ● Dirt simple, – Stick needles into the board's test points. – Capture SPI traffic live. – Read the AES128 key. – Set your radio to the same.
  • 20. Again ● “...the vast majority of pilots and products out there that support SEP are based on the EM250, and not the TI CC2420. Utilities are requiring the security and standardization that the SEP provides. ...” – Bruce
  • 21. EM250 ● 12MHz XAP2b 16-bit microcontroller core – 128kB Flash and 5kB RAM – 128-bit AES hardware engine – <1uA sleep current w/ internal RC oscillator running ● Also a radio.
  • 22. So to be clear. ● The argument is: – The CC2420 is vulnerable. – The EM250 doesn't expose keys by SPI. – Therefore, EM250 boards are secure. ● The argument is wrong. – Let's see why!
  • 23. EM250 Chip ● 16 bit Harvard XAP2 – 1999 design by Cambridge Consultants ● Insight® for Debugging – JTAG Variant
  • 24. EM250 Programming ● OTA and by Serial Port – Bootloader of some sort. – Might be vulnerable. I haven't looked. ● Serial Port – Vulnerable to glitching, but don't bother. ● InSight® – Wide open.
  • 25. InSight® Port from SPZB260ADP
  • 26.
  • 28. EM2xx Conclusions ● Insight® – Lacks a fuse. – Exploitable with Ember's own tools. ● Locally indefensible.
  • 29. CC2430 ● TI/Chipcon ● System on a Chip – 802.15.4 radio – 8051 µC ● Debugging – SPI-like – MOSI/MISO on a single pin.
  • 30.
  • 31. CC2430 Debugging ● Init Sequence ● Commands – CHIP_ERASE – GET_PC – DEBUG_INSTR – GET_CHIPID ● Reply
  • 32.
  • 34. 0x34
  • 35. Chipcon Physical Layer ● Bits – MSBit first – Written on rising edge of clock. – Sampled on falling edge of clock. ● Direction – Master speaks first. – Slave replies.
  • 36. Chipcon Debugging Protocol ● Command – 5b instruction – 1b R/!R – 2b Objects ● 0 to 3 object bytes ● 0 to 1 return bytes
  • 37. Chipcon Lock Bit ● Unlocked ● Locked – All verbs work. – CHIP_ERASE – READ_STATUS – GET_CHIP_ID ● To unlock, – CHIP_ERASE
  • 38. Chipcon CHIP_ERASE ● Erases all of Flash. – All firmware. – Debug Fuse too. ● None of RAM.
  • 39. 8051 Constant Sidebar ● 8051 is Modified Harvard Architecture – Data Memory ● Non-executable. ● Quickly read/written. – Code Memory ● Executable. ● Slowly read as data. – Incompatible pointers.
  • 40. Brief Review ● Von Neumann ● Harvard ● Unified Memory ● Divided Memory ● Executable RAM – Code – Data ● Unexecutable RAM
  • 41. 8051 Constant Sidebar ● 8051 Compilers – All variables in Data memory, ● unless explicitly told otherwise. – At initialization ● Data is populated from Code. ● Therefore, – EVERY variable is in Data by default. – Keys are in Data memory.
  • 42. Chipcon Exploitation ● GoodFET.CC – Erase – Write Data >keys.bin ● Key search – Joshua Wright's Killer Bee, TBR – 2 seconds for upper RAM – 4 seconds for all of RAM
  • 43. Chipcon Defense ● Keep anything sensitive in Code memory. – See Chipcon DN200. ● const __code char foo[]=”Hello World!” ● printf(foo); – Won't work! – printf() expects a pointer to Data memory.
  • 44. Chipcon Summary ● All current chips are vulnerable. ● Keys are exposed unless protected. ● Protection requires some recoding.
  • 45. Third Generation Chips ● EM3xx – ARM Cortex M3 µC – JTAG Pin Fuse ● CC430 – MSP430 µC – JTAG TAP Fuse ● Neither is yet available.
  • 47. Third Gen Chips: CC430 photo from TI E2E Blog
  • 48. Part 1 Conclusions ● Zigbee chips aren't very secure. ● Next generation might be better. – Might not be better. ● Local security is hard. – Cryptography != Security
  • 49. Part 2: A 16-bit Rootkit ● IVT Proxying/Hooking ● Initial Foothold ● Blind Command Reception ● Efficient Command Frames ● Blind Function Calling
  • 50. History ● 2007, I authored the first WSN exploit. – MSP430 infected by 802.15.4 packet ● 2008, I authored an MSP430 R.E. kit. – http://msp430static.sf.net/ in Perl/SQLite ● 2009, Mike Davis Smart Grid Worm – Catch his talk at 16h45. – Practical implementation, which mine ain't.
  • 51. WSN Exploits in Brief ● Memory is precious – A few kilobytes of free memory. – 128 byte packets ● No operating system. – No system calls, function tables, etc. – Single statically-linked image. ● Code is in Flash, not RAM.
  • 52. This Rootkit ● Generic Installation – Reasonably hardware agnostic. – Coexists with prior firmware. ● Efficient – Fits in available memory. – Reuses victim code where possible. – Memory/security tradeoff.
  • 53. MSP430 ● 16 bit RISC processor – Two 20 bit variants. ● Masked ROM Bootloader (BSL) – Flash ROM in recent variants. ● Chosen for a concrete example. – Similarities in AVR, PIC, MIPS, etc.
  • 54. Rootkit Specifics ● How do you find a function? – No linking tables. ● How do you trap an incoming packet? – Radio drivers are inlined. ● How do you make the rootkit stealthy? – Would you make it stealthy?
  • 55. Locating a Function ● Fingerprints – Isolate functions, then iterate. – Checksum bytes. – Call function that matches bytes. ● Ports – IO ports are unique to hardware. – Called as literal indirects.
  • 56. Interrupt Handling ● Interrupt Vector Table – List of interrupt handler addresses. – At the top of memory in Flash. ● To proxy it, – Copy table to a lower address. – Handle each target. – Handler branches to original.
  • 59.
  • 60. Interrupt Proxying ● Also used without malice. ● Drastically changes – Bootloader password. – Call Graph. – Memory usage. – Calling convention. ● Barely changes – Bytes.
  • 61. Bootloader Password ● Hard to fake for masked BSL. – Entry sequence is in hardware. – Not maskable on classic MSP430. ● JTAG Fuse – If blown, access is restricted without pass. – If unblown, local attacker has access.
  • 62. Call Graph ● Two applications, – Two disconnected graphs. – Child connections can be made, ● CALL #0x4000 – Parent connections are more difficult. ● Clearing bits is easier than setting them. ● Reflashing a segment.
  • 63. Memory Usage ● Linker behavior – Flash is at the top of memory. – Code grows from starting address upward. – Each app starts at a segment boundary.
  • 64. Calling Convention ● Hackers use GCC – r15, r14, r13, r12 ● Others use IAR – r12, r14 in IAR 3 – r12, r13, r14, r15 in IAR 4 ● Other compilers – other conventions
  • 65. Further Fingerprinting ● switch(){} – Table, word offset, or byte offset? ● mov #0xFFFF, r15 – Constant generator or literal? ● Unused interrupts. – 0xFFFF, single handler, or many handlers?
  • 66. Locating a Rootkit ● One app or two? – Memory map, register usage, gap. ● One compiler or two? – Calling convention consistency? – Assembler, switch{} consistency?
  • 67. Two IVTs ● 0xFB78 ● 0x403A, repeated ● 0xFB7C ● 0x40B4 ● 0xFB80 ● 0x4068 ● 0xFB84 ● 0x43B8 ● 0xFB88 ● 0x40FA ● 0xFB8C ● 0x4000 ● ...
  • 68. Once again, ● In IT, – Malware is common. – It's annoying. – Simple malware is detected, removed. ● In embedded systems, – Malware is rare. – No one looks for it. – Simple malware is undetected, sufficient.
  • 69. For more information, ● TravisGoodspeed.blogspot.com – Compiler behavior survey. – MSP430static R.E. toolkit. ● GoodFET.sourceforge.net – Chipcon debugging. – Voltage glitching soon.
  • 70. Defcon talks ● Locally Exploiting Wireless Sensors – Less theory, more practice. ● An Open JTAG Debugger – Mapping JTAG Registers – CC2430 Protocol – Voltage Glitching