Google、AIでファイルの種類を高速正確に判別できる「Magika」をオープンソースで公開
今回は「Google、AIでファイルの種類を高速正確に判別できる「Magika」をオープンソースで公開」についてご紹介します。
関連ワード (一般、安全性評価、実現等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Googleは、AIを用いることでファイルの種類を高速かつ正確に判別できるツール「Magika」をオープンソースで公開したと発表しました。
Magikaは、あるファイルの中味が何なのか、記述されたプログラミング言語の種類、動画や画像、音声などのフォーマットの種類、ExcelやWord、PDFなどのオフィス系ソフトウェアの種類、OSの実行形式バイナリなどの種類を瞬時に判別してくれます。
下記はコマンドラインとしてMagikaを実行した例で、フォルダ内のファイルの種類を出力しています。
特別に最適化された1MBのモデルでを用いて推論を実行
Magikaはファイルの判別に、Kerasを用いて特別に最適化されたディープラーニングによる、わずか1MBのモデルを用いていると説明されています。
このモデルは推論エンジンのOnnx上で実行されています。実行速度はGPUを用いずCPU上で処理されたとしても数ミリ秒程度とのこと。
GoogleはこのMagikaを100以上のファイルタイプを網羅する1Mファイルベンチマークで評価し、他の既存ツールより高い精度で判別を実行し、なおかつ他を約20%上回る高速度を実現したことも発表しています。
なぜファイルの中味を見て判別する必要があるのか?
一般にファイルの種類は拡張子によって示されますが、現実にはファイルの拡張子がつねに正しいとは限らないため、ファイルの内容を見て種類を判別する処理はさまざまなソフトウェアの内部で行われています。
例えば、コードエディタにおいてシンタックスハイライトの設定を行うためにプログラミング言語の種類を判別することや、業務アプリケーションが特定の種類のファイル以外は読み込まないような判別をすることなどが挙げられます。
特に重要とされているのはセキュリティの分野です。拡張子を偽ってユーザーにファイルを開かせようとするマルウェアに対処するために、拡張子ではなくファイルの内容から種類を適切に判断し、ファイルの種類に合わせて用意されたスキャナーによる安全性評価は欠かせません。
GoogleはMagikaをGmailやGoogle Driveなどの何百万ものファイル処理にすでに活用しており、これまで同社が利用していたルールによるファイル判別と比べて50%の精度向上を実現でき、より精度の高いスキャンが可能になったと説明されています。