Група изследователи от компания 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
