SlideShare ist ein Scribd-Unternehmen logo
1 von 163
GATTacking Bluetooth Smart
Introducing new BLE MITM proxy tool
Slawomir.Jasek@securing.pl @slawekja
OWASP Kraków, 15.11.2016
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Hacking challenge – steal a car!
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Sławomir Jasek
Live in southern Poland.
IT security expert
since 2005, and still love this job 
Application security assessments (web,
mobile, embedded...)
And of course we are hiring!
Significant part of time for research.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Agenda
• Bluetooth Smart
• Advertisements and beacons
• Hacking BLE devices with live demos
– Banking token
– Anti-thief security
– Smart locks (5x)
– Mobile PoS
• How to steal a car?
• What can we do better?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BLUETOOTH SMART?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Bluetooth Smart?
AKA Bluetooth 4, Bluetooth Low Energy
One of most exploding recently IoT technologies.
Completely different than previous Bluetooth 2, 3 (BR/EDR).
Designed from the groud up for low energy usage, simplicity
(rather than throughput)
The main usage scenarios:
a) Advertising (broadcast)
b) Communication between 2 devices (master / peripheral)
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
myvessyl.com
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
www.vitalherd.com
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Startups
http://southpark.cc.com/full-episodes/s18e01-go-fund-yourself
1. Come out with a bright idea where
to put a chip in.
2. Buy BLE devkit, some soldering,
integrate mobile app
3. Convincing website + video
(bootstrap)
4. Crowdfunding!
5. Profit!
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekjahttps://www.kickstarter.com/projects/xolutronic/passfort-your-digital-life-secure
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
http://www.bluetooth.com/Pages/Medical.aspx
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Bluetooth Smart – bright future of IoT?
• Easy to deploy, available, convenient, low-priced.
• More and more devices – "wearables", medical, smart home...
• Beacons boom, indoor positioning
• Physical web
• Bluetooth Mesh
• Web bluetooth – devices available from the browser (API)
• IPv6 over Bluetooth Smart
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
http://www.bluetooth.com/SiteCollectionDocuments/4-2/bluetooth4-2.aspx
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BLE ADVERTISEMENTS
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BLE broadcast -> receive
advertisement
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Beacons
• Transmit a unique identifier.
• Mobile app can determine the device's
physical location, track customers, or trigger a
location-based action
• Typically visible from a few meters
https://en.wikipedia.org/wiki/Bluetooth_low_energy_beacons
https://developers.google.com/beacons/overview
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Apple iBeacon
UUID (vendor)
2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6
Major (group)
45044
Minor (individual)
5
Tx Power
-59
Comparing Tx Power indication with measured signal
strength, the mobile app can establish precise distance
to specified beacon.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Google Eddystone
Can broadcast:
• Unique id (similar to iBeacon)
• Website URL (physical web)
https://google.github.io/physical-web
• Sensor indication (e.g. temperature)
• „Attachments” – arbitrary blob data stored in
Google cloud
https://developers.google.com/beacons/proximity/attachments
Telemetry – remote management
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Beacons – usage scenarios
• Display additional info (e.g. about products on a shelf) based on precise location.
• Prizes, loyalty points, "gamification".
• Automatic "Check-in".
• Indoor navigation.
• Notification about stealing bicycle, wallet.
• "Smart home" – automatic door opening, light switching...
• Encourage interactions with devices (physical web)
• ...
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Risks?
• Retail - a rival may piggyback our beacons
signal and use it to show competitive offers.
• Mobile apps actions on closing to a beacon -
possibility to cheat that fact.
• Taking over administrative control,
reconfiguration, battery draining, stealing...
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Android:
nRF Connect for
Mobile
https://play.google.com/store/ap
ps/details?id=no.nordicsemi.andr
oid.mcp
iOS:
nRF Connect for
Mobile
https://itunes.apple.com/us/app/l
ocate-beacon/id738709014
LightBlue
https://itunes.apple.com/us/app/l
ightblue-bluetooth-low-
energy/id557428110
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Other...
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Map: wikibeacon.org
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
• Mobile app (see previous slides) – not all
equipment/OS version, a bit inconvenient
• Linux: BlueZ – command-line; D-Bus
• Nodejs (bleno), Go, Python scripts...
• Our hardware beacon
How do we emulate iBeacon?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BLE USB dongle
• CSR8510 – most common, good enough, ~ 20 PLN
• Other chips (often built in laptops)
• Intel, Broadcom, Marvell...
• May be a bit unstable (e.g. with MAC address change)
• Power:
• Class II – 2.5 mW, 10m range – most common
• Class I – 100 mW, 100 m range – more expensive, actually not
necessary
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Attack not always makes sense...
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Mobile app for restaurants
• Rewards for visits - exchangable for
food/drinks
• Get a point every time you are close to
specific beacon
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
HTTP request
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Pointed 2 years ago, they have accepted the risk
Would you lie them in the face that you have been there 10 times before?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
http://www.theregister.co.uk/2016/08/19/dev_hacks_android_app_to_get_free_beer_tokens/
https://breakdev.org/how-i-hacked-an-android-app-to-get-free-beer/
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
„Secure” beacons
• Broadcast „shuffling” values - change values, only vendor's mobile
application can decode them.
• Offline usage = several limitations (hardware, software). E.g. one
vendor is shuffling only 12 values.
• Vendors guard the “shuffling” algorithm’s technical details as top-
secret intellectual property
• Depending on the level of risk, it would be better to not rely on
beacons for critical functionality.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BLE CENTRAL <-> PERIPHERAL
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BLE central <-> peripheral
peripheralcentral
BLE
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Typical connection flow
Advertise
Connect the advertising device (MAC)
Further communication
Start scanning for
advertisements
Specific advertisement
received, stop scanning
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Services, characteristics
• Service – groups several
characteristics
• Characteristic – contains a single
value
• Descriptor – additional data
• Properties – read/write/notify...
• Value – actual value
SERVICE, eg. 0x180F - battery
SERVICE
(...)
Characteristic
Characteristic
(...)
Descriptor: string
(e.g. “Battery level”)
Descriptor:
subscription status
Properties: read, write, notify
(authenticated or not)
Value
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
LINK LAYER SECURITY
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Bluetooth 4 security (specification)
• Pairing
• Key Generation
• Encryption
Encryption in Bluetooth LE uses AES-CCM cryptography. Like BR/EDR, the LE Controller will perform the
encryption function. This function generates 128-bit encryptedData from a 128-bit key and 128-bit
plaintextData using the AES-128-bit block cypher as defined in FIPS-1971.
• Signed Data
https://developer.bluetooth.org/TechnologyOverview/Pages/LE-Security.aspx
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Bluetooth 4 security (specification)
„The goal of the low energy security mechanism is
to protect communication between devices at
different levels of the stack.”
• Man-in-the-Middle (MITM)
• Passive Eavesdropping
• Privacy/Identity Tracking
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Bluetooth 4.0 - pairing
Pairing (once, in a secure environment)
• JustWorks (R) – most common, devices without display cannot implement
other
• 6-digit PIN – if the device has a display
• Out of band – not yet spotted in the wild
• BLE 4.2 introduces elliptic curves
Establish Long Term Key, and store it to secure future communication
("bonding")
"Just Works and Passkey Entry do not provide any passive
eavesdropping protection"
Mike Ryan, https://www.lacklustre.net/bluetooth/
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BLE security - practice
• 8 of 10 tested devices do not implement BLE-layer encryption
• The pairing is in OS level, mobile application does not have full control over it
• It is troublesome to manage with requirements for:
• Multiple users/application instances per device
• Access sharing
• Cloud backup
• Usage scenario does not allow for secure bonding (e.g. public cash register, "fleet" of
beacons, car rental)
• Other hardware/software/UX problems with pairing
• "Forget" to do it, or do not consider clear-text transmission a problem
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BLE security - practice
• Security in "application" layer (GATT)
• Various authentication schemes
• Static password/key
• Challenge-response (most common)
• PKI
• Requests/responses encryption
• No single standard, library, protocol
• Own crypto, based usually on AES
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
No more questions...
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BLE SNIFFING?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Sniffing – BLE RF essentials
http://www.connectblue.com/press/articles/shaping-the-wireless-future-with-low-energy-applications-and-systems/
Advertisement channels
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BLE channel hopping
37 channels for data,
3 for advertisements
http://lacklustre.net/bluetooth/bluetooth_with_low_energy_comes_low_sec
urity-mikeryan-usenix_woot_2013-slides.pdf
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Pro devices ($$$) – scan whole spectrum
http://www.ellisys.com/products/bex400/
Ellisys Bluetooth Explorer 400
All-in-One Bluetooth® Protocol
Analysis System
ComProbe BPA® 600 Dual
Mode Bluetooth®
Protocol Analyzer
http://www.fte.com/products/BPA600.aspx
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Passive sniffing – Ubertooth (120$)
• Open-source (software,
hardware).
• RF-level sniffing, possible to
inspect in Wireshark
• Need 3 of them to sniff all 3 adv
channels, then follow hopping
• http://greatscottgadgets.com/ubertoothone/
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Adafruit nRF51822
• $29.95
• Wireshark integration
• Some Linux scripts?
• Not quite stable, but
works
https://www.adafruit.com/product/2269
https://learn.adafruit.com/introducing-the-
adafruit-bluefruit-le-sniffer
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Authentication OTP token
Press button, mobile
app reads indication
via BLE and
authenticates to bank.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
The auth request from mobile app
GET
/DPBTTokenSDKServerDemo/loginService?online=tr
ue&serialNumber=3600204175&otp=560646
HTTP/1.1 200 OK
{"returnCode":0,"beneficiaryList":[{"name":"Hgh","identifier":"8099ad9fe61a4f77b97
741c9c4e0a28f","iban":"DE94449098"}],"transactionList":[{"amount":"2","name":"Hg
h","date":"1465336061783"},{"amount":"111","name":"Hgh","date":"1465300841554
"}],"returnMessage":"Operation successful"}
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Advertisement in Wireshark
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Serial broadcasted in advertisement
• GET
/DPBTTokenSDKServerDemo/loginService?onli
ne=true&serialNumber=3600204175&otp=56
0646
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Read OTP value indication
GET
/DPBTTokenSDKServerDemo/loginService?online=true
&serialNumber=3600204175&otp=560646
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BACK TO CAR HACKING...
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Sniffing?
• We can sniff the link
communication, but it is
encrypted on GATT
layer.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Maybe jamming?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Jamming
• Jam just the selected advertising channels
• May be useful for an attacker to break ongoing
connection – to perform other attacks (e.g.
MITM).
• However most devices do not keep constant
connections.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
How about active interception?
• Man in the Middle:
• We will force the mobile app to connect to us,
and forward the requests to the car!
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
How do we MITM RF?
Alice
Bob
Mallory
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Isolate the signal?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Physics...
Bending of a wave around the edges of an opening
or an obstacle
https://en.wikipedia.org/wiki/Diffraction
https://en.wikipedia.org/wiki/Huygens%E2%80%93Fresnel_principle
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Stronger signal? More signals?
Class 1 adapter? +8dBm,
100m range
"little difference in range whether the other end of
the link is a Class 1 or Class 2 device as the lower
powered device tends to set the range limit"
https://en.wikipedia.org/wiki/Bluetooth And how to handle them in a single system?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Typical connection flow
Advertise
Connect the advertising device (MAC)
Further communication
Start scanning for
advertisements
Specific advertisement
received, stop scanning
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Attack?
Start scanning for
advertisements
Advertise more
frequently
MITM?
Keep connection
to original device.
It does not
advertise while
connected ;)
Specific advertisement
received, stop scanning
Connect the advertising device (MAC)
Further communication
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Introducing GATTacker
• Open source
• Simple hw
• Node.js
• Websockets
• Modular design
• Json
• .io website
• And a cool logo!
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacker - architecture
Advertise
Get serv
services
„PROXY”
interception,
tampering
Get serv
services
Advertising „cloned”
device
Device „cloning”
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
ANTI-THEFT PROTECTION
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Anti-theft protection
• Mobile application „pairs”
with device, and listens to
its advertisements.
• In case the luggage is
stolen (no signal from
device), mobile app raises
alarm.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
ws-slave, scan
BLEwebservicescan
ws-slave
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
1. Scan device to JSON
ws-slave
Advertisement
JSON
advertisement
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
2. Advertise
Advertisement
JSON
advertisement
advertise
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
MAC address spoofing
• Some mobile applications rely only on
advertisement packets, and don’t care for
MAC address.
• But most of them (including this one) do.
• It is easy to change Bluetooth adapter MAC
using bdaddr tool (part of Bluez)
DEMO TIME
Fingers crossed...
https://www.flickr.com/photos/morbius19/9411298364/
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Mobile app connects to us, the alarm stops
https://www.youtube.com/watch?v=AlViGDwsVCo
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
SMART LOCK #1
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
https://www.thequicklock.com
DEMO #2
Fingers crossed...
https://www.flickr.com/photos/morbius19/9408533667
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
2 separate boxes
Advertise
Get serv
services
„PROXY”
interception,
tampering
Get serv
services
Advertising „cloned”
device
Device „cloning”
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Separate boxes
• It is possible to run both components on one
box (configure BLENO/NOBLE_HCI_DEVICE_ID
in confing.env).
• But it is not very reliable at this moment
(kernel-level device mismatches).
• Much more stable results on a separate ones.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Cleartext password:
12345678
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
This hack is brought to you by Antony Rose
https://media.defcon.org/DEF%20CON%2024/DEF%20CON%2024%20presentations/DEFCON-24-Rose-Ramsey-Picking-Bluetooth-Low-Energy-Locks.pdf
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Manufacturer’s statement
The electronic codes necessary to open are passed wirelessly and are
unencrypted (by design) to allow vendors flexibility when integrating
the bluetooth device into existing platforms. Because keys are passed
wirelessly, they are open to Bluetooth hacking only for a few seconds,
when a hacker is within range of the device. However, this level of
security is similar to a standard lock and key scenario! Standard
mechanical devices offer far fewer benefits than Bluetooth connected
locks!
https://www.thequicklock.com/security-notice.php
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BTW: BtleJuice by Damien Cauquil
https://github.com/DigitalSecurity/btlejuice
https://speakerdeck.com/virtualabs/btlejuice-the-bluetooth-smart-mitm-
framework
https://en.wikipedia.org/wiki/Multiple_discovery
The concept of multiple discovery (also known as simultaneous invention) is
the hypothesis that most scientific discoveries and inventions are made
independently and more or less simultaneously by multiple scientists and
inventors.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Select target device
Choose „Padlock!”
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
The cleartext password
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BtleJuice – as of now
- Problems with reconnections (when device
disconnects immediately) – cost of using
noble/bleno from repos
- Does not implement MAC address spoofing
out of the box
- But it has web UI
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
SMART LOCK #2
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Elecycle Smart Lock
Protects bicycles etc.
Loud alarm.
http://www.ele-cycle.com/drop/EL797.html
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Authentication
„Open lock” command
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Authentication?
Next time – something different
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
How it works
Initial (random?) value
Response, based on init
Auth (based on response)?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Attack? Replay!
Initial (random?) value
Response, based on init
Auth (based on response)?
DEMO #3
Cover your ears, it will be loud ;)
https://www.flickr.com/photos/morbius19/9411737596
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
This hack is also by Anthony Rose
https://media.defcon.org/DEF%20CON%2024/DEF%20CON%2024%20presentations/DEFCON-24-Rose-Ramsey-Picking-Bluetooth-Low-Energy-Locks.pdf
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
SMART LOCK #3
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Another smart lock...
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Open automatically
• The mobile application service in background
automatically opens the lock.
• Using GATTacker it is possible to „proxy” the
proximity.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Remote relay
Relay Attacks on Passive Keyless Entry and Start Systems in Modern Cars
http://eprint.iacr.org/2010/332.pdf
DEMO #4
I need your help...
https://www.flickr.com/photos/morbius19/9408537045
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
More secure – „locker” mode
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Security vs usability
• Automatic open
• Geolocalization
• Swipe/touch to unlock
• Special „locked” mode
SECURITY UX
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Other ideas to prevent attack?
• Detect latency – similar to EMV? (idea by
Damien Cauquil)
• Once connected, BT communication is quite
quick.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
SMART LOCK #4
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Another smart lock
• Challenge-response, session key
• Commands encrypted by session key
• Challenge looks random
• Ranging: GPS-enabled, you have to
leave the area and return
• What could possibly go wrong?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Lock - protocol
Get "Challenge"
Challenge
SESSION KEY =
AES(Challenge,
KEY
Encrypted commands AES (SESSION KEY)
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Attack?
Get "Challenge"
Challenge
SESSION KEY =
AES(Challenge,
KEY
Close lock
OK, closed
passive
intercept
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Attack
Get "Challenge"
Challenge (replay the intercepted)
SESSION KEY =
AES(Challenge,
KEY
Close lock
OK, closed
MITM
(replay)
Same as
intercepted
session
OK,
Closed!
DEMO #5
https://www.youtube.com/watch?v=iXj5glKYtKk
https://www.flickr.com/photos/morbius19/9417893923
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
That was supposed to be a live demo ;)
• But my collegue
pentester has
managed to lock
the lock by
pressing the
button long
enough ;)
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
How excessive security may tamper availability ;)
• ... and the attempts to contact the support were unsuccessful...
• Note: be careful with buying used ones ;)
Previous owner (me)
has to authorize the
new paring
I cannot access the
lock, I cannot perform
new pairing
BECAUSE
BUT
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
C.I.A.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BTW
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
And the lock again...
• It has an interesting feature:
• BLE module vendor implements
serial AT commands directly
exposed on a service...
• Anyone can connect to it, by
default it is not locked.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Reset
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Get temperature
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Can you fry it? (please don’t try ;)
DEMO #6
An unexpected feature
https://www.flickr.com/photos/morbius19/9415961917
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
The helper script
GATTacker scan.js automatically detects
BlueRadios chipsets based on MAC address
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
SMART LOCK #5
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Authentication
Authentication
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Again Anthony Rose
https://media.defcon.org/DEF%20CON%2024/DEF%20CON%2024%20presentations/DEFCON-24-Rose-Ramsey-Picking-Bluetooth-Low-Energy-Locks.pdf
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTtool
# gatttool -I -b d0:39:72:c3:a8:1e
[d0:39:72:c3:a8:1e][LE]> connect
[d0:39:72:c3:a8:1e][LE]> char-write-req 0x25
934800fbf009e2ed0916e59b78d72293c0a75894
[d0:39:72:c3:a8:1e][LE]> char-write-req 0x25 425989
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
You need to reset the lock to factory ;)
• Lock opens and goes into maintenance,
original owner has „your keys are outdated”
• Resetting is a very painful process.
• And you can do it only from the inside of the
door.
DEMO #7
https://www.youtube.com/watch?v=savEpbWHUIk
https://www.flickr.com/photos/morbius19/9768119233
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Interception Text to display on PoS
(cleartext)
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Active tampering
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
And on the mobile PoS:
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BACK TO THE CAR
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Hacking challenge – steal a car!
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
The protocol
Get "Challenge"
Commands (Open, Close...)
Random „challenge”
AES("LOGIN",AES(Challenge,key))
AES("LOGIN",
AES
(Challenge,
key
UNENCRYPTED: Open, Close...
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
MITM?
Close
AES("LOGIN",
AES
(Challenge,
key
Other cmd
MITM
Get "Challenge"
Random „challenge”
AES("LOGIN",AES(Challenge,key))
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Other commands – based on mobile app source
initConfigMode – initiate configuration (overwrite keys)
initiateDataTransfer – dump all the configuration (including
keys)
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Pairing
Config mode
Generate
24
random
keys
Store keys in device
Use the first key
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
After the pairing
Get "Challenge"
Commands (Open, Close...)
Random „challenge”
AES("LOGIN",AES(Challenge,key))
KEY ID(0)
AES("LOGIN",
AES
(Challenge,
key
UNENCRYPTED: Open, Close...
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
After the pairing
Get "Challenge"
Commands (Open, Close...)
Random „challenge”
AES("LOGIN",AES(Challenge,key))
KEY ID(0)
AES("LOGIN",
AES
(Challenge,
key
UNENCRYPTED: Open, Close...
KEY0
KEY1
....
KEY24
?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
After the pairing
Get "Challenge"
Commands (Open, Close...)
Random „challenge”
AES("LOGIN",AES(Challenge,key))
KEY ID (25)?
AES("LOGIN",
AES
(Challenge,
000?
UNENCRYPTED: Open, Close...
KEY0
KEY1
....
KEY24
0000?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
PRNG?
- Is there any function which allows to generate a random number?
- There is no function to do this. However, there is a reasonably good
alternative (...), which reads the module's serial number and uses
the two least significant bytes, then triggers a channel 14
(temperature) ADC read and combines the two with some very
basic math* to generate a sort of "multiplier seed" which can be
used for randomness.
* (multiplication of the values by themselves)
https://bluegiga.zendesk.com/entries/59399217-Random-function
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Pre-play attack?
• Predictable challenge
• Force mobile app to calculate response in
advance
• Replay
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
ENCRYPTED BLE CONNECTIONS?
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Link-layer encryption?
Bond – encrypted communication
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
MITM?
No need for
bonding
Bond – encrypted
communication
MITM
Other
MAC
(for static attack
scenarios not necessary)
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
MITM?
Bond – encrypted
communication
MITM
Cloned
MAC
Bond – encrypted
communication
?
(for static attack
scenarios not necessary)
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Bond – encrypted
communication
MITM
Cloned
MAC
Bond – encrypted
communication
!
New connection
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Some attacks...
Denial of Service
Interception
Replay
Authentication bypass
Proximity actions
Misconfiguration/excessive
services abuse
Logic flaws
Badly designed crypto
Brute force
Fuzzing
...
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Risk?
• Your pulse indication will not have any significance
for by-passing people
• But an adversary may be extremely interested in it
during negotiations
• Or, if it is used for biometric authentication in
banking application
http://www.ibtimes.co.uk/fears-barack-obamas-new-fitbit-fitness-
tracker-represent-national-security-risk-1492705
https://www.theguardian.com/technology/2015/mar/13/halifax-trials-
heartbeat-id-technology-for-online-banking
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
The attack is mostly limited in range, but...
• Proximity may be abused away from original
device location
• Mobile malware could attack nearby devices.
• Web bluetooth – attacks from websites?
https://webbluetoothcg.github.io/web-bluetooth/
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
How to fix the problem?
• Use the BLE encryption, bonding, random MACs properly
• Do not implement static passwords
• Design own security layers with active interception possibility in
mind
• Beware excessive services, misconfiguration
• Prepare fallback for Denial of Service
• ...
• More details in whitepaper
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
BLE HackmeLock
• Software-emulated hw lock to
practice BLE hacking
• Prototype already works,
interesting bugs implemented
• Soon to be open-sourced, stay
tuned...
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Other scripts and tools for BLE
• BtleJuice
https://github.com/DigitalSecurity/btlejuice
• Smart lock hacking scripts (python) by Merculite Security (Anthony Rose):
https://github.com/merculite/BLE-Security
• BlueHydra – sniffing
https://github.com/pwnieexpress/blue_hydra
• BLE-Replay – parses hcidump from Android, can replay it
https://github.com/nccgroup/BLE-Replay
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
More info, whitepaper, videos etc.
GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15
@slawekja
Thanks, questions?
My family – for patience
and various favours
SecuRing – for funding
large part of this
research

Weitere ähnliche Inhalte

Was ist angesagt?

WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overviewRouyun Pan
 
TechWiseTV Workshop: Software-Defined Access
TechWiseTV Workshop: Software-Defined AccessTechWiseTV Workshop: Software-Defined Access
TechWiseTV Workshop: Software-Defined AccessRobb Boyd
 
BGP Security (Mum presentation 2016)
BGP Security (Mum presentation 2016) BGP Security (Mum presentation 2016)
BGP Security (Mum presentation 2016) Rofiq Fauzi
 
Defcon 22-cesar-cerrudo-hacking-traffic-control-systems
Defcon 22-cesar-cerrudo-hacking-traffic-control-systemsDefcon 22-cesar-cerrudo-hacking-traffic-control-systems
Defcon 22-cesar-cerrudo-hacking-traffic-control-systemsPriyanka Aash
 
Bluetooth low energy final version
Bluetooth low energy final versionBluetooth low energy final version
Bluetooth low energy final versionFrederick Bousson
 
Wi-Fi Denver OWASP Presentation Feb. 15, 2017
Wi-Fi Denver OWASP Presentation Feb. 15, 2017Wi-Fi Denver OWASP Presentation Feb. 15, 2017
Wi-Fi Denver OWASP Presentation Feb. 15, 2017keyalea
 
OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar
OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar
OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar Santhosh Kumar
 
Endüstriyel Router Çözümleri
Endüstriyel Router ÇözümleriEndüstriyel Router Çözümleri
Endüstriyel Router ÇözümleriElmarkPlusTurkiye
 
Webinar: Plataforma Renesas Synergy – Construindo sua aplicação MQTT com anal...
Webinar: Plataforma Renesas Synergy – Construindo sua aplicação MQTT com anal...Webinar: Plataforma Renesas Synergy – Construindo sua aplicação MQTT com anal...
Webinar: Plataforma Renesas Synergy – Construindo sua aplicação MQTT com anal...Embarcados
 
IPv6 Security - Myths and Reality
IPv6 Security - Myths and RealityIPv6 Security - Myths and Reality
IPv6 Security - Myths and RealitySwiss IPv6 Council
 
Innovations in the Enterprise Routing & Switching Space
Innovations in the Enterprise Routing & Switching SpaceInnovations in the Enterprise Routing & Switching Space
Innovations in the Enterprise Routing & Switching SpaceCisco Canada
 
IXIA Breaking Point
IXIA Breaking PointIXIA Breaking Point
IXIA Breaking PointMUK Extreme
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...Dean Bubley
 
Feasibility of Security in Micro-Controllers
Feasibility of Security in Micro-ControllersFeasibility of Security in Micro-Controllers
Feasibility of Security in Micro-Controllersardiri
 
ANP catalog: the adversarial ninja playset
ANP catalog: the adversarial ninja playsetANP catalog: the adversarial ninja playset
ANP catalog: the adversarial ninja playsetLuca Bongiorni
 

Was ist angesagt? (20)

WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overview
 
TechWiseTV Workshop: Software-Defined Access
TechWiseTV Workshop: Software-Defined AccessTechWiseTV Workshop: Software-Defined Access
TechWiseTV Workshop: Software-Defined Access
 
Stun turn poc_pilot
Stun turn poc_pilotStun turn poc_pilot
Stun turn poc_pilot
 
BGP Security (Mum presentation 2016)
BGP Security (Mum presentation 2016) BGP Security (Mum presentation 2016)
BGP Security (Mum presentation 2016)
 
Defcon 22-cesar-cerrudo-hacking-traffic-control-systems
Defcon 22-cesar-cerrudo-hacking-traffic-control-systemsDefcon 22-cesar-cerrudo-hacking-traffic-control-systems
Defcon 22-cesar-cerrudo-hacking-traffic-control-systems
 
Bluetooth low energy final version
Bluetooth low energy final versionBluetooth low energy final version
Bluetooth low energy final version
 
Webrtc overview
Webrtc overviewWebrtc overview
Webrtc overview
 
Wi-Fi Denver OWASP Presentation Feb. 15, 2017
Wi-Fi Denver OWASP Presentation Feb. 15, 2017Wi-Fi Denver OWASP Presentation Feb. 15, 2017
Wi-Fi Denver OWASP Presentation Feb. 15, 2017
 
OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar
OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar
OWASP Appsec USA 2014 Talk "Pwning the Pawns with Wihawk" Santhosh Kumar
 
Endüstriyel Router Çözümleri
Endüstriyel Router ÇözümleriEndüstriyel Router Çözümleri
Endüstriyel Router Çözümleri
 
Webinar: Plataforma Renesas Synergy – Construindo sua aplicação MQTT com anal...
Webinar: Plataforma Renesas Synergy – Construindo sua aplicação MQTT com anal...Webinar: Plataforma Renesas Synergy – Construindo sua aplicação MQTT com anal...
Webinar: Plataforma Renesas Synergy – Construindo sua aplicação MQTT com anal...
 
IPv6 Security - Myths and Reality
IPv6 Security - Myths and RealityIPv6 Security - Myths and Reality
IPv6 Security - Myths and Reality
 
DevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSocketsDevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSockets
 
Innovations in the Enterprise Routing & Switching Space
Innovations in the Enterprise Routing & Switching SpaceInnovations in the Enterprise Routing & Switching Space
Innovations in the Enterprise Routing & Switching Space
 
IXIA Breaking Point
IXIA Breaking PointIXIA Breaking Point
IXIA Breaking Point
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
 
Feasibility of Security in Micro-Controllers
Feasibility of Security in Micro-ControllersFeasibility of Security in Micro-Controllers
Feasibility of Security in Micro-Controllers
 
Basic Network Security_Primer
Basic Network Security_PrimerBasic Network Security_Primer
Basic Network Security_Primer
 
ANP catalog: the adversarial ninja playset
ANP catalog: the adversarial ninja playsetANP catalog: the adversarial ninja playset
ANP catalog: the adversarial ninja playset
 
WebRTC
WebRTCWebRTC
WebRTC
 

Ähnlich wie GATTacking Bluetooth Smart

Mirai botnet
Mirai botnetMirai botnet
Mirai botnetOWASP
 
Selective blackholing - how to use & implement
Selective blackholing - how to use & implementSelective blackholing - how to use & implement
Selective blackholing - how to use & implementAPNIC
 
SDARPiBot - VLES'16
SDARPiBot - VLES'16SDARPiBot - VLES'16
SDARPiBot - VLES'16Arun Joseph
 
Amazon Alexa: How to talk with your Smart Home devices
Amazon Alexa:  How to talk with your Smart Home devicesAmazon Alexa:  How to talk with your Smart Home devices
Amazon Alexa: How to talk with your Smart Home devicesRoman Tsypuk
 
MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2Yaser Rahmati
 
Introduction to CloudStack Networking
Introduction to CloudStack NetworkingIntroduction to CloudStack Networking
Introduction to CloudStack NetworkingShapeBlue
 
Intro to Project Calico: a pure layer 3 approach to scale-out networking
Intro to Project Calico: a pure layer 3 approach to scale-out networkingIntro to Project Calico: a pure layer 3 approach to scale-out networking
Intro to Project Calico: a pure layer 3 approach to scale-out networkingPacket
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBenjamin Cabé
 
How to turn your smart home developments into a profitable and sustainable bu...
How to turn your smart home developments into a profitable and sustainable bu...How to turn your smart home developments into a profitable and sustainable bu...
How to turn your smart home developments into a profitable and sustainable bu...mfrancis
 
The Lifecycle of an AWS IoT Thing
The Lifecycle of an AWS IoT ThingThe Lifecycle of an AWS IoT Thing
The Lifecycle of an AWS IoT ThingAmazon Web Services
 
What's new in OpenStack Liberty
What's new in OpenStack LibertyWhat's new in OpenStack Liberty
What's new in OpenStack LibertyMichael Solberg
 
IoThings you don't even need to hack
IoThings you don't even need to hackIoThings you don't even need to hack
IoThings you don't even need to hackSlawomir Jasek
 
SORACOM IoT platform - Introduction
SORACOM IoT platform - IntroductionSORACOM IoT platform - Introduction
SORACOM IoT platform - IntroductionSORACOM
 
AWS Summit Auckland- Developing Applications for IoT
AWS Summit Auckland-  Developing Applications for IoTAWS Summit Auckland-  Developing Applications for IoT
AWS Summit Auckland- Developing Applications for IoTAmazon Web Services
 
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & ProtocolsAmazon Web Services
 
Cubeacon iBeacon Platform and BackEnd as a Service
Cubeacon iBeacon Platform and BackEnd as a ServiceCubeacon iBeacon Platform and BackEnd as a Service
Cubeacon iBeacon Platform and BackEnd as a ServiceAvianto Tiyo
 
Hack your business android+beacons+big data
Hack your business  android+beacons+big dataHack your business  android+beacons+big data
Hack your business android+beacons+big dataTushar Choudhary
 
Track 3 session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iot
Track 3   session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iotTrack 3   session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iot
Track 3 session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iotST_World
 
The (Io)Things you don't even need to hack. Should we worry?
The (Io)Things you don't even need to hack. Should we worry?The (Io)Things you don't even need to hack. Should we worry?
The (Io)Things you don't even need to hack. Should we worry?SecuRing
 

Ähnlich wie GATTacking Bluetooth Smart (20)

Mirai botnet
Mirai botnetMirai botnet
Mirai botnet
 
Selective blackholing - how to use & implement
Selective blackholing - how to use & implementSelective blackholing - how to use & implement
Selective blackholing - how to use & implement
 
SDARPiBot - VLES'16
SDARPiBot - VLES'16SDARPiBot - VLES'16
SDARPiBot - VLES'16
 
Amazon Alexa: How to talk with your Smart Home devices
Amazon Alexa:  How to talk with your Smart Home devicesAmazon Alexa:  How to talk with your Smart Home devices
Amazon Alexa: How to talk with your Smart Home devices
 
MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2
 
Introduction to CloudStack Networking
Introduction to CloudStack NetworkingIntroduction to CloudStack Networking
Introduction to CloudStack Networking
 
Intro to Project Calico: a pure layer 3 approach to scale-out networking
Intro to Project Calico: a pure layer 3 approach to scale-out networkingIntro to Project Calico: a pure layer 3 approach to scale-out networking
Intro to Project Calico: a pure layer 3 approach to scale-out networking
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetup
 
How to turn your smart home developments into a profitable and sustainable bu...
How to turn your smart home developments into a profitable and sustainable bu...How to turn your smart home developments into a profitable and sustainable bu...
How to turn your smart home developments into a profitable and sustainable bu...
 
The Lifecycle of an AWS IoT Thing
The Lifecycle of an AWS IoT ThingThe Lifecycle of an AWS IoT Thing
The Lifecycle of an AWS IoT Thing
 
What's new in OpenStack Liberty
What's new in OpenStack LibertyWhat's new in OpenStack Liberty
What's new in OpenStack Liberty
 
IoThings you don't even need to hack
IoThings you don't even need to hackIoThings you don't even need to hack
IoThings you don't even need to hack
 
SORACOM IoT platform - Introduction
SORACOM IoT platform - IntroductionSORACOM IoT platform - Introduction
SORACOM IoT platform - Introduction
 
AWS Summit Auckland- Developing Applications for IoT
AWS Summit Auckland-  Developing Applications for IoTAWS Summit Auckland-  Developing Applications for IoT
AWS Summit Auckland- Developing Applications for IoT
 
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
 
Cubeacon iBeacon Platform and BackEnd as a Service
Cubeacon iBeacon Platform and BackEnd as a ServiceCubeacon iBeacon Platform and BackEnd as a Service
Cubeacon iBeacon Platform and BackEnd as a Service
 
GSM Proximity Platform
GSM Proximity PlatformGSM Proximity Platform
GSM Proximity Platform
 
Hack your business android+beacons+big data
Hack your business  android+beacons+big dataHack your business  android+beacons+big data
Hack your business android+beacons+big data
 
Track 3 session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iot
Track 3   session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iotTrack 3   session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iot
Track 3 session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iot
 
The (Io)Things you don't even need to hack. Should we worry?
The (Io)Things you don't even need to hack. Should we worry?The (Io)Things you don't even need to hack. Should we worry?
The (Io)Things you don't even need to hack. Should we worry?
 

Mehr von OWASP

[OPD 2019] Web Apps vs Blockchain dApps
[OPD 2019] Web Apps vs Blockchain dApps[OPD 2019] Web Apps vs Blockchain dApps
[OPD 2019] Web Apps vs Blockchain dAppsOWASP
 
[OPD 2019] Threat modeling at scale
[OPD 2019] Threat modeling at scale[OPD 2019] Threat modeling at scale
[OPD 2019] Threat modeling at scaleOWASP
 
[OPD 2019] Life after pentest
[OPD 2019] Life after pentest[OPD 2019] Life after pentest
[OPD 2019] Life after pentestOWASP
 
[OPD 2019] .NET Core Security
[OPD 2019] .NET Core Security[OPD 2019] .NET Core Security
[OPD 2019] .NET Core SecurityOWASP
 
[OPD 2019] Top 10 Security Facts of 2020
[OPD 2019] Top 10 Security Facts of 2020[OPD 2019] Top 10 Security Facts of 2020
[OPD 2019] Top 10 Security Facts of 2020OWASP
 
[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architectureOWASP
 
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
[OPD 2019] Storm Busters: Auditing & Securing AWS InfrastructureOWASP
 
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and DefensesOWASP
 
[OPD 2019] AST Platform and the importance of multi-layered application secu...
[OPD 2019]  AST Platform and the importance of multi-layered application secu...[OPD 2019]  AST Platform and the importance of multi-layered application secu...
[OPD 2019] AST Platform and the importance of multi-layered application secu...OWASP
 
[OPD 2019] Inter-application vulnerabilities
[OPD 2019] Inter-application vulnerabilities[OPD 2019] Inter-application vulnerabilities
[OPD 2019] Inter-application vulnerabilitiesOWASP
 
[OPD 2019] Automated Defense with Serverless computing
[OPD 2019] Automated Defense with Serverless computing[OPD 2019] Automated Defense with Serverless computing
[OPD 2019] Automated Defense with Serverless computingOWASP
 
[OPD 2019] Advanced Data Analysis in RegSOC
[OPD 2019] Advanced Data Analysis in RegSOC[OPD 2019] Advanced Data Analysis in RegSOC
[OPD 2019] Advanced Data Analysis in RegSOCOWASP
 
[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokensOWASP
 
[OPD 2019] Rumpkernels meet fuzzing
[OPD 2019] Rumpkernels meet fuzzing[OPD 2019] Rumpkernels meet fuzzing
[OPD 2019] Rumpkernels meet fuzzingOWASP
 
[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSSOWASP
 
[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera SoftwareOWASP
 
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security WorldOWASP
 
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure SoftwareOWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure SoftwareOWASP
 
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-miningOWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-miningOWASP
 
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contractsOWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contractsOWASP
 

Mehr von OWASP (20)

[OPD 2019] Web Apps vs Blockchain dApps
[OPD 2019] Web Apps vs Blockchain dApps[OPD 2019] Web Apps vs Blockchain dApps
[OPD 2019] Web Apps vs Blockchain dApps
 
[OPD 2019] Threat modeling at scale
[OPD 2019] Threat modeling at scale[OPD 2019] Threat modeling at scale
[OPD 2019] Threat modeling at scale
 
[OPD 2019] Life after pentest
[OPD 2019] Life after pentest[OPD 2019] Life after pentest
[OPD 2019] Life after pentest
 
[OPD 2019] .NET Core Security
[OPD 2019] .NET Core Security[OPD 2019] .NET Core Security
[OPD 2019] .NET Core Security
 
[OPD 2019] Top 10 Security Facts of 2020
[OPD 2019] Top 10 Security Facts of 2020[OPD 2019] Top 10 Security Facts of 2020
[OPD 2019] Top 10 Security Facts of 2020
 
[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture
 
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
 
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
 
[OPD 2019] AST Platform and the importance of multi-layered application secu...
[OPD 2019]  AST Platform and the importance of multi-layered application secu...[OPD 2019]  AST Platform and the importance of multi-layered application secu...
[OPD 2019] AST Platform and the importance of multi-layered application secu...
 
[OPD 2019] Inter-application vulnerabilities
[OPD 2019] Inter-application vulnerabilities[OPD 2019] Inter-application vulnerabilities
[OPD 2019] Inter-application vulnerabilities
 
[OPD 2019] Automated Defense with Serverless computing
[OPD 2019] Automated Defense with Serverless computing[OPD 2019] Automated Defense with Serverless computing
[OPD 2019] Automated Defense with Serverless computing
 
[OPD 2019] Advanced Data Analysis in RegSOC
[OPD 2019] Advanced Data Analysis in RegSOC[OPD 2019] Advanced Data Analysis in RegSOC
[OPD 2019] Advanced Data Analysis in RegSOC
 
[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens
 
[OPD 2019] Rumpkernels meet fuzzing
[OPD 2019] Rumpkernels meet fuzzing[OPD 2019] Rumpkernels meet fuzzing
[OPD 2019] Rumpkernels meet fuzzing
 
[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS
 
[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software
 
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
 
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure SoftwareOWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
 
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-miningOWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
 
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contractsOWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
 

Kürzlich hochgeladen

PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxmibuzondetrabajo
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationMarko4394
 
Internet of Things Presentation (IoT).pptx
Internet of Things Presentation (IoT).pptxInternet of Things Presentation (IoT).pptx
Internet of Things Presentation (IoT).pptxErYashwantJagtap
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 

Kürzlich hochgeladen (17)

PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptx
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentation
 
Internet of Things Presentation (IoT).pptx
Internet of Things Presentation (IoT).pptxInternet of Things Presentation (IoT).pptx
Internet of Things Presentation (IoT).pptx
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 

GATTacking Bluetooth Smart

  • 1. GATTacking Bluetooth Smart Introducing new BLE MITM proxy tool Slawomir.Jasek@securing.pl @slawekja OWASP Kraków, 15.11.2016
  • 2. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Hacking challenge – steal a car!
  • 3. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Sławomir Jasek Live in southern Poland. IT security expert since 2005, and still love this job  Application security assessments (web, mobile, embedded...) And of course we are hiring! Significant part of time for research.
  • 4. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Agenda • Bluetooth Smart • Advertisements and beacons • Hacking BLE devices with live demos – Banking token – Anti-thief security – Smart locks (5x) – Mobile PoS • How to steal a car? • What can we do better?
  • 5. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BLUETOOTH SMART?
  • 6. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Bluetooth Smart? AKA Bluetooth 4, Bluetooth Low Energy One of most exploding recently IoT technologies. Completely different than previous Bluetooth 2, 3 (BR/EDR). Designed from the groud up for low energy usage, simplicity (rather than throughput) The main usage scenarios: a) Advertising (broadcast) b) Communication between 2 devices (master / peripheral)
  • 7. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja
  • 8. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja myvessyl.com
  • 9. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja
  • 10. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja www.vitalherd.com
  • 11. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja
  • 12. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja
  • 13. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Startups http://southpark.cc.com/full-episodes/s18e01-go-fund-yourself 1. Come out with a bright idea where to put a chip in. 2. Buy BLE devkit, some soldering, integrate mobile app 3. Convincing website + video (bootstrap) 4. Crowdfunding! 5. Profit!
  • 14. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekjahttps://www.kickstarter.com/projects/xolutronic/passfort-your-digital-life-secure
  • 15. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja
  • 16. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja
  • 17. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja http://www.bluetooth.com/Pages/Medical.aspx
  • 18. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Bluetooth Smart – bright future of IoT? • Easy to deploy, available, convenient, low-priced. • More and more devices – "wearables", medical, smart home... • Beacons boom, indoor positioning • Physical web • Bluetooth Mesh • Web bluetooth – devices available from the browser (API) • IPv6 over Bluetooth Smart
  • 19. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja http://www.bluetooth.com/SiteCollectionDocuments/4-2/bluetooth4-2.aspx
  • 20. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BLE ADVERTISEMENTS
  • 21. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BLE broadcast -> receive advertisement
  • 22. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Beacons • Transmit a unique identifier. • Mobile app can determine the device's physical location, track customers, or trigger a location-based action • Typically visible from a few meters https://en.wikipedia.org/wiki/Bluetooth_low_energy_beacons https://developers.google.com/beacons/overview
  • 23. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Apple iBeacon UUID (vendor) 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 Major (group) 45044 Minor (individual) 5 Tx Power -59 Comparing Tx Power indication with measured signal strength, the mobile app can establish precise distance to specified beacon.
  • 24. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Google Eddystone Can broadcast: • Unique id (similar to iBeacon) • Website URL (physical web) https://google.github.io/physical-web • Sensor indication (e.g. temperature) • „Attachments” – arbitrary blob data stored in Google cloud https://developers.google.com/beacons/proximity/attachments Telemetry – remote management
  • 25. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Beacons – usage scenarios • Display additional info (e.g. about products on a shelf) based on precise location. • Prizes, loyalty points, "gamification". • Automatic "Check-in". • Indoor navigation. • Notification about stealing bicycle, wallet. • "Smart home" – automatic door opening, light switching... • Encourage interactions with devices (physical web) • ...
  • 26. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Risks? • Retail - a rival may piggyback our beacons signal and use it to show competitive offers. • Mobile apps actions on closing to a beacon - possibility to cheat that fact. • Taking over administrative control, reconfiguration, battery draining, stealing...
  • 27. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Android: nRF Connect for Mobile https://play.google.com/store/ap ps/details?id=no.nordicsemi.andr oid.mcp iOS: nRF Connect for Mobile https://itunes.apple.com/us/app/l ocate-beacon/id738709014 LightBlue https://itunes.apple.com/us/app/l ightblue-bluetooth-low- energy/id557428110
  • 28. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Other...
  • 29. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Map: wikibeacon.org
  • 30. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja • Mobile app (see previous slides) – not all equipment/OS version, a bit inconvenient • Linux: BlueZ – command-line; D-Bus • Nodejs (bleno), Go, Python scripts... • Our hardware beacon How do we emulate iBeacon?
  • 31. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BLE USB dongle • CSR8510 – most common, good enough, ~ 20 PLN • Other chips (often built in laptops) • Intel, Broadcom, Marvell... • May be a bit unstable (e.g. with MAC address change) • Power: • Class II – 2.5 mW, 10m range – most common • Class I – 100 mW, 100 m range – more expensive, actually not necessary
  • 32. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Attack not always makes sense...
  • 33. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Mobile app for restaurants • Rewards for visits - exchangable for food/drinks • Get a point every time you are close to specific beacon
  • 34. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja HTTP request
  • 35. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Pointed 2 years ago, they have accepted the risk Would you lie them in the face that you have been there 10 times before?
  • 36. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja http://www.theregister.co.uk/2016/08/19/dev_hacks_android_app_to_get_free_beer_tokens/ https://breakdev.org/how-i-hacked-an-android-app-to-get-free-beer/
  • 37. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja „Secure” beacons • Broadcast „shuffling” values - change values, only vendor's mobile application can decode them. • Offline usage = several limitations (hardware, software). E.g. one vendor is shuffling only 12 values. • Vendors guard the “shuffling” algorithm’s technical details as top- secret intellectual property • Depending on the level of risk, it would be better to not rely on beacons for critical functionality.
  • 38. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BLE CENTRAL <-> PERIPHERAL
  • 39. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BLE central <-> peripheral peripheralcentral BLE
  • 40. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Typical connection flow Advertise Connect the advertising device (MAC) Further communication Start scanning for advertisements Specific advertisement received, stop scanning
  • 41. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Services, characteristics • Service – groups several characteristics • Characteristic – contains a single value • Descriptor – additional data • Properties – read/write/notify... • Value – actual value SERVICE, eg. 0x180F - battery SERVICE (...) Characteristic Characteristic (...) Descriptor: string (e.g. “Battery level”) Descriptor: subscription status Properties: read, write, notify (authenticated or not) Value
  • 42. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja LINK LAYER SECURITY
  • 43. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Bluetooth 4 security (specification) • Pairing • Key Generation • Encryption Encryption in Bluetooth LE uses AES-CCM cryptography. Like BR/EDR, the LE Controller will perform the encryption function. This function generates 128-bit encryptedData from a 128-bit key and 128-bit plaintextData using the AES-128-bit block cypher as defined in FIPS-1971. • Signed Data https://developer.bluetooth.org/TechnologyOverview/Pages/LE-Security.aspx
  • 44. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Bluetooth 4 security (specification) „The goal of the low energy security mechanism is to protect communication between devices at different levels of the stack.” • Man-in-the-Middle (MITM) • Passive Eavesdropping • Privacy/Identity Tracking
  • 45. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Bluetooth 4.0 - pairing Pairing (once, in a secure environment) • JustWorks (R) – most common, devices without display cannot implement other • 6-digit PIN – if the device has a display • Out of band – not yet spotted in the wild • BLE 4.2 introduces elliptic curves Establish Long Term Key, and store it to secure future communication ("bonding") "Just Works and Passkey Entry do not provide any passive eavesdropping protection" Mike Ryan, https://www.lacklustre.net/bluetooth/
  • 46. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BLE security - practice • 8 of 10 tested devices do not implement BLE-layer encryption • The pairing is in OS level, mobile application does not have full control over it • It is troublesome to manage with requirements for: • Multiple users/application instances per device • Access sharing • Cloud backup • Usage scenario does not allow for secure bonding (e.g. public cash register, "fleet" of beacons, car rental) • Other hardware/software/UX problems with pairing • "Forget" to do it, or do not consider clear-text transmission a problem
  • 47. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BLE security - practice • Security in "application" layer (GATT) • Various authentication schemes • Static password/key • Challenge-response (most common) • PKI • Requests/responses encryption • No single standard, library, protocol • Own crypto, based usually on AES
  • 48. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja
  • 49. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja No more questions...
  • 50. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BLE SNIFFING?
  • 51. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Sniffing – BLE RF essentials http://www.connectblue.com/press/articles/shaping-the-wireless-future-with-low-energy-applications-and-systems/ Advertisement channels
  • 52. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BLE channel hopping 37 channels for data, 3 for advertisements http://lacklustre.net/bluetooth/bluetooth_with_low_energy_comes_low_sec urity-mikeryan-usenix_woot_2013-slides.pdf
  • 53. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Pro devices ($$$) – scan whole spectrum http://www.ellisys.com/products/bex400/ Ellisys Bluetooth Explorer 400 All-in-One Bluetooth® Protocol Analysis System ComProbe BPA® 600 Dual Mode Bluetooth® Protocol Analyzer http://www.fte.com/products/BPA600.aspx
  • 54. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Passive sniffing – Ubertooth (120$) • Open-source (software, hardware). • RF-level sniffing, possible to inspect in Wireshark • Need 3 of them to sniff all 3 adv channels, then follow hopping • http://greatscottgadgets.com/ubertoothone/
  • 55. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Adafruit nRF51822 • $29.95 • Wireshark integration • Some Linux scripts? • Not quite stable, but works https://www.adafruit.com/product/2269 https://learn.adafruit.com/introducing-the- adafruit-bluefruit-le-sniffer
  • 56. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Authentication OTP token Press button, mobile app reads indication via BLE and authenticates to bank.
  • 57. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja The auth request from mobile app GET /DPBTTokenSDKServerDemo/loginService?online=tr ue&serialNumber=3600204175&otp=560646 HTTP/1.1 200 OK {"returnCode":0,"beneficiaryList":[{"name":"Hgh","identifier":"8099ad9fe61a4f77b97 741c9c4e0a28f","iban":"DE94449098"}],"transactionList":[{"amount":"2","name":"Hg h","date":"1465336061783"},{"amount":"111","name":"Hgh","date":"1465300841554 "}],"returnMessage":"Operation successful"}
  • 58. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Advertisement in Wireshark
  • 59. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Serial broadcasted in advertisement • GET /DPBTTokenSDKServerDemo/loginService?onli ne=true&serialNumber=3600204175&otp=56 0646
  • 60. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja
  • 61. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Read OTP value indication GET /DPBTTokenSDKServerDemo/loginService?online=true &serialNumber=3600204175&otp=560646
  • 62. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BACK TO CAR HACKING...
  • 63. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Sniffing? • We can sniff the link communication, but it is encrypted on GATT layer.
  • 64. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Maybe jamming?
  • 65. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Jamming • Jam just the selected advertising channels • May be useful for an attacker to break ongoing connection – to perform other attacks (e.g. MITM). • However most devices do not keep constant connections.
  • 66. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja How about active interception? • Man in the Middle: • We will force the mobile app to connect to us, and forward the requests to the car!
  • 67. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja How do we MITM RF? Alice Bob Mallory
  • 68. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Isolate the signal?
  • 69. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Physics... Bending of a wave around the edges of an opening or an obstacle https://en.wikipedia.org/wiki/Diffraction https://en.wikipedia.org/wiki/Huygens%E2%80%93Fresnel_principle
  • 70. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Stronger signal? More signals? Class 1 adapter? +8dBm, 100m range "little difference in range whether the other end of the link is a Class 1 or Class 2 device as the lower powered device tends to set the range limit" https://en.wikipedia.org/wiki/Bluetooth And how to handle them in a single system?
  • 71. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Typical connection flow Advertise Connect the advertising device (MAC) Further communication Start scanning for advertisements Specific advertisement received, stop scanning
  • 72. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Attack? Start scanning for advertisements Advertise more frequently MITM? Keep connection to original device. It does not advertise while connected ;) Specific advertisement received, stop scanning Connect the advertising device (MAC) Further communication
  • 73. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Introducing GATTacker • Open source • Simple hw • Node.js • Websockets • Modular design • Json • .io website • And a cool logo!
  • 74. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja GATTacker - architecture Advertise Get serv services „PROXY” interception, tampering Get serv services Advertising „cloned” device Device „cloning”
  • 75. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja ANTI-THEFT PROTECTION
  • 76. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Anti-theft protection • Mobile application „pairs” with device, and listens to its advertisements. • In case the luggage is stolen (no signal from device), mobile app raises alarm.
  • 77. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja ws-slave, scan BLEwebservicescan ws-slave
  • 78. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja 1. Scan device to JSON ws-slave Advertisement JSON advertisement
  • 79. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja 2. Advertise Advertisement JSON advertisement advertise
  • 80. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja MAC address spoofing • Some mobile applications rely only on advertisement packets, and don’t care for MAC address. • But most of them (including this one) do. • It is easy to change Bluetooth adapter MAC using bdaddr tool (part of Bluez)
  • 82. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Mobile app connects to us, the alarm stops https://www.youtube.com/watch?v=AlViGDwsVCo
  • 83. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja SMART LOCK #1
  • 84. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja https://www.thequicklock.com
  • 86. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja 2 separate boxes Advertise Get serv services „PROXY” interception, tampering Get serv services Advertising „cloned” device Device „cloning”
  • 87. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Separate boxes • It is possible to run both components on one box (configure BLENO/NOBLE_HCI_DEVICE_ID in confing.env). • But it is not very reliable at this moment (kernel-level device mismatches). • Much more stable results on a separate ones.
  • 88. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Cleartext password: 12345678
  • 89. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja This hack is brought to you by Antony Rose https://media.defcon.org/DEF%20CON%2024/DEF%20CON%2024%20presentations/DEFCON-24-Rose-Ramsey-Picking-Bluetooth-Low-Energy-Locks.pdf
  • 90. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Manufacturer’s statement The electronic codes necessary to open are passed wirelessly and are unencrypted (by design) to allow vendors flexibility when integrating the bluetooth device into existing platforms. Because keys are passed wirelessly, they are open to Bluetooth hacking only for a few seconds, when a hacker is within range of the device. However, this level of security is similar to a standard lock and key scenario! Standard mechanical devices offer far fewer benefits than Bluetooth connected locks! https://www.thequicklock.com/security-notice.php
  • 91. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BTW: BtleJuice by Damien Cauquil https://github.com/DigitalSecurity/btlejuice https://speakerdeck.com/virtualabs/btlejuice-the-bluetooth-smart-mitm- framework https://en.wikipedia.org/wiki/Multiple_discovery The concept of multiple discovery (also known as simultaneous invention) is the hypothesis that most scientific discoveries and inventions are made independently and more or less simultaneously by multiple scientists and inventors.
  • 92. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Select target device Choose „Padlock!”
  • 93. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja The cleartext password
  • 94. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BtleJuice – as of now - Problems with reconnections (when device disconnects immediately) – cost of using noble/bleno from repos - Does not implement MAC address spoofing out of the box - But it has web UI
  • 95. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja SMART LOCK #2
  • 96. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Elecycle Smart Lock Protects bicycles etc. Loud alarm. http://www.ele-cycle.com/drop/EL797.html
  • 97. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Authentication „Open lock” command
  • 98. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Authentication? Next time – something different
  • 99. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja How it works Initial (random?) value Response, based on init Auth (based on response)?
  • 100. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Attack? Replay! Initial (random?) value Response, based on init Auth (based on response)?
  • 101. DEMO #3 Cover your ears, it will be loud ;) https://www.flickr.com/photos/morbius19/9411737596
  • 102. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja This hack is also by Anthony Rose https://media.defcon.org/DEF%20CON%2024/DEF%20CON%2024%20presentations/DEFCON-24-Rose-Ramsey-Picking-Bluetooth-Low-Energy-Locks.pdf
  • 103. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja SMART LOCK #3
  • 104. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Another smart lock...
  • 105. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Open automatically • The mobile application service in background automatically opens the lock. • Using GATTacker it is possible to „proxy” the proximity.
  • 106. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Remote relay Relay Attacks on Passive Keyless Entry and Start Systems in Modern Cars http://eprint.iacr.org/2010/332.pdf
  • 107. DEMO #4 I need your help... https://www.flickr.com/photos/morbius19/9408537045
  • 108. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja More secure – „locker” mode
  • 109. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Security vs usability • Automatic open • Geolocalization • Swipe/touch to unlock • Special „locked” mode SECURITY UX
  • 110. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Other ideas to prevent attack? • Detect latency – similar to EMV? (idea by Damien Cauquil) • Once connected, BT communication is quite quick.
  • 111. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja SMART LOCK #4
  • 112. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Another smart lock • Challenge-response, session key • Commands encrypted by session key • Challenge looks random • Ranging: GPS-enabled, you have to leave the area and return • What could possibly go wrong?
  • 113. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Lock - protocol Get "Challenge" Challenge SESSION KEY = AES(Challenge, KEY Encrypted commands AES (SESSION KEY)
  • 114. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Attack? Get "Challenge" Challenge SESSION KEY = AES(Challenge, KEY Close lock OK, closed passive intercept
  • 115. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Attack Get "Challenge" Challenge (replay the intercepted) SESSION KEY = AES(Challenge, KEY Close lock OK, closed MITM (replay) Same as intercepted session OK, Closed!
  • 117. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja That was supposed to be a live demo ;) • But my collegue pentester has managed to lock the lock by pressing the button long enough ;)
  • 118. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja How excessive security may tamper availability ;) • ... and the attempts to contact the support were unsuccessful... • Note: be careful with buying used ones ;) Previous owner (me) has to authorize the new paring I cannot access the lock, I cannot perform new pairing BECAUSE BUT
  • 119. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja C.I.A.
  • 120. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BTW
  • 121. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja
  • 122. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja And the lock again... • It has an interesting feature: • BLE module vendor implements serial AT commands directly exposed on a service... • Anyone can connect to it, by default it is not locked.
  • 123. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Reset
  • 124. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Get temperature
  • 125. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja
  • 126. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Can you fry it? (please don’t try ;)
  • 127. DEMO #6 An unexpected feature https://www.flickr.com/photos/morbius19/9415961917
  • 128. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja The helper script GATTacker scan.js automatically detects BlueRadios chipsets based on MAC address
  • 129. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja SMART LOCK #5
  • 130. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja
  • 131. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Authentication Authentication
  • 132. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Again Anthony Rose https://media.defcon.org/DEF%20CON%2024/DEF%20CON%2024%20presentations/DEFCON-24-Rose-Ramsey-Picking-Bluetooth-Low-Energy-Locks.pdf
  • 133. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja GATTtool # gatttool -I -b d0:39:72:c3:a8:1e [d0:39:72:c3:a8:1e][LE]> connect [d0:39:72:c3:a8:1e][LE]> char-write-req 0x25 934800fbf009e2ed0916e59b78d72293c0a75894 [d0:39:72:c3:a8:1e][LE]> char-write-req 0x25 425989
  • 134. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja You need to reset the lock to factory ;) • Lock opens and goes into maintenance, original owner has „your keys are outdated” • Resetting is a very painful process. • And you can do it only from the inside of the door.
  • 136. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Interception Text to display on PoS (cleartext)
  • 137. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Active tampering
  • 138. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja And on the mobile PoS:
  • 139. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BACK TO THE CAR
  • 140. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Hacking challenge – steal a car!
  • 141. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja The protocol Get "Challenge" Commands (Open, Close...) Random „challenge” AES("LOGIN",AES(Challenge,key)) AES("LOGIN", AES (Challenge, key UNENCRYPTED: Open, Close...
  • 142. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja MITM? Close AES("LOGIN", AES (Challenge, key Other cmd MITM Get "Challenge" Random „challenge” AES("LOGIN",AES(Challenge,key))
  • 143. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Other commands – based on mobile app source initConfigMode – initiate configuration (overwrite keys) initiateDataTransfer – dump all the configuration (including keys)
  • 144. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Pairing Config mode Generate 24 random keys Store keys in device Use the first key
  • 145. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja After the pairing Get "Challenge" Commands (Open, Close...) Random „challenge” AES("LOGIN",AES(Challenge,key)) KEY ID(0) AES("LOGIN", AES (Challenge, key UNENCRYPTED: Open, Close...
  • 146. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja After the pairing Get "Challenge" Commands (Open, Close...) Random „challenge” AES("LOGIN",AES(Challenge,key)) KEY ID(0) AES("LOGIN", AES (Challenge, key UNENCRYPTED: Open, Close... KEY0 KEY1 .... KEY24 ?
  • 147. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja After the pairing Get "Challenge" Commands (Open, Close...) Random „challenge” AES("LOGIN",AES(Challenge,key)) KEY ID (25)? AES("LOGIN", AES (Challenge, 000? UNENCRYPTED: Open, Close... KEY0 KEY1 .... KEY24 0000?
  • 148. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja PRNG? - Is there any function which allows to generate a random number? - There is no function to do this. However, there is a reasonably good alternative (...), which reads the module's serial number and uses the two least significant bytes, then triggers a channel 14 (temperature) ADC read and combines the two with some very basic math* to generate a sort of "multiplier seed" which can be used for randomness. * (multiplication of the values by themselves) https://bluegiga.zendesk.com/entries/59399217-Random-function
  • 149. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Pre-play attack? • Predictable challenge • Force mobile app to calculate response in advance • Replay
  • 150. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja ENCRYPTED BLE CONNECTIONS?
  • 151. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Link-layer encryption? Bond – encrypted communication
  • 152. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja MITM? No need for bonding Bond – encrypted communication MITM Other MAC (for static attack scenarios not necessary)
  • 153. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja MITM? Bond – encrypted communication MITM Cloned MAC Bond – encrypted communication ? (for static attack scenarios not necessary)
  • 154. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja
  • 155. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Bond – encrypted communication MITM Cloned MAC Bond – encrypted communication ! New connection
  • 156. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Some attacks... Denial of Service Interception Replay Authentication bypass Proximity actions Misconfiguration/excessive services abuse Logic flaws Badly designed crypto Brute force Fuzzing ...
  • 157. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Risk? • Your pulse indication will not have any significance for by-passing people • But an adversary may be extremely interested in it during negotiations • Or, if it is used for biometric authentication in banking application http://www.ibtimes.co.uk/fears-barack-obamas-new-fitbit-fitness- tracker-represent-national-security-risk-1492705 https://www.theguardian.com/technology/2015/mar/13/halifax-trials- heartbeat-id-technology-for-online-banking
  • 158. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja The attack is mostly limited in range, but... • Proximity may be abused away from original device location • Mobile malware could attack nearby devices. • Web bluetooth – attacks from websites? https://webbluetoothcg.github.io/web-bluetooth/
  • 159. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja How to fix the problem? • Use the BLE encryption, bonding, random MACs properly • Do not implement static passwords • Design own security layers with active interception possibility in mind • Beware excessive services, misconfiguration • Prepare fallback for Denial of Service • ... • More details in whitepaper
  • 160. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja BLE HackmeLock • Software-emulated hw lock to practice BLE hacking • Prototype already works, interesting bugs implemented • Soon to be open-sourced, stay tuned...
  • 161. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Other scripts and tools for BLE • BtleJuice https://github.com/DigitalSecurity/btlejuice • Smart lock hacking scripts (python) by Merculite Security (Anthony Rose): https://github.com/merculite/BLE-Security • BlueHydra – sniffing https://github.com/pwnieexpress/blue_hydra • BLE-Replay – parses hcidump from Android, can replay it https://github.com/nccgroup/BLE-Replay
  • 162. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja More info, whitepaper, videos etc.
  • 163. GATTacking Bluetooth Smart, OWASP Kraków 2016.11.15 @slawekja Thanks, questions? My family – for patience and various favours SecuRing – for funding large part of this research