{"id":20632,"date":"2018-01-04T10:30:33","date_gmt":"2018-01-04T15:30:33","guid":{"rendered":"https:\/\/www.kaspersky.com\/blog\/?p=20632"},"modified":"2019-11-15T06:42:38","modified_gmt":"2019-11-15T11:42:38","slug":"xiaomi-mi-robot-hacked","status":"publish","type":"post","link":"https:\/\/www.kaspersky.com\/blog\/xiaomi-mi-robot-hacked\/20632\/","title":{"rendered":"Xiaomi Mi Robot vacuum cleaner hacked"},"content":{"rendered":"<p>The story of the <a href=\"https:\/\/encyclopedia.kaspersky.com\/glossary\/internet-of-things\/?utm_source=kdaily&amp;utm_medium=blog&amp;utm_campaign=termin-explanation\" target=\"_blank\" rel=\"noopener\">Internet and its Things<\/a> may seem as star-crossed a tale as any, but it does not need to be hopeless. Although security researchers Dennis Giese and Daniel Wegemer eventually managed to hack into the Xiaomi Mi Robot vacuum cleaner, their research shows that the device is much more secure than most other smart things are.<\/p>\n<p>In their talk at Chaos Communication Congress 34, which was held in Leipzig recently, the researchers explained how the device\u2019s software works and which vulnerabilities they had to use to finally crack its protection.<\/p>\n<h2>Hacking the Mi Robot with tinfoil<\/h2>\n<p>When they started their research, Giese and Wegemer were amazed to find that the Xiaomi vacuum cleaner has more powerful hardware than many smartphones do: It is equipped with <em>three<\/em> ARM processors, one of which is quad core. Sounds pretty promising, right? So, for starters, Giese and Wegemer tried to use several obvious attack vectors to hack the system.<\/p>\n<p>First, they examined a unit to see if there was a way in through the vacuum cleaner\u2019s micro USB port. That was a dead end: Xiaomi has secured this connection with some kind of authentication. After that, the researchers took the Mi Robot apart and tried to find a serial port on its motherboard. This attempt was likewise unsuccessful.<\/p>\n<p>Their second hacking method was network based. The researchers tried to scan the device\u2019s network ports, but all ports were closed. Sniffing network traffic didn\u2019t help, either; the robot\u2019s communications were encrypted. At this point, I\u2019m already rather impressed: Most other IoT devices would have been hacked by now because their creators usually don\u2019t go this far in terms of security. Our <a href=\"https:\/\/securelist.com\/iot-lottery\/83300\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">recent research on how insecure connected devices are<\/a> illustrates it perfectly.<\/p>\n<p>However, let\u2019s get back to the Xiaomi Mi Robot. The researchers\u2019 next attempt was to attack the vacuum cleaner\u2019s hardware. Here, they finally succeeded \u2014 by using aluminum foil to short-circuit some of the tiny contacts connecting processor to motherboard, causing the processor to enter a special mode that allows reading and even writing to flash memory directly through the USB connection.<\/p>\n<p>That\u2019s how Giese and Wegemer managed to obtain Mi Robot firmware, reverse-engineer it, and, eventually, modify and upload it to the vacuum cleaner, thereby gaining full control over the unit.<\/p>\n<p><span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe class=\"youtube-player\" type=\"text\/html\" width=\"640\" height=\"390\" src=\"https:\/\/www.youtube.com\/embed\/uhyM-bhzFsI?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent\" frameborder=\"0\" allowfullscreen=\"true\"><\/iframe><\/span><\/p>\n<h3>Hacking the Mi Robot wirelessly<\/h3>\n<p>But cracking stuff open and hacking hardware is not nearly as cool as noninvasive hacks. After reverse-engineering the device\u2019s firmware, the researchers figured out how to hack into it using nothing more than Wi-Fi \u2014 and a couple of flaws in the firmware\u2019s updating mechanism.<\/p>\n<p>Xiaomi has implemented a pretty good firmware-update procedure: New software arrives over an encrypted connection, and the firmware package is encrypted as well. However, to encrypt update packages, Xiaomi used a static password \u2014 \u201crockrobo\u201d (don\u2019t use weak passwords, kids). That allowed the researchers to make a properly encrypted package containing their own rigged firmware.<\/p>\n<p>After that, they used the security key they obtained from Xiaomi\u2019s smartphone app to send a request to the vacuum cleaner to download and install new firmware \u2014 not from Xiaomi\u2019s cloud but from their own server. And that\u2019s how they hacked the device again, this time wirelessly.<\/p>\n<h3>Inside the Mi Robot\u2019s firmware<\/h3>\n<p>Examining the firmware, Giese and Wegemer learned a couple of interesting things about Xiaomi smart devices. First, the Mi Robot firmware is basically Ubuntu Linux, which is regularly and quickly patched. Second, it uses a different superuser password for each device; there\u2019s no master password that could be used to mass-hack a whole lot of vacuum cleaners at once. And third, the system runs a firewall that blocks all ports that could be used by hackers. Again, hats off to Xiaomi: By IoT standards, this is surprisingly good protection.<\/p>\n<p>The researchers also learned something disappointing about Mi Robot, however. The device collects and uploads to Xiaomi cloud a <em>lot<\/em> of data \u2014 several megabytes per day. Along with reasonable things such as device operation telemetry, this data includes the names and passwords of the Wi-Fi networks the device connects to, and the maps of rooms it makes with its built-in lidar sensor. Even more disturbing, this data stays in the system forever, even after a factory reset. So if someone buys a used Xiaomi vacuum cleaner on eBay and roots it, they can easily obtain all of that information.<\/p>\n<p>Concluding this post, it\u2019s worth emphasizing that both of the techniques Giese and Wegemer used enabled them to hack only their own devices. The first one required physical access to the vacuum cleaner. As for the second, they had to obtain the security key to make an update request, and those keys are generated every time the device is paired with the mobile app. The security keys are unique, and it\u2019s not that easy to get them if you don\u2019t have access to the smartphone that is paired with the Xiaomi device you\u2019re going to hack.<\/p>\n<p>All in all, it doesn\u2019t look like the Xiao<a href=\"https:\/\/usa.kaspersky.com\/blog\/internet-of-vulnerabilities\/14151\/\" target=\"_blank\" rel=\"noopener noreferrer\">mirai<\/a> is nigh. Quite the contrary: The research shows that Xiaomi puts much more effort into security than most other smart device manufacturers do, and that is a hopeful sign for our connected future. Almost everything can be hacked, but if something takes a lot of effort to hack, it\u2019s less likely that criminals will bother trying \u2014 they are usually after easy money.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Xiaomi\u2019s robotic vacuum cleaner was hacked by security researchers. However, it proved much more secure than most other smart devices.<\/p>\n","protected":false},"author":421,"featured_media":20633,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5,2683],"tags":[2801,2800,2802,1027,527,658,794,2803],"class_list":{"0":"post-20632","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-news","8":"category-threats","9":"tag-34c3","10":"tag-ccc","11":"tag-chaos-communication-congress","12":"tag-connected-devices","13":"tag-hacks","14":"tag-internet-of-things","15":"tag-iot","16":"tag-xiaomi"},"hreflang":[{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/xiaomi-mi-robot-hacked\/20632\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/xiaomi-mi-robot-hacked\/12109\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/xiaomi-mi-robot-hacked\/10078\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/xiaomi-mi-robot-hacked\/14341\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/xiaomi-mi-robot-hacked\/12567\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/xiaomi-mi-robot-hacked\/12277\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/xiaomi-mi-robot-hacked\/15086\/"},{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/xiaomi-mi-robot-hacked\/14886\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/xiaomi-mi-robot-hacked\/19422\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/xiaomi-mi-robot-hacked\/4591\/"},{"hreflang":"pl","url":"https:\/\/plblog.kaspersky.com\/xiaomi-mi-robot-hacked\/8736\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/xiaomi-mi-robot-hacked\/15605\/"},{"hreflang":"zh","url":"https:\/\/www.kaspersky.com.cn\/blog\/xiaomi-mi-robot-hacked\/9107\/"},{"hreflang":"ja","url":"https:\/\/blog.kaspersky.co.jp\/xiaomi-mi-robot-hacked\/19218\/"},{"hreflang":"nl","url":"https:\/\/www.kaspersky.nl\/blog\/xiaomi-mi-robot-hacked\/23808\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/xiaomi-mi-robot-hacked\/19309\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/xiaomi-mi-robot-hacked\/19297\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.com\/blog\/tag\/34c3\/","name":"34c3"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/20632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/users\/421"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/comments?post=20632"}],"version-history":[{"count":5,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/20632\/revisions"}],"predecessor-version":[{"id":29840,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/20632\/revisions\/29840"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/media\/20633"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/media?parent=20632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/categories?post=20632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/tags?post=20632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}