Група изследователи от компанията Ledger, производител на хардуерни крипто портфейли, откриха няколко уязвимости в устройствата HSM (), които могат да бъдат използвани за извличане на ключове или извършване на дистанционна атака за подмяна на фърмуера на HSM устройството. В момента докладът за проблема е наличен само на френски език, а англоезичната версия е планирана през август по време на конференцията Blackhat USA 2019. HSM представлява специализирано външно устройство, предназначено за съхраняване на открити и затворени ключове, използвани за генериране на цифрови подписи и за криптиране на данни.
HSM позволява значително подобряване на защитата, тъй като напълно изолира ключовете от системата и приложенията, предоставяйки само API за изпълнение на основните криптографски примитиви, реализирани на страната на устройството. Обикновено HSM се използва в области, където се изисква най-висока защита, например в банки, крипто борси, удостоверяващи центрове за проверка и генериране на сертификати и цифрови подписи.
Предложените методи на атака позволяват на неаутентифициран потребител да получи пълен контрол върху съдържанието на HSM, включително да извлече всички криптографски ключове и данни на администратора, съхранявани на устройството. Проблемите произтичат от преливане на буфера във вътрешния обработчик на команди PKCS#11 и грешка в реализацията на криптографската защита на фърмуерите, която позволява заобикаляне на проверката на фърмуера чрез цифровия подпис PKCS#1v1.5 и иницииране на зареждане в HSM на собствена фърмуерна версия.
В качеството на демонстрация е организирано зареждане на модифициран фърмуер, в който е добавен бекдорон, оставящ се активен след последваща инсталация на стандартните обновления на фърмуера от производителя. Твърди се, че атаката може да бъде извършена дистанционно (методът на атака не е уточнен, но вероятно става въпрос за подмяна на зарежданата фърмуерна версия или предаване за обработка на специално оформени сертификати).
Проблемът беше открит по време на прилагане на fuzzing-тестове на предложената вътрешна реализация на командите PKCS#11 в HSM. Тестовете бяха организирани чрез зареждане на собствен модул в HSM с помощта на стандартния SDL. В резултат на това в реализирацията на PKCS#11 беше открито препълване на буфера, което се оказа, че може да се експлоатира не само от вътрешната среда на HSM, но и чрез извикване на драйвера на PKCS#11 от основната операционна система на компютъра, към който е свързан модулът HSM.
По-нататък препълването на буфера беше експлоатирано за изпълнение на код на страната на HSM и пренастройване на параметрите за достъп. При изследване на съдържанието беше открита още една уязвимост, която позволява да се зареди нов фърмуер без цифров подпис. В крайна сметка беше написан и зареден в HSM собствен модул, който извежда всички съхранявани в HSM тайни.
Името на производителя, в HSM-устройствата на който бяха открити уязвимости, все още не се разкрива, но се твърди, че проблемните устройства се използват от някои големи банки и доставчици на облачни услуги. Същевременно се съобщава, че информацията за проблемите е била изпратена на производителя и той вече е отстранил уязвимостите в новото обновление на фърмуера. Независими изследователи предполагат, че проблемът може да е в устройствата на компанията Gemalto, която през май обнови Sentinel LDK с отстраняване на уязвимостите, достъпът до информация за които все още .
Източник: opennet.ru
