Ripple20

Ripple20 — это совокупность выявленных в 2020 году уязвимостей в программной библиотеке, реализующей TCP/IP-стек. Проблемы информационной безопасности были обнаружены компанией JSOF, которая назвала найденные уязвимости по аналогии с тем, как код одной компании оказался внедрён в многочисленные продукты. Программная библиотека была создана примерно в 1997 году и внедрена многими производителями интернет-устройств.

Описание

Ripple20 — это комплекс из 19 уязвимостей, выявленных в 2020 году в программной библиотеке, разработанной компанией Treck Inc. из Цинциннати (штат Огайо, США), реализующей TCP/IP-стек[1][2]. Техническая суть уязвимостей заключается в различных ошибках, таких как некорректная обработка длины параметра, неправильная проверка входных данных, двойное освобождение памяти и переполнения. Четыре из девятнадцати уязвимостей классифицируются как критические с оценкой CVSS выше 9.0[3]. Уязвимыми признаются все версии стека Treck TCP/IP до версии 6.0.1.67[4].

История

Первый выпуск библиотеки Treck состоялся примерно в 1997 году. Компания Treck также сотрудничала с Elmic Systems, которая создала ответвление библиотеки после завершения совместной работы. В сентябре 2019 года исследователи JSOF проанализировали устройство, содержащее код библиотеки, и обнаружили в нём уязвимости. Дальнейший анализ показал, что код происходит из библиотеки Treck, широко использовавшейся различными производителями. Официальное раскрытие информации об уязвимостях состоялось в июне 2020 года[5].[6][7] Название Ripple20 было выбрано на основе года раскрытия уязвимостей и по аналогии с тем, как проблемы «распространились» по цепочке поставок от одной компании[8]. Точно определить все затронутые устройства сложно, так как производители нередко не подозревают об использовании библиотеки в компонентах своих изделий[9]. В июне 2020 года компания Treck Inc. выпустила исправления для своего TCP/IP-стека, начиная с версии 6.0.1.67[10].

Влияние на цепочки поставок

Программная библиотека Treck лицензировалась множеством производителей, что создало сложную и непрозрачную цепочку поставок программного обеспечения, затрудняющую идентификацию уязвимых устройств[11].[12]

Фактическая защищённость конечных устройств зависит не только от патча разработчика, но и от производителей оборудования, которые должны интегрировать исправления в прошивки своих продуктов и доставить их пользователям[3].

Особый риск представляют устаревшие (legacy) IoT-устройства, которые больше не поддерживаются производителями и, вероятно, никогда не получат обновления безопасности[12].[11]

Примечания

Ссылки