2012-05-08

OpenSSLの脆弱性がOpenVPNに与える影響について

By Taro Yamazaki  |  22:40 No comments

4月中旬に、OpenSSLの脆弱性が報告されました(CVE-2012-2110)。OpenVPNはOpenSSLのセキュリティ機能を使用しているため影響が懸念されていましたが、この件に関してOpenVPNの作者であるJames YonanのコメントがOpenVPN Developers MLに投稿されました。

結論としては「OpenVPNにはこの件による脆弱性の影響なし」ということですが、詳細を。

以下、Jamesからのコメントの抄訳です。

自分としては、OpenVPNにはこの脆弱性はないと判断している。

OpenVPNのソースを調べてみたところ、脆弱性があるとされているメソッド(d2i_*_biod2i_*_fp)が呼ばれている箇所がいくつかある。これらのメソッドはssl.cの中で呼び出されているが、このメソッドに引数として渡されているデータはローカルのデータだ。

$ grep -Er '\bd2i_.*_(bio|fp)\b' .
./ssl.c:          p12 = d2i_PKCS12_bio(b64, NULL);
./ssl.c:          p12 = d2i_PKCS12_fp(fp, NULL);

たとえば、このOpenSSLメソッドにはPKCS12ファイルが渡されているが、このファイルはローカルファイルシステムにあるもので、攻撃元のクライアントやサーバーから攻撃用のファイルをOpenVPNやSSL/TLSプロトコルの相手先に送り込む方法はない。

また、この脆弱性に関するアドバイザリーの中でも「OpenSSLのSSL/TLSコードには脆弱性の影響はない(In particular the SSL/TLS code of OpenSSL is *not* affected)」という記載があり、OpenVPNのSSL/TLS機能にも影響はないと考えられる。

さらに、一般的にはOpenVPNの「tls-auth」オプションを使用することで、SSL/TLSプロトコルを直接攻撃するなどのOpenSSLの問題があっても防御できると思われる。
MLでは、どのバージョンのOpenVPNのコードがこのコメントの対象となっているかについてフォローされていますが、メソッドを呼び出す位置やファイルが変わっているものの、結論としては2.2以降のすべてのバージョン(最新のマスタも含む)が同じ処理になっている(=脆弱性の影響なし)とのことです。

この件に関するMLへの投稿が4月19日にあったことを考えると、個人的にはもうちょっと早く公式なコメントがあってもよかったかなとは思いますが、何はともあれ、作者自身から安全というお墨付きが出たのはよかったですね。

Author: Taro Yamazaki

0 コメント:

© 2015 yamata::memo | Distributed By My Blogger Themes | Created By BloggerTheme9
TOP