В старых версиях операционной системы реального времени BlackBerry QNX выявлена критическая уязвимость из серии BadAlloc. О ее возможном существовании предупреждали еще весной 2021 г.
Переполнение целого
Компания BlackBerry выпустила
критический бюллетень безопасности, касающийся прошлых версий принадлежащей ей
операционной системы QNX. Это так называемая система реального времени, используемая в
промышленности, медицинском оборудовании, бортовых системах автомобилей и много
где еще.
В платформе для
разработки ПО под QNX версий 6.5.0SP1 и более старых, QNX OS for Medical версии 1.1 и ранее, а также QNS OS for Safet 1.0.1 содержится критическая уязвимость
целочисленного переполнения (integeroverflow) в функции calloc() стандартной библиотеки C.
Эта уязвимость,
получившая индекс CVE-2021-22156 и оценку уровня угрозы 9.0 по шкале CVSS, входит в обширный набор уязвимостей под общим
названием BadAlloc, выявленных экспертами корпорации Microsoft в апреле 2021 г.
Уязвимости BadAlloc вызваны ошибками, связанными с переполнением
целочисленного значения или зацикливанием (integer overflow or wraparound). Это ошибка, при которой уязвимая программа
производит вычисления, при которых исходная целочисленная величина
увеличивается на значение, которое слишком велико для того, чтобы хранить его в
выделенном представлении.
В результате величина
может произвести циклический возврат и получить либо очень малые, либо даже
отрицательные значения.
Если такой возврат не
запланирован, это может иметь последствия для безопасности, особенно если
целочисленное переполнение вызвано пользовательским вводом. Влияние на
безопасность может быть критическим, если результат такого вычисления
используется для контроля ведения циклов, для принятия решения, связанного с
безопасностью, или определения значения смещения или размеров в том, что
касается выделения памяти, копирования, конкатенации и т. д. В случае с
интернетом вещей злоумышленники могут воспользоваться данными уязвимостями,
чтобы вызвать системные сбои и запускать произвольный код удаленно.
Уязвимости были выявлены
в стандартных функциях выделения памяти, используемых множеством операционных
систем реального времени, библиотеках языка C, а также наборах для разработки (SDK) для встраиваемых систем.
Как выяснилось, в них отсутствует надлежащая валидация пользовательского ввода.
В то время как в Microsoft назвали сразу 25
разработок разных производителей, затронутых BadAlloc, BlackBerry изначально отрицала наличие таких ошибок в своих
системах.
Помолчим, может, пройдет
После того, как стало
ясно, что ошибка все-таки существует, BlackBerry длительное время тянула с открытой публикацией
сведений о ней, поскольку оповестить всех производителей, использующих QNX с уязвимыми компонентами,
оказалось большой проблемой.
На сегодняшний день QNX разных версий
используется приблизительно в 175 млн автомобилей.
В опубликованном
заявлении компании BlackBerry, уязвимость затрагивает главным образом версии QNX 2012 г. выпуска и более
старые.
Происхождение видов
Операционная система QNX представляет собой UNIX-подобную систему для
приложений реального времени, используемую сегодня преимущественно в
промышленных и встраиваемых системах.
Ее разработку с начала
1980-х годов вела канадская компания QuantumSoftwareSystem. В 2010 г. ее выкупила BlackBerryLimited, планировавшая использовать QNX для создания новой операционной системы для
мобильных устройств. К этому времени BlackBerry, в прошлом производитель популярных мобильных
устройств для бизнес-среды, все более явно теряла рыночную долю под давлением
со стороны iOS и
Android.
Операционная система BlackBerry 10, созданная на
базе QNX, так и
не позволила компании отыграть позиции, и к 2016 г. та прекратила
самостоятельный выпуск смартфонов и планшетов, равно как и дальнейшую
разработку BlackBerry 10.
Сама компания BlackBerry переключилась на
программные продукты, в том числе связанные с информационной безопасностью.
Касательно ошибки CVE-2021-22156, BlackBerry заявила, что
надлежащие исправления выпущены, и сейчас компания сотрудничает с
правительственными агентствами и отраслевыми группами. Пока никто из клиентов
компании не сообщил о попытках эксплуатации уязвимости.
Агентство по
кибербезопасности и защите инфраструктуры США (CISA) также утверждает, что информации об эксплуатации
уязвимости нет, отмечая, впрочем, что в случаях, когда уязвимое оборудование
доступно из интернета, этот баг можно эксплуатировать удаленно.
«Активность BlackBerry на
фронте информбезопасности как-то скверно вяжется с их нежеланием признавать
наличие критической проблемы в одном из их флагманских продуктов, — отмечает
Михаил Зайцев, эксперт по информационной безопасности компании SEC Consult Services.
— Угроза очень масштабная, поскольку очевидно, что большое количество
оборудования самого разного толка до сих пор работает на старых и уязвимых
версиях QNX. И не факт, что патчи удастся установить на все устройства, которые
в них нуждаются».