Уразлівасці ў HSM-модулях, якія могуць прывесці да нападу на ключы шыфравання

Група даследнікаў з кампаніі Ledger, якая выпускае апаратныя кашалькі для криптовалюты, выявіла некалькі ўразлівасцяў у прыладах HSM (Апаратны модуль бяспекі), якія могуць быць выкарыстаны для вымання ключоў або здзяйснення выдаленай атакі для падмены прашыўкі HSM-прылады. У сапраўдны момант даклад аб праблеме даступны толькі на французскай мове, англамоўны даклад плануецца апублікаваць у жніўні падчас канферэнцыі Blackhat USA 2019. HSM уяўляе сабою спецыялізаваную вонкавую прыладу, прызначанае для захоўвання адчыненых і зачыненых ключоў, выкарыстоўваных для фармавання лічбавых подпісаў і для шыфравання дадзеных.

HSM дазваляе істотна падвысіць абарону, бо цалкам ізалюе ключы ад сістэмы і прыкладанняў, толькі падаючы API для выканання базавых крыптаграфічных прымітываў, рэалізаваных на боку прылады. Звычайна HSM ужываецца ў абласцях, у якіх патрабуецца забяспечыць найвышэйшую абарону, напрыклад у слоіках, біржах криптовалют, якія сведчаць цэнтрах для праверкі і генерацыі сертыфікатаў і лічбавых подпісаў.

Прапанаваныя метады нападу дазваляюць неаўтэнтыфікаванаму карыстачу атрымаць поўны кантроль над змесцівам HSM, у тым ліку атрымаць усе захоўваемыя на прыладзе крыптаграфічныя ключы і ўліковыя дадзеныя адміністратара. Праблемы выкліканыя перапаўненнем буфера ва ўнутраным апрацоўшчыку каманд PKCS#11 і памылкай у рэалізацыі крыптаграфічнай абароны прашывак, якая дазваляе абыйсці праверку прашыўкі па лічбавым подпісе PKCS#1v1.5 і ініцыяваць загрузку ў HSM уласнай прашыўкі.

У якасці дэманстрацыі была арганізавана загрузка мадыфікаванай прашыўкі, у якую быў дададзены бэкдор, які застаецца актыўным пасля наступных установак штатных абнаўленняў прашыўкі ад вытворцы. Сцвярджаецца, што напад можа быць здзейснена выдалена (метад нападу не ўдакладняецца, але верагодна маецца ў выглядзе падмена загружанай прашыўкі ці перадача для апрацоўкі адмыслова аформленых сертыфікатаў).

Праблема была выяўлена падчас ужывання fuzzing-тэставанні прапанаванай у HSM унутранай рэалізацыі каманд PKCS#11. Тэставанне было арганізавана праз загрузку ў HSM свайго модуля пры дапамозе штатнага SDL. У выніку ў рэалізацыі PKCS#11 было выяўлена перапаўненне буфера, якое аказалася можна эксплуатаваць не толькі з унутранага асяроддзя HSM, але і праз зварот да драйвера PKCS#11 з асноўнай аперацыйнай сістэмы кампутара, да якога падлучаны модуль HSM.

Далей перапаўненне буфера было эксплуатавана для выканання кода на боку HSM і пераазначэнні параметраў доступу. У ходзе вывучэння начыння была выяўлена яшчэ адна ўразлівасць, якая дазваляе загрузіць новую прашыўку без лічбавага подпісу. У канчатковым рахунку быў напісаны і загружаны ў HSM уласны модуль, які скідае вонкі ўсе якія захоўваюцца ў HSM сакрэты.

Імя вытворцы, у HSM-прыладах якога выяўлены ўразлівасці, пакуль не выдаецца, але сцвярджаецца, што праблемныя прылады ўжываюцца некаторымі буйнымі слоікамі і правайдэрамі хмарных сэрвісаў. Пры гэтым паведамляецца, што інфармацыя аб праблемах раней была адпраўлена вытворцу і ён ужо ўхіліў уразлівасці ў свежым абнаўленні прашыўкі. Незалежныя даследнікі мяркуюць, што праблема можа быць у прыладах кампаніі Gemalto, якая ў траўні выпусціла абнаўленне Sentinel LDK c ухіленнем уразлівасцяў, доступ да інфармацыі аб якіх пакуль закрыта.

Крыніца: opennet.ru

Дадаць каментар