1.4 フォーカスリサーチ
インターネット上で発生するインシデントは、その種類や規模が時々刻々と変化しています。このため、IIJでは、流行したインシデントについて独自の調査や解析を続けることで対策につなげています。ここでは、これまでに実施した調査のうち、各種のランサムウェアとその対策、マルウェアに感染しないためのWindowsクライアント要塞化(前編)、耐量子暗号の動向の3つのテーマについて紹介します。
1.4.1 各種のランサムウェアとその対策
ランサムウェアとは、実行したコンピュータ上のファイルを暗号化するなどしてコンテンツを利用不可能な状態にした上で画面上に脅迫文を表示し、復元(復号)と引き換えに金銭やBitcoin、あるいは、AmazonやiTunes Storeのポイントなどを支払うように要求するマルウェアの総称です。脅迫文は利用者の環境に応じた言語に合わせて表示される場合もあります。例えば、Lockyでは図-14のように日本語化されています。このような種類のマルウェアは1989年頃から知られており(※45)、2005年に大きく取り上げられたPGPCoder(※46)を皮切りに、繰り返し話題になってきました。本稿では、2015年10月から2016年3月までの期間にMITFのWebクローラシステムで収集したランサムウェアを対象に、機能の概要と対処・対策における検討事項を紹介します。
ランサムウェアの動向
2015年10月から2016年3月までにIIJのWebクローラで検知したランサムウェアの種類と件数を図-15に、ランサムウェアの一覧を表-1に示します。期間当初はほぼすべてがCryptoWall3.0でしたが、2015年10月下旬から11月上旬までの期間でCryptoWall4.0へとバージョンアップしました。また、この時期には少数のTeslaCrypt2.0/2.2も検知されています。特にTeslaCrypt2.2は、メール経由での感染活動も継続しており、日本国内では一時期「vvvウイルス」という名称で話題になりました(※47)。なお、メールの添付ファイルとしては、EXE、JS、DOC(Macro)、SCR及びそれらをZIP圧縮したものなどが用いられていました。これは後述のLockyのケースでも同様です。その後はCryptoWall4.0の寡占状態が続いていましたが、2016年2月上旬を境に極めて短期間のうちに、TeslaCrypt3.0に置き換えられました。以前のバージョンのTeslaCryptにはファイルの暗号化に用いた共通鍵を攻撃者のサーバに伝達するための仕組みに問題があり、公開ツールを用いて復号可能であることが知られていました(※48)が、3.0以降ではこの問題が修正されました。また、2016年2月上旬に検知したLockyは、当時メール経由で大規模に拡散していた(※49)ものですが、Web経由では小規模の検知にとどまりました。TeslaCrypt4.0は2016年3月中旬頃にリリースされ、3.0のバグ修正や暗号化ファイルへの拡張子付与を廃止するなど多少の変更が行われたものです(※50)。なお、TeslaCryptは2016年5月に開発中止が宣言され、その際にマスターキーが公開されたため、ESET社などによってバージョン3.0以降に対応した復号ツールが作成、公開されています(※51)。
拡大する
図-15 IIJ MITF Webクローラが検知したランサムウェアの種類と件数(2015年10月1日~2016年3月31日)
拡大する
表-1 IIJ MITF Webクローラが検知したランサムウェア一覧
動作の流れ
CryptoWall、TeslaCrypt、Lockyなどのランサムウェアが被害者のコンピュータ上で実行されると、次のような過程でファイルの暗号化と被害者への脅迫が行われます。
1.グローバルIPアドレスの確認
一般的なIPアドレス確認サービスに接続してコンピュータのインターネット接続性とグローバルIPアドレスを確認します。これは次に行われる公開鍵のダウンロード処理が行えるかを確認する事前準備と考えられます。CryptoWall3.0は、この処理が実行できない場合、以降の処理が実行されません。また、接続に際してコンピュータのProxy設定を利用するものとそうでないものがあります。なお、CryptoWall4.0やTeslaCrypt3.0/4.0は、このようなグローバルIPアドレスの確認を行いません。
2.サーバとの鍵交換
金銭などを支払った被害者に復号手段を提供するため、攻撃者は何らかの方法で復号手段を手元(支払い手順を実行するサーバ上など)に保持しておく必要があります。LockyやCryptoWallは後述する暗号化の際に必要となる公開鍵をサーバからダウンロードする仕組みであるため、サーバとの接続を妨げることができれば、以降の処理は実行されません。一方、TeslaCryptはあらかじめ実行ファイルにECDH鍵パラメータが埋め込まれているため、サーバとの接続の有無によらず、暗号化が実行されます。
3.VSS管理ファイルの削除
被害者がWindows Vista以降に標準搭載されているバックアップ機能のVolume Shadow Copy Service(VSS)を用いてファイルを復元することを妨げるために、VSS管理ファイルを削除します。UACの設定にもよりますが、初期設定であれば確認ダイアログが表示されます。また、ランサムウェアが管理者権限のないアカウントで実行された場合は、この処理は行われません。
4.対象ファイルの暗号化
拡張子などによって暗号化対象のファイルを選択し、ランダムに生成した鍵を使ってAESで暗号化し、その共通鍵を暗号化したファイルのヘッダ部分に埋め込みます。このとき、TeslaCryptではECDH、CryptoWallやLockyではRSAを用いて共通鍵を第三者に解読できない形にします。
5.脅迫文の表示
Textや、PNG、HTMLなど複数のフォーマットのファイルを表示して、コンテンツが暗号化された旨と、支払い用のWebサーバへの接続手順を表示します(図-16、図-17)。TeslaCryptでは、Webサーバへアクセスすると、お試しで任意のファイルの復号を持ちかけて被害者に暗号化されたファイルをアップロードを促し、暗号化に使った共通鍵の回収を試みます。
拡大する
図-16 TeslaCrypt3.0の脅迫文
拡大する
図-17 TeslaCrypt2.2の支払い用Webサーバ接続画面
対処
ランサムウェアが実行され、コンテンツファイルが利用不能な状態になってしまった場合、自力による復号は非常に困難です。ただし、前述のTeslaCryptのようにマルウェア作成者の不手際や、あるいは鍵情報、ランサムウェアのDecryptorの流出などのために、実効性のある復号ツールが存在する場合がまれにあります。ツールの出自や内容に注意を払う必要はありますが、それらを試行することは選択肢として検討する価値があります。
しかし、残念ながら多くの場合、自力での復号は不可能なので攻撃者の要求を受け入れるか否かの選択しかありません。被害者の業務内容やコンテンツファイルの保存ポリシーにもよりますが、ストレージ故障と同様に機器交換やクリーンインストールで対処することをまず検討すべきです。組織的な観点に立てば、個々のPCのファイルシステムの重要性はそれ程高くない場合が多いのではないでしょうか。一方で、利用不能になったファイルが直ちに人命に関わるようなものであった場合には、攻撃者と取引した事例も存在します(※52)。ファイルの重要度や対価の捉え方、依存する事業の性質にもよるので模範解答は存在しませんが、万が一脅迫に屈するという選択をとる場合には、最低限、次の2点に留意する必要があります。
- 支払いをしてもすべてのファイルが復号されるという保証はない(※53)
- 反社会勢力と取引することになる(事実が公開される可能性がある場合には、相応の説明が必要になる)
なお、攻撃者のサーバに接続した際に、1ファイルだけ、あるいは数ファイルに限って無料で復号すると表示される場合があります。ここでファイルを送信して復号を試す場合は、復号したファイルの内容が攻撃者に漏えいするリスクを受容することになります。
対策
感染を前提とした対策として、ファイルシステムのバックアップが非常に重要です。個々のコンピュータのファイルシステム全体あるいはコンテンツ保存領域、書き込み可能なネットワークドライブについて、定期的なバックアップを実施する運用を推奨します。バックアップファイルが暗号化されてしまう可能性もあるので、例えばファイルサーバの共有ディレクトリとして設定されていないディレクトリやドライブに保存するなど、バックアップファイルは感染が想定されるコンピュータからアクセスできない状態で保持する必要があります。クライアントPCやファイルサーバを仮想環境で運用している場合は、スナップショットによる差分バックアップ機能の活用が効果的です。
Windowsクライアントシステムにおけるマルウェア感染対策ついては、「1.4.2 マルウェアに感染しないためのWindowsクライアント要塞化(前編)」をご参照ください。
1.4.2 マルウェアに感染しないためのWindowsクライアント要塞化(前編)
本レポートの「1.4.1 各種のランサムウェアとその対策」や、過去のIIRでも触れているように、近年はExploit KitなどによるWebサイト経由やメール経由でのマルウェア感染が数多く確認されています。そこで本稿及び次号のIIRでは、Windowsの要塞化設定の中から、前述の感染経路を経由してマルウェアを受け取った場合の感染の予防や被害を緩和するための設定について紹介します。
要件
OSはWindows 7 SP1以上、各OSのEditionはProfessional(もしくはPro)以上を対象とします。Home Editionでもいくつかの対策については設定可能ですが、ソフトウェアの制限のポリシーやAppLockerのようなプログラムの実行可能範囲を制限するための機能が実装されていないため、ビジネス用途での利用には向かないと判断し、対象外にしています。
前提条件
ここでの説明はドメインに属していないWindowsにてローカルグループポリシーエディターを使用して行っていますが、後述するEMETを含め、Windowsドメインのグループポリシー管理エディターを使用し、配下のクライアントに対して一斉適用することも可能です。また、画像のほとんどはWindows 10 Enterprise Edition 64bitを使用していますが、各Windows のバージョンによって設定できる項目に若干の差異がある場合があります。WindowsはC:\にインストールされていることを想定しています。
基本
まずはソフトウェアをアップデートし、最新に保ちます。
- Windows Update(他のマイクロソフト製品を含む)
- Webブラウザ(FirefoxやGoogle Chromeなどのサードパーティ製品を含む)
- メーラー(Thunderbirdなどのサードパーティ製品を含む)
- Webブラウザプラグイン(Flash Player、Adobe Reader、Java)
この他に利用しているソフトウェアや、出荷時からインストールされているソフトウェアなどがあれば、それらも最新に保ちます。また、不要なソフトウェアは削除しておくとよいでしょう。ウイルス対策ソフトウェアを導入し最新版に保ち、最新パターンファイルに更新します。パーソナルファイアウォールの有効化も必要です。
利用者に管理者権限を与えない
本稿で紹介する対策は管理者権限によって一般ユーザにポリシーを強制し、プログラムの新規インストールを禁止することを前提とした対策を行います。しかし、もし利用者も管理者権限を持っていると、ポリシーを自由に変更してしまうため、一般ユーザ権限のみを付与する必要があります。
アプリケーションホワイトリスティング
Windowsやマイクロソフト社製品標準のプログラムはC:\ WindowsやC:\Program Filesフォルダ以下にインストールされています。また、管理者が用意するプログラムもこれらのフォルダにインストールされることがほとんどです。そこで、これらのフォルダ以外のプログラムの実行やロードを禁止することで、受信したメールにマルウェアが添付されていた場合や、ドライブバイダウンロードによって最終的にマルウェアがダウンロードされた場合に、それらが実行されたりロードされたりすることを防ぎます。この手法はアプリケーションホワイトリスティングと呼ばれ、海外では政府機関などが利用を推奨しています(※54)。ここではAppLockerとソフトウェアの制限のポリシー(SRP)の2つを用いて制限する方法を紹介します。
AppLocker
マイクロソフトは、Windows 7からAppLockerと呼ばれる機能を追加しました。これは、後述するソフトウェアの制限のポリシー(SRP)をより柔軟かつ詳細に管理するための上位版に位置づけられる機能です。Windows 7以降のEnterprise EditionであればAppLockerが使用できます(※55)。
拡大する
図-18 AppLockerの設定画面
- 管理者権限でローカルグループポリシーエディターを起動してください。これはgpedit.mscを実行することで起動することが可能です(図-18)。
- メニュー左側のツリーからコンピューターの構成、Windowsの設定、セキュリティの設定、アプリケーション制御ポリシーの設定、AppLockerとたどります(図-18)。
- AppLockerのメニューが右側に表示されるため、規則の実施の構成をクリックします(図-18)。
- プロパティが開くので、詳細設定タブに切り替え、DLL の規則のコレクションを有効にするにチェックをつけ、適用をクリックします(図-19)。
- プロパティ画面で実施タブに切り替え、すべての規則に対して構成済みにチェックをつけ、セレクトボックスが規則の実施になっていることを確認してOKをクリックして、プロパティウィンドウを閉じます(図-20)。
- AppLocker以下にある各規則(※56)を右クリックし、既定の規則の作成を選択します(図-18)。
- 管理ツールなどからサービス管理画面を開き、Application Identityサービスを起動します。また、スタートアップの種類を自動に切り替えないと、次回リブート時にApplication Identityサービスが自動起動しないため、忘れずに実施してください(※57)。
- ポリシーを強制したいホストを再起動するか、管理者権限でコマンドプロンプトを開き、gpupdate /forceコマンドを実行すると、AppLockerが有効になります。
拡大する
図-19 AppLockerのプロパティ(詳細設定)
拡大する
図-20 AppLockerのプロパティ(実施)
拡大する
図-21 AppLocker - ブロックされたときに出現するポップアップ
許可されていないアプリケーションを起動しようとすると、図-21のようなポップアップが出現します。
また、許可、拒否のログは共にイベントログに出力されます。イベントビューアーより、アプリケーションとサービスログ、Microsoft、Windows、AppLocker、とたどるとカテゴリごとにログが出力されています(図-22)。
拡大する
図-22 AppLocker - イベントログ
ソフトウェアの制限のポリシー(SRP)
AppLockerがEnterprise Editionのみに付属することからも、マイクロソフトはビジネス環境ではEnterprise Edition を利用すべきであると考えていることが窺えます。しかし、ビジネス用途でWindowsがプリインストールされたクライアントPCを購入した場合、Pro Editionが付属していることがほとんどです。そのため、実際のビジネス環境においてはAppLockerを利用できない場合も少なくありません。また、Windows7より前のOS(Vistaなど)にはどのEditionであってもAppLockerを利用できません。このような場合は、ソフトウェアの制限のポリシーを使用して制限をかけることになります。AppLockerと比較した場合、プログラムの種類別にルールを分けて作成することができない、ライブラリ(DLL)の拒否イベントがログに記録されない、ストアアプリの制御ができない、ルールの強制がカーネルモードではなく、ユーザモードで行われる、ポリシーのインポートができないなど不便な点や機能が欠けている点はありますが、多くの場合でAppLocker同様に有効です(※58)。ちなみにソフトウェアの制限のポリシーとAppLockerを両方設定できるOS上でどちらも設定した場合は、ソフトウェアの制限のポリシーの設定は無視されます。
- 管理者権限でローカルグループポリシーエディターを起動してください。これはgpedit.mscを実行することで起動することが可能です(図-23)。
- メニュー左側のツリーからコンピューターの構成、Windowsの設定、セキュリティの設定、ソフトウェアの制限のポリシー、とたどります(図-23)。
- ソフトウェアの制限のポリシーを右クリックして、新しいソフトウェアの制限のポリシーを選択します(図-23)。
- 強制をダブルクリックします(図-23)。
- プロパティが開くので、ソフトウェアのファイルすべてを選択します。また、証明書の規則を適用するを選択し、OKを押してプロパティを閉じます(図-24)。
- 指定されたファイルの種類をダブルクリックし、プロパティを開きます(図-23)。
- プロパティでLNKを選択し、削除をクリックします(図-25)。プログラムが制限なしで実行される旨のポップアップが出てきますが、はいをクリックしてポップアップを閉じ、プロパティ画面でOKを押して、プロパティを閉じます。ここでLNKを削除しておかないと、デスクトップ上やスタートメニューなどに存在するすべてのショートカットファイルまでブロックされてしまい、使い物にならないため、ここでは対象から外します。悪意のあるショートカット(LNK)(※59)については、その中に存在するVBScript やJScriptなどが危険であるため、別の対処を行います(この部分については次号のIIRで説明します)。
- セキュリティレベルをダブルクリックし、許可しないをダブルクリックします。
- プロパティが開くので、既定値として設定をクリックします(図-26)。一部のプログラムが動作しなくなるという旨のポップアップが表示されるため、はいをクリックしてポップアップを閉じます。プロパティに戻るので、OKを押してプロパティを閉じます。
- ポリシーを強制したいホストを再起動するか、管理者権限でコマンドプロンプトを開き、gpupdate /forceコマンドを実行すると、ソフトウェアの制限のポリシーが有効になります。
拡大する
図-23 ソフトウェアの制限のポリシー(SRP)の設定画面
拡大する
図-24 SRP - 強制のプロパティ
拡大する
図-25 SRP - 指定されたファイルの種類のプロパティ
拡大する
図-26 SRP - 許可しないのプロパティ
拡大する
図-27 SRP - ブロックされたときに出現するポップアップ
実行がブロックされると、AppLockerと同様に次のようなポップアップが表示されます(図-27)。
またブロックされた場合のみ、イベントログのアプリケーションに記録されます(図-28)。
拡大する
図-28 SRP - イベントログ
制限回避の脆弱性
マルウェアは一般ユーザ権限で動作した場合、ユーザディレクトリ以下にマルウェアのインストールを試みることが多いため、これらの機能を有効にすれば、多くのマルウェア感染を防ぐことができるでしょう。ただし、初期設定のままではいくつかの脆弱な点が存在します。例えば、C:\Windows\Temp フォルダは、任意のユーザで書き込みと実行が可能であるため、攻撃者がここにマルウェアを生成して実行した場合、初期設定の制限がかかっていても、突破できてしまいます。このようなことがないように、SysinternalsのAccessEnumやAccessChk(※60)のようなツールを使い、実行を許可しているフォルダ以下に一般ユーザが書きこめる場所がないかを調査し、そのフォルダ以下の実行を拒否するルールを追加していく必要があります。また、これ以外にも複数の脆弱性が研究者によって報告されています(※61)。厳密に制限をかけていきたい場合は、これらについても精査し、ルールとして追加をしていく必要があります。
WinSxSフォルダについて
WinSxSフォルダはWindows UpdateのバックアップやWindows の様々な機能(PowerShell、.Net Framework、Hyper-Vなど)が格納されています。機能を有効にするとこのフォルダ内にあるファイルのハードリンクがSystem32フォルダなどに作られるため、ユーザはパスを気にせずに利用できるようになります。ただし有効にする前の状態でも、WinSxSから直接プログラムを実行することは可能です。例えばPowerShellやrundll32.exeなどはこのフォルダ内に存在するため、これらの悪用を防ぐには拒否しておかなければなりません。WinSxS フォルダ以下全体の実行やロードを制限すれば済むのではないか、と考える方もいるかもしれません。しかし、一部のコンポーネントはWinSxS以下に存在するライブラリを直接ロードしていることが、調査した結果分かっています。
AppLockerであれば、実行ファイル(exe)とライブラリ(DLL) のルールを別々に管理できるため、実行ファイルは全体で拒否し、ライブラリについては拒否しない、もしくは一旦すべて拒否しておき、不具合が出たライブラリのみ、ログを確認しながら追加していくという運用が可能です。しかし、ソフトウェアの制限のポリシーはプログラムの種類別に設定することができないため、WinSxS全体を拒否した上で、不具合が出たプログラムのみを部分的に許可するという運用方法しかとれません。しかし切り分けを行う際、ソフトウェアの制限のポリシーによってロードが拒否されたライブラリ(DLL)がログに出力されないため、何を許可して良いのか簡単には分からないという問題も存在します。そこで検証時にWinSxSを許可した状態でSysinternalsのSysmon、Process Monitor、Process Explorer(※62)などを利用してライブラリのロードイベントを記録し、それを許可ルールとして追加するという運用を行うことで、この問題を回避できます。
管理者権限の制限について
AppLockerは既定のルールにAdministratorsグループに属するユーザを許可しています。これらのルールを削除すれば一般ユーザ同様に制限することが可能です。ソフトウェアの制限のポリシーは初期設定ですべてのユーザが対象になっています(図-24)。
《次号に続く》
1.4.3 耐量子暗号の動向
2016年2月、福岡市にて耐量子暗号について扱う国際会議PQCrypto2016(Post-Quantum Cryptography 2016)(※63) が開催されました。本会議の初日には、米国における情報セキュリティ関連の標準文書を策定しているNIST(National Institute of Standards and Technology)から耐量子暗号のコンペティションを開催する旨のアナウンスがなされました(※64)。そのためNISTの今後の動向に注目する研究者や、今後の製品ラインナップの方向性を定めたいベンダーなど幅広い関係者が参加し、同規模の国際会議としては異例の多さで、国内外からの参加者は200名を超えました。今回のNISTによるアナウンスのほか、欧州にて多額の研究資金が投入されるプロジェクトが昨年立ち上がっているなど、この分野の研究が活発化しています。本節では耐量子暗号に関わる技術背景、今後の動向について報告します。
量子計算機の登場による暗号技術への影響
耐量子暗号(Post-Quantum Cryptography)(※65)は2003年にDaniel J. Bernstein教授によって提唱された概念で、量子計算機の登場に伴い、現在利用されている暗号技術の置き換えを目指す暗号アルゴリズムの総称を指します。Post-Quantum Cryptographyの他にもQuantum Safe Cryptography、Quantum resistant Cryptographyなどの用語が使用されていますが、いずれも同じ概念を指します。
現在公開鍵暗号方式として広く利用されているRSAや(EC) DHは、それぞれ素因数分解の困難性、離散対数問題の困難性が前提となって安全性を担保する暗号アルゴリズムです。現在の計算機アーキテクチャの基ではこれら2つは非常に難しい問題であることが知られています。これに対して1994年に提案されたShorアルゴリズム(※66)は量子計算機を用いることにより、これら2つの問題が多項式時間で解けることが示されました(※67)。そのため現在主流の公開鍵暗号アルゴリズムは量子計算機の登場により脅威に晒されることになります。
では、現在の暗号アルゴリズムはどのくらい使い物にならなくなるのでしょうか?これをビット安全性(※68)という指標を用いて説明することができます。暗号アルゴリズムの強度、もしくは危殆化の進行状況を示す概念として「nビット安全性」という表現が用いられます。パラメータnは当該アルゴリズムの攻撃に必要な計算量が2n (2のn乗)であることを示しており、共通鍵暗号においては、全数探索に必要な鍵空間の大きさ2n(nは共通鍵ビット長)に該当します。ハッシュ関数においては出力ビット長がnビットのとき、原像計算困難性に対しては2n、衝突困難性としては2n/2が攻撃に必要な計算量の理論値となります。
一般的に、暗号アルゴリズムは徐々に新しいものに移行していく必要があります。NISTによるアルゴリズム移行計画を示すSP 800-131Aは2015年11月に改訂されて、112ビット未満の安全性しか持たないアルゴリズムは利用禁止(Disallowed) となりました(※69)。共通鍵暗号としては2-key Triple-DES(112 ビット鍵を利用しますが総当り方式よりも効率のよい攻撃手法が存在)が除外されています。HMACなどのMAC(メッセージ認証コード)に用いられる鍵長も112ビット以上のみを利用し、署名作成時のハッシュ関数としては既に危殆化したSHA-1 ではなくSHA-2、SHA-3の利用のみとなります(※70)。
公開鍵暗号方式に対しても攻撃計算量を予測することで、それぞれのアルゴリズムに対してnビット安全性を持つ鍵長が定められています。その1つにNISTによるSP 800-57があり2016 年1月に改訂されています(※71)。112ビット安全性は2030年まで有効で、それ以降は128ビット安全性を持つアルゴリズムにシフトすることが想定されています。112ビット安全性に等価な公開鍵としてはRSA-2048、DSA-2048、ECDSA-224、ECDH-224がありますので、これらよりも短い鍵長の利用はすでに禁止されており、2031年以降はRSA-3072、ECDH- 256などへの移行が望まれることになります。
しかし量子計算機が登場すると、これらの想定が崩れてしまいます。それを示す指標の1つに1996年に発表されたGroverアルゴリズム(※72)があります。Groverによると現在のアーキテクチャの計算機でnビット安全性を有していた暗号アルゴリズムは、量子計算機の解読能力によるとn/2ビット安全性しか確保できないことが分かりました。例えば、現在利用されている共通鍵暗号の1つであるAES-128は64ビット安全性しか確保できないことを意味します。そのため128ビット安全性を確保するためには256ビット鍵を利用するAES-256にシフトする必要が出てきます。同様にハッシュ関数においてはSHA-256を署名に利用するケースを考えると、衝突困難性を確保するためには64ビット安全性しか有さないため、SHA-512やSHA3- 512など、出力長として512ビット以上のアルゴリズムを使用しないと128ビット安全性を確保できないことになります。
公開鍵暗号方式においても同様のことを示すことができ、現在256ビット安全性を有すると信じられている鍵長を利用しないと128ビット安全性を確保できません。先程紹介したSP 800-57によるとRSA-15360、ECDH-512などがそれに該当します。更にETSI (European Telecommunications Standards Institute)による2015年6月発行のレポートにおいてはより強いことが示されていて(※73)、上記のように現時点で256ビット安全性を持つと信じられている鍵長を利用したとしても0 ビット安全性であるとの記載があります。
新しい安全性根拠を持つ暗号アルゴリズムの探索
上記の背景のもと、これまでとは異なる安全性根拠を持つ公開鍵暗号アルゴリズムが望まれるようになりました。アカデミアの動きとしては国際会議PQCryptoが2006(※74)年から約1年半ごとに開催されており、前述した会議が第7回目となりました。2013年からETSIはIQC(Institute for Quantum Computing)と共同でIQC/ETSI Quantum-Safe Crypto Workshop(※75)を開催しており、2015年10月の会議では耐量子暗号に関する標準化が必要というコンセンサスを得ました(※76)。本ワークショップは2016年9月には第4回が予定されるなど継続的に情報共有が行われる見込みです。
同様に欧州の動きとしてはH2020 PQCRYPTO projectがあります。H2020(Horizon 2020)(※77)はEUのファンドによる先駆的かつ欧州横断的な研究支援活動で、ECRYPT(European Network of Excellence in Cryptology)及びECRYPT2の活動を支援したFP7の後継と言われています。H2020 PQCRYPTO project(※78)は2015年3月から3年間限定で活動を開始したプロジェクトで、耐量子暗号に関連する研究活動が行われています。活動を開始した半年後の2015年9月には、暫定版ではありますが耐量子暗号アルゴリズムの推奨リスト(ポートフォリオ)の案が既にまとめられています(※79)。
一方で米国ではNISTによる2016年2月のアナウンスに先立ち、2015年4月にPKC2015と併設してNIST主催のワークショップが開催されています(※80)。2015年8月には米国政府調達に利用されるSuite B 暗号リスト(※81)の参照を、特に新たに導入する機器・システムにおいては一旦取りやめるよう要請がありました。また、PQCrypto2016開催の前に3月締切のパブリックコメント(※82)を行い、4月にはNISTIR 8105として第1 版のレポートが発行されました(※83)。2月のアナウンスにおいては2023年から2025年を目処に文書化することを想定し、以下のタイムラインに沿って技術的検証を行うことが示されました。2016年秋を目処に正式なコンペティションの概要が公開され、2017年11月を応募締切とし2018年初頭に応募者によるプレゼンテーションを中心としたワークショップが開催されます。その後、3年から5年程度で技術的解析を行ったあと標準化が行われる見込みです。その際にはAESやSHA-3コンペティションのように1つのアルゴリズムに絞らないことや、NESSIE(※84)のようにポートフォリオ提示に留まらず、きちんと標準化を行うという方向性が提示されています。
耐量子暗号アルゴリズムの有力候補
現在耐量子暗号に用いられると予想されている4つの方式を表-2に提示します。これらは量子計算機が登場しても解読されないと期待されています。
これらのうち、前述したH2020 PQCRYPTO projectによるポートフォリオでは符号理論ベース暗号、ハッシュベース署名がリストされています。一方で日本では格子暗号の解読(※88)が盛んに研究されていますし、日本発で多変数公開鍵暗号のコンペティションが行われています。また、IETFにおいてはCFRG (Crypto Forum Research Group)(※89)にて耐量子暗号の議論が行われており、ハッシュベース署名の1種であるXMSS (Extended Hash-Based Signatures)(※90)の策定が続けられているほか、2016年5月に開催されたEUROCRYPT2016で併設されたinterim meeting(※91)においては暗号のコミュニティからの意見を収集するなどの試みが続けられています。また2016年4月に開催されたIETF-95のCFRG meetingでも耐量子暗号についての議論が行われています(※92)。
NISTの標準化スケジュールを見て分かるとおり、耐量子暗号への移行は喫緊に対応すべき課題ではなく中長期的な視点での対応が望まれます。新しい安全性根拠に基づいた暗号方式であることから、まずはどのくらいの強度があると見積れるのかについて調査する必要があります。そのため表-2に示されるように各種コンペティションが行われていて、より効率的な攻撃手法について研究が進められている状況です。一方で、ある鍵空間から秘密鍵を選択して、当該鍵のみでしか復号することのできない落し戸付き関数を定義する計算量的な安全性に基づく方式ではなく、情報理論的に安全な方式についても研究が進められています(※93)。いずれの選択肢においても、運用コストや実用性を鑑みて緩やかに移行していく必要があり、今後の動向についてキャッチアップしておく必要があるでしょう。
拡大する
表-2 耐量子暗号の分類
- (※45)1989年に作られたAIDSというトロイの木馬はHDD上のファイル名を暗号化して金銭の支払いを要求した。例えばSecurityFocus社(現Symantec社)のコラム、"The Original Anti-Piracy Hack"(http://www.securityfocus.com/columnists/102)などで言及されている。
- (※46)2005年に流行したgpcodeというランサムウェアについて、例えばKaspersky Lab社のレポート"Malware Evolution: April June 2005"(https://securelist.com/analysis/malware-evolution-monthly/36052/malware-evolution-april-june-2005/)などで言及されている。
- (※47)暗号化されたファイルに設定される拡張子からこの通称が用いられた。トレンドマイクロ社のブログ記事「『vvvウイルス』の正体とは? ランサムウェア『CrypTesla』の流入は限定的」(http://blog.trendmicro.co.jp/archives/12632)などが詳しい。
- (※48)IIJでは、"TeslaCrack"(https://github.com/Googulator/TeslaCrack)によってTeslaCrypt2.0/2.2で暗号化されたファイルの復号が可能であることを確認した。
- (※49)メール経由でのLockyの猛威についてはSymantec社のブログ記事「ランサムウェア Locky、被害者を狙う攻撃が激化」(http://www.symantec.com/connect/ja/blogs/locky)などで報告されている。
- (※50)Bleeping Computer社のブログ記事、"TeslaCrypt 4.0 Released with Bug Fixes and Stops Adding Extensions"(http://www.bleepingcomputer.com/news/security/teslacrypt-4-0-released-with-bug-fixes-and-stops-adding-extensions/)などで詳しく紹介されている。
- (※51)ESET社のブログ記事、"ESET releases new decryptor for TeslaCrypt ransomware"(http://www.welivesecurity.com/2016/05/18/eset-releases-decryptor-recent-variants-teslacrypt-ransomware/)などで紹介されている。
- (※52)Hollywood Presbyterian Medical Centerのプレスリリース(http://hollywoodpresbyterian.com/default/assets/File/20160217%20Memo%20from%20the%20CEO%20v2.pdf)では、迅速な業務復旧のために支払いを実施した旨が発表されている。
- (※53)Bleeping Computer社のブログ記事、"Paying the Coverton Ransomware May Not get your Data Back"(http://www.bleepingcomputer.com/news/security/paying-the-coverton-ransomware-may-not-get-your-data-back/)では支払いをしても復号に失敗する「Coverton」というランサムウェアが紹介されている。
- (※54)例えば米NSAは米政府機関向けのホスト構築ガイドでApplication Whitelistingを最初に紹介している。"Host Mitigation Package"(https://www.iad.gov/iad/library/ia-guidance/security-tips/host-mitigation-package.cfm)。また、ソフトウェアの制限のポリシー(SRP)を使ってApplication Whitelisting を行う手順書も公開している。"Application Whitelisting using Software Restriction Policies"(https://www.iad.gov/iad/library/ia-guidance/security-configuration/operating-systems/application-whitelisting-using-srp.cfm)。Australian Signals Directorate(ASD、オーストラリアの情報機関) は彼らが対応した豪政府機関のインシデントの85%はTop4の対策で対応可能だったことを公表している。その1番目がApplication Whitelistingである。また、Implementation Guideの中にAppLockerが紹介されている。"Strategies to Mitigate Targeted Cyber Intrusions"(http://www.asd.gov.au/infosec/mitigationstrategies.htm)。
- (※55)Windowsドメインのポリシーのツリー構成やサービスの制御などの部分の操作が若干異なるため、適宜読み替えること。例えばWindowsドメインのグループポリシー管理エディター上では、AppLockerはコンピューターの構成、ポリシー、Windowsの設定、セキュリティの設定、アプリケーション制御ポリシー、AppLocker、とたどることができる。また、サービスは同じくグループポリシー管理エディターでコンピューターの構成、ポリシー、Windowsの設定、セキュリティの設定、システムサービス、とたどるとサービスの自動起動を強制するための設定画面を表示することができる。
- (※56)Windows7では、パッケージアプリの規則は存在しない。
- (※57)Windows10の環境では、なぜか管理者権限で操作してもアクセスが拒否されましたという旨のメッセージが出て自動にすることができなかった。このような症状の場合は、管理者権限でコマンドプロンプトを起動し、次のコマンドを実行することで、スタートアップの種類が自動になることを確認している。sc config appidsvc start=auto。
- (※58)AppLockerとソフトウェアの制限のポリシーの比較は次のURLが詳しい。"Use AppLocker and Software Restriction Policies in the Same Domain" (https://technet.microsoft.com/library/hh994614)。
- (※59)LNK内にVBScriptを挿入し、実行させる手口は例えば次のようなものが報告されている。「ドキュメントにないLNKの機能に隠れるJanicab」(http://blog.f-secure.jp/archives/50747074.html)。また悪意のあるLNKの事例は国内でも確認されている。例えばJ-CSIPで扱った事例の中には履歴書と称するLNK を開かせようとする事例が紹介されている。「サイバー情報共有イニシアティブ(J-CSIP) 2014年度 活動レポート 別冊 添付資料『 X』による攻撃メール一 覧」(https://www.ipa.go.jp/files/000046020.pdf)。
- (※60)AccessEnum(https://technet.microsoft.com/ja-jp/sysinternals/accessenum.aspx)。AccessChk(https://technet.microsoft.com/ja-jp/sysinternals/accesschk.aspx)。
- (※61)例えば、次のURLではいくつかのAppLockerの制限を回避する手法とその対策について紹介している。"Protecting Windows Networks – AppLocker"(https://dfir-blog.com/2016/01/03/protecting-windows-networks-applocker/)。"Application Whitelist Bypass Techniques"(https://github.com/subTee/ApplicationWhitelistBypassTechniques)。また次のURLでは、regsvr32.exeを用いてリモートからスクリプトをダウンロードして実行する手法について紹介している。"Bypass Application Whitelisting Script Protections - Regsvr32.exe & COM Scriptlets(.sct files)"(http://subt0x10.blogspot.jp/2016/04/bypass-application-whitelisting-script.html)。
- (※62)Sysmon(https://technet.microsoft.com/ja-jp/sysinternals/sysmon)。Process Monitor(https://technet.microsoft.com/ja-jp/sysinternals/bb896645)。Process Explorer(https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)。
- (※63)The Seventh International Conference on Post-Quantum Cryptography(https://pqcrypto2016.jp/)。Winter Schoolと称された2日間のレクチャー(https://www.youtube.com/playlist?list=PLCAbx7kHwCGKLMt1-geJmx9QmOCvXLRdz)と本会議の模様(https://www.youtube.com/playlist?list=PLCAbx7kHwCGLPpgETzBqQg11comaFCF_H)が公開されている。
- (※64)PQCrypto2016本会議で以下のプレゼンテーションが行われた。Dustin Moody、"Post-Quantum Cryptography: NIST's Plan for the Future"(https://pqcrypto2016.jp/data/pqc2016_nist_announcement.pdf)。
- (※65)Daniel J. Bernstein、"A brief survey of post-quantum cryptography"、PQCrypto2008 invited lecture、2008(http://cr.yp.to/talks/2008.10.18/slides.pdf)。
- (※66)Peter W. Shor、"Algorithms for quantum computation:discrete logarithms and factoring"、35th Annual Symposium on Foundations of Computer Science(SFCS)、1994(https://www.computer.org/csdl/proceedings/focs/1994/6580/00/0365700.pdf)。現在の素因数分解の解読記録は2014 年11月に公開された56153である(http://arxiv.org/abs/1411.6758)。
- (※67)Jason LeGrow、"Post-Quantum Security of Authenticated Key Establishment Protocols"、A thesis presented to the University of Waterloo、2016(https://uwspace.uwaterloo.ca/bitstream/handle/10012/10386/LeGrow_Jason.pdf)。
- (※68)暗号危殆化の事例や、ビット安全性、等価安全性に関する解説は本レポートのVol.8(http://www.iij.ad.jp/dev/report/iir/pdf/iir_vol08.pdf)の「1.4.1 暗号アルゴリズムの2010年問題」にて紹介している。
- (※69)National Institute of Standards and Technology(NIST)、"Transitions:Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths"、NIST Special Publication 800-131A、2015(http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar1.pdf)。
- (※70)ただし、署名検証における112ビット安全性未満の署名アルゴリズムやSHA-1はLegacy-useとして許容されている。また、署名生成・検証に関わらないSHA-1利用は、この制限を受けず利用可能(Acceptable)である。また、SHA-1は112ビット以上の原像計算困難性を持っているためHMAC-SHA-1は脆弱ではない点に注意する。なお SHA-2、SHA-3はダイジェスト出力長として 224,256,384,512 ビットのバリエーションを持つ。
- (※71)National Institute of Standards and Technology(NIST)、"Recommendation for Key Management、Part 1:General"、NIST Special Publication 800-57 Part 1 Revision 4、2016(http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r4.pdf)。
- (※72)Lov K. Grover、"A fast quantum mechanical algorithm for database search"、28th Annual ACM Symposium on the Theory of Computing (STOC)、1996(http://arxiv.org/abs/quant-ph/9605043)。
- (※73)European Telecommunications Standards Institute(ETSI)、"Quantum Safe Cryptography and Security"、ETSI White Paper No. 8, 2015(http://www.etsi.org/images/files/ETSIWhitePapers/QuantumSafeWhitepaper.pdf)。
- (※74)PQCrypto2006:International Workshop on Post-Quantum Cryptography(http://postquantum.cr.yp.to/)。
- (※75)European Telecommunications Standards Institute(ETSI)、3rd ETSI/IQC Workshop on Quantum-Safe Cryptography(http://www.etsi.org/news-events/events/949-etsi-iqc-3)。
- (※76)European Telecommunications Standards Institute(ETSI)、"ETSI workshop confirms need to accelerate on Quantum-Safe Cryptography standards"(http://www.etsi.org/index.php/news-events/news/1013-2015-10-news-etsi-workshop-confirms-need-to-accelerate-on-quantum-safe-cryptography-standards)。
- (※77)European Commission、Horizon 2020(http://ec.europa.eu/programmes/horizon2020/)。
- (※78)PQCRYPTO(Post-Quantum Cryptography for Long-Term Security)project(https://pqcrypto.eu.org/)。
- (※79)PQCRYPTO project、"Initial recommendations of long-term secure post-quantum systems"、2015(https://pqcrypto.eu.org/docs/initial-recommendations.pdf)。
- (※80)National Institute of Standards and Technology(NIST)、Workshop on Cybersecurity in a Post-Quantum World(http://www.nist.gov/itl/csd/ct/post-quantum-crypto-workshop-2015.cfm)。
- (※81)The Information Assurance Directorate(IAD)、Commercial National Security Algorithm Suite(https://www.iad.gov/iad/programs/iad-initiatives/cnsa-suite.cfm)。
- (※82)National Institute of Standards and Technology(NIST)、"Public Comments Received on NISTIR 8105 - Draft Report on Post-Quantum Cryptograph"、2016(http://csrc.nist.gov/groups/ST/post-quantum-crypto/documents/nistir-8105/nistir-8105-public-comments-mar2016.pdf)。
- (※83)National Institute of Standards and Technology(NIST)、"Report on Post-Quantum Cryptography"、NISTIR 8105、2016(http://nvlpubs.nist.gov/nistpubs/ir/2016/NIST.IR.8105.pdf)、"NIST Kicks Off Effort to Defend Encrypted Data from Quantum Computer Threat"、2016(http://www.nist.gov/itl/csd/nist-kicks-off-effort-to-defend-encrypted-data-from-quantum-computer-threat.cfm)。
- (※84)NESSIE(New European Schemes for Signatures, Integrity, and Encryption)consortium、"Portfolio of recommended cryptographic primitives"(https://www.cosic.esat.kuleuven.be/nessie/deliverables/decision-final.pdf)。
- (※85)TU Darmstadt Lattice Challenge(https://latticechallenge.org/)。SVP(Shortest Vector Problem)Challenge(https://latticechallenge.org/svp-challenge/index.php)。Ideal Lattice Challenge(https://latticechallenge.org/ideallattice-challenge/index.php)。
- (※86)Cryptanalytic challenges for wild McEliece(https://pqcrypto.org/wild-challenges.html)。
- (※87)Fukuoka MQ Challenge(https://www.mqchallenge.org/)。Takanori Yasuda et al.、"MQ Challenge:Hardness Evaluation of Solving Multivariate Quadratic Problems"(https://eprint.iacr.org/2015/275)。
- (※88)清藤ら、「量子コンピュータの解読に耐えうる暗号アルゴリズム『格子暗号』の最新動向」、ディスカッションペーパーシリーズ2015-J-9、2015(http://www.imes.boj.or.jp/research/abstracts/japanese/15-J-09.html)。Yoshinori Aono et al.、"Improved Progressive BKZ Algorithms and their Precise Cost Estimation by Sharp Simulator"(https://eprint.iacr.org/2016/146)。
- (※89)IETF Datatracker、Crypto Forum(https://datatracker.ietf.org/rg/cfrg/documents/)。
- (※90)Andreas Huelsing et al.、"XMSS:Extended Hash-Based Signatures"(https://datatracker.ietf.org/doc/draft-irtf-cfrg-xmss-hash-based-signatures/)。
- (※91)Agenda of interim meeting at EuroCrypt2016(https://www.ietf.org/proceedings/interim/2016/05/12/cfrg/agenda/agenda-interim-2016-cfrg-1)。
- (※92)IETF95 CFRG meeting、"Post Quantum Secure Cryptography Discussion"(https://www.ietf.org/proceedings/95/slides/slides-95-cfrg-4.pdf)。
- (※93)Junji Shikata、"Trends and Development of Information-Theoretic Cryptography"、IEICE Transactions 98-A(1)、2015(http://search.ieice.org/bin/summary.php?id=e98-a_1_16)。
- 1.インフラストラクチャセキュリティ
-