PuTTYのデジタル署名に脆弱性、秘密鍵を窃取される可能性
マイナビニュース2024年4月18日(木)10時26分
PuTTYチームは4月15日(英国時間)、「PuTTY vulnerability vuln-p521-bias」において、リモートログオンクライアントの「PuTTY」に重大な脆弱性が存在すると発表した。この脆弱性を悪用されると、署名付きメッセージから秘密鍵を取得されるリスクがある。影響範囲はPuTTYだけではなく、関連ツールと鍵ペアに及ぶという。
○脆弱性「CVE-2024-31497」の概要
発見された脆弱性は「CVE-2024-31497」として追跡されている。このセキュリティ脆弱性はPuTTYの署名処理に存在する。米国国立標準技術研究所(NIST: National Institute of Standards and Technology)が定めた楕円曲線P-521を使用する楕円曲線デジタル署名アルゴリズム(ECDSA: Elliptic Curve Digital Signature Algorithm)において、PuTTYの生成するノンス(nonce)値に偏りがあるとされる。
DSAのデジタル署名スキームにおいて使用されるノンス(nonce)は、ある一定の範囲内に存在するランダム値とされる。この値に偏りがある場合、複数の署名から秘密鍵を算出することができる。そのため、ノンスには安全なランダム値の使用が求められる。
PuTTYは古いWindowsなどの安全な乱数を生成できない環境に対応するため、秘密鍵とメッセージを入力に含む決定論的方法によりノンス値を生成していた。具体的にはSHA-512を使用して入力からハッシュ値を生成し、これを必要なビット数に丸め込む(剰余演算する)。楕円曲線P-256、P-384の場合はSHA-512のビット数(512)が上回るため演算結果にランダム性を期待できるが、P-521(521ビット)の場合は9ビット不足するため、ノンスの上位9ビットが常に0となり、偏りが発生する。
○脆弱性の影響を受ける製品
脆弱性の影響を受けるとされる製品およびバージョンは次のとおり。
PuTTY バージョン0.68から0.80まで
FileZilla Client バージョン3.24.1から3.66.5まで
WinSCP バージョン5.9.5から6.3.2まで
TortoiseGit バージョン2.4.0.2から2.15.0まで
TortoiseSVN バージョン1.10.0から1.14.6まで
○脆弱性が修正された製品
脆弱性が修正された製品およびバージョンは次のとおり。
PuTTY バージョン0.81
FileZilla Client バージョン3.67.0
WinSCP バージョン6.3.3
TortoiseGit バージョン2.15.0.1
TortoiseSVN バージョン1.14.7
○影響と対策
PuTTYによると、この脆弱性を悪用するには約60枚の電子署名が必要だという。何らかの方法で署名を収集した攻撃者は、計算して得られた秘密鍵を使用して署名を偽装し、サーバに侵入する可能性がある。
この脆弱性は修正前のPuTTYによって生成された楕円曲線P-521を使用する電子署名すべてに影響しており、秘密鍵の安全性もこれら電子署名により失われていると評価できる。そのため、影響を受けるこれら電子署名と鍵ペアはすべて破棄することが推奨されている。
なお、この脆弱性は鍵ペアではなく電子署名に影響している点に注意が必要。鍵ペアを他のソフトウェアから生成していたとしても、この脆弱性の影響を受ける電子署名により秘密鍵が計算できる可能性があるため、その鍵ペアもすでに安全ではない。
影響を受ける製品を使用しているユーザーには、すべての製品をアップデートし、必要に応じて鍵ペアと電子署名を再生成して置き換えることが望まれている。
○脆弱性「CVE-2024-31497」の概要
発見された脆弱性は「CVE-2024-31497」として追跡されている。このセキュリティ脆弱性はPuTTYの署名処理に存在する。米国国立標準技術研究所(NIST: National Institute of Standards and Technology)が定めた楕円曲線P-521を使用する楕円曲線デジタル署名アルゴリズム(ECDSA: Elliptic Curve Digital Signature Algorithm)において、PuTTYの生成するノンス(nonce)値に偏りがあるとされる。
DSAのデジタル署名スキームにおいて使用されるノンス(nonce)は、ある一定の範囲内に存在するランダム値とされる。この値に偏りがある場合、複数の署名から秘密鍵を算出することができる。そのため、ノンスには安全なランダム値の使用が求められる。
PuTTYは古いWindowsなどの安全な乱数を生成できない環境に対応するため、秘密鍵とメッセージを入力に含む決定論的方法によりノンス値を生成していた。具体的にはSHA-512を使用して入力からハッシュ値を生成し、これを必要なビット数に丸め込む(剰余演算する)。楕円曲線P-256、P-384の場合はSHA-512のビット数(512)が上回るため演算結果にランダム性を期待できるが、P-521(521ビット)の場合は9ビット不足するため、ノンスの上位9ビットが常に0となり、偏りが発生する。
○脆弱性の影響を受ける製品
脆弱性の影響を受けるとされる製品およびバージョンは次のとおり。
PuTTY バージョン0.68から0.80まで
FileZilla Client バージョン3.24.1から3.66.5まで
WinSCP バージョン5.9.5から6.3.2まで
TortoiseGit バージョン2.4.0.2から2.15.0まで
TortoiseSVN バージョン1.10.0から1.14.6まで
○脆弱性が修正された製品
脆弱性が修正された製品およびバージョンは次のとおり。
PuTTY バージョン0.81
FileZilla Client バージョン3.67.0
WinSCP バージョン6.3.3
TortoiseGit バージョン2.15.0.1
TortoiseSVN バージョン1.14.7
○影響と対策
PuTTYによると、この脆弱性を悪用するには約60枚の電子署名が必要だという。何らかの方法で署名を収集した攻撃者は、計算して得られた秘密鍵を使用して署名を偽装し、サーバに侵入する可能性がある。
この脆弱性は修正前のPuTTYによって生成された楕円曲線P-521を使用する電子署名すべてに影響しており、秘密鍵の安全性もこれら電子署名により失われていると評価できる。そのため、影響を受けるこれら電子署名と鍵ペアはすべて破棄することが推奨されている。
なお、この脆弱性は鍵ペアではなく電子署名に影響している点に注意が必要。鍵ペアを他のソフトウェアから生成していたとしても、この脆弱性の影響を受ける電子署名により秘密鍵が計算できる可能性があるため、その鍵ペアもすでに安全ではない。
影響を受ける製品を使用しているユーザーには、すべての製品をアップデートし、必要に応じて鍵ペアと電子署名を再生成して置き換えることが望まれている。
「脆弱性」をもっと詳しく
「脆弱性」のニュース
-
IssueHunt株式会社、「ヌーラボ社が実践する、バグバウンティとVDP(脆弱性開示プログラム)の活用戦略 大解剖ウェビナー」の見逃し配信を5月29日に開催決定5月20日10時46分
-
99%のインシデント要因とされるユーザ不備による脆弱性を検出運用型のCSPMとしては国内初、OCI (Oracle Cloud Infrastructure)セキュリティ診断機能の提供を開始5月18日10時16分
-
Adobe AcrobatおよびAcrobat Readerに緊急の脆弱性、アップデートを5月17日7時33分
-
マイクロソフト、5月セキュリティ更新プログラムの公開 - 60件の脆弱性修正5月16日18時24分
-
エンジニアと修行僧の出会いが生んだ脆弱性管理ソリューション「FutureVuls」—お客様とのコミュニケーションで進化し続け、日本企業全体のセキュリティ向上に貢献5月16日11時0分
-
SecurityScorecard最新調査:攻撃者はサードパーティの脆弱性を悪用してランサムウェア攻撃のステルス性、スピード、インパクトを最大化5月16日10時0分
-
D-Link製Wi-Fi 6ルータにゼロデイの重要な脆弱性、確認を5月16日8時15分
-
Windowsにゼロデイの特権昇格の脆弱性、悪用確認済み - すぐに更新を5月16日7時31分
-
Microsoft、2024年5月の月例更新 - 60件の脆弱性への対応が行われる5月15日17時14分
-
5/29【オンライン無料セミナー】「セキュリティベンダーが今、脆弱性診断の検討を勧める理由」5月15日15時30分