近年、各家庭において、ホームIoT (Internet of Things) 機器と呼ばれる様々な機器がインターネットに接続するようになった。インターネットに接続する機器が増えるにつれ、それらの機器を狙った攻撃が発生するようになり、ホームIoT機器の攻撃の対策は急務である。特に、ホームIoT機器の不正操作については、従来からインターネットに接続されていたパーソナルコンピュータ等の機器とは異なり、生命の危機に直結する可能性もあり、それらの攻撃への対応は重大な課題となっている。しかしながら、ホームIoT機器の操作は機器操作に用いられる通信プロトコルに従って行われるため、不正操作時に流れるパケットはユーザが当該機器をネットワーク経由で操作した際に流れるパケットとの差がなく、既知の不正パケットとのパターンマッチング等の従来の攻撃検知手法での検出は困難である。そこで、本研究では、ホームネットワークに接続された機器に対する不正操作を検出するための新たな手法を提案している。この手法では、時刻やセンサ等で観測された温度等の環境ごとに、ユーザが機器操作を行う順を学習する。そして、機器操作が行われた際には、学習されたその環境下での機器操作の順と照合し、不一致であれば不正操作と検出する。我々は、本提案手法の精度について評価をするとともに、検知精度を向上させるために、ユーザが機器操作をする状況をより正確に推定するための家庭内の状況を把握する手法の検討や、他家庭の操作情報を活用することにより学習データの不足に対応する手法の検討を進めている。
機械学習にもとづくマルウェア検知システムにおいて、検知精度を高く維持するには、機械学習モデルを定期的に更新することにより、正規のソフトウェアやマルウェアが特性の移り変わりに対応することが必要となる。このような機械学習モデルの更新を行う際には、モデルの更新後に、適切なモデルが構成できているのかを検証する。従来、このような検証においては、別途準備したテストデータを用いて検知精度を算出することにより行われてきた。しかし、検知精度のみを用いた検証では、機械学習モデルが、どのような特徴を学習して更新したのかといった詳細な情報を得ることができず、また、検知精度が向上していたとしても、そのテストデータ以外のデータに対しても同様の性能が期待できるのかといった点については確認することができない。
そこで、本研究では、機械学習にもとづくマルウェア検知システムにおいて、モデル更新を行った際に、どのような更新が行われたのかを詳細に分析、モデル更新の検証を可能とする手法を検討している。具体的には、機械学習モデルにおいて、当該モデルの各データの判別において重要な役割を果たす特徴量に注目し、モデル更新前後で、同一データの判別において重要度が大きく変化した特徴量を求める。これにより、モデルの更新によって、重要視されるようになった特徴量や、重要ではなくなった特徴量を把握することができる。
本研究では、androidにおけるマルウェアのデータセットを用い、マルウェア判別用機械学習モデルの更新を行い、上記の手法によるモデル更新の分析を行い、わずかであるが、その後のマルウェア検知性能に影響を与えるようなモデルの変化をとらえることができることを示している。