За "бойлера с копче" или трябва ли ни защитна стена за тостера?
Според данните, публикувани на сайта на Statista, броя на свързаните IoT системи през 2018 г. е 23,14 милиарда, като се очаква след 5 години да се удвои (прогнозата е да достигне 51,11 милиарда). Тези цифри може да не са стряскащи за потребителите и да се харесват на производителите, но за специалиситите в областта на киберсигурността звучат заплашително. Само си представете - милиарди устройства, част от които с налични уязвимости, остярял фърмуер, без опция да се подмени, свързани към интернет и разнородни сензори и изпълнителни механизми, потенциално достъпни и използвани от злонамерени хакери.
В следващите редове ще се опитам да ви накарам да намерите за себе си отговора на въпроса - "Трябва ли ни бойлер с копче?".
В БАРЗИКТ през 2018 г. проведохме няколко публични лекции, свързани с киберсигурността. Темата на две от тях беше "Разкриване и разледване на киберпрестъпления" и там акцентирахме върху малка част от актуалните (към момента) методи за атаки, насочени в частност към IoT устройства.
По време на едно от представянията много силно впечателние ми направи коментара на колега (притежаващ много добро чувство за хумор), който най-общо звучеше като - "Хора, не искам бойлер с интернет достъп, искам бойлер с копче, което аз да контролирам." Тогава се замислих, че за масовия потребител добавянето на смарт функции към устройствата, които използваме ежедневно може да е полезно и интересно, но това води и до някои рискове. Една забележка - въпреки че се надявам да мога да оценя опасностите, аз също бих избрал фурната с голям цветен дисплей и управление през смартфон пред тази с класически, надеждни и лесни за използване копчета, а причината е, че харесвам новите технологии.
Тук е мястото да се опитам да дефинирам няколко от сериозните пробеми, свързани с киберсигунростта и IoT устройствата. Разбира се има редица анализи по проблема, но този на DarkReading е един от най-добре систематизираните. В него са описани следните категории проблеми:
- Лоши Web-базирани интефейси - много IoT устройства използват именно тази технология за конфигуриране и наблюдение. Въпреки нейните предимства тя крие и редица рискове. Често пъти не се извършва валидиране на въведените данни или не се изискват да се въведат надеждни пароли. Не само при "масови" системи има случаи на възможност за атаки от типа "directory traversal" и "command injection", те се срещат и при устройства от високия сегмент на реномирани производители. Използваните разновидности на Linux като базова операционна система позволяват тези атаки да имат сравнително голямо влияние върху сигурността.
- Липсваща автентификация - не само достъпът до Web-базираните интерфейси трябва да бъде посдигурен, но също така е небоходимо да се защити и свързването на разнородните IoT системи в една обща мрежа. От DarkReading постявят въпрос, свързан с осигуряването на единна автентификация (Single Sign On). Този подход за момента все още се развива и е проблемен от гледна точка на IoT. Често пъти се срещат продукти на различни производитeли с вградени в конфигурацията им пароли и потребителски имена, които след анализи се публикуват в интернет. Именно такъв е случаят с китайска прахосмукачка робот с вградени камери за "охрана", която се явява повече "шпионин" отколкото "охранител", след като разберете, че паролата за административен достъп до нея е 888888.
- Конфигурационни параметри по подразбиране - освен гореописаните потребителски имена и пароли често пъти се срещат отворени портове, които не се използват, но са достъпни и могат да бъдат използвани във фазата на разузнаване при потециални злонамерени действия (атаки), насочени към IoT системите.
- Грешки във фърмуера и остарели версии - поради програмни грешки, зловредния код VPNFilter успя да зарази над 500000 (по данни към 24.05.2018 г.) маршрутизатори и NAS системи. Представете си какъв ще е броят на заразените системи, ако подобно злонамерено действие бъде реализирано успешно към смарт крушки или други много популярни домашни устройства. Много сериозен проблем, свързан с фърмуера на IoT системите е остарелият управляващ софтуер, който много трудно може да бъде обновен или въобще няма да бъде поддържан от съответния производител.
- Проблемни интерфейси, свързани с облачни услуги - благодарение на лоша защита, хакери успяха да получат достъп до над 170000 охранителни камери през облачна система за тяхното наблюдение от страна на потребителите. Ясно се вижда, че в тази ситуация слабото звено е облачната система, но към момента водещите прозиводители имат сравнително добре подсигурени платформи (например Azure с AWS). Винаги съществува риск, фирма, която е по-нова на пазара или не инвестира в подобна защита, да изложи своите клиенти на риск.
- Проблеми в мрежовата комуникация - поради ограничените хардуерни ресурси или такива на операционните системи много IoT системи не могат да използват високо надеждни крипотографски методи за защита на пренасяните данни. Това може да се дължи и на липса на съвместимост между отделните устройства. Редица класически мрежови атаки могат лесно да бъдат приложени към сегмента на IoT решенията. Сред тях са MITM, Address Spoof, Flood, ARP Cache Poisoning и много др.
- Приложението на IoT в индустриални системи - все още съществува нагласа да се избягва използването на IoT в производството, но концепцията Индустрия 4.0 дефинира именно тази технология като един от основните си стълбове.
Използвам смарт система за управление на осветлението IKEA TRADFRI. Доволен съм от нея - работи добре и се настройва сравнително лесно, но все пак реших да направя бърз анализ на нейната защита (без да използвам метода на грубата сила - разбирайте разглобяване). Стартирах Kali и сканирах Gateway модула с Nmap. Признавам си, очаквах да видя много отворени портове и ясно разпозната операционна система, но за моя изненада това не беше така. Единствено порт 80 беше засечен като отворен, а дългият "fingerprint" показа, че операцаионната система не е еднозначно определена. До тук добре - 1:0 за TRADFRI.
Следващата стъпка, която предприех беше да засека WiFi трафика между Gateway модула и телефон, с който през Android имам възможност да управлявам осветлението. Тук тайната ми надежда беше, че ще открия MQTT. Смених режима на безжичната карта на Monitor и засякох мрежовите пакети, като се постарах да организирам нещо подобно на рок концерт - всевъзможни цветови температури и интензитет на крушките в рамките на около минута.
Разполагах с PCAP файл със записаните пакети. Разбира се, те бяха в IEEE 802.11 формат и за да мога да прегледам съдържанието им използвах една от изключително полезните функции на Wireshark - "Enable Decryption" от разширените настройки на протокола (Protocol Preferences). Въпреки че може да се въведе комбинацията от ssid:password, използвах прост Python скрипт, с който генерирах байтовете на ключа (psk):
Декодирането беше успешно, а трафика между смартфона и Gateway модула беше пренесен посредством DTLS.
2:0 за TRADFRI. Използването на DTLS е много добро решение. По този начин надеждно се подсигурява трафика и се запазва транспортния протокол да е UDP. Шифрираните данни на IoT системата няма да могат да бъдат декодирани, дори ако някои мой съсед знае или е хакнал паролата ми за WiFi мрежата.
Ако все пак някой получи достъп до мрежата, където е свързан Gateway модула, посредством разработените от IKEA програмни интерфейси за TRADFRI, теоретично ще може да се получи достъп до осветлението (записвам си, че това трябва да го тествам).
Също така е PCAP файла не срещнах MQTT, което ме накара да се усмихна.
До тук анализът звучи успокоително, но дали бихте направили подобни проверки за всяко отделно IoT устройство, с което разполагате? Всеки път ли ще повтаряте сканиранията, когато обновите фърмуер или купите нещо ново? Ето го и риска - винаги може да се натъкнем на един от 7те проблема, описани в началото.
Как да избегнем потенциалните заплахи за сигурността? Ето и два подхода:
- Използваме "бойлер с копче". Просто избягваме IoT системите, но след време, това ще е сравнително трудно, защото все повече производители започват да интегрират подобна функционалност в своите нови продукти;
- Инсталираме защитна стена (за тостера), която да ни предпази от потенциални атаки и неоторизиран достъп.
От инженерна гледна точка второто решение е по-добро, а в момента се наблюдава и тенденция за пускане на пазара на подобни сиситеми, които да са евтини, лесни за конфигуриране и надеждни (без да си избирате едно от трите). През 2018 г. екип от специалисти (бивши служители на Cisco Systems) предсавиха Firewalla. Едно от интересните решения при това устройство е функцията "Family Time", при която за един час се блокира достъпа до най-популярните социални мрежи. Добра идея, но едва ли ще бъде много популярна сред тийнейджърите.
Замислих се, дали бих инсталирал подобна система на моята мрежа и дали бих я препоръчал на познати. Стигнах до извода, че лично аз не бих инвестирал в подобно устройство (въпреки привлекателната цена от около 150$ за по-мощния модел). Причината е, че бих използвал вградените средства за защита на маршрутизатора ми (не е TP-Link) и бих внимавал, какви IoT устройства използвам. Разбира се, оценявам и риска. Ако някой мой приятел или познат, който е с по-малко познания за мрежови технологии, попита за подобно решение - бих му го препоръчал. Причините са лесното управление и повишаването на защитата на мрежата като цяло (оставям на страна "Family Time").
И ако се върнем на въпроса в заглавието, "трябва ли ни защитна стена за тостера", то отговорът е ... зависи от тостера, ако е с копче - не, но ако е смарт, ще трябва да се замислим.