Концепция умного города включает в себя объединение различных современных технологий и решений, способных обеспечить комфорт и удобство получения услуг, безопасность граждан, рациональное потребление ресурсов и т.д. Мы хотим обратить внимание на то, что часто выпадает из поля зрения поклонников концепции умного города – на безопасность самих элементов умного города. Инфраструктура умных городов развивается быстрее, чем средства ее защиты, что оставляет большой простор для деятельности как любопытных исследователей, так и злоумышленников.
Эта статья была подготовлена совместно с Владимиром Дащенко в рамках поддержки «Лабораторией Касперского» международной некоммерческой инициативы «Securing Smart Cities», созданной, чтобы объединить экспертов в области информационной безопасности технологий умных городов. Больше об инициативе можно прочитать здесь: securingsmartcities.org
Горе от ума
Парки и улицы современных городов пестрят терминалами оплаты парковки, пунктами вело-проката и станциями быстрой подзарядки мобильных устройств. Аэропорты и вокзалы предлагают стойки самостоятельной оплаты билетов и получения справочной информации. В кинотеатрах располагаются терминалы покупки билетов на киносеансы. В поликлиниках и государственных учреждениях посетителей встречают устройства электронных очередей. Даже платные общественные туалеты оснащаются терминалами оплаты, хотя встречаются такие решения нечасто.
Примеры терминалов для оплаты билетов в кино
Однако, чем сложнее устройство, тем больше вероятность наличия в нем уязвимостей и недостатков конфигурации. Вероятность того, что устройства «умного города» однажды станут мишенью киберпреступников, далеко не нулевая. Сценарии возможного использования злоумышленниками этих устройств в корыстных целях вытекают из их особенностей.
- Многие из них расположены в публичных местах.
- Доступны в режиме 24/7.
- Имеют одинаковую конфигурацию в рамках одного типа устройств.
- Имеют повышенную степень доверия со стороны пользователя.
- Обрабатывают пользовательские данные: персональную и финансовую информацию.
- Связаны друг с другом и могут иметь выходы в другие локальные сети.
- Как правило, имеют выход в интернет.
Время от времени мы читаем новости о взломе очередного электронного дорожного знака, на котором вместо привычной надписи о ремонте дороги появилось предупреждение «Zombies ahead». Или новости об обнаруженных уязвимостях в системах управления светофорами и загруженностью дорог. Это отличные исследования, но существующие элементы инфраструктуры умного города не ограничиваются светофорами и дорожными знаками.
Мы решили изучить некоторые элементы современного города:
- Touch-терминалы для оплаты услуг (билетов, парковки и пр.);
- Информационно-развлекательные терминалы в такси;
- Информационные терминалы в аэропортах и на вокзалах;
- Элементы дорожной инфраструктуры (камеры регистрации скорости и дорожные роутеры).
Терминалы «умного города»
В техническом смысле почти все терминалы оплаты и оказания услуг, независимо от назначения, – обычные ПК с сенсорными экранами. Основное их отличие заключается в наличии режима «киоска» – интерактивной графической оболочки, которая перекрывает пользователю доступ к привычным функциям ОС, оставляя лишь ограниченный набор возможностей, необходимых для исполнения назначения терминала. Но это в теории. Как показало наше «полевое» исследование, у большинства таких терминалов отсутствует надежная защита от выхода из режима «киоска» и получения доступа к функционалу ОС.
Выход из режима «киоска»
Техники выхода из режима «киоска».
Существует несколько типов уязвимостей, которым подвержены очень многие терминалы. Соответственно, существующие техники атак нацелены на использование этих уязвимостей.
Последовательность действий для выхода из полноэкранного приложения проиллюстрирована на рисунке ниже.
Методология анализа защищенности публичных терминалов
Tap fuzzing
Техника tap fuzzing представляет собой попытку выхода из полноэкранного приложения за счет некорректной обработки при взаимодействии с полноэкранным приложением. Хакер нажимает пальцами на углы экрана, чтобы вызвать контекстное меню путем длительного нажатия на различные элементы экрана. Если хакер найдет такие слабые места, он попытается вызвать одно из имеющихся стандартных меню ОС (печать, справка, свойства объекта и т.д.) и добраться до экранной клавиатуры. После этого у хакера появится доступ к командной строке, и дальше он сможет делать с системой все, что угодно – исследовать содержимое жёсткого диска терминала в поисках ценных данных, выходить в Сеть, устанавливать различные приложения, в том числе вредоносные.
Data fuzzing
Техника под названием data fuzzing при удачной эксплуатации также приводит к появлению на экране «скрытых» стандартных элементов ОС, но иным способом. Для выхода из полноэкранного приложения хакер подставляет различные данные в доступные поля ввода с целью спровоцировать некорректную работу «киоска». Это может сработать, например, если разработчик полноэкранного приложения не смог корректно настроить фильтр на проверку введенных пользователем данных (длина строки, наличие специальных символов и т.п.). Как результат, злоумышленник может ввести некорректные данные и спровоцировать необрабатываемое приложением исключение: ошибка приведет к открытию окна операционной системы с уведомлением пользователя о проблеме.
Как только удается вызвать элемент стандартного интерфейса операционной системы, можно переходить в панель управления, например, через разделы справочной информации. Панель управления будет отправной точкой для запуска виртуальной клавиатуры.
Другие способы
Ещё один способ выхода за пределы «киоска» – поиск внешних ссылок, которые позволят перейти на сайт какой-либо поисковой системы и далее на другие сайты. Из-за недосмотра разработчиков многие из встречавшихся нам полноэкранных приложений в терминалах содержат ссылки на внешние ресурсы или социальные сети: «ВКонтакте», Facebook, Google+ и другие. Мы нашли внешние ссылки в интерфейсе терминалов оплаты билетов в кинотеатре и в терминалах для оплаты вело-парковки, о которых мы расскажем далее.
Другим сценарием выхода за пределы полноэкранного приложения может стать использование стандартных элементов интерфейса операционной системы. При использовании доступных диалоговых окон ОС Windows в некоторых терминалах у злоумышленника есть возможность вызвать элементы управления данным окном, что опять же позволяет покинуть пределы виртуального «киоска».
Пример выхода из полноэкранного приложения для оплаты билетов в кинотеатре
Терминалы оплаты проката велосипедов
Жители некоторых стран, например, Норвегии, России и США, могут встретить на улицах своего города платежные терминалы оплаты проката велосипедов. Устройством вывода в платежном терминале служит дисплей, используя который пользователь может зарегистрироваться, чтобы прокатиться на велосипеде и получить справочную информацию.
Строка статуса, которая содержит URL
В этой системе терминалов мы обнаружили одну особенность. В разделе «Карты» разработчики использовали карты от компании Google, при этом виджет от Гугла имеет строку статусбара, в котором среди прочей информации содержатся ссылки «Сообщить об ошибке», «Конфиденциальность» и «Условия использования». Клик по любой из этих ссылок открывает стандартное окно Internet Explorer, а вместе с ним и доступ к интерфейсу ОС.
Помимо этих ссылок в данном приложении разбросаны и другие – например, при показе тех или иных мест на карте можно нажать кнопку «Подробнее» и открыть страницу в браузере.
Internet Explorer открывает не только веб-страницу, но и новые возможности для злоумышленника
Оказалось, что вызвать виртуальную клавиатуру тоже несложно: по ссылкам на страницах со справочной информацией есть возможность перейти в раздел справки, который называется «Специальные возможности», где и прячется виртуальная клавиатура. Этот недостаток конфигурации позволяет запускать приложения, которые не нужны для функционирования данного устройства.
Запуск cmd.exe демонстрирует еще один, критический недостаток конфигурации: текущий сеанс операционной системы запущен с привилегиями администратора, а это значит, что атакующий может беспрепятственно запустить любое приложение.
Текущий сеанс Windows запущен с правами администратора
Кроме того, атакующий может получить NTLM-хэш пароля администратора. При этом велика вероятность, что пароль, установленный на данном устройстве, подходит и к остальным устройствам данного типа.
Причем в данном случае злоумышленник может раздобыть не просто NTLM-хэш, который еще нужно брутфорсить для получения пароля, а сразу пароль администратора, поскольку пароли можно извлечь из памяти в открытом виде.
Кроме того, злоумышленник может получить дамп приложения, которое собирает информацию о желающих покататься на велосипеде: ФИО, адрес электронной почты и телефон. Не исключено, что база данных с этой информацией хранится где-то неподалеку. Такая база будет иметь особую ценность на рынке, ведь в ней содержатся верифицированные почтовые адреса и телефоны. Если же подобной базы нет, злодей может установить свой кейлоггер, который будет перехватывать все введенные пользователями данные и отправлять на удаленный сервер.
Учитывая одну из особенностей данных устройств – работу в режиме 24/7 – на них можно организовать, например, пул для майнинга крипотовалюты или использовать их в хакерских целях, требующих круглосуточного присутствия зараженной рабочей станции в Сети.
Особо наглые злоумышленники могут реализовать сценарий атаки, результатом которой станет получение платежных данных клиентов: на главном окне приложения паркомата можно оставить поле для ввода реквизитов банковской карты, и с большой долей вероятности введенный в заблуждение пользователь оставит их вместе со своим именем, номером телефона и электронной почтой.
Терминалы государственных учреждений
Терминалы, расположенные в некоторых государственных учреждениях, также могут стать лёгкой добычей для злоумышленника. Например, мы нашли терминал, задача которого заключается в печати квитанций на основе введенных пользователем данных. После того, как пользователь заполняет все поля, вводит реквизиты и нажимает кнопку «Создать», терминал на несколько секунд открывает стандартное окно печати, в котором находятся все параметры печати и инструменты управления. Далее автоматически производится нажатие кнопки «Печать».
Особенности процесса печати одного из терминалов
У злоумышленника есть несколько секунд, чтобы успеть нажать кнопку «Изменить» (принтер) и получить возможность выйти в справочный раздел. Оттуда он может перейти в панель управления и запустить экранную клавиатуру. В результате злоумышленник получает все необходимые устройства для ввода информации (клавиатура и курсор мыши) и может использовать компьютер в своих корыстных целях: например, запустить вредоносный код, получить информацию о распечатанных файлах, узнать пароль администратора на устройстве и т.д.
Публичные устройства в аэропортах
Терминалы регистрации пассажиров на рейс, которые можно найти в любом современном аэропорту, имеют примерно те же проблемы безопасности, которые мы описали выше, и с большой вероятностью могут быть успешно атакованы. Их важное отличие от других подобных устройств заключается в том, что некоторые терминалы в аэропортах работают с гораздо более ценной информацией, чем терминалы в других местах.
Выход из режима «киоска» через открытие дополнительного окна интернет-браузера
Во многих аэропортах есть компьютеры, которые предоставляют платный доступ в интернет и объединены в единую сеть. Эти компьютеры обрабатывают личную информацию пользователей, которую они вводят, чтобы получить доступ – ФИО, номера банковских карт. В этих терминалах также наличествует некоторое подобие режима «киоска», однако из-за ошибок в разработке можно выйти из этого режима. В компьютерах, которые мы рассматривали, ПО «киоска» использует Flash Player для показа рекламы, и в определенный момент атакующий может вызвать контекстное меню и через него добраться до других функций ОС.
Примечательно, что на этих компьютерах используются политики фильтрации web-адресов. Однако доступ к управлению политиками в них открыт, и при желании можно добавить или удалить какие-либо сайты, что, в свою очередь, открывает атакующему обширные возможности компрометации устройства. Например, возможность доступа к каким-либо фишинговым сайтам или сайтам, распространяющим вредоносное ПО, потенциально ставит под угрозу такие компьютеры. А добавление в черный список легитимных сайтов позволит повысить вероятность перехода по фишинговой ссылке.
Перечень блокируемых политиками адресов
Также мы выяснили, что конфигурации для подключения к базе данных с информацией пользователей хранятся в открытом виде в текстовом файле. Значит, получив возможность выхода из режима «киоска» на одной из этих машин, любой может узнать логины и пароли администраторов и далее получить доступ к базе данных клиентов – с их логинами и паролями, платежными данными и т.д.
Пример конфигурационного файла с хранящимися внутри логинами и хеш-функциями паролей администраторов
Информационно-развлекательные терминалы в такси
В последние годы во многих такси появились устройства на базе Android, вмонтированные в спинку переднего пассажирского сидения. С их помощью пассажир на заднем сиденье может посмотреть рекламу, информацию о погоде, новости и не очень смешные анекдоты. В целях безопасности в этих терминалах установлены камеры.
Приложение доставки контента тоже работает в режиме «киоска», и из этого режима тоже можно выйти.
Выход из режима «киоска» терминала в такси дает возможность загрузки внешних приложений
В тех терминалах, которые нам довелось исследовать, на главном экране содержался скрытый текст. Стандартными средствами Android его можно выделить с помощью контекстного меню. В результате этого действия вызывается опция поиска на главном экране, отчего оболочка зависает, закрывается и автоматически перезагружает устройство. Во время запуска хакеру лишь нужно успеть в определённый момент выйти в основное меню и оттуда в RootExplorer – диспетчер файлов для операционной системы Android.
Интерфейс и структура каталогов Android
Так злоумышленник может получить доступ к ОС терминала и всем ее возможностям, например, к камере. Если хакер предварительно разместил на своём сервере заранее подготовленное вредоносное приложение для Android, оно может получить удаленный доступ к камере. В таком случае злоумышленник получает возможность удаленного управления камерой и в любой момент времени имеет возможность снять и получить видео или фото происходящего в такси.
Выход за пределы полноэкранного приложения терминала в такси дает доступ к возможностям ОС
Наши рекомендации
Успешно проведенная атака может нарушить работу терминала и причинить прямые финансовые убытки его владельцам. Кроме того, хакер может использовать «подчинённый» терминал для взлома других, ведь они часто объединены в сеть. Дальнейшие возможности эксплуатации такой сети обширны: от похищения персональных данных которые вводит пользователь, и слежки за ним (если в терминале есть камера или сканер документов) до похищения денег (если терминал принимает наличные или банковские карты).
Для того чтобы исключить вредоносную активность на публичных устройствах с touch-интерфейсом, разработчикам и администраторам терминалов, расположенных в публичных местах, надо учитывать следующие рекомендации:
- У интерактивной оболочки «киоска» не должно быть никаких лишних функций, которые позволяют вызвать меню ОС (правая кнопка мыши, ссылки на внешние сайты и т.п.).
- Само приложение должно запускаться с использованием технологии «песочница», например, таких как jailroot, sandbox и т.д. Это позволит ограничить функциональность приложения рамками искусственной среды.
- Использование тонкого клиента – ещё один способ защиты. Если хакер сможет «убить» приложение, при использовании тонкого клиента значительная часть ценной информации будет храниться на сервере, а не на скомпрометированном устройстве.
- Запускать текущий сеанс операционной системы с ограниченными привилегиями обычного пользователя – это сильно затруднит возможность установки новых приложений.
- На каждом устройстве нужно создавать уникальную учетную запись с уникальным паролем, чтобы не позволить злодею, который скомпрометировал один из терминалов, использовать полученный пароль для доступа к другим подобным устройствам.
Элементы дорожной инфраструктуры
Дорожная инфраструктура современных городов постепенно обзаводится набором различных умных датчиков, регуляторов, анализаторов движения и т.д. Все эти датчики собирают и отправляют в дата-центры информацию о плотности движения. Мы же взялись за камеры регистрации скорости, которые сейчас распространены повсеместно.
Камеры регистрации скорости
Мы нашли IP-адреса камер регистрации скорости абсолютно случайно через поисковый механизм Shodan. Изучив несколько таких камер, мы подобрали dork (определенно сформированный запрос к поисковому механизму, который точечно выявляет необходимые устройства или сайты по конкретно заданному признаку) для того, чтобы найти побольше IP-адресов таких камер. Кроме того, мы заметили некоторую схожесть в IP-адресах устройств – в каждом городе они были в одной подсети. Этот факт помог нам найти те устройства, которых не оказалось в выдаче Shodan, но которые находились в подсетях с другими камерами. Значит, под эти устройства имеется определенная архитектура и, вероятнее всего, таких подсетей много. Ну и далее просканировали эти и соседние подсети по определенным открытым портам и нашли множество таких устройств.
Выяснив, какие порты открыты на камерах регистрации скорости, мы проверили предположение, что один из них отвечает за RTSP – real-time streaming protocol – протокол потокового вещания. Архитектура этого протокола позволяет делать вещание либо приватным (доступным по логину и паролю), либо публичным. Мы решили проверить наличие там паролей. Каково же было наше удивление, когда мы выяснили, что никакого пароля нет, и видеопоток свободно доступен для подключения любому пользователю интернета. Открыто транслируется не только видеопоток, но и дополнительные данные, к которым относятся, например, географические координаты камер.
Скриншот прямого эфира с камеры регистрации скорости
Мы обнаружили еще множество открытых портов на этих устройствах, которые также позволяют узнать много интересной технической информации. Например, перечень внутренних подсетей системы камер, состав аппаратного обеспечения камеры и так далее.
Из технической документации мы выяснили, что камеры могут быть перепрограммированы по беспроводному каналу. Также из документации мы узнали, что камеры могут фиксировать нарушения лишь на определенных полосах движения, что позволяет в нужное время и в нужном месте отключить слежение по одной из полос. И все это можно делать удаленно.
Поставим себя на место злоумышленников и предположим, что после определенных противоправных действий им нужно скрыться в автомобильном потоке. Для этого они могут воспользоваться возможностями комплексов по регистрации скорости. Они могут отключить регистрацию транспортных средств по определенным или всем полосам своего маршрута движения, следить за правоохранительными органами, которые занимаются преследованием и так далее.
Кроме того, злоумышленник получает доступ к базе с автомобилями, которые числятся в угоне, и может добавлять или удалять автомобили из нее.
Мы уведомили организации, занимающиеся обслуживанием камер скоростного контроля в тех странах, в которых нам удалось обнаружить обозначенные выше проблемы безопасности.
Роутеры
Мы также рассмотрели еще один элемент дорожной инфраструктуры – роутеры, которые передают информацию между различными элементами «умного города», относящимися к дорожной инфраструктуре, или в дата-центры.
Как нам удалось выяснить, внушительная часть этих роутеров не имеет паролей или имеет слабые пароли. Другой распространённой уязвимостью является то, что сетевое имя большинства роутеров соответствует их географическому местоположению – улица и номер дома. После получения доступа к интерфейсу управления таким роутером злоумышленник способен, путем сканирования внутренних диапазонов IP-адресов, узнать адреса других роутеров и таким образом собрать информацию об их местоположении. Далее, используя исследования датчиков загруженности дорог, можно собрать информацию с датчиков о плотности движения.
Такие роутеры позволяют записывать трафик и выкладывать его на FTP-сервер, который может быть создан злоумышленником. Также эти роутеры позволяют создавать SSH-туннели, имеют возможность получения доступа к своей прошивке (путем создания резервной копии прошивки), позволяют подключаться по telnet и многое другое.
Это необходимые в инфраструктуре «умного города» устройства. Однако, получив к ним доступ, злодеи могут использовать их в своих целях. Например, если какой-то банк перевозит крупные суммы по секретному пути, то с помощью мониторинга информации со всех датчиков (с ранее полученным доступом к роутерам) можно выяснить маршрут колонны. Далее, используя камеры, они могли бы отследить её передвижение.
Наши рекомендации
Для защиты камер регистрации скорости необходимо для начала провести полноценный аудит безопасности, полное тестирование на проникновение и написать грамотные рекомендации по ИБ для тех, кто занимается установкой и сопровождением таких комплексов регистрации скорости. В технической документации, которую мы смогли получить, механизмов, которые смогли бы защитить камеры от внешнего злоумышленника, нет. Также для защиты камер необходимо уделять внимание тому, получают ли эти камеры «белый» IP-адрес и по возможности не допускать этого. Для обеспечения безопасности все эти камеры не должны быть видны из сети Интернет.
Основная проблема с дорожными роутерами – отсутствие требования установки пароля при первичной загрузке и настройке устройства. Многие администраторы таких роутеров забывают или ленятся делать такие простые вещи, что позволяет достаточно просто получить доступ к трафику внутри сети.
Заключение
Инфраструктура современного города постепенно обрастает новыми устройствами, которые в свою очередь связываются с другими устройствами и системами. Чтобы комфортно существовать в данной среде современный человек должен понимать, что «умный город» – это информационная система, требующая отдельного подхода и экспертизы для своей защиты.