こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
06/14/2018にnccgroupから「 Technical Advisory: “ROHNP”- Key Extraction Side Channel in Multiple Crypto Libraries 」(CVE-2018-0495)が公開されました。それに伴い、複数のcryptoライブラリで脆弱性情報の公開と修正情報が公開されています。今回はこの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。
情報が未だ錯綜していますので、逐次情報は更新していく予定です。
2018/06/15 12:30更新:libgcrypt, libsunec, cryptlib, libreSSL, MatrixSSL, wolfSSH, LibTomCrypt, Botanの情報を追記しました。各実装によってCVE-2018-12438, CVE-2018-12433, CVE-2018-12434, CVE-2018-12439, CVE-2018-12437, CVE-2018-12435が追加されました。
2018/06/15 22:00更新:BoringSSL (CVE-2018-12440)の情報を追記しました。
2018/06/19 10:00更新:WolfSSL (日本語)の情報を追記しました。
OS・ディストリビューション・SW提供情報
libgcrypt
sunec/libsunec
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12438
cryptlib
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12433
libreSSL
https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.6.5-relnotes.txt (CVE-2018-12434)
https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.7.4-relnotes.txt (CVE-2018-12434)
MatrixSSL
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12439
wolfSSH
LibTomCrypt
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12437
Botan
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12435
BoringSSL
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12440
wolfSSL
修正方法
各ディストリビューションの情報を確認してください。
脆弱性概要(詳細は一次情報源のサイトをご確認ください)
Technical Advisory: “ROHNP”- Key Extraction Side Channel in Multiple Crypto Libraries
複数の暗号化ライブラリでの鍵交換でのサイドチャネル攻撃の可能性
複数の暗号化ライブラリ実装上で、攻撃者がサイドチャネル攻撃を行いECDSA/DSAの秘密鍵を復元する事が出来る可能性があります。これらの暗号化ライブラリが秘密鍵をシグネチャを作成するために使う際に(TLSやSSH接続)、メモリキャッシュから情報が漏洩してしまう可能性が有ります。同じマシン上にいる非特権の攻撃者が数千のシグネチャを集めることにより秘密鍵を復元する事が出来る可能性があります。
実際に(nccgroupの)デモでは、最新のバージョンのOpenSSLを用いてる状態で、メモリキャッシュのサイドチャネル攻撃を用いて256ビットのECDSA鍵を数分で復元する事が出来たそうです。
脆弱性はシグネチャを生成する際の
s = k-1(m + r * x) (mod q)
部分に含まれています。多くのライブラリでは、モジュラー追加を実行するコードが一定時間内に実行されないため、サイドチャネル攻撃により秘密鍵を計算することが出来ます。
影響する暗号化ライブラリ
以下のライブラリに影響が出るようです。詳細は一次情報源を確認ください。
CryptLib (Both), LibreSSL (Both), Mozilla NSS (Both), Botan (ECDSA), OpenSSL (ECDSA), WolfCrypt (ECDSA), Libgcrypt (ECDSA), LibTomCrypt (ECDSA), LibSunEC (ECDSA), MatrixSSL (ECDSA), BoringSSL (DSA)
主なディストリビューションの対応状況
詳細は、各ディストリビューションの提供元にご確認ください
Kernel
[参考]
Technical Advisory: “ROHNP”- Key Extraction Side Channel in Multiple Crypto Libraries
セキュリティ系連載案内
OSSセキュリティ技術の会による日経Linuxでの連載「IoT時代の最新SELinux入門」がITPro上で読めるようになりました。技術の会代表で第一人者である中村さん等による、最新のSELinuxの情報やコマンド類等も更新されているのでお薦めです。
OSSセキュリティ技術の会によるThinkITでの連載「開発者のためのセキュリティ実践講座」がThinkIT上で開始しました。技術の会の中の人間で、最新の代表的なOSSセキュリティ技術を紹介していきます。
OSSセキュリティ技術の会により、ThinkITでLinuxSecuritySummit 2017のレポートが紹介されています。
OSSセキュリティ技術の会の面により、@ITで「OSS脆弱性ウォッチ」が連載されています。
セミナー情報 1
2018年10月22日から10月25日のCSS(Computer Security Symposium)2018で、「OSSセキュリティ技術ワークショップ(OWS) 2018特別セッション」 と題しまして、OSSセキュリティ技術の会後援で特別セッションを開催します。
https://www.iwsec.org/ows/2018/index.htmlにプログラム内容と一般論文申し込みの詳細を載せていきますので、是非御確認下さい(ページは更新中です)。
セミナー情報 2
2018年8月6日に「OSSセキュリティ技術の会 座談会(第一回)」を開催します。OSSセキュリティ技術の会では、講演形式の勉強会シリーズを行っていますが、今回は新たな試みとして座談会形式の会合を行います。
https://secureoss-sig.connpass.com/event/92782/にプログラム内容と申し込みの詳細を載せていますので、是非御参加下さい。