{"id":2447,"date":"2022-03-09T23:46:38","date_gmt":"2022-03-10T06:46:38","guid":{"rendered":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/?p=2447"},"modified":"2022-03-09T23:46:42","modified_gmt":"2022-03-10T06:46:42","slug":"this-12-toy-can-open-a-garage-door-in-seconds","status":"publish","type":"post","link":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/2022\/03\/09\/this-12-toy-can-open-a-garage-door-in-seconds\/","title":{"rendered":"This $12 toy can open a garage door in seconds"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">What is this:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Samy Kamkar &#8211; a security researcher has developed a method that enables him to open almost any garage door that uses an insecure \u201cfixed code\u201d system in seconds. The device he built called OpenSesame, using a new attack he\u2019s discovered, to reduce the time needed to guess the code to open the garage.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" data-src=\"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-content\/uploads\/sites\/115\/2022\/03\/0mattel-2.jpg\" alt=\"\" class=\"wp-image-2455 lazyload\" width=\"512\" height=\"384\" data-srcset=\"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-content\/uploads\/sites\/115\/2022\/03\/0mattel-2.jpg 500w, https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-content\/uploads\/sites\/115\/2022\/03\/0mattel-2-300x225.jpg 300w\" data-sizes=\"(max-width: 512px) 100vw, 512px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 512px; --smush-placeholder-aspect-ratio: 512\/384;\" \/><figcaption>IM-ME<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">It is built from a discontinued Mattel toy, called the IM-ME. The IM-ME is a defunct toy and Mattel no longer produces it, but if you are lucky, you can find it on Amazon or eBay with prices varying from $12 to $100.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How does this work:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The issue with fixed code is their limited keyspace. For example, a common garage uses an 8-12 bit code. They are binary and since the password that opens the garage is fixed, there are only 256 to 4096 possible combinations. We can see even the 2-character password is more secure than the 12-bit binary dip switches.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kamkar starts with a normal brute-force attack, and it took around 29 minutes. He says that normally a single click sends the same code 5 times. It takes 2ms to send each bit and also a 2ms wait period per bit after the entire code is sent. That is why to break the 12-bit code, we have to send a total of 98304 bits to produce every 12-bit code and wait period. This is not bad, but he felt that there was a need to reduce the time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First, he stops retransmitting each code. This of course significantly reduces the amount of time by 5 times.&nbsp; This is a great improvement, however, reducing the time can even be more effective if we can eliminate the waiting period between sent codes. In order to achieve that, the number of codes we send must be as few as possible. In the best scenario, we could send just only one code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">He realizes that the \u201cfixed code\u201d garage uses a bit shift register to decode the received codes if it works or not. This is actually a weak link of the system since this makes the method above possible. By using a bit shift register method, when encountering an incorrect code, instead of clearing it, the garage will just shift out one bit and pull in one bit of the next code transmitted. Let\u2019s say our garage password is 1010 which is a 4-bit code. If we send a code \u201c11010\u201d, the garage will first test 1101 (incorrect). Then, it removes the first bit and pulls the next one bit which becomes 1010 (correct). That means, instead of sending 12 bits (to test two 4-bits codes and a 4-bits wait period), we just need to send 5 bits. Kamkar uses an algorithm called <em>the De Bruijn sequence<\/em>. The method produces a single code that uses as few bits as possible and includes every possible combination of (in this case) 12-bits code. By using this method, he calculates that a total of bits to send are 4107 bits, only around 4 percents compare to the normal method (98304 bits).<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"735\" data-src=\"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-content\/uploads\/sites\/115\/2022\/03\/db-1024x735.png\" alt=\"\" class=\"wp-image-2451 lazyload\" data-srcset=\"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-content\/uploads\/sites\/115\/2022\/03\/db-1024x735.png 1024w, https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-content\/uploads\/sites\/115\/2022\/03\/db-300x215.png 300w, https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-content\/uploads\/sites\/115\/2022\/03\/db-768x551.png 768w, https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-content\/uploads\/sites\/115\/2022\/03\/db.png 1284w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/735;\" \/><figcaption>An Example of a 3-bits OpenSesame Attack https:\/\/samy.pl\/opensesame\/<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">How to prevent it:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If one owns a house that is built in 1995 and before, they will most likely have a fixed code garage door opener and face a high risk of security.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Basically, this method only works with garages that use fixed code. To prevent this type of attack or any traditional brute-forcing attack, Kamkar suggests an upgrade to a system that uses rolling codes, hopping codes, etc\u2026\u00a0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">References:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/samy.pl\/opensesame\/\">https:\/\/samy.pl\/opensesame\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/hackaday.com\/2015\/06\/08\/hacking-the-im-me-to-open-garages\/\">https:\/\/hackaday.com\/2015\/06\/08\/hacking-the-im-me-to-open-garages\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.wired.com\/2015\/06\/hacked-kids-toy-opens-garage-doors-seconds\/\">https:\/\/www.wired.com\/2015\/06\/hacked-kids-toy-opens-garage-doors-seconds\/<\/a><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"This Toy Can Open Any Garage\" width=\"640\" height=\"360\" data-src=\"https:\/\/www.youtube.com\/embed\/CNodxp9Jy4A?start=2&#038;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"0\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is this: Samy Kamkar &#8211; a security researcher has developed a method that enables him to open almost any garage door that uses an insecure \u201cfixed code\u201d system in seconds. The device he built called OpenSesame, using a new attack he\u2019s discovered, to reduce the time needed to guess the code to open the &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/2022\/03\/09\/this-12-toy-can-open-a-garage-door-in-seconds\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;This $12 toy can open a garage door in seconds&#8221;<\/span><\/a><\/p>\n","protected":false},"author":419,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[15],"tags":[],"class_list":["post-2447","post","type-post","status-publish","format-standard","hentry","category-cpsc-329-602-w22","entry"],"featured_image_src":null,"featured_image_src_square":null,"author_info":{"display_name":"Vu Nguyen","author_link":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/author\/vu-nguyen\/"},"_links":{"self":[{"href":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-json\/wp\/v2\/posts\/2447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-json\/wp\/v2\/users\/419"}],"replies":[{"embeddable":true,"href":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-json\/wp\/v2\/comments?post=2447"}],"version-history":[{"count":8,"href":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-json\/wp\/v2\/posts\/2447\/revisions"}],"predecessor-version":[{"id":2462,"href":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-json\/wp\/v2\/posts\/2447\/revisions\/2462"}],"wp:attachment":[{"href":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-json\/wp\/v2\/media?parent=2447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-json\/wp\/v2\/categories?post=2447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpsites.ucalgary.ca\/isec-601-f21\/wp-json\/wp\/v2\/tags?post=2447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}