2019年度は、

異常検知フレームワークをさらに改良・発展させることを目指す。IITDと共同で進めているセキュアプロセッサに関する研究も性能向上を目指すとともに、開発したプロセッサ・シミュレータを用いて評価を行う。そのプロセッサ・シミュレーション環境を、セキュリティを考慮したハードウェア設計の実現に向けて広く利用できるよう公開を検討する。また、ライセンスサーバを用いた認証回避攻撃に対する研究も行う。

WP2|実施報告

異常検知フレームワークのオンライン検出への発展

2019年度はプログラムの実行中にマルウェアであることを検出するオンライン検出手法の開発を実施した。2018年度に実施したオフライン時における検出手法開発の知見を活かし、ここで開発したプログラムの振る舞いに基づいたマルウェア検出手法をオンライン検出へと発展させた。これまでの研究において、プログラムの振る舞いをプロセッサに搭載されたPMC(パフォーマンスモニタリングカウンタ)を用い、機械学習によりホワイトリストのプログラムであるか否かの識別の可能性は明らかになっていた。しかしながら、プログラムの実行中に当該プログラムがホワイトリストのプログラムであるかの識別の可能性については明らかになっていなかった。
本研究で開発したオンライン検出は、継続的にプログラムを監視するためにプログラム実行中に複数回のチェックポイントを設け、チェックポイントにおけるPMCの値を取得する。そして、チェックポイントごとにPMCの値に基づき機械学習による分類器を生成する。プログラムの識別を実施する際には、チェックポイントにおけるPMCの値を取得し、分類器を用いてホワイトリストのプログラムであるか否かを判定する。なお、チェックポイントは一定の時間間隔で設けることとし、オンライン検出を行うにあたり適したチェックポイント間隔の調査など、多角的に有効性を調査した。

セキュアプロセッサに関する研究

IITDと共同で進めているセキュアプロセッサに関する研究に関して特許を共同で出願した。これらの発明はIntel社のSGXに代表されるようなプログラムをセキュアに実行するための機構を対象として、性能を向上させる技術である。

以下にその出願技術をまとめる。

[問題]

性能低下

キャッシュメモリのデータが、コンテキストスイッチにより他のスレッドに置き換えられてしまう。

Intel SGXは、システムコールが呼び出されるとTLB(Translation Lookaside Buffer)をフラッシュしてしまう。

[改善]

性能向上

システムコールまたは割り込みが呼び出された際に、命令のフットプリントに基づきスレッドを割り当てるコアを決定する手法を提案した。

スレッドとすべてのコアに対してカッコウフィルタを用意する。カッコウフィルタはページ番号に関してスレッドのワーキングセットのハッシュを有する。カッコウフィルタはキャッシュメモリが他のスレッドのデータにより汚れることを防ぐために、同じコア上でスケジュールされたスレッド間のメモリフットプリントの重複を増やすことを目的に使用する。

TLBを圧縮した内容を、スレッドのコンテキストの一部としてオンチップメモリに保存させ、スレッドがコアに割り当てられた時に伸長する。

これらの技術により、キャッシュメモリ汚染による性能低下およびTLBフラッシュによる性能低下を抑制することが可能になる。プロセッサ・シミュレータを改良し、定量的な有効性の確認を進めている。

また、このプロセッサ・シミュレーション環境を、セキュリティを考慮したハードウェア設計の実現に向けて広く利用できるよう公開の検討を進めている。

ライセンスサーバを用いた認証回避攻撃に対する研究

ソフトウェア利用時のライセンスサーバを用いた認証回避攻撃に対する研究を実施した。まず、これまでに明らかになっている認証回避攻撃よりも、機械学習によりさらに効率的に攻撃が実現できることを、主要なライセンス管理サーバに対して実証した。そして、そのような攻撃に対して耐性がある新しいライセンス管理技術を提案した。本技術はバイナリに無効な命令やエラーを引き起こす命令を分散して配置することで、攻撃者が仮にライセンス認証を回避してもプログラムを実行できないように対策するものである。この成果を論文としてまとめ、国際会議において論文を発表した。