Интернет бесконтрольных вещей
Недавно на интернет вещей (Internet of Things, IoT) обрушился вал критики в связи с рядом серьезных инцидентов[1]. Интеллектуальные телевизоры, DVR и веб-камеры были названы источниками одних из самых масштабных DDoS-атак за всю историю Интернета[2]. Но что же собой представляют те самые вещи, то есть класс устройств, образующих интернет вещей? Эти «вещи» – устройства, которые (1) спроектированы с зависимостью от Интернета, причем раньше подобное устройство от него не зависело, и (2) быстро изготовлены, однотипно сконфигурированы и установлены по всему Интернету. Оба эти аспекта важны как с инженерной, так и с операционной точки зрения. IoT-устройства – это не просто потребительская электроника. Сама их конструкция предполагает работу с ресурсами Интернета. Мало того, обычно нас не информируют о появлении в Интернете хостов нового типа. Поскольку очень быстро появилось и продолжает появляться множество однотипных устройств, связанные с IoT проблемы быстродействия, надежности и безопасности разрастаются крупнее и быстрее, чем когда-либо раньше.
IoT поднимает ряд вопросов для нашего сообщества: Насколько велик интернет вещей? Каков его охват? Как можно это проверить?
В настоящее время IoT нам неизвестен в двух аспектах. Во-первых, практически отсутствуют измерения IoT. Сколько имеется устройств и какого типа? С какой скоростью разрастается IoT? Сколько могут прослужить IoT-устройства? А во-вторых, какие стандартные методы конструирования и эксплуатации могли бы ограничить негативное воздействие на быстродействие, надежность и безопасность?
Мы только начали отвечать на некоторые из этих вопросов и вплотную заниматься насущными проблемами IoT.
13-летнее исследование IoT: 2003-2016 годы
Проблемы, связанные с IoT-устройствами, в общем, не новы — в 2003 году произошла случайная DDoS-атака, связанная с IoT, конкретно с сотнями тысяч изделий компании Netgear, подключенными к разным фрагментам Интернета. Эти устройства являлись устройствами IoT в двух аспектах:
- Хотя ранее коммутаторы и маршрутизаторы сами по себе не зависели от Интернета, эти устройства были сконструированы так, чтобы синхронизировать свои часы с сервером NTP (Network Time Protocol), расположенным в Университете штата Висконсин в Мэдисоне. IP-адрес этого сервера NTP был жестко запрограммирован в прошивке.
- Всего за несколько месяцев было изготовлено и продано несколько сот тысяч таких устройств, распространившихся по всему миру.
На рис. 1 изображен роутер Netgear модели MR814, выпущенный около 2003 года. Это и еще три вида устройств Netgear считают «виновниками» случайного всплеска трафика.
Реализация клиента SNTP на этих устройствах содержала ошибку, из-за которой они опрашивали сервер NTP раз в секунду, пока не получали ответ, что в результате время от времени приводило к внезапным потокам трафика в сотни тысяч пакетов в секунду. Поскольку проблему обнаружили до того, как количество подключенных к Интернету устройств достигло пика, а некоторые из дефектных устройств используются и по сей день, возникла уникальная возможность измерить некоторые аспекты IoT. С помощью моих коллег по университету мы построили график примерного количества дефектных SNTP-клиентов, наблюдавшихся с использованием NTP-сервера Университета штата Висконсин с 2003 по 2016 год. На рис. 2 показано появление (2003–2004) и (последующее) исчезновение SMTP-клиентов за 13-летний период, очевидно показывающие рождение и смерть этих IoT-устройств. Всего было изготовлено около 700 тысяч дефектных изделий, пока в том же 2003 году дефект не устранили.
Эти измерения показывают, что некоторые IoT-устройства служат очень долго, и что ни линейная, ни простая экспоненциальная модель не соответствует эмпирическим наблюдениям с удовлетворительной точностью. Некоторые устройства IoT остаются в эксплуатации больше десятилетия, обременяя своими дефектами многие тысячи пользователей и сетей.
Результатом этого инцидента стал ряд инженерных и эксплуатационных рекомендаций[3], закрепленных в нынешнем виде в RFC 4085 (BCP 105)[4]. Для получения дополнительной информации об инциденте с Netgear посетите сайт http://pages.cs.wisc.edu/~plonka/netgear-sntp/ или прочтите статью «Интернет старых и неуправляемых вещей» (The Internet of Things Old and Unmanaged)[5].
Контроль за IoT в наши дни
Сегодня свои инициативы в области IoT есть у IAB (Internet Architecture Board), IETF и IRTF (Internet Research Task Force). Например, семинар Internet of Things Software Update (IoTSU) 2016 рассматривал вопрос, как лучше всего подойти к изменению кода и конфигурации устройств IoT, изложив свои выводы в отдельной статье[6].
Что до измерения IoT, то исследовательская группа IRTF MAPRG (Measurement and Analysis for Protocols Research Group) запросила любые измерения IoT, прошлые и нынешние. И то исследование, которое мы обсуждали выше, было представлено и записано[7] на собрании MAPRG в ходе IETF 96 в Берлине, по итогам чего произошла дискуссия о требованиях, которые могли бы стимулировать измерения IoT.
В связи с выработкой измерений IoT возникает ряд вопросов. Какие имеются реальные счетчики или иные метрики для устройств IoT? Кто в этом заинтересован? Какие возможны виды измерений? Как быть с соображениями приватности? И как в этом участвует IPv6?
Заинтересованных лиц на самом деле много. Изготовителям наверняка хочется знать, как их изделия распространяются по цепочке поставок, вводятся в эксплуатацию и затем выводятся из нее. Провайдерам услуг требуется управление IoT-устройствами и оценка рисков. Пользователям устройств, владельцам и заказчикам наверняка потребуется обнаружение или поиск утерянных устройств и аудит, возможно, с целью информирования страховщиков или следующих покупателей об IoT-устройствах, которые, например, управляют жилым домом.
Что касается видов измерений IoT и того, что возможно и что нет, есть строки World Wide Web User-Agent и адреса управления доступом к медиа в Ethernet, которые помогают выявлять некоторые устройства IoT, но их можно маскировать или фальсифицировать. Поэтому остаются вопросы: возможна ли аутентификация IoT-устройств и какие есть реалистичные возможности для измерения времени работы IoT-устройств или определения их времени жизни?
Наконец, говоря об измерениях IoT, следует не забывать об операционных последствиях и соображениях приватности. Могут ли требования приватности или анонимности защитить пользователей IoT от вредных воздействий? Если IoT-устройства живут долго и (как сейчас) далеко не всегда используют IPv6, то они представляют собой очень серьезную и все осложняющуюся проблему исчерпания адресного пространства в IPv4, решить которую можно, например, через IPv6.
Нежелательный трафик и уязвимости, вызванные дефектами IoT-устройств, требуют особого внимания и сконцентрированных усилий в сообществах для исследования, стандартизации и эксплуатации. Если оставить интернет вещей бесконтрольным (в прямом и переносном смысле), то Интернету грозят беспрецедентные проблемы производительности, надежности и безопасности, которые были предсказаны еще десятилетие назад, но до сих пор не обезврежены.
Сноски
- http://thehackernews.com/2016/09/ddos-attack-iot.html
- http://arstechnica.com/security/2016/09/botnet-of-145k-cameras-reportedly-deliver-internets-biggest-ddos-ever/
- https://tools.ietf.org/html/rfc4085#page-4
- https://tools.ietf.org/html/rfc4085
- http://pages.cs.wisc.edu/%7Eplonka/iotsu/IoTSU_2016_paper_25.pdf
- https://tools.ietf.org/html/draft-farrell-iotsu-workshop-01
- https://www.youtube.com/watch?v=DkAS_Ht6J6U#t=38m50s