This Ain’t Your Dose: Sensor Spoofing Attack on Medical Infusion Pump Youngseok Park 1,2 , Yunmok Son 2 , Hocheol Shin 2 , Dohyun Kim 2 , and Yongdae Kim 2 1 NAVER Labs 2 System Security Laboratory, KAIST 10th USENIX Workshop on Offensive Technologies (WOOT '16) Aug.09.2016
Sensor v Sensing changes in physical property and converting to electric signal v Gyroscope, Accelerometer, Radar, Sonar, Infrared sensor, etc. 2
Sensing and Actuation System Real World Sensing Actuation System Sensor Actuator Crash Flight Radar Gyroscope avoidance control ADC Processor Converting Processing 3 ADC: Analog-to-Digital Converter
Sensing and Actuation System Spoofing! Real World Sensing Actuation System Sensor Actuator Crash Flight Radar Gyroscope avoidance control No Authentication ADC Processor Converting Processing Vulnerable to sensor spoofing attack 4 ADC: Analog-to-Digital Converter
Sensor Spoofing Attack v Manipulating sensors with a malicious signal v Previous works - Attacking Circuit using EMI: Injecting EMI into a wire of a defibrillator (S&P’13) - Canceling and injecting Active Sensor Signal: magnetic signal on ABS sensor (CHES’13) - Generating Resonance (DoS): Injecting sound noise into a gyroscope of a drone (SEC’15) EMI: Electromagnetic Interference ABS: Anti-lock Braking System 5
This Work: Manipulating Sensing Values by Saturating Receiver 6
Target: Medical Infusion Pump v Controlling infused volume of medicine to patients v Sometimes using a drop sensor for accuracy From drop sensor Medicine Display IV Tube Drop Output ~ Actuator IR IR (Peristaltic emitter receiver Fingers) Drip chamber IV Tube Control To infusion pump body panel To human’s body 7 Drop sensor Infusion Pump (body)
Infusion Pump Operation Light 8
Sensor Saturation v New type of sensor spoofing attack using saturation - Sensors have typical operating region - Output is saturated when exceeding a saturation point - Blinding sensors In case of the infusion pump 9
Medical Infusion Pump v Two infusion pumps with drop sensors Infusion pump Drop sensor JSB-1200 (Pump1) BYS-820 (Pump2) 10
Hardware Analysis v Pump1 (JSB-1200) LED Tube IR receiver IR emitter Peristaltic fingers IR Filter Infusion pump Drop sensor 11
Hardware Analysis v Measuring signal with oscilloscope - Connector = 4 pins: VCC, GND, LED, and IN (signal) Connector (Device side) Normal drop Four pins (Sensor side) 12
Simple Test (Saturation, w/o filter) 13
Simple Test (Saturation, w/o filter) 14
Hardware Analysis v Mainboard (2 MCUs) W78E516D (MCU2) Drop sensor port AT89S52 (MCU1) SPI Port Internal structure 15
Hardware Analysis v Sensor output is inserted to MCU1 after ADC - 8-bit ADC (0 to 255) - Digital signal indicates voltage level of the drop sensor MCU1 8-bit ADC IN (sensor output) Output of ADC 16
Firmware Extraction v Extracting firmware of MCU1 via SPI port - Reading Flash memory using USBISP and AVR Studio - Data section -> 8051 assembly -> IDA Pro USBISP Data section AT89S52 (MCU1) SPI Port AVR Studio 4 Intel HEX format 17
Firmware Analysis v Finding sensor output in Timer interrupt function Put 8-bit sensor output to RAM 18
Firmware Analysis 19
Drop Detection Algorithm Sensing drop when voltage decreases by 𝟏.𝟒𝟑𝑾 Send command (0x11) through serial port, connected to MCU2 20
Pump1 Structure 1. Drop sensor output enters into AT89S52 (MCU1) 2. MCU1 sends data to W78E516D (MCU2) via serial comm. 3. MCU2 actuates peripherals with this data Pins of MCU2 are directly connected to motor, display and alarm - 21
Vulnerability v Drop sensor - Saturated with an external source Saturation - Cannot sense drops in saturation v Drop detection algorithm - Counting drops based on a relative change in voltage Fake drop - Making a voltage drop to sensor output 22
Experimental Setting IR Laser (905nm, 30mW) Drop sensor Measuring Arduino cylinder Infusion pump 23
Experiment v Performed on both infusion pumps (Pump1, Pump2) v Saturation (failed in Pump2) - Sensor is saturated when injecting IR laser to receiver - Drop sensor cannot sense real drops -> Over-infusion v Fake drops - Sensor is deceived by fake drops with external IR - Pump perceives that there are drops already -> Under-infusion v Both cases cause an alarm 24
Spoofing Pattern v Over-infusion - Alarm: “ No drop is detected ” - Inject some period and compensate insufficient drops v Under-infusion - Alarm: “ Too many drops are detected ” - Find properly interval of fake drops experimentally v Example (60mL/h setting) - 1 drop per 3 seconds fake drop Real drop interval (3s) drop Normal operation Continuous saturation Alarm Over-infusion Under-infusion Fake drop interval 25 Saturation time (13s) 2s
Demo (Over-infusion) 26
Demo (Under-infusion) 27
Spoofing Pattern v Over-infusion - Alarm: “ No drop is detected ” - Inject some period and compensate insufficient drops v Under-infusion - Alarm: “ Too many drops are detected ” - Find properly interval of fake drops experimentally fake drop Real drop interval drop Normal operation Continuous saturation Alarm Over-infusion Under-infusion Fake drop interval 28 Saturation time 2s
Results v Controlling infused volume is possible - By adjusting saturation time or fake drops - Measured in 10 minutes and 5 times each (No alarm rings over 30 minutes) - Over-infusion fails on Pump2 29
Discussion v Attack distance - Related to power of source - Possible in the range of 12m with 30mW IR laser v Mitigation Concept of PyCRA - Authentication between emitter and receiver • PyCRA (CCS ‘15) Sensor output Detect! • Generate random zero signal in an emitter Boundary check - Voltage level detection • Checking boundary of legitimate signal - Physical isolation Saturation Real drops (without spoofing) (by spoofing) Voltage level detection 30
Discussion v Attack distance - Related to power of source - Possible in the range of 12m with 30mW IR laser v Mitigation - Authentication between emitter and receiver • PyCRA (CCS ‘15) • Generate random zero signal in an emitter - Voltage level detection • Checking boundary of legitimate signal - Physical isolation 31
Conclusion v Presenting a new type of sensor spoofing attack - Deceiving a sensor by saturation v Analysis on medical infusion pumps - Finding vulnerability in drop detection algorithm v Controlling infused fluid from 65% to 330% v Note - Infusion pump was not communicating at all. - IR lay is invisible to human eyes. - FDA approved US devices? v Sensor security - Most sensors are exposed to receive signal - Must be considered for safety 32
Thank You! E-mail: ys.park@navercorp.com
Recommend
More recommend