SlideShare a Scribd company logo
1 of 137
Download to read offline
Hacking Internet of
Things
Sławomir Jasek
Secure, 15.10.2015
Pentester / konsultant bezpieczeństwa
Konsultacje i ocena bezpieczeństwa
rozmaitych aplikacji – www, mobile,
embedded...
Od 2003 / ponad 400 projektów
Sławomir Jasek
Internet of Things
Bluetooth Smart
Beacony
Jak ukraść samochód
Podsumowanie
("na bis": opaska sportowa)
Agenda
INTERNET OF THINGS
- Jak być "SMART"
"Smart" żarówki – jedynie 70$ sztuka
https://www.indiegogo.com/projects/lightfreq-square2-smart-lightbulb-hd-speaker/
Dom "Smart" – zrobię inteligentne włączniki!
$$$ $
https://www.youtube.com/watch?v=FXyzm61_eZE
Po 2 latach ;)
http://geek-and-poke.com/geekandpoke/2015/6/3/smartest-homes
Rzeczywistość...
Włączenie światła z
aplikacji trwa 26 razy dłużej
"Pierwszy na świecie smart" kosz na śmieci
Okazja!
Jedyne 249$
+ worki 19$
https://www.kickstarter.com/projects/brunosmartcan/trash-can-vacuum-bruno-the-worlds-first-smartcan
A może bidon który przypomni o piciu wody?
https://www.kickstarter.com/projects/582920317/hidrateme-smart-water-bottle
A może kubek który powie co jest w środku?
www.myvessyl.com
Chip w krowie
www.vitalherd.com
"A sensor embedded in a tooth could one
day tell doctors when people have defied
medical advice to give up smoking or eat
less. Built into a tiny circuit board that fits in
a tooth cavity, the sensor includes an
accelerometer that sends data on mouth
motion to a smartphone. Machine learning
software is taught to recognise each telltale
jaw motion pattern, then works out how
much of the time the patient is chewing,
drinking, speaking, coughing or smoking"
Chip w zębie
http://nslab.ee.ntu.edu.tw/publication/conf/TeethProbeISWC.pdf
Chip na głowie – poprawi Ci nastrój
www.thync.com
1. Wymyślić do czego jeszcze nie włożono chipa.
2. Kupić devkit (Nordic, TI...), czasem odrobinę
lutowania
3. Zaimportować kod BLE do aplikacji mobilnej
4. Przekonująca strona + video (bootstrap)
5. Kampania crowdfundingowa!
6. Profit.
Startup – jak zrobić urządzenie
Ekonomia startup-u wg Cartmana
http://southpark.cc.com/full-episodes/s18e01-go-fund-yourself
Zastosowania w bezpieczeństwie?
https://www.kickstarter.com/projects/xolutronic/passfort-your-digital-life-secure
Smart Lock?
http://www.august.com
Poufność, integralność, DOSTĘPNOŚĆ
https://twitter.com/rabcyr/status/643956567818248192/
Bankowość
http://www.wired.co.uk/news/archive/2015-03/13/halifax-ecg-login
Medycyna, fabryki, samochody, smart home...
http://www.bluetooth.com/Pages/Medical.aspx
Internet of Things – najczęstszy scenariusz
machine learning,
Big Data "cloud"
"HUB"
IoT – te scenariusze ataku znamy od lat...
machine learning,
Big Data "cloud"
"HUB"
Bluetooth Smart, Low Energy, 4...
Jedna z najpopularniejszych,
najprężniejszych technologii IoT.
Kompletnie inny protokół niż poprzednie
wersje BT.
Główny cel: niskie zużycie energii.
Najczęstsze sposoby użycia:
a) Rozgłaszanie pakietów
b) Wymiana danych między urządzeniami
Bluetooth 4.2
http://www.bluetooth.com/SiteCollectionDocuments/4-2/bluetooth4-2.aspx
Łatwość wdrożenia, dostępność i koszt komponentów.
Coraz więcej urządzeń – "wearables", medyczne, smart home
Rozkwit beacon'ów i pozycjonowania wewnątrz budynków
Physical web
Bluetooth Mesh
Web bluetooth – dostęp do urządzeń z przeglądarki (API)
IPv6 over Bluetooth Smart
Przyszłość IoT należy do Bluetooth Smart
IPv6 over Bluetooth Smart
machine learning,
Big Data "cloud"
IPv6
IPv6
IPv6
IPv6
IPv6
IPv6
IPv6
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
Bezpieczeństwo - wg specyfikacji
https://developer.bluetooth.org/TechnologyOverview/Pages/LE-Security.aspx
Ochrona przed atakami na różnych warstwach:
• Man-in-the-Middle (MITM)
• Pasywny podsłuch
• Śledzenie urządzeń/użytkowników
"The goal of the LE security mechanism is to protect
communication between devices at different levels of the
stack. "
Bezpieczeństwo - wg specyfikacji
https://developer.bluetooth.org/TechnologyOverview/Pages/LE-Security.aspx
BEACONY
Niewielkie urządzenia Bluetooth Low
Energy do precyzyjnej lokalizacji.
Rozgłaszają:
• unikalne identyfikatory
interpretowane przez aplikacje
(standard Apple iBeacon)
• dodatkowe opcje: URL, dane np.
temperatura (Google Eddystone)
Beacony
Beacon Eddystone
rozgłaszający URL
http://www.aislelabs.com/reports/beacon-guide/
Beacon Eddystone
widoczny w telefonie
Dodatkowe informacje (np. o produktach na półce) na
podstawie precyzyjnej lokalizacji.
Nagrody, punkty lojalnościowe, "gamifikacja".
Automatyczny "Check-in".
Nawigacja wewnątrz budynków.
Informacja o kradzieży roweru, portfela.
"Smart home" – automatyczne otwieranie drzwi,
włączanie światła...
Beacony – przykładowe scenariusze użycia
Detal: ktoś inny może użyć naszych beaconów żeby
przedstawić lepszą ofertę konkurencji.
Aplikacje dające jakiś zysk po zbliżeniu do beaconu:
- możliwość oszukania tego faktu
Przejęcie kontroli, rekonfiguracja, kradzież urządzenia:
- wymaga fizycznego zbliżenia, ataki celowe lub
przypadkowe
Ryzyka – zależą od użycia
Beacony rozgłaszają sygnał publicznie
Szczegóły można podglądnąć np. w
darmowej aplikacji.
https://play.google.com/store/apps/details
?id=uk.co.alt236.btlescan
Beacony rozgłaszają sygnał publicznie
Beacony rozgłaszają sygnał publicznie
iBeacon – emulacja #1: LightBlue
https://itunes.apple.com/us/app/lightblue-bluetooth-low-energy/id557428110
LightBlue (darmowa) - iPhone, iPad, Mac
# hcitool cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02
15 84 2A F9 C4 08 F5 11 E3 92 82 F2 3C 91 AE C0 5E FD
E8 AF C8 C5 00
iBeacon – emulacja #2: Bluez
# hcitool cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02
15 84 2A F9 C4 08 F5 11 E3 92 82 F2 3C 91 AE C0 5E FD
E8 AF C8 C5 00
iBeacon – emulacja #2: Bluez
# hcitool cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02
15 84 2A F9 C4 08 F5 11 E3 92 82 F2 3C 91 AE C0 5E FD
E8 AF C8 C5 00
iBeacon data broadcast
iBeacon prefix (constant)
UUID: 842AF9C4-08F51-1E39-282F-
23C91AEC05E
Major:
FD E8 = 65 000
Minor:
AF C8 = 45 000
TX power
Czasami wystarczy spreparować żądanie HTTP...
iBeacon – dodatkowe informacje w muzeum
Atak?
KONFIGURACJA
# 1. Aby zrekonfigurować dowolny beacon wystarczy
zainstalować aplikację deweloperską.
# 2. Użytkownik może konfigurować wyłącznie swoje
urządzenia (weryfikacja w "chmurze").
Jednak okazuje się, iż ograniczenie jest tylko w GUI.
Rekonfiguracja urządzenia nadal nie wymaga
uwierzytelnienia.
Beacony - konfiguracja
Beacony - konfiguracja
Statyczny klucz zaszyty w kodzie SDK – trywialny do podglądnięcia
po zdekompilowaniu
# 3. Stały klucz uwierzytelniający zaszyty w SDK
# 4. Indywidualne dane uwierzytelniające w "chmurze".
Nowa funkcja: możliwość rekonfiguracji urządzenia za
pośrednictwem telefonu użytkownika końcowego (?)
Beacony - konfiguracja
Po co?
- Wandalizm
- Rozsiewać spam w Physical Web (URL Eddystone)
Warunki wykorzystania
- Fizyczna bliskość
- Przejęcie telefonu
Jeśli atak byłby trywialny (np. publicznie dostępna aplikacja),
mógłby być przeprowadzony przez przypadkowego intruza.
Beacony – konfiguracja: ryzyko ataku
SAMOCHÓD
Urządzenie BLE do kontroli nad samochodem
PRZEKAŹNIK?
Atak "relay"
Relay Attacks on Passive Keyless Entry and Start Systems in Modern Cars
http://eprint.iacr.org/2010/332.pdf
Na większą odległość?
Znany od lat, z powodzeniem stosowany przez złodziei, zwłaszcza
kradnących rzeczy z samochodu (nie potrzebują zapłonu).
Warunki:
• aktywne automatyczne otwieranie po zbliżeniu
• zbliżenie się do ofiary w tym samym czasie co kradzież
• nie pozwala na otwarcie samochodu w dowolnym momencie
później
Ale w samochodzie jest również blokada zapłonu...
Atak "relay"
PODSŁUCH?
- warstwa fizyczna
Bluetooth LE - kanały
http://www.connectblue.com/press/articles/shaping-the-wireless-future-with-low-energy-applications-and-systems/
kanały rozgłoszeniowe
Open-source (software, hardware).
Sprzętowo łapie połączenia i pakiety
Bluetooth.
Podgląd pakietów w Wireshark.
Potrzebne 3 urządzenia aby obstawić
wszystkie 3 kanały rozgłoszeniowe.
Podsłuch Bluetooth: Ubertooth – 120$
http://greatscottgadgets.com/ubertoothone/
Bardzo drogie skanery komercyjne – profesjonalna
analiza całego pasma jednocześnie
Podsłuch Bluetooth
http://www.ellisys.com/products/bex400/
Ellisys Bluetooth Explorer 400
All-in-One Bluetooth® Protocol
Analysis System
http://www.fte.com/products/BPA600.aspx
ComProbe BPA® 600 Dual Mode
Bluetooth® Protocol Analyzer
FAKT TECHNICZNY #1
- Szyfrowanie w Bluetooth Smart
Szyfrowanie działa domyślnie, transparentnie.
1. Parowanie - ustalenie wspólnego "Long Term Key"
obu urządzeń za pomocą jednej z metod:
JustWorks(R) – po prostu działa ;)
PIN
Out of band
2. Połączenia po sparowaniu – szyfrowanie AES za
pomocą kluczy sesji z LTK
Bluetooth LE - szyfrowanie
1. Parowanie
Podsłuchanie parowania => odzyskanie klucza Long Term Key
(narzędzie crackle), umożliwia odszyfrowanie transmisji
szczegóły: http://lacklustre.net/bluetooth/
2. Połączenia po sparowaniu
Teoretycznie możliwy aktywny atak wymuszający renegocjację
LTK, w praktyce w większości przypadków nie działa.
Bluetooth 4.2 (2014) poprawia bezpieczeństwo transmisji.
Bluetooth LE – podsłuch transmisji
- Szyfrowanie w Bluetooth Smart
//FAKT TECHNICZNY #1
Podsłuch parowania – trudne do spełnienia warunki:
• musimy być w zasięgu w trakcie pierwszej konfiguracji
telefonu z samochodem.
Podsłuchiwanie połączenia już sparowanego nie ma
sensu – wymagałoby złamania AES.
Czy podsłuchanie transmisji nam w ogóle coś da?
Atak w praktyce?
IBEACON
- warstwa aplikacji
Urządzenie w samochodzie rozgłasza się jako iBeacon.
Pakiety rozgłaszane są publicznie, z łatwością zobaczymy je np. w telefonie.
Jak to działa?
A jak łączy się do urządzenia aplikacja?
Aplikacja – dekompilacja apk
1. Wyszukiwanie konkretnego iBeacona po UUID:
ProximityUUIDReady = "61150620-fc5e-11e3-a3ac-0800200c9a01";
int Major, Minor – zapisane w telefonie
2. Nawiązanie połączenia z beaconem
public void onEvent(XxxxxScannedEvent paramXxxxxScannedEvent) {
beaconList.add(xxxxxBeacon);
BleManager.connectManager.connect(xxxxxBeacon.getBluetoothAddress());
To co robimy?
Jak działa aplikacja?
# hcitool -i hci0 cmd 0x08 0x0008
$IBEACONPROFIX $UUID $MAJOR $MINOR
$POWER
Emulacja beacona!
Czekamy 5 minut
Czekamy 10 minut
Czekamy 20 minut
... samochód nie działa ;)
Jedziemy na miejsce i...
https://www.flickr.com/photos/artvlive/19548772122
OK, ale jak rozwiązać ten problem?
Alice
Bob
Mallory
Stanąć bliżej?
Przedłużacz USB?
Nie działa ;)
A jedna próba to 10 minut w plecy.
Podejść bliżej?
http://www.usb-cable.com/html/usb-extension-cables.html
Class 1 +8dBm
Zasięg 100 m
112.90 PLN
"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
Silniejszy sygnał?
http://www.lairdtech.com/products/bt820
Może odseparować sygnał?
FAKT TECHNICZNY #2
- Fale elektromagnetyczne
Dyfrakcja (ugięcie fali) to zjawisko fizyczne
zmiany kierunku rozchodzenia się fali na
krawędziach przeszkód oraz w ich pobliżu.
https://pl.wikipedia.org/wiki/Dyfrakcja
Zasada Huygensa:
"każdy punkt ośrodka, do którego dotarło czoło
fali można uważać za źródło nowej fali kulistej"
https://pl.wikipedia.org/wiki/Zasada_Huygensa
Wróćmy do podstaw
https://ilf.fizyka.pw.edu.pl/podrecznik/3/5/10
Zagłuszyć sygnał?
https://media.defcon.org/DEF%20CON%2023/DEF%20CON%2023%20presentations/Richo%20Healey%20
&%20Mike%20Ryan/DEFCON-23-Richo-Healey-Mike-Ryan-Hacking-Electric-Skateboard.pdf
"It’s like they designed the protocol itself to stop us from doing this exact thing"
Richo Healey, Mike Ryan – Hacking Electric Skateboard, Defcon 23
- Fale elektromagnetyczne
//FAKT TECHNICZNY #2
Wiele sygnałów?
Na każdym interfejsie wystawiamy iBeacon.
Jedziemy na miejsce i....
Znowu wyładował się akumulator ;)
Poza tym trudności z ogarnięciem w systemie wielu
interfejsów.
Aplikacja łączy się do pierwszego beacon-a którego
usłyszy.
Co zrobić żeby to naszego beacon-a usłyszała wcześniej
niż beacon samochodu?
Częściej wysyłać pakiety rozgłoszeniowe!
My nie musimy się martwić o baterię.
Zaraz, zastanówmy się raz jeszcze...
Bluetooth 4 Core Specification - Advertising
Bluetooth 4 Core Specification - Advertising
BLUETOOTH SPECIFICATION Version 4.0 [Vol 2] page 813
hcitool -i hci0 cmd 0x08 0x0006 A0 00 A0 00
00 00 00 00 00 00 00 00 00 07 00
0x0006 – set advertising parameters
0x00A0 (100 ms)
0x07 = 00000111b Default (all channels enabled)
hcitool
FAKT TECHNICZNY #3
- Stabilność nie jest cechą nowych technologii
Bluetooth – Host Controller Interface
https://developer.bluetooth.org/TechnologyOverview/Pages/HCI.aspx
Linux, BlueZ
$ hcitool
CSR nie działa stabilnie przy mniej niż 100ms.
Komunikacja z firmware niekiedy wymaga specjalnej
uwagi.
Gdy coś nie działa jak powinno, trzeba wykonać
sekwencję różnych komend w odpowiedniej kolejności ;)
Problemy z firmware...
BLE – funkcja zapewnienia
prywatności przez zmianę
adresu MAC co sekundę...
... powoduje crash Androida ;)
"Bluedroid can only handle seeing
1,990 different Bluetooth MAC
addresses before the Android
BluetoothService crashes"
Stabilność nowych technologii...
http://developer.radiusnetworks.com/2014/04/02/a-solution-for-android-bluetooth-crashes.html
- Stabilność nie jest cechą nowych technologii
//FAKT TECHNICZNY #3
OK to jedziemy jeszcze raz, i...
https://www.flickr.com/photos/artvlive/19548772122
Próbujemy ... działa! Aplikacja łączy się do naszego beacona!
Ale od razu przerywa połączenie i łączy się do samochodu...
Po dłuższej chwili jednak udało się "zhakować" samochód!
Ale mój ;)
FAKT TECHNICZNY #4
- Akumulator
Akumulator kwasowo-ołowiowy – rodzaj akumulatora elektrycznego, opartego na
ogniwach galwanicznych zbudowanych z elektrody ołowiowej, elektrody z tlenku
ołowiu(IV) (PbO2) oraz ok. 37% roztworu wodnego kwasu siarkowego,
spełniającego funkcję elektrolitu.
Akumulator ołowiowy został wynaleziony przez francuskiego fizyka Gastona
Planté w 1859 r. Mimo wielu jego wad jest to wciąż najbardziej popularny rodzaj
akumulatorów elektrycznych. Występuje w niemal wszystkich samochodach, a
także wielu innych pojazdach (np. Melex). Oprócz tego stanowi często jeden z
elementów awaryjnego zasilania budynków, zakładów przemysłowych, szpitali,
central telefonicznych i polowych systemów oświetleniowych.
Akumulator kwasowo-ołowiowy
https://pl.wikipedia.org/wiki/Akumulator_kwasowo-o%C5%82owiowy
- Akumulator
//FAKT TECHNICZNY #4
Oprócz cennika parkingu:
Ech...
Zapoznajemy się z opłatami dodatkowymi taxi:
ANALIZA APLIKACJI
Jak działa parowanie?
Tryb konfiguracji
Generuj
24 losowe
hasła
Zapisz hasła w urządzeniu
Używaj pierwszego hasła
Jak działa uwierzytelnienie po sparowaniu?
ID hasła (00)
AES("LOGIN",
AES
(Challenge,
hasło
Pobierz "Challenge"
Komendy
Challenge
AES("LOGIN",AES(Challenge,hasło)
Tablica haseł?
ID hasła (00)ID hasła (25)?
AES("LOGIN",
AES
(Challenge,
hasło
Pobierz "Challenge"
Komendy
Challenge
AES("LOGIN",AES(Challenge,hasło)
Hasło00
Hasło01
Hasło02
Hasło03
...
...
...
...
...
Hasło23
Hasło00
Hasło01
Hasło02
Hasło03
...
...
...
...
...
Hasło23
?
?
?
0000FFFF
FAKT TECHNICZNY #5
- GATT – jak rozmawiać z urządzeniami BLE
"Charakterystyki" i "serwisy"
"Charakterystyka" to w skrócie
zmienna do której można zapisywać lub
odczytywać – w zależności od
uprawnień.
Komunikacja odbywa się za pomocą
protokołu GATT.
Serwisy i charakterystyki typowe mają
krótsze, ustandaryzowane nazwy:
GATT
Service
Characteristic
Characteristic
Characteristic
Service
Characteristic
Characteristichttps://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx
Serwisy własne mają nazwy w formie UUID:
public static void readStatus() {
BleManager.connectManager.readCharacteristic("f8718d0
0-a51e-11e3-a5e2-0800200c9a66", "8e4f78d0-f6c5-11e3-
a3ac-0800200c9a66");
}
Odczyt "challenge" w kodzie aplikacji
CharacteristicService
BlueZ www.bluez.org - gatttool
noble (nodejs) https://github.com/sandeepmistry/noble
Go https://godoc.org/github.com/paypal/gatt
PyBT https://github.com/mikeryan/PyBT
"PyBT is a crappy half implementation of a Bluetooth
stack in Python"
GATT – klient
- GATT – jak rozmawiać z urządzeniami BLE
//FAKT TECHNICZNY #5
Uzbrojeni w wiedzę o akumulatorach i opłatach parkingowych bierzemy
2 laptopy + rower.
Jedziemy na miejsce...
https://www.flickr.com/photos/mikecogh/6628027085/
Niestety atak na tablicę haseł
nie działa.
Może funkcja uwierzytelnienia
innym kluczem nie jest jeszcze
zaimplementowana w
urządzeniu? W aplikacji
mobilnej nie jest...
Schemat działania jeszcze raz
To już nam się udało wcześniej...
Alice
Bob
Mallory
Atak?
- setEngineBlockadeSetting – włączenie/wyłączenie
blokady zapłonu
- setBlinker – ustawienie sekwencji migaczy
odblokowującego zapłon
- initConfigMode – konfiguracja od nowa (nowe hasła)
- initiateDataTransfer – pobranie aktualnej
konfiguracji (w tym wszystkie hasła)
Komendy po zalogowaniu
Atak!
PWND! Mój telefon ma hasła i pełną
kontrolę nad samochodem
ATAK W PRAKTYCE
MITM GATT?
GATT
"SERVER"
GATT"CLIENT"
Potrzebny serwer GATT z którym połączy się ofiara + klient
GATT do jednoczesnego połączenia z samochodem.
Dostępne opcje:
BlueZ
bleno (node)https://github.com/sandeepmistry/bleno
PyBT (wtedy jeszcze nie było)
BlueZ – wygląda najbardziej obiecująco, od razu wbudowany
też klient GATT.
MITM Bluetooth GATT ?
BlueZ – próba po dobroci...
http://www.deezer.com/album/8932449
Dobry wieczór, siadamy do
kodu
BlueZ – próba po dobroci...
http://www.deezer.com/album/8786649
Mają DBUS, możemy to
wysterować z command-line
BlueZ – próba po dobroci...
http://www.deezer.com/album/6761388
Niestety jesteśmy w lesie,
DBUS jest w trakcie
tworzenia ;)
BlueZ – próba po dobroci...
http://www.deezer.com/album/434685
Wychodzimy z lasu – są
przykładowe profile
urządzeń.
Wystarczy podmienić
charakterystyki i
zrekompilować.
BlueZ – próba po dobroci...
http://www.deezer.com/album/9121411
Niestety znowu piętrzą się
trudności.
Nie działa.
BlueZ...
http://www.deezer.com/album/6823356
No dobra, zaczynam się
denerwować...
BlueZ – wyższy poziom abstrakcji
http://www.deezer.com/artist/6807821
Wielowątkowość jest tu
nieźle zamieszana.
Tego kodu nie da się tak
łatwo zrozumieć...
BlueZ – wyższy poziom abstrakcji
http://www.deezer.com/album/550125
Gypsy Punk na ratunek!
BlueZ – wyższy poziom abstrakcji
http://www.deezer.com/album/550140
Dopiero druga płyta daje radę
Emulator samochodu działa w "lab" z moim telefonem!
Wydajność: 800 challenge+response na minutę.
Przy okazji spostrzeżenie: telefon loguje się do
urządzenia nawet jeśli ma wyłączoną funkcję
automatycznego otwarcia zbliżeniowo.
Ta podatność ułatwiłaby atak w praktyce.
Wreszcie...
Atak w praktyce
Moja żona wspominając że potrzebuje nowy samochód nie myślała o
takim modelu ;) No i były ważniejsze prace...
Niestety limit czasu się wyczerpał...
The circuit behaved in a manner that was inconsistent with
the design due to jitter in the setting clock. The voltage
across the main power rail fluctuated more than ten volts in
either direction during normal operation due to stray
harmonics. Moreover, spurious data corruption was noted in
the RAM due to residual capacitance caused by the
microcontroller. Attempts to further diagnose the source of
the problem were unsuccessful due to excessive heat emitted
by the bluetooth and the PCB inducing current in the USB
connector. We recommend further analysis to rule out
electromagnetic interference.
Wreszcie przekonujące wyjaśnienie dlaczego nie zadziałało!
Hardware Excuse Generator!
http://natashenka.ca/hardware-excuse-generator/
"Challenge" statyczny, lub problemy z losowością.
Fuzzing serwisów GATT.
Nadmiarowa, ukryta funkcjonalność (np. debug OTA
chipsetu).
Funkcjonalność pożyczania.
Brute-force?
... i jeszcze kilka innych pomysłów
Co jeszcze mogło pójść nie tak?
Niestety kontakt się urwał...
Uwierzytelnienie drugiej strony transmisji! Traktuj BLE
jako niezaufane medium.
Aplikacja loguje się do samochodu również gdy opcja
autounlock jest wyłączona.
Zaciemnienie kodu aplikacji – trzeba jednak pamiętać że
to tylko spowalnia analizę.
Warto zwrócić uwagę, iż analiza bezpieczeństwa byłaby
zdecydowanie łatwiejsza po kupieniu urządzenia.
Co można było zrobić lepiej?
PODSUMOWANIE
Bezpieczeństwo urządzeń BLE...
BLE != CACY
https://www.flickr.com/photos/samstanton/299610271/
Analogicznie jak WWW 20 lat temu - był SSL ale nikt nie słyszał o
SQL injection.
Specyfikacja przekonująco mówi o bezpieczeństwie, ale warstwy
transportu.
Za bezpieczeństwo warstwy aplikacji odpowiedzialny jest
programista. Traktuj BLE jako niezaufane medium.
Ryzyko ataku na urządzenia BLE zależy od scenariusza użycia, może
zmienić się w czasie – nowe narzędzia, powszechność technologii.
Bluetooth Low Energy: ograniczenia sprzętowe, problemy ze
wsparciem, problemy ze stabilnością.
BLE != CACY
WHITE VS BLACKBOX
http://thehill.com/policy/cybersecurity/255832-fear-of-lawsuits-chills-car-hack-research
Bądź czujny – tak,
strzeż tajemnicy – tak,
opieraj bezpieczeństwo na tajemnicy – NIE!
Zaciemnienie, ograniczenia mogą co najwyżej spowolnić
intruza.
We współpracy osiągniemy najwięcej w (zawsze)
ograniczonym czasie.
Wspólnie jesteśmy w stanie wypracować najlepsze
rozwiązania problemów.
Nawet krótka rozmowa ze specjalistą od bezpieczeństwa
może bardzo dużo zmienić, zwłaszcza na etapie koncepcji.
Bezpieczeństwa często nie da się "dorobić" później.
Whitebox!
Dziękuję,
zapraszam do kontaktu!
slawomir.jasek@securing.pl
WIĘCEJ NIŻ TESTY
BEZPIECZEŃSTWA
W prezentacji wykorzystano dostępne w serwisie YouTube fragmenty
polskich kronik filmowych (m.in z przemówieniami Edwarda Gierka),
a także programu edukacyjnego "Przybysze z Matplanety".

More Related Content

Viewers also liked

Metody Deep Learning - Wykład 6
Metody Deep Learning - Wykład 6Metody Deep Learning - Wykład 6
Metody Deep Learning - Wykład 6Craftinity
 
Metody Deep Learning - Wykład 4
Metody Deep Learning - Wykład 4Metody Deep Learning - Wykład 4
Metody Deep Learning - Wykład 4Craftinity
 
Metody Deep Learning - Wykład 3
Metody Deep Learning - Wykład 3Metody Deep Learning - Wykład 3
Metody Deep Learning - Wykład 3Craftinity
 
Metody Deep Learning - Wykład 1
Metody Deep Learning - Wykład 1Metody Deep Learning - Wykład 1
Metody Deep Learning - Wykład 1Craftinity
 
(Azure) Machine Learning 2015
(Azure) Machine Learning 2015(Azure) Machine Learning 2015
(Azure) Machine Learning 2015Tomasz Kopacz
 
Predicting the risk of suicide using clinical notes
Predicting the risk of suicide using clinical notesPredicting the risk of suicide using clinical notes
Predicting the risk of suicide using clinical notesŻaneta Michalak
 
Metody Deep Learning - Wykład 2
Metody Deep Learning - Wykład 2Metody Deep Learning - Wykład 2
Metody Deep Learning - Wykład 2Craftinity
 
Metody Deep Learning - Wykład 5
Metody Deep Learning - Wykład 5Metody Deep Learning - Wykład 5
Metody Deep Learning - Wykład 5Craftinity
 
Metody Deep Learning - Wykład 7
Metody Deep Learning - Wykład 7Metody Deep Learning - Wykład 7
Metody Deep Learning - Wykład 7Craftinity
 
To co powinniście wiedzieć o Machine Learning
To co powinniście wiedzieć o Machine LearningTo co powinniście wiedzieć o Machine Learning
To co powinniście wiedzieć o Machine Learning3camp
 
Machine learning - hot or not?
Machine learning -  hot or not?Machine learning -  hot or not?
Machine learning - hot or not?mjaskowski
 
Machine learning and Big Data (lecture in Polish)
Machine learning and Big Data (lecture in Polish)Machine learning and Big Data (lecture in Polish)
Machine learning and Big Data (lecture in Polish)Michal Iwanowski
 
Wyniki wyszukiwania Google w 2016 - XIX Semcamp Cezary Glijer
Wyniki wyszukiwania Google w 2016 - XIX Semcamp Cezary GlijerWyniki wyszukiwania Google w 2016 - XIX Semcamp Cezary Glijer
Wyniki wyszukiwania Google w 2016 - XIX Semcamp Cezary GlijerCezary Glijer
 
Prezentacja z Big Data Tech 2016: Machine Learning vs Big Data
Prezentacja z Big Data Tech 2016: Machine Learning vs Big DataPrezentacja z Big Data Tech 2016: Machine Learning vs Big Data
Prezentacja z Big Data Tech 2016: Machine Learning vs Big DataBartlomiej Twardowski
 
Body Building Universal 12 Week Bodybuilding Course (English)
Body Building   Universal 12 Week Bodybuilding Course (English)Body Building   Universal 12 Week Bodybuilding Course (English)
Body Building Universal 12 Week Bodybuilding Course (English)guest663971a
 
7 weeks to 100 push ups..
7 weeks to 100 push ups.. 7 weeks to 100 push ups..
7 weeks to 100 push ups.. hellsingz
 
Jak się tworzy leki?
Jak się tworzy leki?Jak się tworzy leki?
Jak się tworzy leki?Xplore Health
 

Viewers also liked (19)

Ból
BólBól
Ból
 
Metody Deep Learning - Wykład 6
Metody Deep Learning - Wykład 6Metody Deep Learning - Wykład 6
Metody Deep Learning - Wykład 6
 
Metody Deep Learning - Wykład 4
Metody Deep Learning - Wykład 4Metody Deep Learning - Wykład 4
Metody Deep Learning - Wykład 4
 
Metody Deep Learning - Wykład 3
Metody Deep Learning - Wykład 3Metody Deep Learning - Wykład 3
Metody Deep Learning - Wykład 3
 
Metody Deep Learning - Wykład 1
Metody Deep Learning - Wykład 1Metody Deep Learning - Wykład 1
Metody Deep Learning - Wykład 1
 
(Azure) Machine Learning 2015
(Azure) Machine Learning 2015(Azure) Machine Learning 2015
(Azure) Machine Learning 2015
 
Predicting the risk of suicide using clinical notes
Predicting the risk of suicide using clinical notesPredicting the risk of suicide using clinical notes
Predicting the risk of suicide using clinical notes
 
Metody Deep Learning - Wykład 2
Metody Deep Learning - Wykład 2Metody Deep Learning - Wykład 2
Metody Deep Learning - Wykład 2
 
Metody Deep Learning - Wykład 5
Metody Deep Learning - Wykład 5Metody Deep Learning - Wykład 5
Metody Deep Learning - Wykład 5
 
Metody Deep Learning - Wykład 7
Metody Deep Learning - Wykład 7Metody Deep Learning - Wykład 7
Metody Deep Learning - Wykład 7
 
To co powinniście wiedzieć o Machine Learning
To co powinniście wiedzieć o Machine LearningTo co powinniście wiedzieć o Machine Learning
To co powinniście wiedzieć o Machine Learning
 
Machine learning - hot or not?
Machine learning -  hot or not?Machine learning -  hot or not?
Machine learning - hot or not?
 
Machine learning and Big Data (lecture in Polish)
Machine learning and Big Data (lecture in Polish)Machine learning and Big Data (lecture in Polish)
Machine learning and Big Data (lecture in Polish)
 
Wyniki wyszukiwania Google w 2016 - XIX Semcamp Cezary Glijer
Wyniki wyszukiwania Google w 2016 - XIX Semcamp Cezary GlijerWyniki wyszukiwania Google w 2016 - XIX Semcamp Cezary Glijer
Wyniki wyszukiwania Google w 2016 - XIX Semcamp Cezary Glijer
 
Prezentacja z Big Data Tech 2016: Machine Learning vs Big Data
Prezentacja z Big Data Tech 2016: Machine Learning vs Big DataPrezentacja z Big Data Tech 2016: Machine Learning vs Big Data
Prezentacja z Big Data Tech 2016: Machine Learning vs Big Data
 
Atlas ćwiczeń
Atlas ćwiczeńAtlas ćwiczeń
Atlas ćwiczeń
 
Body Building Universal 12 Week Bodybuilding Course (English)
Body Building   Universal 12 Week Bodybuilding Course (English)Body Building   Universal 12 Week Bodybuilding Course (English)
Body Building Universal 12 Week Bodybuilding Course (English)
 
7 weeks to 100 push ups..
7 weeks to 100 push ups.. 7 weeks to 100 push ups..
7 weeks to 100 push ups..
 
Jak się tworzy leki?
Jak się tworzy leki?Jak się tworzy leki?
Jak się tworzy leki?
 

Similar to Hacking Internet of Things

Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawe...
Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawe...Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawe...
Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawe...Gawel Mikolajczyk
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPROIDEA
 
Let your existing devices enter the witchcraft of IoT and the smart-home world
Let your existing devices enter the witchcraft of IoT and the smart-home worldLet your existing devices enter the witchcraft of IoT and the smart-home world
Let your existing devices enter the witchcraft of IoT and the smart-home worldThe Software House
 
Firewalle i bezpieczeństwo w sieci. Vademecum profesjonalisty
Firewalle i bezpieczeństwo w sieci. Vademecum profesjonalistyFirewalle i bezpieczeństwo w sieci. Vademecum profesjonalisty
Firewalle i bezpieczeństwo w sieci. Vademecum profesjonalistyWydawnictwo Helion
 
Wi-Foo. Sekrety bezprzewodowych sieci komputerowych
Wi-Foo. Sekrety bezprzewodowych sieci komputerowychWi-Foo. Sekrety bezprzewodowych sieci komputerowych
Wi-Foo. Sekrety bezprzewodowych sieci komputerowychWydawnictwo Helion
 
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...Logicaltrust pl
 
ConnectorIO Prezentacja platformy IoT, Cloud BMS 2019.12
ConnectorIO Prezentacja platformy IoT, Cloud BMS 2019.12ConnectorIO Prezentacja platformy IoT, Cloud BMS 2019.12
ConnectorIO Prezentacja platformy IoT, Cloud BMS 2019.12Connectorio
 
Pentester - fakty i mity
Pentester - fakty i mityPentester - fakty i mity
Pentester - fakty i mityLogicaltrust pl
 
PLNOG 18 - Robert Ślaski - Programowanie a nie konfiguracja - porozmawiajmy z...
PLNOG 18 - Robert Ślaski - Programowanie a nie konfiguracja - porozmawiajmy z...PLNOG 18 - Robert Ślaski - Programowanie a nie konfiguracja - porozmawiajmy z...
PLNOG 18 - Robert Ślaski - Programowanie a nie konfiguracja - porozmawiajmy z...PROIDEA
 
Bezprzewodowe niebezpieczeństwo (TAPT 2016)
Bezprzewodowe niebezpieczeństwo (TAPT 2016)Bezprzewodowe niebezpieczeństwo (TAPT 2016)
Bezprzewodowe niebezpieczeństwo (TAPT 2016)Adam Ziaja
 
100 sposobów na sieci bezprzewodowe
100 sposobów na sieci bezprzewodowe100 sposobów na sieci bezprzewodowe
100 sposobów na sieci bezprzewodoweWydawnictwo Helion
 
PLNOG 22 - Patryk Wojtachnio, Krzysztof Kania - Czy kontroler sieci bezprzewo...
PLNOG 22 - Patryk Wojtachnio, Krzysztof Kania - Czy kontroler sieci bezprzewo...PLNOG 22 - Patryk Wojtachnio, Krzysztof Kania - Czy kontroler sieci bezprzewo...
PLNOG 22 - Patryk Wojtachnio, Krzysztof Kania - Czy kontroler sieci bezprzewo...PROIDEA
 
Wireless Hacking. Edycja polska
Wireless Hacking. Edycja polskaWireless Hacking. Edycja polska
Wireless Hacking. Edycja polskaWydawnictwo Helion
 
PLNOG14: Zarządzalne sieci WiFi - Tomasz Sadowski
PLNOG14: Zarządzalne sieci WiFi - Tomasz SadowskiPLNOG14: Zarządzalne sieci WiFi - Tomasz Sadowski
PLNOG14: Zarządzalne sieci WiFi - Tomasz SadowskiPROIDEA
 
Modern Mobile Web Development - AGH, March 2015
Modern Mobile Web Development - AGH, March 2015Modern Mobile Web Development - AGH, March 2015
Modern Mobile Web Development - AGH, March 2015Michal Plachta
 
Security B-Sides Warsaw 2014 - Network Security Treasures - Gawel Mikolajczyk
Security B-Sides Warsaw 2014 - Network Security Treasures - Gawel MikolajczykSecurity B-Sides Warsaw 2014 - Network Security Treasures - Gawel Mikolajczyk
Security B-Sides Warsaw 2014 - Network Security Treasures - Gawel MikolajczykGawel Mikolajczyk
 
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...Laravel Poland MeetUp
 
PLNOG 21: Marcin Motylski - Bezpieczeństwo_i_Firewalle_w_Multi_Cloud / Data _...
PLNOG 21: Marcin Motylski - Bezpieczeństwo_i_Firewalle_w_Multi_Cloud / Data _...PLNOG 21: Marcin Motylski - Bezpieczeństwo_i_Firewalle_w_Multi_Cloud / Data _...
PLNOG 21: Marcin Motylski - Bezpieczeństwo_i_Firewalle_w_Multi_Cloud / Data _...PROIDEA
 
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...The Software House
 
PLNOG 13: Piotr Jabłoński: First Steps in Autonomic Networking
PLNOG 13: Piotr Jabłoński: First Steps in Autonomic NetworkingPLNOG 13: Piotr Jabłoński: First Steps in Autonomic Networking
PLNOG 13: Piotr Jabłoński: First Steps in Autonomic NetworkingPROIDEA
 

Similar to Hacking Internet of Things (20)

Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawe...
Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawe...Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawe...
Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawe...
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
 
Let your existing devices enter the witchcraft of IoT and the smart-home world
Let your existing devices enter the witchcraft of IoT and the smart-home worldLet your existing devices enter the witchcraft of IoT and the smart-home world
Let your existing devices enter the witchcraft of IoT and the smart-home world
 
Firewalle i bezpieczeństwo w sieci. Vademecum profesjonalisty
Firewalle i bezpieczeństwo w sieci. Vademecum profesjonalistyFirewalle i bezpieczeństwo w sieci. Vademecum profesjonalisty
Firewalle i bezpieczeństwo w sieci. Vademecum profesjonalisty
 
Wi-Foo. Sekrety bezprzewodowych sieci komputerowych
Wi-Foo. Sekrety bezprzewodowych sieci komputerowychWi-Foo. Sekrety bezprzewodowych sieci komputerowych
Wi-Foo. Sekrety bezprzewodowych sieci komputerowych
 
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
 
ConnectorIO Prezentacja platformy IoT, Cloud BMS 2019.12
ConnectorIO Prezentacja platformy IoT, Cloud BMS 2019.12ConnectorIO Prezentacja platformy IoT, Cloud BMS 2019.12
ConnectorIO Prezentacja platformy IoT, Cloud BMS 2019.12
 
Pentester - fakty i mity
Pentester - fakty i mityPentester - fakty i mity
Pentester - fakty i mity
 
PLNOG 18 - Robert Ślaski - Programowanie a nie konfiguracja - porozmawiajmy z...
PLNOG 18 - Robert Ślaski - Programowanie a nie konfiguracja - porozmawiajmy z...PLNOG 18 - Robert Ślaski - Programowanie a nie konfiguracja - porozmawiajmy z...
PLNOG 18 - Robert Ślaski - Programowanie a nie konfiguracja - porozmawiajmy z...
 
Bezprzewodowe niebezpieczeństwo (TAPT 2016)
Bezprzewodowe niebezpieczeństwo (TAPT 2016)Bezprzewodowe niebezpieczeństwo (TAPT 2016)
Bezprzewodowe niebezpieczeństwo (TAPT 2016)
 
100 sposobów na sieci bezprzewodowe
100 sposobów na sieci bezprzewodowe100 sposobów na sieci bezprzewodowe
100 sposobów na sieci bezprzewodowe
 
PLNOG 22 - Patryk Wojtachnio, Krzysztof Kania - Czy kontroler sieci bezprzewo...
PLNOG 22 - Patryk Wojtachnio, Krzysztof Kania - Czy kontroler sieci bezprzewo...PLNOG 22 - Patryk Wojtachnio, Krzysztof Kania - Czy kontroler sieci bezprzewo...
PLNOG 22 - Patryk Wojtachnio, Krzysztof Kania - Czy kontroler sieci bezprzewo...
 
Wireless Hacking. Edycja polska
Wireless Hacking. Edycja polskaWireless Hacking. Edycja polska
Wireless Hacking. Edycja polska
 
PLNOG14: Zarządzalne sieci WiFi - Tomasz Sadowski
PLNOG14: Zarządzalne sieci WiFi - Tomasz SadowskiPLNOG14: Zarządzalne sieci WiFi - Tomasz Sadowski
PLNOG14: Zarządzalne sieci WiFi - Tomasz Sadowski
 
Modern Mobile Web Development - AGH, March 2015
Modern Mobile Web Development - AGH, March 2015Modern Mobile Web Development - AGH, March 2015
Modern Mobile Web Development - AGH, March 2015
 
Security B-Sides Warsaw 2014 - Network Security Treasures - Gawel Mikolajczyk
Security B-Sides Warsaw 2014 - Network Security Treasures - Gawel MikolajczykSecurity B-Sides Warsaw 2014 - Network Security Treasures - Gawel Mikolajczyk
Security B-Sides Warsaw 2014 - Network Security Treasures - Gawel Mikolajczyk
 
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
 
PLNOG 21: Marcin Motylski - Bezpieczeństwo_i_Firewalle_w_Multi_Cloud / Data _...
PLNOG 21: Marcin Motylski - Bezpieczeństwo_i_Firewalle_w_Multi_Cloud / Data _...PLNOG 21: Marcin Motylski - Bezpieczeństwo_i_Firewalle_w_Multi_Cloud / Data _...
PLNOG 21: Marcin Motylski - Bezpieczeństwo_i_Firewalle_w_Multi_Cloud / Data _...
 
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
 
PLNOG 13: Piotr Jabłoński: First Steps in Autonomic Networking
PLNOG 13: Piotr Jabłoński: First Steps in Autonomic NetworkingPLNOG 13: Piotr Jabłoński: First Steps in Autonomic Networking
PLNOG 13: Piotr Jabłoński: First Steps in Autonomic Networking
 

More from SecuRing

Developer in a digital crosshair, 2023 edition - 4Developers
Developer in a digital crosshair, 2023 edition - 4DevelopersDeveloper in a digital crosshair, 2023 edition - 4Developers
Developer in a digital crosshair, 2023 edition - 4DevelopersSecuRing
 
Developer in a digital crosshair, 2022 edition - Oh My H@ck!
Developer in a digital crosshair, 2022 edition - Oh My H@ck!Developer in a digital crosshair, 2022 edition - Oh My H@ck!
Developer in a digital crosshair, 2022 edition - Oh My H@ck!SecuRing
 
Developer in a digital crosshair, 2022 edition - No cON Name
Developer in a digital crosshair, 2022 edition - No cON NameDeveloper in a digital crosshair, 2022 edition - No cON Name
Developer in a digital crosshair, 2022 edition - No cON NameSecuRing
 
Is persistency on serverless even possible?!
Is persistency on serverless even possible?!Is persistency on serverless even possible?!
Is persistency on serverless even possible?!SecuRing
 
What happens on your Mac, stays on Apple’s iCloud?!
What happens on your Mac, stays on Apple’s iCloud?!What happens on your Mac, stays on Apple’s iCloud?!
What happens on your Mac, stays on Apple’s iCloud?!SecuRing
 
0-Day Up Your Sleeve - Attacking macOS Environments
0-Day Up Your Sleeve - Attacking macOS Environments0-Day Up Your Sleeve - Attacking macOS Environments
0-Day Up Your Sleeve - Attacking macOS EnvironmentsSecuRing
 
Developer in a digital crosshair, 2022 edition
Developer in a digital crosshair, 2022 editionDeveloper in a digital crosshair, 2022 edition
Developer in a digital crosshair, 2022 editionSecuRing
 
20+ Ways To Bypass Your Macos Privacy Mechanisms
20+ Ways To Bypass Your Macos Privacy Mechanisms20+ Ways To Bypass Your Macos Privacy Mechanisms
20+ Ways To Bypass Your Macos Privacy MechanismsSecuRing
 
How secure are webinar platforms?
How secure are webinar platforms?How secure are webinar platforms?
How secure are webinar platforms?SecuRing
 
20+ Ways to Bypass Your macOS Privacy Mechanisms
20+ Ways to Bypass Your macOS Privacy Mechanisms20+ Ways to Bypass Your macOS Privacy Mechanisms
20+ Ways to Bypass Your macOS Privacy MechanismsSecuRing
 
Serverless security: attack & defense
 Serverless security: attack & defense Serverless security: attack & defense
Serverless security: attack & defenseSecuRing
 
Abusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsAbusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsSecuRing
 
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsWebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsSecuRing
 
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsWebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsSecuRing
 
Let's get evil - threat modeling at scale
Let's get evil - threat modeling at scaleLet's get evil - threat modeling at scale
Let's get evil - threat modeling at scaleSecuRing
 
Attacking AWS: the full cyber kill chain
Attacking AWS: the full cyber kill chainAttacking AWS: the full cyber kill chain
Attacking AWS: the full cyber kill chainSecuRing
 
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standards
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standardsWeb Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standards
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standardsSecuRing
 
Budowanie i hakowanie nowoczesnych aplikacji iOS
Budowanie i hakowanie nowoczesnych aplikacji iOSBudowanie i hakowanie nowoczesnych aplikacji iOS
Budowanie i hakowanie nowoczesnych aplikacji iOSSecuRing
 
We need t go deeper - Testing inception apps.
We need t go deeper - Testing inception apps.We need t go deeper - Testing inception apps.
We need t go deeper - Testing inception apps.SecuRing
 
Building & Hacking Modern iOS Apps
Building & Hacking Modern iOS AppsBuilding & Hacking Modern iOS Apps
Building & Hacking Modern iOS AppsSecuRing
 

More from SecuRing (20)

Developer in a digital crosshair, 2023 edition - 4Developers
Developer in a digital crosshair, 2023 edition - 4DevelopersDeveloper in a digital crosshair, 2023 edition - 4Developers
Developer in a digital crosshair, 2023 edition - 4Developers
 
Developer in a digital crosshair, 2022 edition - Oh My H@ck!
Developer in a digital crosshair, 2022 edition - Oh My H@ck!Developer in a digital crosshair, 2022 edition - Oh My H@ck!
Developer in a digital crosshair, 2022 edition - Oh My H@ck!
 
Developer in a digital crosshair, 2022 edition - No cON Name
Developer in a digital crosshair, 2022 edition - No cON NameDeveloper in a digital crosshair, 2022 edition - No cON Name
Developer in a digital crosshair, 2022 edition - No cON Name
 
Is persistency on serverless even possible?!
Is persistency on serverless even possible?!Is persistency on serverless even possible?!
Is persistency on serverless even possible?!
 
What happens on your Mac, stays on Apple’s iCloud?!
What happens on your Mac, stays on Apple’s iCloud?!What happens on your Mac, stays on Apple’s iCloud?!
What happens on your Mac, stays on Apple’s iCloud?!
 
0-Day Up Your Sleeve - Attacking macOS Environments
0-Day Up Your Sleeve - Attacking macOS Environments0-Day Up Your Sleeve - Attacking macOS Environments
0-Day Up Your Sleeve - Attacking macOS Environments
 
Developer in a digital crosshair, 2022 edition
Developer in a digital crosshair, 2022 editionDeveloper in a digital crosshair, 2022 edition
Developer in a digital crosshair, 2022 edition
 
20+ Ways To Bypass Your Macos Privacy Mechanisms
20+ Ways To Bypass Your Macos Privacy Mechanisms20+ Ways To Bypass Your Macos Privacy Mechanisms
20+ Ways To Bypass Your Macos Privacy Mechanisms
 
How secure are webinar platforms?
How secure are webinar platforms?How secure are webinar platforms?
How secure are webinar platforms?
 
20+ Ways to Bypass Your macOS Privacy Mechanisms
20+ Ways to Bypass Your macOS Privacy Mechanisms20+ Ways to Bypass Your macOS Privacy Mechanisms
20+ Ways to Bypass Your macOS Privacy Mechanisms
 
Serverless security: attack & defense
 Serverless security: attack & defense Serverless security: attack & defense
Serverless security: attack & defense
 
Abusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsAbusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS apps
 
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsWebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
 
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standardsWebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
WebApps vs Blockchain dApps (SmartContracts): tools, vulns and standards
 
Let's get evil - threat modeling at scale
Let's get evil - threat modeling at scaleLet's get evil - threat modeling at scale
Let's get evil - threat modeling at scale
 
Attacking AWS: the full cyber kill chain
Attacking AWS: the full cyber kill chainAttacking AWS: the full cyber kill chain
Attacking AWS: the full cyber kill chain
 
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standards
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standardsWeb Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standards
Web Apps vs Blockchain dApps (Smart Contracts): tools, vulns and standards
 
Budowanie i hakowanie nowoczesnych aplikacji iOS
Budowanie i hakowanie nowoczesnych aplikacji iOSBudowanie i hakowanie nowoczesnych aplikacji iOS
Budowanie i hakowanie nowoczesnych aplikacji iOS
 
We need t go deeper - Testing inception apps.
We need t go deeper - Testing inception apps.We need t go deeper - Testing inception apps.
We need t go deeper - Testing inception apps.
 
Building & Hacking Modern iOS Apps
Building & Hacking Modern iOS AppsBuilding & Hacking Modern iOS Apps
Building & Hacking Modern iOS Apps
 

Hacking Internet of Things

  • 1. Hacking Internet of Things Sławomir Jasek Secure, 15.10.2015
  • 2. Pentester / konsultant bezpieczeństwa Konsultacje i ocena bezpieczeństwa rozmaitych aplikacji – www, mobile, embedded... Od 2003 / ponad 400 projektów Sławomir Jasek
  • 3. Internet of Things Bluetooth Smart Beacony Jak ukraść samochód Podsumowanie ("na bis": opaska sportowa) Agenda
  • 4. INTERNET OF THINGS - Jak być "SMART"
  • 5. "Smart" żarówki – jedynie 70$ sztuka https://www.indiegogo.com/projects/lightfreq-square2-smart-lightbulb-hd-speaker/
  • 6. Dom "Smart" – zrobię inteligentne włączniki! $$$ $ https://www.youtube.com/watch?v=FXyzm61_eZE
  • 7. Po 2 latach ;) http://geek-and-poke.com/geekandpoke/2015/6/3/smartest-homes
  • 9. "Pierwszy na świecie smart" kosz na śmieci Okazja! Jedyne 249$ + worki 19$ https://www.kickstarter.com/projects/brunosmartcan/trash-can-vacuum-bruno-the-worlds-first-smartcan
  • 10. A może bidon który przypomni o piciu wody? https://www.kickstarter.com/projects/582920317/hidrateme-smart-water-bottle
  • 11. A może kubek który powie co jest w środku? www.myvessyl.com
  • 13. "A sensor embedded in a tooth could one day tell doctors when people have defied medical advice to give up smoking or eat less. Built into a tiny circuit board that fits in a tooth cavity, the sensor includes an accelerometer that sends data on mouth motion to a smartphone. Machine learning software is taught to recognise each telltale jaw motion pattern, then works out how much of the time the patient is chewing, drinking, speaking, coughing or smoking" Chip w zębie http://nslab.ee.ntu.edu.tw/publication/conf/TeethProbeISWC.pdf
  • 14. Chip na głowie – poprawi Ci nastrój www.thync.com
  • 15. 1. Wymyślić do czego jeszcze nie włożono chipa. 2. Kupić devkit (Nordic, TI...), czasem odrobinę lutowania 3. Zaimportować kod BLE do aplikacji mobilnej 4. Przekonująca strona + video (bootstrap) 5. Kampania crowdfundingowa! 6. Profit. Startup – jak zrobić urządzenie
  • 16. Ekonomia startup-u wg Cartmana http://southpark.cc.com/full-episodes/s18e01-go-fund-yourself
  • 21. Medycyna, fabryki, samochody, smart home... http://www.bluetooth.com/Pages/Medical.aspx
  • 22. Internet of Things – najczęstszy scenariusz machine learning, Big Data "cloud" "HUB"
  • 23. IoT – te scenariusze ataku znamy od lat... machine learning, Big Data "cloud" "HUB"
  • 24. Bluetooth Smart, Low Energy, 4... Jedna z najpopularniejszych, najprężniejszych technologii IoT. Kompletnie inny protokół niż poprzednie wersje BT. Główny cel: niskie zużycie energii. Najczęstsze sposoby użycia: a) Rozgłaszanie pakietów b) Wymiana danych między urządzeniami
  • 26. Łatwość wdrożenia, dostępność i koszt komponentów. Coraz więcej urządzeń – "wearables", medyczne, smart home Rozkwit beacon'ów i pozycjonowania wewnątrz budynków Physical web Bluetooth Mesh Web bluetooth – dostęp do urządzeń z przeglądarki (API) IPv6 over Bluetooth Smart Przyszłość IoT należy do Bluetooth Smart
  • 27. IPv6 over Bluetooth Smart machine learning, Big Data "cloud" IPv6 IPv6 IPv6 IPv6 IPv6 IPv6 IPv6
  • 28. 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 Bezpieczeństwo - wg specyfikacji https://developer.bluetooth.org/TechnologyOverview/Pages/LE-Security.aspx
  • 29. Ochrona przed atakami na różnych warstwach: • Man-in-the-Middle (MITM) • Pasywny podsłuch • Śledzenie urządzeń/użytkowników "The goal of the LE security mechanism is to protect communication between devices at different levels of the stack. " Bezpieczeństwo - wg specyfikacji https://developer.bluetooth.org/TechnologyOverview/Pages/LE-Security.aspx
  • 31. Niewielkie urządzenia Bluetooth Low Energy do precyzyjnej lokalizacji. Rozgłaszają: • unikalne identyfikatory interpretowane przez aplikacje (standard Apple iBeacon) • dodatkowe opcje: URL, dane np. temperatura (Google Eddystone) Beacony Beacon Eddystone rozgłaszający URL http://www.aislelabs.com/reports/beacon-guide/ Beacon Eddystone widoczny w telefonie
  • 32. Dodatkowe informacje (np. o produktach na półce) na podstawie precyzyjnej lokalizacji. Nagrody, punkty lojalnościowe, "gamifikacja". Automatyczny "Check-in". Nawigacja wewnątrz budynków. Informacja o kradzieży roweru, portfela. "Smart home" – automatyczne otwieranie drzwi, włączanie światła... Beacony – przykładowe scenariusze użycia
  • 33. Detal: ktoś inny może użyć naszych beaconów żeby przedstawić lepszą ofertę konkurencji. Aplikacje dające jakiś zysk po zbliżeniu do beaconu: - możliwość oszukania tego faktu Przejęcie kontroli, rekonfiguracja, kradzież urządzenia: - wymaga fizycznego zbliżenia, ataki celowe lub przypadkowe Ryzyka – zależą od użycia
  • 34. Beacony rozgłaszają sygnał publicznie Szczegóły można podglądnąć np. w darmowej aplikacji. https://play.google.com/store/apps/details ?id=uk.co.alt236.btlescan
  • 37. iBeacon – emulacja #1: LightBlue https://itunes.apple.com/us/app/lightblue-bluetooth-low-energy/id557428110 LightBlue (darmowa) - iPhone, iPad, Mac
  • 38. # hcitool cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 84 2A F9 C4 08 F5 11 E3 92 82 F2 3C 91 AE C0 5E FD E8 AF C8 C5 00 iBeacon – emulacja #2: Bluez
  • 39. # hcitool cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 84 2A F9 C4 08 F5 11 E3 92 82 F2 3C 91 AE C0 5E FD E8 AF C8 C5 00 iBeacon – emulacja #2: Bluez
  • 40. # hcitool cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 84 2A F9 C4 08 F5 11 E3 92 82 F2 3C 91 AE C0 5E FD E8 AF C8 C5 00 iBeacon data broadcast iBeacon prefix (constant) UUID: 842AF9C4-08F51-1E39-282F- 23C91AEC05E Major: FD E8 = 65 000 Minor: AF C8 = 45 000 TX power
  • 41. Czasami wystarczy spreparować żądanie HTTP...
  • 42. iBeacon – dodatkowe informacje w muzeum
  • 43. Atak?
  • 45. # 1. Aby zrekonfigurować dowolny beacon wystarczy zainstalować aplikację deweloperską. # 2. Użytkownik może konfigurować wyłącznie swoje urządzenia (weryfikacja w "chmurze"). Jednak okazuje się, iż ograniczenie jest tylko w GUI. Rekonfiguracja urządzenia nadal nie wymaga uwierzytelnienia. Beacony - konfiguracja
  • 46. Beacony - konfiguracja Statyczny klucz zaszyty w kodzie SDK – trywialny do podglądnięcia po zdekompilowaniu
  • 47. # 3. Stały klucz uwierzytelniający zaszyty w SDK # 4. Indywidualne dane uwierzytelniające w "chmurze". Nowa funkcja: możliwość rekonfiguracji urządzenia za pośrednictwem telefonu użytkownika końcowego (?) Beacony - konfiguracja
  • 48. Po co? - Wandalizm - Rozsiewać spam w Physical Web (URL Eddystone) Warunki wykorzystania - Fizyczna bliskość - Przejęcie telefonu Jeśli atak byłby trywialny (np. publicznie dostępna aplikacja), mógłby być przeprowadzony przez przypadkowego intruza. Beacony – konfiguracja: ryzyko ataku
  • 50. Urządzenie BLE do kontroli nad samochodem
  • 52. Atak "relay" Relay Attacks on Passive Keyless Entry and Start Systems in Modern Cars http://eprint.iacr.org/2010/332.pdf
  • 54. Znany od lat, z powodzeniem stosowany przez złodziei, zwłaszcza kradnących rzeczy z samochodu (nie potrzebują zapłonu). Warunki: • aktywne automatyczne otwieranie po zbliżeniu • zbliżenie się do ofiary w tym samym czasie co kradzież • nie pozwala na otwarcie samochodu w dowolnym momencie później Ale w samochodzie jest również blokada zapłonu... Atak "relay"
  • 56. Bluetooth LE - kanały http://www.connectblue.com/press/articles/shaping-the-wireless-future-with-low-energy-applications-and-systems/ kanały rozgłoszeniowe
  • 57. Open-source (software, hardware). Sprzętowo łapie połączenia i pakiety Bluetooth. Podgląd pakietów w Wireshark. Potrzebne 3 urządzenia aby obstawić wszystkie 3 kanały rozgłoszeniowe. Podsłuch Bluetooth: Ubertooth – 120$ http://greatscottgadgets.com/ubertoothone/
  • 58. Bardzo drogie skanery komercyjne – profesjonalna analiza całego pasma jednocześnie Podsłuch Bluetooth http://www.ellisys.com/products/bex400/ Ellisys Bluetooth Explorer 400 All-in-One Bluetooth® Protocol Analysis System http://www.fte.com/products/BPA600.aspx ComProbe BPA® 600 Dual Mode Bluetooth® Protocol Analyzer
  • 59. FAKT TECHNICZNY #1 - Szyfrowanie w Bluetooth Smart
  • 60. Szyfrowanie działa domyślnie, transparentnie. 1. Parowanie - ustalenie wspólnego "Long Term Key" obu urządzeń za pomocą jednej z metod: JustWorks(R) – po prostu działa ;) PIN Out of band 2. Połączenia po sparowaniu – szyfrowanie AES za pomocą kluczy sesji z LTK Bluetooth LE - szyfrowanie
  • 61. 1. Parowanie Podsłuchanie parowania => odzyskanie klucza Long Term Key (narzędzie crackle), umożliwia odszyfrowanie transmisji szczegóły: http://lacklustre.net/bluetooth/ 2. Połączenia po sparowaniu Teoretycznie możliwy aktywny atak wymuszający renegocjację LTK, w praktyce w większości przypadków nie działa. Bluetooth 4.2 (2014) poprawia bezpieczeństwo transmisji. Bluetooth LE – podsłuch transmisji
  • 62. - Szyfrowanie w Bluetooth Smart //FAKT TECHNICZNY #1
  • 63. Podsłuch parowania – trudne do spełnienia warunki: • musimy być w zasięgu w trakcie pierwszej konfiguracji telefonu z samochodem. Podsłuchiwanie połączenia już sparowanego nie ma sensu – wymagałoby złamania AES. Czy podsłuchanie transmisji nam w ogóle coś da? Atak w praktyce?
  • 65. Urządzenie w samochodzie rozgłasza się jako iBeacon. Pakiety rozgłaszane są publicznie, z łatwością zobaczymy je np. w telefonie. Jak to działa? A jak łączy się do urządzenia aplikacja?
  • 67. 1. Wyszukiwanie konkretnego iBeacona po UUID: ProximityUUIDReady = "61150620-fc5e-11e3-a3ac-0800200c9a01"; int Major, Minor – zapisane w telefonie 2. Nawiązanie połączenia z beaconem public void onEvent(XxxxxScannedEvent paramXxxxxScannedEvent) { beaconList.add(xxxxxBeacon); BleManager.connectManager.connect(xxxxxBeacon.getBluetoothAddress()); To co robimy? Jak działa aplikacja?
  • 68. # hcitool -i hci0 cmd 0x08 0x0008 $IBEACONPROFIX $UUID $MAJOR $MINOR $POWER Emulacja beacona!
  • 69. Czekamy 5 minut Czekamy 10 minut Czekamy 20 minut ... samochód nie działa ;) Jedziemy na miejsce i... https://www.flickr.com/photos/artvlive/19548772122
  • 70. OK, ale jak rozwiązać ten problem? Alice Bob Mallory
  • 71. Stanąć bliżej? Przedłużacz USB? Nie działa ;) A jedna próba to 10 minut w plecy. Podejść bliżej? http://www.usb-cable.com/html/usb-extension-cables.html
  • 72. Class 1 +8dBm Zasięg 100 m 112.90 PLN "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 Silniejszy sygnał? http://www.lairdtech.com/products/bt820
  • 74. FAKT TECHNICZNY #2 - Fale elektromagnetyczne
  • 75. Dyfrakcja (ugięcie fali) to zjawisko fizyczne zmiany kierunku rozchodzenia się fali na krawędziach przeszkód oraz w ich pobliżu. https://pl.wikipedia.org/wiki/Dyfrakcja Zasada Huygensa: "każdy punkt ośrodka, do którego dotarło czoło fali można uważać za źródło nowej fali kulistej" https://pl.wikipedia.org/wiki/Zasada_Huygensa Wróćmy do podstaw https://ilf.fizyka.pw.edu.pl/podrecznik/3/5/10
  • 76. Zagłuszyć sygnał? https://media.defcon.org/DEF%20CON%2023/DEF%20CON%2023%20presentations/Richo%20Healey%20 &%20Mike%20Ryan/DEFCON-23-Richo-Healey-Mike-Ryan-Hacking-Electric-Skateboard.pdf "It’s like they designed the protocol itself to stop us from doing this exact thing" Richo Healey, Mike Ryan – Hacking Electric Skateboard, Defcon 23
  • 78. Wiele sygnałów? Na każdym interfejsie wystawiamy iBeacon. Jedziemy na miejsce i.... Znowu wyładował się akumulator ;) Poza tym trudności z ogarnięciem w systemie wielu interfejsów.
  • 79. Aplikacja łączy się do pierwszego beacon-a którego usłyszy. Co zrobić żeby to naszego beacon-a usłyszała wcześniej niż beacon samochodu? Częściej wysyłać pakiety rozgłoszeniowe! My nie musimy się martwić o baterię. Zaraz, zastanówmy się raz jeszcze...
  • 80. Bluetooth 4 Core Specification - Advertising
  • 81. Bluetooth 4 Core Specification - Advertising BLUETOOTH SPECIFICATION Version 4.0 [Vol 2] page 813
  • 82. hcitool -i hci0 cmd 0x08 0x0006 A0 00 A0 00 00 00 00 00 00 00 00 00 00 07 00 0x0006 – set advertising parameters 0x00A0 (100 ms) 0x07 = 00000111b Default (all channels enabled) hcitool
  • 83. FAKT TECHNICZNY #3 - Stabilność nie jest cechą nowych technologii
  • 84. Bluetooth – Host Controller Interface https://developer.bluetooth.org/TechnologyOverview/Pages/HCI.aspx Linux, BlueZ $ hcitool
  • 85. CSR nie działa stabilnie przy mniej niż 100ms. Komunikacja z firmware niekiedy wymaga specjalnej uwagi. Gdy coś nie działa jak powinno, trzeba wykonać sekwencję różnych komend w odpowiedniej kolejności ;) Problemy z firmware...
  • 86. BLE – funkcja zapewnienia prywatności przez zmianę adresu MAC co sekundę... ... powoduje crash Androida ;) "Bluedroid can only handle seeing 1,990 different Bluetooth MAC addresses before the Android BluetoothService crashes" Stabilność nowych technologii... http://developer.radiusnetworks.com/2014/04/02/a-solution-for-android-bluetooth-crashes.html
  • 87. - Stabilność nie jest cechą nowych technologii //FAKT TECHNICZNY #3
  • 88. OK to jedziemy jeszcze raz, i... https://www.flickr.com/photos/artvlive/19548772122 Próbujemy ... działa! Aplikacja łączy się do naszego beacona! Ale od razu przerywa połączenie i łączy się do samochodu... Po dłuższej chwili jednak udało się "zhakować" samochód! Ale mój ;)
  • 89. FAKT TECHNICZNY #4 - Akumulator
  • 90. Akumulator kwasowo-ołowiowy – rodzaj akumulatora elektrycznego, opartego na ogniwach galwanicznych zbudowanych z elektrody ołowiowej, elektrody z tlenku ołowiu(IV) (PbO2) oraz ok. 37% roztworu wodnego kwasu siarkowego, spełniającego funkcję elektrolitu. Akumulator ołowiowy został wynaleziony przez francuskiego fizyka Gastona Planté w 1859 r. Mimo wielu jego wad jest to wciąż najbardziej popularny rodzaj akumulatorów elektrycznych. Występuje w niemal wszystkich samochodach, a także wielu innych pojazdach (np. Melex). Oprócz tego stanowi często jeden z elementów awaryjnego zasilania budynków, zakładów przemysłowych, szpitali, central telefonicznych i polowych systemów oświetleniowych. Akumulator kwasowo-ołowiowy https://pl.wikipedia.org/wiki/Akumulator_kwasowo-o%C5%82owiowy
  • 92. Oprócz cennika parkingu: Ech... Zapoznajemy się z opłatami dodatkowymi taxi:
  • 94. Jak działa parowanie? Tryb konfiguracji Generuj 24 losowe hasła Zapisz hasła w urządzeniu Używaj pierwszego hasła
  • 95. Jak działa uwierzytelnienie po sparowaniu? ID hasła (00) AES("LOGIN", AES (Challenge, hasło Pobierz "Challenge" Komendy Challenge AES("LOGIN",AES(Challenge,hasło)
  • 96. Tablica haseł? ID hasła (00)ID hasła (25)? AES("LOGIN", AES (Challenge, hasło Pobierz "Challenge" Komendy Challenge AES("LOGIN",AES(Challenge,hasło) Hasło00 Hasło01 Hasło02 Hasło03 ... ... ... ... ... Hasło23 Hasło00 Hasło01 Hasło02 Hasło03 ... ... ... ... ... Hasło23 ? ? ? 0000FFFF
  • 97. FAKT TECHNICZNY #5 - GATT – jak rozmawiać z urządzeniami BLE
  • 98. "Charakterystyki" i "serwisy" "Charakterystyka" to w skrócie zmienna do której można zapisywać lub odczytywać – w zależności od uprawnień. Komunikacja odbywa się za pomocą protokołu GATT. Serwisy i charakterystyki typowe mają krótsze, ustandaryzowane nazwy: GATT Service Characteristic Characteristic Characteristic Service Characteristic Characteristichttps://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx
  • 99. Serwisy własne mają nazwy w formie UUID: public static void readStatus() { BleManager.connectManager.readCharacteristic("f8718d0 0-a51e-11e3-a5e2-0800200c9a66", "8e4f78d0-f6c5-11e3- a3ac-0800200c9a66"); } Odczyt "challenge" w kodzie aplikacji CharacteristicService
  • 100. BlueZ www.bluez.org - gatttool noble (nodejs) https://github.com/sandeepmistry/noble Go https://godoc.org/github.com/paypal/gatt PyBT https://github.com/mikeryan/PyBT "PyBT is a crappy half implementation of a Bluetooth stack in Python" GATT – klient
  • 101. - GATT – jak rozmawiać z urządzeniami BLE //FAKT TECHNICZNY #5
  • 102. Uzbrojeni w wiedzę o akumulatorach i opłatach parkingowych bierzemy 2 laptopy + rower. Jedziemy na miejsce... https://www.flickr.com/photos/mikecogh/6628027085/ Niestety atak na tablicę haseł nie działa. Może funkcja uwierzytelnienia innym kluczem nie jest jeszcze zaimplementowana w urządzeniu? W aplikacji mobilnej nie jest...
  • 104. To już nam się udało wcześniej... Alice Bob Mallory
  • 105. Atak?
  • 106. - setEngineBlockadeSetting – włączenie/wyłączenie blokady zapłonu - setBlinker – ustawienie sekwencji migaczy odblokowującego zapłon - initConfigMode – konfiguracja od nowa (nowe hasła) - initiateDataTransfer – pobranie aktualnej konfiguracji (w tym wszystkie hasła) Komendy po zalogowaniu
  • 107. Atak! PWND! Mój telefon ma hasła i pełną kontrolę nad samochodem
  • 110. Potrzebny serwer GATT z którym połączy się ofiara + klient GATT do jednoczesnego połączenia z samochodem. Dostępne opcje: BlueZ bleno (node)https://github.com/sandeepmistry/bleno PyBT (wtedy jeszcze nie było) BlueZ – wygląda najbardziej obiecująco, od razu wbudowany też klient GATT. MITM Bluetooth GATT ?
  • 111. BlueZ – próba po dobroci... http://www.deezer.com/album/8932449 Dobry wieczór, siadamy do kodu
  • 112. BlueZ – próba po dobroci... http://www.deezer.com/album/8786649 Mają DBUS, możemy to wysterować z command-line
  • 113. BlueZ – próba po dobroci... http://www.deezer.com/album/6761388 Niestety jesteśmy w lesie, DBUS jest w trakcie tworzenia ;)
  • 114. BlueZ – próba po dobroci... http://www.deezer.com/album/434685 Wychodzimy z lasu – są przykładowe profile urządzeń. Wystarczy podmienić charakterystyki i zrekompilować.
  • 115. BlueZ – próba po dobroci... http://www.deezer.com/album/9121411 Niestety znowu piętrzą się trudności. Nie działa.
  • 117. BlueZ – wyższy poziom abstrakcji http://www.deezer.com/artist/6807821 Wielowątkowość jest tu nieźle zamieszana. Tego kodu nie da się tak łatwo zrozumieć...
  • 118. BlueZ – wyższy poziom abstrakcji http://www.deezer.com/album/550125 Gypsy Punk na ratunek!
  • 119. BlueZ – wyższy poziom abstrakcji http://www.deezer.com/album/550140 Dopiero druga płyta daje radę
  • 120. Emulator samochodu działa w "lab" z moim telefonem! Wydajność: 800 challenge+response na minutę. Przy okazji spostrzeżenie: telefon loguje się do urządzenia nawet jeśli ma wyłączoną funkcję automatycznego otwarcia zbliżeniowo. Ta podatność ułatwiłaby atak w praktyce. Wreszcie...
  • 122. Moja żona wspominając że potrzebuje nowy samochód nie myślała o takim modelu ;) No i były ważniejsze prace... Niestety limit czasu się wyczerpał...
  • 123. The circuit behaved in a manner that was inconsistent with the design due to jitter in the setting clock. The voltage across the main power rail fluctuated more than ten volts in either direction during normal operation due to stray harmonics. Moreover, spurious data corruption was noted in the RAM due to residual capacitance caused by the microcontroller. Attempts to further diagnose the source of the problem were unsuccessful due to excessive heat emitted by the bluetooth and the PCB inducing current in the USB connector. We recommend further analysis to rule out electromagnetic interference. Wreszcie przekonujące wyjaśnienie dlaczego nie zadziałało!
  • 125. "Challenge" statyczny, lub problemy z losowością. Fuzzing serwisów GATT. Nadmiarowa, ukryta funkcjonalność (np. debug OTA chipsetu). Funkcjonalność pożyczania. Brute-force? ... i jeszcze kilka innych pomysłów Co jeszcze mogło pójść nie tak?
  • 126. Niestety kontakt się urwał...
  • 127. Uwierzytelnienie drugiej strony transmisji! Traktuj BLE jako niezaufane medium. Aplikacja loguje się do samochodu również gdy opcja autounlock jest wyłączona. Zaciemnienie kodu aplikacji – trzeba jednak pamiętać że to tylko spowalnia analizę. Warto zwrócić uwagę, iż analiza bezpieczeństwa byłaby zdecydowanie łatwiejsza po kupieniu urządzenia. Co można było zrobić lepiej?
  • 129. Bezpieczeństwo urządzeń BLE... BLE != CACY https://www.flickr.com/photos/samstanton/299610271/
  • 130. Analogicznie jak WWW 20 lat temu - był SSL ale nikt nie słyszał o SQL injection. Specyfikacja przekonująco mówi o bezpieczeństwie, ale warstwy transportu. Za bezpieczeństwo warstwy aplikacji odpowiedzialny jest programista. Traktuj BLE jako niezaufane medium. Ryzyko ataku na urządzenia BLE zależy od scenariusza użycia, może zmienić się w czasie – nowe narzędzia, powszechność technologii. Bluetooth Low Energy: ograniczenia sprzętowe, problemy ze wsparciem, problemy ze stabilnością. BLE != CACY
  • 132.
  • 134. Bądź czujny – tak, strzeż tajemnicy – tak, opieraj bezpieczeństwo na tajemnicy – NIE!
  • 135. Zaciemnienie, ograniczenia mogą co najwyżej spowolnić intruza. We współpracy osiągniemy najwięcej w (zawsze) ograniczonym czasie. Wspólnie jesteśmy w stanie wypracować najlepsze rozwiązania problemów. Nawet krótka rozmowa ze specjalistą od bezpieczeństwa może bardzo dużo zmienić, zwłaszcza na etapie koncepcji. Bezpieczeństwa często nie da się "dorobić" później. Whitebox!
  • 137. W prezentacji wykorzystano dostępne w serwisie YouTube fragmenty polskich kronik filmowych (m.in z przemówieniami Edwarda Gierka), a także programu edukacyjnego "Przybysze z Matplanety".