Изучение проблем безопасности в устройствах IoT на основе Linux

В своем выступлении на конференции по встроенному Linux Майк Андерсон, технический директор The PTR Group, рассмотрел уникальные проблемы безопасности, с которыми сталкиваются устройства IoT на основе Linux.

До недавнего времени разработчики Linux избавлялись от многих угроз безопасности, которые ставили в тупик мир Windows.
Тем не менее, при переходе с настольных компьютеров и серверов на встроенный Интернет вещей, гораздо более высокий уровень угрозы.

Основные правила безопасности Linux одинаковы, будь то настольный компьютер, сервер или встраиваемые устройства, но поскольку устройства IoT обычно работают постоянно, они создают некоторые уникальные проблемы », - сказал Майк Андерсон, технический директор и главный научный сотрудник The PTR Group, Inc. во время конференции Embedded Linux Conference под названием «Защита встраиваемого Linux».


Майк Андерсон представляет «Безопасность встраиваемого Linux» на ELC 2016

Андерсон дает аналогичные обзоры на ELC с 2007 года, когда технологии атаки и защиты были менее изощренными, а встроенный Linux был менее целевым.
Однако с ростом числа атак на устройства IoT эта тема вызывает все больший интерес.


Слайды из выступления Андерсона

Благодаря IoT Linux почти всегда участвует, как правило, в облаке или на пограничных шлюзах », - сказал Андерсон.
Шлюзы собирают данные от конечных точек датчиков по беспроводным радиостанциям с низким энергопотреблением - обычно это протоколы 802.15.4, такие как ZigBee, - и преобразуют их для восходящей маршрутизации в облако.


Слайды из выступления Андерсона

Шлюзы, развернутые в модели «тумана», могут ограничивать уязвимость конечных точек IoT.
«Облачная модель обеспечивает невероятно большую поверхность атаки», - сказал Андерсон аудитории ELC.
«Если они могут взломать один из них: //www.linux.com/news/securing-embedded-linuxdpoint, возможно, они взломали 20 000.
В туманной модели устройства за маршрутизатором шлюза не маршрутизируются, и вы не можете получить к ним доступ напрямую из Интернета ».

Даже при базовой безопасности модель тумана обычно может сдерживать «детишек сценария», которые Андерсон определяет как вредных хакеров-любителей, которые не обязательно являются злыми.
По словам Андерсона, гораздо более серьезную угрозу безопасности представляют профессиональные хакеры - черные шляпы, которые «заинтересованы в деньгах» и занимаются вымогательством, кражей кредитных карт или новым бизнесом «вредоносных программ на заказ».
Белые шляпы, тем временем, пытаются остановить черные шляпы, обнаруживая уязвимости в компаниях, использующих такие инструменты, как тестирование на проникновение, с помощью наборов инструментов, имеющихся в некоторых дистрибутивах, таких как Kali Linux.
Наиболее опасные угрозы безопасности исходят от хорошо финансируемых, спонсируемых государством хакеров, «обычно черных шляп, оплачиваемых правительством, или, возможно, промышленных шпионов, пытающихся организовать скоординированную кибератаку.

Безусловно, самая распространенная угроза - это нападение со стороны сотрудников.
«Это происходит постоянно - сотрудники влезают в долги и решают продать информацию о компании», - сказал Андерсон.
«Рецензирование - один из лучших способов остановить это.
Открытый исходный код имеет большое преимущество в обнаружении внутренних атак, поскольку тысячи людей смотрят на код.
В идеале вы также должны привлечь независимого специалиста по безопасности ».

Получение физического

Первая линия защиты - это физическая безопасность, которая может включать такие технологии, как устройства считывания отпечатков пальцев и карты доступа.
Как правило, шлюз IoT не защищен в защищенном центре обработки данных с запертыми дверями, охраной и системами безопасности, поэтому само устройство должно быть защищено.

По крайней мере, вы должны «удалить все интерфейсы отладки и перегнать электронные предохранители», сказал Андерсон.
Вы можете добавить датчики защиты от несанкционированного вмешательства, специальные винты и чемоданы с инструментами, которые при срабатывании «устанавливают что-то в постоянно хранящуюся память, которая позволяет вам знать, что устройство открылось». Физический доступ может быть дополнительно замедлен путем «заливки устройства в эпоксидная смола, поэтому вы не сможете получить доступ к материнской плате ». Однако« преданные хакеры могут применять химические вещества для расплавления эпоксидной смолы », добавил он.

Даже если хакер не может проникнуть внутрь устройства, он может использовать такие методы, как анализ дифференциальной мощности, который анализирует ток, потребляемый процессором, чтобы различить декодирование от нуля до единицы.
«Вы можете извлечь 2040 восьмибитных ключей примерно за 10 секунд, но вам нужно радио и устройство управления питанием, расположенное прямо на цели», - сказал Андерсон.

Злоумышленники часто используют руткиты для поиска уязвимостей в цикле перехода при включении питания, чтобы проникнуть в цикл загрузки.
По словам Андерсона, этому типу вторжения можно противостоять одноразовой программируемой памяти, смарт-картам, решениям Intel AMT или доверенным платформенным модулям (TPM).

Linux конфиденциально

Большинство решений в области безопасности основаны на концепции конфиденциальности - чтобы неуполномоченные лица не могли прочитать данные, которые вы хотите защитить.
Решения в отношении конфиденциальности различаются в зависимости от того, защищаете ли вы «данные в полете» (пересекающие сеть), «данные в покое» или «данные в использовании».

Для данных в полете основная проблема связана с атакой «человек посередине» (MitM), которая обычно использует уязвимость в одном из протоколов, таких как протокол разрешения адресов (ARP).
В Linux есть такие инструменты, как arpwatch, которые нацелены на уловку подобного ARP-спуфинга.

Вы можете обнаружить MitM, используя трассировочные маршруты, но опытные посредники могут бороться с этим, сказал Андерсон.
Более распространенным решением является шифрование сетевого соединения с использованием VPN и т.п.
Тем не менее, даже если злоумышленник MitM не может получить зашифрованный ключ, он может использовать методы операционной безопасности (OPSEC) для анализа моделей сетевого трафика и рассуждений о контенте, добавил он.

В состоянии покоя конфиденциальные данные шифруются в хранилище с использованием таких инструментов, как eCryptfs или PGP.
«Но шифрование и дешифрование требуют времени, поэтому лучше всего шифровать определенные каталоги или файлы», - сказал Андерсон.
«Защитите данные, которые вы должны защитить, и оставьте все в покое».

Атаки с использованием данных, которые ищут зашифрованные ключи, появляющиеся в памяти, представляют «гораздо более сложную проблему», сказал Андерсон.
«Многие люди оставляют ключи в памяти, потому что думают, что скоро они снова понадобятся.
Но искушенный хакер может использовать жидкий азот, чтобы замедлить разрушение оперативной памяти, затем отключить SIM-карту, подключить ее к другой машине и прочитать данные.
Сокращайте время, в течение которого вы используете видимые ключи, - загружайте его, используйте ключ для его расшифровки, а затем перезаписывайте, предпочтительно три раза (для удаления любых остаточных следов ключа) ».

Далее Андерсон обсудил симметричное и асимметричное шифрование, такое как Диффи-Хеллман , в котором вы шифруете как с помощью личного ключа, так и открытого ключа получателя.
Одна проблема, которая «выманивает людей», заключается в том, что через пять-десять лет «квантовые компьютеры смогут взломать открытый ключ и Диффи-Хеллмана в реальном времени и сломать 1024-битные алгоритмы RSA», - сказал Андерсон.

Для более высоких требований безопасности вы можете реализовать обязательный контроль доступа с помощью SELinux, Smack или других методов, использующих LSM (модули безопасности Linux), ограничивая доступ приложений только для чтения.
Тем не менее, эти подходы требуют времени и денег для разработки и тестирования.

В дополнение к вышеприведенным рекомендациям Андерсон предложил несколько основных советов по защите встроенных устройств Linux.
Они включают:

  • Внедрить оценку рисков для определения необходимого уровня безопасности.
  • Устранить все несущественные услуги и программное обеспечение.
  • Периодически проверяйте установленное программное обеспечение.
  • Регулярно следите за обновлениями безопасности программного обеспечения.
  • Реализуйте двухфакторную аутентификацию.
  • Используйте контейнеры Linux для разделения безопасных и небезопасных функций.
  • Реализуйте политики контроля файлов или подписи кода, если ваша платформа поддерживает это.
  • Знайте каждое устройство в вашей сети и периодически сканируйте новые неавторизованные устройства.
  • Внедрите брандмауэры IPv4 и IPv6 и используйте программное обеспечение, такое как snort, для защиты / обнаружения вторжений.
  • Используйте VPN для расширенной безопасности и DTLS, TLS или AES для временной защиты канала.
  • Периодически сканируйте сетевые порты с помощью nmap, satan, saint и т. Д.
  • Периодически пользуйтесь тестерами на проникновение, но убедитесь, что они являются законными организациями, а не хакерами, изображающими из себя пентестеров.

«Обеспечение безопасности IoT и встроенного Linux - непростая задача, и она стоит денег», - заключил Андерсон.
«Между юзабилити и безопасностью существует целый спектр, и всегда есть компромисс.
По крайней мере, убедитесь, что вы сделали все, что по закону обязаны делать ».

Посмотрите полную презентацию в видео ниже и загрузите слайды доклада в формате PDF здесь .

Защита встроенного Linux Майкл Э. Андерсон

Дополнительные видео с презентаций Embedded Linux Conference 2016 доступны на веб-сайте Linux Foundation, здесь .
Доступ требует бесплатной регистрации.

Эта статья защищена авторским правом © 2016 Linux.com и была первоначально опубликована здесь .
Он был воспроизведен этим сайтом с разрешения его владельца.
Пожалуйста, посетите Linux.com для получения последних новостей и статей о Linux и open source.