JVNVU#178990
Erlang/OTP SSH ライブラリで生成される乱数が推測可能な問題
Erlang/OTP SSH ライブラリには、生成される乱数が推測可能な問題が存在します。
- Erlang/OTP バージョン R14B03 より前のバージョン
詳しくは US-CERT Vulnerability Note VU#178990 が提供する情報をご確認ください。
Erlang/OTP SSH ライブラリは、生成した乱数を用いて様々な暗号化処理を行います。Erlang/OTP SSH ライブラリで実装されている乱数生成の手法には、生成された乱数が推測可能な問題が存在します。
発見者の報告では以下のように記載されています。
The Erlang/OTP ssh library implements a number of cryptographic operations that depend on cryptographically strong random numbers. Unfortunately the RNG used by the library is not cryptographically strong, and is further weakened by the use of predictable seed material. The RNG (Wichman-Hill) is not mixed with an entropy source.
The seed used for all ssh connections in the library is the current time (to approximately microsecond resolution). By observing the time a connection from this library is established, the first two components of the three RNG seed can be guessed.The third component can be recovered by brute-force; trying each possible value (1..1000000).
Guessing the exact seed is made easier by the 16 byte random session cookie that the library will send in its plaintext kexinit message. This cookie will be bytes 17-32 of the RNG sequence.
Once the session RNG seed is recovered, an attacker can simply perform the same DH key exchange operation as the SSH library and recover the session secret. Additionally, if the ssh library is used on the server side of the connection and DSA host key is used, the private key can be recovered from the kex_dh messages. The secret signing value k is known from the RNG seed (bytes 170 - 190 of the sequence), so with the public DSA key data in the kex_dh_reply message the private part can be recovered by inverting the signature operation.
第三者により SSH セッションキーや DSA ホストキーなどが取得される可能性があります。
アップデートする
開発者が提供する情報をもとにアップデートを適用してください。
アップデートの適用後、SSH セッションキーや DSA ホストキーなどを変更することが推奨されています。
-
US-CERT Vulnerability Note VU#178990
Erlang/OTP SSH library uses a weak random number generator
2011.05.26における脆弱性分析結果
評価尺度 | 攻撃成立条件 | 評価値 |
---|---|---|
攻撃経路 | インターネット経由からの攻撃が可能 |
|
認証レベル | 匿名もしくは認証なしで攻撃が可能 |
|
攻撃成立に必要なユーザーの関与 | ユーザが何もしなくても脆弱性が攻撃される可能性がある |
|
攻撃の難易度 | ある程度の専門知識や運 (条件が揃う確率は高い) が必要 |
|
JPCERT 緊急報告 |
|
JPCERT REPORT |
|
CERT Advisory |
|
CPNI Advisory |
|
TRnotes |
|
CVE |
CVE-2011-0766 |
JVN iPedia |
|