def con 24: reverse engineering biomedical equipment for fun and open science

47
Reverse engineering biomedical equipment for fun and open science Charles Fracchia & Joel Dapello BioBright DEFCON BioHacking Village - Aug 6 2016

Upload: ryan-m-harrison

Post on 09-Apr-2017

194 views

Category:

Devices & Hardware


2 download

TRANSCRIPT

Reverse engineering biomedical equipment for fun and open science

Charles Fracchia & Joel DapelloBioBright

DEFCON BioHacking Village - Aug 6 2016

What to expect from this talk

1. What is a biolab & its equipment

2. How we reverse engineered two pieces of equipment

3. Call to arms: how YOU can help

The Bio Lab

The Bio Lab

“This is my [pipette]. There are many like it, but this one is mine.” - Rifleman’s Creed, adapted by Prof. John Castorino

What should have happened

≠What actually happened

But Wait!

Reverse engineering a pipette

What is a pipette?

The equivalent of the computer mouse for biological research

Single-channel Multi-channel

How does a pipette work?

Electronic pipettes

Toys

Logic analyzerOscilloscope

Step 1: choose target carefully

Criteria:

● Easy to obtain● Made by a leading brand (aka trusted)● Elegant hack:

○ One that could be used by anyone○ No irreversible modifications

Step 1: choose target carefully

Mettler Toledo / Rainin EDP3 Plus

✔ Purchasable on eBay

● around $50

? Remote control

● mentioned on product sheet, but no details

Step 2: hunt for more documentation

Step 2: hunt for more documentation

Step 2: REMOTE CONTROL !!!

But... Heu, can I haz remote

control softwarez

plz?

No.Discontinued

product...

Heu, can I haz remote

control softwarez

plz?

“I think I have one in

a secret stash in the

factory”

Step 3: find an engineer

Step 4: find remote control port

Oh hi there :)

Step 4: figure out pinout

Step 4: figure out pinout

Try pressing a button while sniffing

but nothing...

Step 4: figure out pinout

How about using the software?

Success! Here’s the FW version: 1.5

Step 4: figure out pinout

We have a pinout

Step 5: make it easy for others to use

This hack enables actual remote control

Use the simple board to relay messages via XBee

You can even use encryption on the XBee link

Step 6: document the comms

Other machines?

Reverse engineering a -80ºC freezer

Step 1: find documentation

Step 1: find documentation

But...

Hmm, more details please?

Step 2: collect samples from the RS-232 port

Sending random characters through the port yields interesting behavior

● “N” → Dumps NVRAM

● “T” → Temperature packet

Step 3: reverse temperature encoding

Increase the temperature by known amounts and collect the temperature bytes

Still a bit cryptic, until...

Step 3: reverse temperature encoding

This is very likely to be linear !

Calculate the slope: m = ( 20221 - 20608 ) / ( -87 + 84 ) = 129

Get the Y-intercept: 31444 → 243.75ºC

Hmm, strange: 0 Kelvin → -243.15 not 243.75ºC

Temp ºC ≈ n/129 - 243.75

Step 4: make it easy to use for biologists

Complete with alerts & maintenance/downtime prediction algorithms !

Transform the way biology is done

These tools are essential in curing disease, finding new drugs, etc.

What we need help with

Create a repository of open & interoperable device “drivers”

Create a framework to teach these skills to biologists and doctors

Recruit hackers & reverse engineers to this cause

We need the Arduino & Redhat for Biology

open @ biobright.org

Contact us!

Questions?