2021年度は、昨年度課題となったデバイスでの検知の軽量化について、従来方法では限界と考えて別のアプローチについて検討を行った。従来のCFIによる方法は、高精度の検知が可能であるが、実行履歴の収集コストが大きく、デバイスの計算能力に大きな負担をかける。このため、より単純なシステムコールの実行に基づくホワイトリスト型の異常検知について検討を行った。この方法は古典的ではあるが、seccomp機能を使用することで軽量な実装が可能である。Seccompは、プロセスが使用するシステムコールの実行の可否を判断する機能である。しかし、Seccompは制御の粒度があらく、CFIのように細粒度での制御が困難である。そこで、昨年度改良した関数単位の粒度によるCFIと同様に、異常検知の粒度を関数単位としたホワイトリスト型異常検知方式の構築を行った。以下この方式を新方式という。新方式は、システムコール実行時にプロセスのコールスタックから実行中の関数を特定し、実行可能なシステムコールか否かを判定する方式である。CFI方式によるオーバーヘッドは、1関数呼び出し当たり約4usであったのに対して、新方式は1システムコール呼び出し当たり約0.04usである。新方式が低負荷で実行可能であることが分かった。しかし、新方式をIoTゲートウェイと結合する方法については時間の関係で実現できなかった。また、CFI方式と新方式の異常検知における正確性についての評価も今後の課題となった。 また、昨年度より行っているIoTに対する攻撃情報の収集は、IoTデバイスのファームウェアに基づいてIoTハニーポットを自動生成する機構を構築した。これにより、指定したファームウェアに対する攻撃の情報収集の効率が向上すると期待できるが、継続的な運用は今後の課題である。
|