公開日:2011/05/26 最終更新日:2011/05/26

JVNVU#178990
Erlang/OTP SSH ライブラリで生成される乱数が推測可能な問題

概要

Erlang/OTP SSH ライブラリには、生成される乱数が推測可能な問題が存在します。

影響を受けるシステム

  • Erlang/OTP バージョン R14B03 より前のバージョン
なお、Erlang/OTP SSH ライブラリを実装している製品が本脆弱性の影響を受ける可能性があります。

詳しくは 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 ホストキーなどを変更することが推奨されています。

参考情報

  1. US-CERT Vulnerability Note VU#178990
    Erlang/OTP SSH library uses a weak random number generator

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

2011.05.26における脆弱性分析結果

評価尺度 攻撃成立条件 評価値
攻撃経路 インターネット経由からの攻撃が可能
認証レベル 匿名もしくは認証なしで攻撃が可能
攻撃成立に必要なユーザーの関与 ユーザが何もしなくても脆弱性が攻撃される可能性がある
攻撃の難易度 ある程度の専門知識や運 (条件が揃う確率は高い) が必要
  • 中 - 高

各項目の詳しい説明

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2011-0766
JVN iPedia