dennis giese and daniel wegemer 34c3 - · pdf...

73
1 Dennis Giese and Daniel Wegemer – 34C3

Upload: trancong

Post on 04-Mar-2018

234 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

1Dennis Giese and Daniel Wegemer – 34C3

Page 2: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

2Dennis Giese and Daniel Wegemer – 34C3

Post presentation remarks 27.12. 21:00

• Rooting is now possible without opening thedevice

• Contact: [email protected]

Page 3: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

3Dennis Giese and Daniel Wegemer – 34C3

Why Xiaomi

“Xiaomi’s ‘Mi Ecosystem’ has 50 million connected devices” [1]

„[…] revenue from its smart hardware ecosystem exceeded 15 billion yuan” (1.9 billion €) [2]

Most important: The stuff is cheap[1] https://techcrunch.com/2017/01/11/xiaomi-2016-to-2017/[2] https://www.reuters.com/article/us-xiaomi-outlook/chinas-xiaomi-targets-2017-sales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ

Page 4: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

4Dennis Giese and Daniel Wegemer – 34C3

Why Vacuum Robots?

Source: Xiaomi advertisment

Page 5: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

5Dennis Giese and Daniel Wegemer – 34C3

Xiaomi Ecosystem

HTTPS

ZigBee

XiaomiCloud

Gateway

WiFi

Page 6: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

6Dennis Giese and Daniel Wegemer – 34C3

Xiaomi Ecosystem

HTTPS

ZigBee

XiaomiCloud

Gateway

Page 7: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

7Dennis Giese and Daniel Wegemer – 34C3

Device Overview

Source: Xiaomi advertisment

Page 8: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

9Dennis Giese and Daniel Wegemer – 34C3

Rooting: Challenges

• Hardware Access

– Micro USB Port ?

– Serial Connection on PCB ?

• Network Based

– Portscan ?

– Sniff Network traffic ?

Page 9: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

10Dennis Giese and Daniel Wegemer – 34C3

Teardown

Page 10: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

11Dennis Giese and Daniel Wegemer – 34C3

Frontside layout mainboard

512 MB RAM

R16SOC

4GBeMMCFlash

WiFi Module

STM32 MCU

Page 11: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

12Dennis Giese and Daniel Wegemer – 34C3

Backside layout mainboard

R16 UART(115200 baud)

TxRx

STM UART (921600 baud)

Tx

LIDAR UART

Page 12: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

13Dennis Giese and Daniel Wegemer – 34C3

Rooting

Our weapon of choice:

Page 13: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

14Dennis Giese and Daniel Wegemer – 34C3

Rooting

Initial Idea:

• Shortcut the MMC data lines

• SoC falls back to FEL mode

• Load + Execute tool in RAM– via USB connector

– Dump MMC flash

– Modify image

– Rewrite image to flash

Source: wikicommons

Page 14: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

15Dennis Giese and Daniel Wegemer – 34C3

Software

• Ubuntu 14.04.3 LTS (Kernel 3.4.xxx)

– Mostly untouched, patched on a regular base

• Player 3.10-svn

– Open-Source Cross-platform robot device interface & server

• Xiaomi proprietary software (/opt/rockrobo)

– AppProxy

– RoboController

– Miio_Client

– Custom adbd-version

• iptables firewall enabled

– Blocks Port 22 (SSHd) + Port 6665 (player)

Page 15: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

16Dennis Giese and Daniel Wegemer – 34C3

Available data on device

• Data– Logfiles (syslogs, duration, area, ssid, passwd)– “/usr/sbin/tcpdump -i any -s 0 -c 2000 –w”– Multiple MBytes/day– Maps

• Data is uploaded to cloud• Factory reset

– Restores recovery to system– does not delete data

• Maps, Logs still exist

Page 16: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

17Dennis Giese and Daniel Wegemer – 34C3

Available data on device

• Maps

– Created by player

– 1024px * 1024px

– 1px = 5cm

Page 17: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

18Dennis Giese and Daniel Wegemer – 34C3

Configurations

• DeviceID– Unique per device

• Keys– Cloudkey (16 byte alpha-numeric)

• Is used for cloud communication

• Static, is not changed by update or provisioning

– Token (16 byte alpha-numeric)

• Is used for app communication

• Dynamic, is generated at provisioning (connecting to new WiFi)

Page 18: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

19Dennis Giese and Daniel Wegemer – 34C3

Robot intern

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

player0.0.0.0:6665

RoboController

AppProxy

wifimgr

*.fds.api.xiaomi.com (https)maps,logs->

<-soundpackages, firmwareuart_mcuuart_ldscompass

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App

<-commands,reports->

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

AES encrypted

Page 19: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

20Dennis Giese and Daniel Wegemer – 34C3

Update process

miIO.ota {"mode":"normal“, "install":"1", "app_url":"https://[URL]/v11_[version].pkg", "file_md5":“[md5]",”proc":"dnld install“}

Page 20: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

21Dennis Giese and Daniel Wegemer – 34C3

Update process

2. Download [app_url]

system_a

system_b

Download

Data

Activecopy

Page 21: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

22Dennis Giese and Daniel Wegemer – 34C3

Update process

2. Download [app_url]

system_a

system_b

Download

Data

Activecopy

Page 22: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

23Dennis Giese and Daniel Wegemer – 34C3

Update processsystem_a

system_b

Download

Data

Activecopy

Page 23: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

24Dennis Giese and Daniel Wegemer – 34C3

Update processsystem_a

system_b

Download

Data

MD5 ok?

Activecopy

Page 24: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

25Dennis Giese and Daniel Wegemer – 34C3

Update processsystem_a

system_b

Download

Data

Activecopy

Page 25: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

26Dennis Giese and Daniel Wegemer – 34C3

Update processsystem_a

system_b

Download

Data

Decrypt + image OK?

Activecopy

Page 26: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

27Dennis Giese and Daniel Wegemer – 34C3

Update processsystem_a

system_b

Download

DataUnpack + dd

Activecopy

Page 27: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

28Dennis Giese and Daniel Wegemer – 34C3

Update processsystem_a

system_b

Download

Data

Activecopy

Update root pwin /etc/shadow

Page 28: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

29Dennis Giese and Daniel Wegemer – 34C3

Update processsystem_a

system_b

Download

Data

dd

Activecopy

Page 29: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

30Dennis Giese and Daniel Wegemer – 34C3

Update processsystem_a

system_b

Download

Data

Activecopy

Page 30: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

31Dennis Giese and Daniel Wegemer – 34C3

Update processsystem_a

system_b

Download

Data

Activecopy

rebooting…

Page 31: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

32Dennis Giese and Daniel Wegemer – 34C3

Update processsystem_a

system_b

Download

Data

Activecopy

rebooting…

Page 32: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

33Dennis Giese and Daniel Wegemer – 34C3

Update processsystem_a

system_b

Download

Data

Activecopy

dd

Page 33: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

34Dennis Giese and Daniel Wegemer – 34C3

Update processsystem_a

system_b

Download

Data

Activecopy

Page 34: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

35Dennis Giese and Daniel Wegemer – 34C3

Firmware updates

• Full and partial images– Encrypted tar.gz archives– Full image contains disk.img

• 512 Mbyte ext4-filesystem

• Encryption– Static password: “rockrobo”– Ccrypt [256-bit Rijndael encryption (AES)]

• Integrity– MD5 provided by cloud

Page 35: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

36Dennis Giese and Daniel Wegemer – 34C3

Lets root remotely

• Preparation– Rebuild Firmware

• Include authorized_keys

• Remove iptables rule for sshd

• Send „miIO.ota“ command to vacuum– Encrypted with token

• From app or unprovisioned state

– Pointing to own http server

Page 36: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

37Dennis Giese and Daniel Wegemer – 34C3

SSH

Page 37: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

38Dennis Giese and Daniel Wegemer – 34C3

Page 38: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

39Dennis Giese and Daniel Wegemer – 34C3

Page 39: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

40Dennis Giese and Daniel Wegemer – 34C3

Page 40: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

41Dennis Giese and Daniel Wegemer – 34C3

Page 41: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

42Dennis Giese and Daniel Wegemer – 34C3

Page 42: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

43Dennis Giese and Daniel Wegemer – 34C3

Gain independence

Two methods:

• Replacing the cloud interface

• Proxy cloud communication

Xiaomi Cloud

Source: 20th Century Fox

Page 43: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

44Dennis Giese and Daniel Wegemer – 34C3

Robot intern

My cloud client

https, mqtt, etc…(local):54322 (tcp)

Replacing the cloud interface

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

*.fds.api.xiaomi.com (https)

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App

<-commands,reports->

player0.0.0.0:6665

RoboController

AppProxy

wifimgr

uart_mcuuart_ldscompass

Page 44: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

45Dennis Giese and Daniel Wegemer – 34C3

Robot intern

Replacing the cloud interface

*.fds.api.xiaomi.com (https)

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

<-commands,reports->

player0.0.0.0:6665

RoboController

AppProxy

wifimgr

uart_mcuuart_ldscompass

Page 45: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

46Dennis Giese and Daniel Wegemer – 34C3

Robot intern

My cloud client

https, mqtt, etc…(local):54322 (tcp)

Replacing the cloud interface

*.fds.api.xiaomi.com (https)

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

FHEMHome Assistant

<-commands,reports->

player0.0.0.0:6665

RoboController

AppProxy

wifimgr

uart_mcuuart_ldscompass

Page 46: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

47Dennis Giese and Daniel Wegemer – 34C3

Robot intern

My cloud client

https, mqtt, etc…(local):54322 (tcp)

Replacing the cloud interface

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

FHEMHome Assistant

/etc/hosts

127.0.0.1 awsbj0...127.0.0.1 aswbj0-files…127.0.0.1 cdn.cnbj0….

<-commands,reports->

player0.0.0.0:6665

RoboController

AppProxy

wifimgr

uart_mcuuart_ldscompass

Page 47: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

48Dennis Giese and Daniel Wegemer – 34C3

Robot intern

player0.0.0.0:6665

RoboController

AppProxy

wifimgr

uart_mcuuart_ldscompass

Proxy cloud communication

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App

*.fds.api.xiaomi.com (https)

<-commands,reports->

Page 48: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

49Dennis Giese and Daniel Wegemer – 34C3

Robot intern

player0.0.0.0:6665

RoboController

AppProxy

wifimgr

uart_mcuuart_ldscompass

Proxy cloud communication

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App

/etc/hosts

130.83.x.x ot.io.mi.com 130.83.x.x ot.io.mi.com

Dustcloud

*.fds.api.xiaomi.com (https)

<-commands,reports->

Page 49: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

50Dennis Giese and Daniel Wegemer – 34C3

Usecases

• Home automation server

• Webradio

• Fileserver

– with integrated UPS

• Bitcoin mining

Page 50: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

51Dennis Giese and Daniel Wegemer – 34C3

Page 51: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

52Dennis Giese and Daniel Wegemer – 34C3

DLC

• Modified firmware (SSH + FHEM)

• Dustcloud (Cloud emulation)

– totally broken, insecure code!

• Pictures, Pinouts, and much more

www.dontvacuum.me

Page 52: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

53Dennis Giese and Daniel Wegemer – 34C3

One word of warning…

• Never leave your devices unprovisioned

– Someone else can provision it for you

• Install malicious firmare

• Snoop on your appartment

• Be careful with used devices

– e.g. Amazon Marketplace

– Some malicious software may be installed

Page 53: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

54Dennis Giese and Daniel Wegemer – 34C3

Acknowledgements & FAQ

• Secure Mobile Networking (SEEMOO) Labs

• Prof. Guevara Noubir (CCIS, Northeastern University)

Page 54: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

55Dennis Giese and Daniel Wegemer – 34C3

Page 55: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

56Dennis Giese and Daniel Wegemer – 34C3

Pin Layout CPU

36

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

A

MMC

Reset D6 D4 D2 D0 D2 D0 CLK TX UART1

B D7 D5 D3 D1 D3 D1 CMD RX

C CLK SDA TWI1

D RX TX CMD SCL

E

F

Recov

ery

Confir

m UART2

G RX TX

H

Line

IN L

J

LINE

IN R

K

PHO

NE IN

L

PHO

NE IN

M

PHO

NE

MIC1

P

N

PHO

NE

MIC2

P

P SDA SCK RESET RSB0

R

T LCD9 LCD7 LCD5 LCD3 LCD1USB-

DM0

USB-

DP0 USB 1

U LCD8 LCD6 LCD4 LCD2 LCD0USB

DRV

USB-

DM1

USB-

DP1 USB 2

DRAM VCC/VDD GND LCD

UART0 MMC2 MMC1

Page 56: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

57Dennis Giese and Daniel Wegemer – 34C3

Overview sensors

• 2D LIDAR SLAM (5*360°/s)• Ultrasonic distance sensor• multiple IR sensors• 3-axis Magnetic Sensor • 3-axis accelerometer• 3-axis gyroscope• Bump sensors

Page 57: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

58Dennis Giese and Daniel Wegemer – 34C3

Sound packages

• Contents of /mnt/data/sounds– Encrypted tar.gz archives

– Contains wav-files in specific language or style

• Encryption– Static password: “r0ckrobo#23456”

– Ccrypt [256-bit Rijndael encryption (AES)]

• Integrity– MD5 provided by cloud

38

Page 58: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

59Dennis Giese and Daniel Wegemer – 34C3

eMMC LayoutLabel Partion

nand{}Size in MByte

Start address

boot-res a 8 0x00008000

env b 16 0x0000c000

app c 16 0x00014000

recovery d 512 0x0001c000

system_a e 512 0x0011c000

system_b f 512 0x0021c000

Download g 528 0x0031c000

reserve h 16 0x00424000

UDISK i ~1900 0x0042c000

39

Page 59: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

60Dennis Giese and Daniel Wegemer – 34C3

eMMC LayoutLabel Content Mountpoint

boot-res bitmaps & some wav files

env uboot cmd line

app device.conf (DID, key, MAC), adb.conf, vinda /mnt/default/

recovery fallback copy of OS

system_a copy of OS (active by default) /

system_b copy of OS (passive by default)

Download temporary unpacked OS update /mnt/Download

reserve config + calibration files, blackbox.db /mnt/reserve/

UDISK logs, maps, pcap files /mnt/data

Page 60: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

61Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 61: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

62Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 62: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

63Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 63: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

64Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 64: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

65Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 65: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

66Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 66: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

67Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 67: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

68Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 68: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

69Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 69: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

70Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 70: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

71Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 71: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

72Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 72: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

73Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->

Page 73: Dennis Giese and Daniel Wegemer 34C3 - · PDF filesales-of-14-5-billion-after-2016-overhaul-idUSKBN14W0LZ. Dennis Giese and Daniel Wegemer –34C3 4 ... (Kernel 3.4.xxx) – Mostly

74Dennis Giese and Daniel Wegemer – 34C3

Communication relations

Miio_client

0.0.0.0:54321 (udp)(local):54322 (tcp)

Miio_client_helper_nomqtt.sh

Miio_send_line

Miio_recv_line

player0.0.0.0:6665 (udp)0.0.0.0:6665 (tcp)

RoboController

AppProxy

rrlogd

SysUpdate

wifimgr

ot.io.mi.com:80(tcp)ott.io.mi.com:8053(udp)

awsbj0-files.fds.api.xiaomi.com (https)

awsbj0.fds.api.xiaomi.com (https)

cdn.cnbj0.files.fds.api.xiaomi.com (https)<-firmware

<-commands,reports->

maps->,logs->

<-soundpackages,logs->

uart_mcuuart_ldscompass

File:gridmapFile:player_server_*.logFile:SLAM_*.logFile:NAV_*.log

File:gridmapsqlite:robot.dbsqlite:blackbox.db

File:device.confFile:device.token

IPCplain json (tcp)enc(key) json (tcp/udp)enc(token) json (udp)

Android/iPhone App<-commands,

reports->