Skip to content
forked from dgiese/dustcloud

Xiaomi Vacuum Robot Reverse Engineering and Hacking

Notifications You must be signed in to change notification settings

lemmure/dustcloud

 
 

Repository files navigation

Initial submission, more tools and information will follow ;)

You can find a step-by-step guide how to wirelessly root your vacuum robot here.

Our presenation was designed for 35 minutes, however our time was cut to 20 minutes. Therefore we had to reduce the content in our presentation. You can find a more detailed version of our 34c3 presentation with more details here. More technical information you find here (techinfo.pdf).

FAQ

Can you hack all Xiaomi vacuum cleaners connected to the internet?

No, you can root only your own device, devices which are in your own wifi or where you have physical access to.

Do you consider the Xiaomi cloud as insecure?

Actually we think that Xiaomi did a good job in designing their cloud protocol (at least from a security perspective).

Is it required to open the robot / break the warranty seals to root it?

No, you can push the firmwareupdate to the robot without opening it. See the Update howto.

Does the root also work for Gen2?

There might be a way to root also Gen2. However as I (Dennis) do not have access to a Gen2 vacuum, i cannot give you more information on that. As soon as i will get my own Gen2 vacuum, i will update the information. [P.S.: you have a Gen2 vacuum and are on the 34C3? Then we should meet ;) ]

Why there is still no custom patched firmware available (with SSH)?

While you can build your own firmware with SSH, we are not sure if we want to provide a pre-rooted version with some default SSH keys. As we know you (and us) some people might not change the keys afterwards. So instead of giving just you access to the vacuum, other people would have also access to your vacuum. We would like to make the world safer and not more vulnerable. Therefore we are thinking of some solution for that.

Ist Dustcloud breaking the HTTPS connection / any SSL connection?

No, dustcloud requires the symmetric key (extracted from /mnt/default/device.conf) to decrypt the AES connection to the cloud. The same key is used to encrypt the forwarded messages to the cloud. Note: I personally think that Xiaomis approach of device's unique AES key solves a lot of cloud problems: authentication, integrity (over hmac) and confidentiality.

Contact

  • Dennis Giese <dgi[at]posteo.de>
  • Daniel Wegemer <daniel[at]wegemer.com>

Acknowledgements:

Prof. Matthias Hollick at Secure Mobile Networking Lab (SEEMOO)

SEEMOO logo

Prof. Guevara Noubir (CCIS, Northeastern University)

CCIS logo

About

Xiaomi Vacuum Robot Reverse Engineering and Hacking

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 55.2%
  • PHP 34.2%
  • Shell 10.6%