OpenSSLの脆弱性 ( CVE-2017-3737, CVE-2017-3738 )
こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
12/7に、当初の予告通りopensslに関しての脆弱性情報 ( CVE-2017-3737, CVE-2017-3738 )が公開されました。今回は、これらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。
影響するバージョン
OpenSSL: 1.0.2l以前
Priority
Medium(CVE-2017-3738)/Low(CVE-2017-3737)
修正方法
各ディストリビューションの情報を確認してください。
CVE概要(詳細はCVEのサイトをご確認ください)
「error state(エラー状態)」を回避してSSL_read()やSSL_write()が呼び出せるバグ
重要度 – Medium/Moderate
対象:1.0.2系(1.0.2m, 1.0.2l, 1.0.2k, 1.0.2j, 1.0.2i, 1.0.2h, 1.0.2g, 1.0.2f, 1.0.2e, 1.0.2d, 1.0.2c, 1.0.2b)
OpenSSL 1.0.2b以降では「error state(エラー状態)」メカニズムが導入されています。これは、ハンドシェイク中に致命的なエラーが発生した場合に、OpenSSLはエラー状態に移行し、ハンドシェイクを続行しようとすると即座に失敗するようになるものです。
これはハンドシェイク関数(SSL_do_handshake(), SSL_accept() and SSL_connect())の場合には動作しますが、SSL_read()やSSL_write()が直接呼び出された場合にはバグにより動作しません。その場合、ハンドシェイクが失敗した場合には最初の関数のコールで致命的なエラーが返されます。
もしSSL_read()/SSL_write()がアプリケーションによって同じSSLオブジェクトに対して続けて呼び出された場合、その呼び出しは成功し、データがSSL/TLSレコードレイヤから暗号化/復号化されずに渡ってしまいます。
この問題を悪用するには、アプリケーションが致命的なエラーを既に受け取った後に、更にSSL_read()/SSL_write()をコールするようなバグが存在する必要が有ります。
AVX2モンゴメリ乗算プロシジャーにオーバーフローのバグ
重要度 – Low
対象:1.0.2系(1.0.2m, 1.0.2l, 1.0.2k, 1.0.2j, 1.0.2i, 1.0.2h, 1.0.2g, 1.0.2f, 1.0.2e, 1.0.2d, 1.0.2c, 1.0.2b, 1.0.2a, 1.0.2)
対象:1.1.0系(1.1.0g, 1.1.0f, 1.1.0e, 1.1.0d, 1.1.0c, 1.1.0b, 1.1.0a, 1.1.0)
1024ビットの係数を使用した累乗で使用されるAVX2モンゴメリ乗算プロシジャーにオーバーフローのバグがあります。ECアルゴリズムは影響を受けません。
これはAVX2をサポートするプロセッサにのみ影響しますが、Intel Haswell(第4世代)などのADX拡張は影響を受けません。
注):この問題のインパクトは、CVE-2017-3736、CVE-2017-3732, CVE-2015-3193に似ています。この問題の重要度は”Low”であるため、現時点ではOpenSSL 1.1.0の新しいリリースは出ていません。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
なお、OpenSSL 1.0.1シリーズ以前のバージョンは本家ではサポート終了となっておりますので詳しい情報は各ディストリビューションの提供元にご確認下さい。
debian
Red Hat Enterprise Linux/CentOS
Ubuntu
openSUSE
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat Satelliteを使うと管理が便利でしょう。
Red Hat Satelliteを用いた一般的なErattaの適用は、『Red Hat Satellite 6でerrataを適用してみる』を
参考にして下さい。
また、アプリケーションの再起動が発生しますので、pacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。
[参考]
https://mta.openssl.org/pipermail/openssl-announce/2017-December/000109.html
セミナー情報
12/13/(水)に「OSSセキュリティナイターvol.7」と題して、セキュリティのセミナーを行います。この回では、『IoTセキュリティの今/世界のLinux Securityの今 』と題してIoTセキュリティの著名な方、またLinux Securityの著名な方を講師としてお招きし、IoTセキュリティの話と、世界のLinux Securityの最新動向を御講演頂きます。
https://connpass.com/event/72983がプログラム内容と申し込みの詳細になりますので、是非お申し込み下さい。
セキュリティ系連載案内
OSSセキュリティ技術の会による日経Linuxでの連載「IoT時代の最新SELinux入門」がITPro上で読めるようになりました。技術の会代表で第一人者である中村さん等による、最新のSELinuxの情報やコマンド類等も更新されているのでお薦めです。
OSSセキュリティ技術の会によるThinkITでの連載「開発者のためのセキュリティ実践講座」がThinkIT上で開始しました。技術の会の中の人間で、最新の代表的なOSSセキュリティ技術を紹介していきます。
OSSセキュリティ技術の会により、ThinkITでLinuxSecuritySummit 2017のレポートが紹介されています。