検索
連載

機械学習時代がやってくる――いいソフトウェアとマルウェアの違いは?セキュリティ業界、1440度(4)(1/2 ページ)

「エンジニアサポートCROSS 2014」にて、マルウェア検知が機械に可能なのかを考えてきました。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 2014年1月17日にベルサール新宿グランドで開催された「エンジニアサポートCROSS 2014」(以下、CROSS)に参加しましたので、今回はその様子をレポートしたいと思います。

 CROSSは、主にWeb技術に関わる人たちが集まり、さまざまな技術について横断的に語り合うイベントです。2014年で3回目の開催となり、昨年度は計925名の参加があり、今年も同様に約1000名近くの参加があったようです。

 CROSSのテーマは名称通り「技術」「興味」「年代」「個人・企業」など、さまざまな軸を超えて「CROSS(交流)」することに重点が置かれています。イベントの至るところにCROSSを促すさまざまな仕掛けを見て取ることができました。これについては後述したいと思います。

機械学習CROSS

 連載の第2回「Chromeの守り方、マルウェアの見つけ方」でもご報告したように、FFRIでは機械学習のセキュリティ応用に関する研究に取り組んでいます。この活動の中から株式会社プリファードインフラストラクチャー(以下、PFI)の比戸氏よりお声掛けいただき、今回筆者も「機械学習CROSS」という2時間のパネルディスカッションに参加致しました。

 パネルディスカッションは、モデレーターにPFIの比戸氏、他のパネリストの方もヤフー株式会社 Yahoo! JAPAN研究所の田島氏、楽天株式会社 楽天技術研究所の平手氏、株式会社ALBERTの小宮氏、独立行政法人産業技術総合研究所の油井氏、株式会社Gunosyの福島氏というそうそうたる面々によって行われました。

 前半後半1時間ずつ計2時間の構成となっており、前半は主に機械学習の紹介、自己紹介および各社での利用事例についての発表が行われました。前半は、主に資料ベースでの発表となったため、興味のある方は、スライドシェア上に公開されている発表資料を確認ください。

 利用事例については、イベントの性質上、Web業界での利用例がやや多めではありましたが、各社でのさまざまな利用例を直接当事者から聞くことができ、興味深い点が多かったです。

 前半の1時間終了後、昼食を挟んで午後の部が開始となりました。こちらは、前半とは打って変わってモデレーターである比戸氏からの機械学習に関するさまざまな質問について各パネリストが回答するという王道のスタイルで進行しました。こちらも質問項目自体は、スライドシェア上に資料として公開されていますので詳細についてはこちらをご確認ください。

 このパートは、他のパネリストの方の考えや経験に基づいた話を聞くことができ、個人的には今回のイベントの中で最も有意義な時間となりました。ここでは、幾つか印象に残った質問とその回答を紹介したいと思います。なお、檀上で話を聞きながら、あるいは話しながら手元で取ったメモに基づいているため、多少不正確な点があることをご了承ください。

  • 機械学習はどこから導入が進むか?
    1. 比較的間違いが許容されるところ
    2. ビジネスとして儲かるところ
    3. (機械学習的に)タスクを明確化しやすい(切り出しやすい)ところ
  • 機械学習は精度で人間に勝てるのか?
    1. チェスや将棋のように「勝ち」の基準が明確な勝負では機械学習の方が強い・強くなり得る
    2. 逆にルールや評価が曖昧な場合は人間の方が強いのではないか
    3. 質の良い教師データを集められる場合は機械学習の方が強い/強くなり得る(上記のチェスや将棋が良い例)
    4. 論文など、アカデミックな領域ではより高度な手法が研究、提案されているが現実に利用する場合、シンプルな手法・モデルの方がうまく行くケースが多い。手法やアプローチが人間の自然な感覚に合っているかどうか、は重要ではないか。
  • 役立つケースとそうでないケースの違いは何か?
    1. 機械学習というブラックボックスの技術があるわけではなく、データを投入し、モデルを見直し、改善していくというPDCAサイクルを回していくことが重要

 個人的な意見では、現時点で取り組んでいるマルウェア検知(分類)は、機械よりも人間の方が高い精度でマルウェアを分類、区別できると考えています。というのも、この応用について言えば「あるプログラムがマルウェアであるか否か」は、人間が明確に決定しなければ教師データを用意することもできないためです。

 現時点ではアンチウイルス製品によってマルウェアと判定された場合に、当該プログラムをマルウェアと考えるのが共通認識かと思いますが、実際にはアンチウイルス製品は世界で40製品以上存在し、各製品で検出率、検出結果は異なります。また、時間経過の中で新たにマルウェアとして認定される場合もあれば、逆に誤検出であったため非マルウェア扱いになる場合もあります。そのため「誰がマルウェアと言ったら(どういった基準を満たせば)マルウェアなのか」は本質的に難しい問題です。

 一方、経験を積んだマルウェア解析者が、十分な時間をかけて解析を行った場合、検体が端末固有に暗号鍵で暗号化されているなどの特殊な状況を除けば、それがマルウェアか否かの判断は大概付けられると考えています。

 仮に将来的にコンピューター(機械学習)が人間に勝り、マルウェア検知について人間が不要になった場合、「マルウェア解析者=セキュリティ知識、技術を備えた機械学習技術者」になるのではと考えています。これに関連するセッション後半のやり取りはtogetterでまとめられています。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る