Ошибки, получившие общее название BadAlloc, затрагивают
устройства интернета вещей, технологическое и медицинское оборудование.
Проблема — в распространенных библиотеках, отвечающих за выделение памяти.
Значение слишком
велико
Эксперты по безопасности Microsoft выявили более двух дюжин
уязвимостей, допускающих запуск произвольного кода в устройствах интернета
вещей, операционно-технологическом и медицинском оборудовании.
Уязвимости, получивших общее наименование BadAlloc, вызваны
ошибками, связанными с переполнением целочисленного значения или зацикливанием
(integer overflow or wraparound). Это ошибка, при которой уязвимая программа
производит вычисления, при которых исходная целочисленная величина
увеличивается на значение, которое слишком велико для того, чтобы хранить его в
выделенном представлении. В результате величина может произвести циклический
возврат и получить либо очень малые, либо даже отрицательные значения.
Если такой возврат не запланирован, это может иметь
последствия для безопасности, особенно если целочисленное переполнение вызвано
пользовательским вводом. Влияние на безопасность может быть критическим, если
результат такого вычисления используется для контроля ведения циклов, для
принятия решения, связанного с безопасностью, или определения значения смещения
или размеров в том, что касается выделения памяти, копирования, конкатенации и
т. д. В случае с интернетом вещей злоумышленники могут воспользоваться данными
уязвимостями, чтобы вызвать системные сбои и запускать произвольный код
удаленно.
Уязвимости были выявлены в стандартных функциях выделения
памяти, используемых множеством операционных систем реального времени,
библиотеках языка C, а также наборах для разработки (SDK) для встраиваемых
систем. Как выяснилось, в них отсутствует надлежащая валидация
пользовательского ввода.
25 уязвимостей в 25 разработках
Список устройств, где подтверждено наличие уязвимостей
BadAlloc, насчитывает 25 наименований программных продуктов, в том числе пять
разработок Texas Instruments, три — ARM, по две — Micrium и NXP. Полный список
и ссылки на необходимые обновления опубликован на сайте Управления США по
информационной безопасности и критической инфраструктуре — CISA.
В CISA также рекомендуют установить все доступные обновления
вендоров, минимизировать сетевую доступность уязвимого оборудования до
минимально необходимых значений: изолировать его от интернета и бизнес-сетей,
если речь идет о технологических устройствах. Также рекомендовано реализовать
доступ к этому оборудованию только через VPN-средства.
Если возможности обновить это оборудование нет, то
рекомендовано усилить безопасность сетей, в которых это оборудование функционирует,
и обеспечить сегментирование сетей, чтобы защитить критически важные элементы.
«Оборудование интернета вещей часто составляет наиболее
уязвимый элемент инфраструктуры, и из-за собственных уязвимостей, и из-за
проблем с обновляемостью, — говорит Михаил
Зайцев, эксперт по информационной безопасности компании SEC Consult Services.
— Программные оболочки зачастую пишутся с прицелом на бесперебойное выполнение
основной функциональности устройства, в то время как безопасности кода
уделяется куда меньше внимания, чем следовало бы. В данном случае речь идет о
широко распространенных функциях и библиотеках, которые привнесли свои
уязвимости в код конечных разработок. Информации о практической эксплуатации
уязвимостей BadAlloc пока не поступало, но это может измениться в любой момент».