Уязвимость Shim подвергает атаке большинство систем Linux

Еще один день, еще одна потенциальная проблема безопасности Linux. На этот раз речь идет о критической уязвимости в shim – ключевом звене между Linux и прошивкой вашего компьютера во время загрузки. Если ее не устранить, сетевой злоумышленник может обойти безопасную загрузку и получить контроль над вашей системой.

Первое, что нужно сделать: Шим, о котором идет речь, не является частью Linux как таковой. Он является связующим звеном между безопасной загрузкой Unified Extensible Firmware Interface (UEFI) Secure Boot и Linux на современных ПК и серверах. Если отбросить технические аспекты, то для загрузки Linux его необходимо использовать, поэтому он имеет большое значение.

Shim существует потому, что Secure Boot, стандарт компьютерной безопасности для замены прошивки BIOS старых компьютеров, не работал с большинством дистрибутивов Linux, когда он был представлен в 2012 году. Secure Boot использовал – и до сих пор использует – удобную для Windows базу данных безопасных ключей, и для Linux-дистрибутивов не было простого способа получить ее. Мэтью Гарретт, известный разработчик Linux и систем безопасности, создал исправление. Это был shim, подписанный загрузчик, который может добавлять ключи в свою собственную базу данных.

Билл Демиркапи из Microsoft Security Response Center нашел дыру в системе безопасностиCVE-2023-40547 — классическое переполнение буфера. С помощью переполнения буфера злоумышленник может проникнуть в систему и установить вредоносное ПО по своему усмотрению.

В частности, уязвимой частью кода shim является та, которая имеет дело с системами, использующими HTTP для загрузки с центрального сервера в сети. Поскольку вы живете и работаете в 21 веке и никогда не загрузитесь с сервера, использующего небезопасный HTTP, вам не о чем беспокоиться – верно? Неверно.

«Распространенное заблуждение, которое я видел, заключается в том, что это касается только тех, кто использует загрузку по HTTP. если бы это было правдой, это не было бы критической ошибкой.»

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

Так насколько же все на самом деле плохо? Как сказал Гарретт в интервью Ars Technica.

Теоретически это не должно давать злоумышленнику возможности скомпрометировать саму прошивку, но в реальности это дает им возможность выполнить код до ExitBootServices (переход между прошивкой, все еще управляющей аппаратным обеспечением, и ОС, берущей на себя управление) означает гораздо большую площадь атаки на прошивку – обычно предполагается, что до ExitBootServices выполняется только доверенный код. Думаю, он способен модифицировать загрузчик и ядро ОС перед выполнением.

Red Hat, которая поддерживает shim, придерживается другой точки зрения. Linux powerhouse дает уязвимости CVE-2023-40547 8.3 бала серьезности проблемы.

Почему такая высокая оценка, ведь это сложно сделать? Shim есть практически во всех дистрибутивах Linux и существует уже более десяти лет. Это очень много потенциальных целей.

Чтобы исправить это, вам понадобится
установите патч shim на все ваши Linux-системы. Или, если вы никогда не загружаетесь по сети, вы можете просто отключить опцию сетевой загрузки. Это тоже сработает.

Сударев Александр Эксперт по безопасности, криптовалютам и умным домам

Люблю технологии и криптовалюты. Создаю свой умный дом и делюсь этим с Вами. Знаю как предотвратить хакерскую атаку, так как немного смыслю в безопасности

Похожие статьи

Комментарии (0)