
LibreSSL Portable 2.0.2リリース、PRNGの脆弱性を修正 30
ストーリー by headless
修正 部門より
修正 部門より
Open BSD Projectは15日、LibreSSL Portable 2.0.2をリリースした。このバージョンでは疑似乱数生成装置(PRNG)の脆弱性が修正されている(Andrew Ayer氏のブログ記事、
Threatpostの記事、
本家/.)。
この脆弱性は、fork()を実行してプロセスをコピーした場合、孫プロセスと元のプロセスのPIDが一致するとRAND_bytesが同じデータを出力するというもの。LibreSSLではPIDを使用してforkされたプロセスかどうかをチェックし、自動的に再シードを実行する。親プロセスと子プロセスのPIDが一致することはないが、forkを繰り返した場合、元のプロセスとPIDが一致してしまう可能性がある。同様の問題はOpenSSLでも見られるが、RAND_pollを実行することで明示的な再シードが可能となっている。脆弱性を発見したOpsmateのAndrew Ayer氏が使用したテストプログラムでも、fork後にRAND_pollを実行しているという。しかし、LibreSSLではRAND_pollがno-opとなっており、明示的な再シードが実行できない。この脆弱性についてAyer氏は最悪のミスだと考えているようだが、OpenBSDのTheo de Raadt氏やBob Beck氏は現実のプログラムでこのような処理が行われることはないとし、問題が誇張され過ぎていると述べているとのことだ。
この脆弱性は、fork()を実行してプロセスをコピーした場合、孫プロセスと元のプロセスのPIDが一致するとRAND_bytesが同じデータを出力するというもの。LibreSSLではPIDを使用してforkされたプロセスかどうかをチェックし、自動的に再シードを実行する。親プロセスと子プロセスのPIDが一致することはないが、forkを繰り返した場合、元のプロセスとPIDが一致してしまう可能性がある。同様の問題はOpenSSLでも見られるが、RAND_pollを実行することで明示的な再シードが可能となっている。脆弱性を発見したOpsmateのAndrew Ayer氏が使用したテストプログラムでも、fork後にRAND_pollを実行しているという。しかし、LibreSSLではRAND_pollがno-opとなっており、明示的な再シードが実行できない。この脆弱性についてAyer氏は最悪のミスだと考えているようだが、OpenBSDのTheo de Raadt氏やBob Beck氏は現実のプログラムでこのような処理が行われることはないとし、問題が誇張され過ぎていると述べているとのことだ。
2.0.3がでてる~ (スコア:2)
http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/ [openbsd.org]