Ако бъдат използвани, тези пропуски могат да позволят на нападателите да получат неоторизиран достъп до чувствителна информация или като цяло да причинят проблеми
Наскоро беше обявено, че две уязвимости ( вече каталогизирани като CVE-2023-1017 и CVE-2023-1018) са идентифицирани в кода с референтната имплементация на спецификацията TPM 2.0 (Trusted Platform Module).
Откритите недостатъци са значителни, тъй като водят до запис или четене на данни извън границите на разпределения буфер . Атака срещу криптопроцесорни реализации, използваща уязвим код, може да доведе до извличане или презаписване на информация, съхранявана на чипа, като например криптографски ключове.
Нападател с достъп до команден интерфейс на TPM може да изпрати злонамерено създадени команди към модула и да задейства тези уязвимости. Това позволява достъп само за четене до чувствителни данни или презаписване на нормално защитени данни, които са достъпни само за TPM (например криптографски ключове).
Споменава се, че нападателят може да използва възможността за презаписване на данни във фърмуера на TPM, за да оркестрира изпълнението на своя код в контекста на TPM, което например може да се използва за внедряване на задни врати, които работят от страната на TPM и не се откриват от операционната система.
За тези, които не са запознати с TPM (Trusted Platform Module), трябва да знаете, че това е хардуерно базирано решение, което предоставя силни криптографски функции на съвременните компютърни операционни системи, което го прави устойчив на манипулации.
Удостоверен локален атакуващ може да изпрати злонамерени команди към уязвим TPM, който позволява достъп до чувствителни данни. В някои случаи нападателят може също да презапише защитени данни във фърмуера на TPM. Това може да причини срив или произволно изпълнение на код в TPM. Тъй като полезният товар на нападателя се изпълнява вътре в TPM, той може да не бъде открит от други компоненти на целевото устройство.
Тъй като облачните изчисления и виртуализацията стават все по-популярни през последните години, софтуерно базираните реализации на TPM също нараснаха в популярност. TPM може да бъде внедрен като отделен, вграден или фърмуерен TPM в своята хардуерна форма. Виртуалните TPM съществуват под формата на хипервизор или в чисто софтуерно базирана TPM реализация, например swtpm.
Относно откритите уязвимости се споменава, че те са причинени от неправилна проверка на размера на параметрите на функцията CryptParameterDecryption(), която позволява запис или четене на два байта извън буфера, предаден на функцията ExecuteCommand() и която съдържа командата TPM2.0. Според имплементацията на фърмуера, презаписването на два байта може да повреди както неизползваната памет, така и данните или указателите в стека.
Уязвимостта се използва чрез изпращане на специално разработени команди към TPM модула (атакуващият трябва да има достъп до TPM интерфейса).
Понастоящем проблемите вече са коригирани чрез изпращане на актуализираните версии на спецификацията TPM 2.0, издадена през януари (1.59 Errata 1.4, 1.38 Errata 1.13, 1.16 Errata 1.6).
Освен това се съобщава, че библиотеката с отворен код libtpms, използвана за програмно емулиране на TPM модули и интегриране на TPM поддръжка в хипервизори, също е засегната от уязвимостта. Важно е обаче да се отбележи, че уязвимостта е била отстранена в изданието libtpms 0.9.6, така че на тези, които използват по-ранна версия, се препоръчва да актуализират до новата версия възможно най-скоро.
По отношение на решението на тези недостатъци, TCG (Trusted Computing Group) публикува актуализация на своите Errata за спецификацията на библиотеката TPM2.0 с инструкции за справяне с тези уязвимости. За да осигурят сигурността на своите системи, потребителите трябва да прилагат актуализации, предоставени от производителите на хардуер и софтуер чрез тяхната верига за доставки възможно най-скоро.
И накрая, ако се интересувате да научите повече, можете да намерите подробностите на следния линк.