はじめに
こんにちは、基礎技術研究室の中川です。
1月22日から25日までの4日間、滋賀で開催された SCIS 2019 暗号と情報セキュリティシンポジウム に参加してきました。
今年の参加者は800人を超え、最大で7つのセッションが同時で進行する大規模なシンポジウムとなりました。
弊社からは基礎技術研究室のメンバー3人が参加し、サイバーセキュリティに関する最新の研究動向について調査してきました。また、弊社エンジニアの茂木が研究発表を行いました。
本記事では簡単ながらSCIS 2019の参加のレポートをしていきます。
最初にSCISの特別講演の内容を取り上げ、次にSCISのセッションの中から、「脆弱性・脅威分析」と「マルウェア対策」のセッションを取り上げ、気になった発表をピックアップして紹介していきたいと思います。
特別講演
SCIS初日には、羽生善治様による「将棋ソフトの進歩について」というタイトルでの特別講演がありました。近年発展が目覚ましいコンピューター将棋の歴史を振り返り、棋士としてコンピューター将棋とどのように向き合っているのかについて貴重な講演を拝聴することができました。
機械学習技術の発展により、機械学習を活用したコンピュータープログラムがプロ棋士に勝利する事例が報告されるようになってきました。囲碁においてはAlphaGo、将棋においてはPonanzaがメディアにも取り上げられ大きな話題を呼びました。サイバーセキュリティにおいても近年機械学習の適用事例が数多く報告されていますが、その利用方法や有効性についてはまだまだ明らかになっていないところが多くさらなる研究が必要です。今後も機械学習の研究の動向に注目していきたいところです。
脆弱性・脅威分析セッション
脆弱性・脅威分析セッションからは、東芝デバイス&ストレージ株式会社の小池竜一様による「脆弱性データベース National Vulnerability Database (NVD) の現状調査」という研究発表を取り上げて紹介します。
製品を出荷する際、製品に既知の脆弱性が存在しないのか判別を行うために、ホワイトボックス型脆弱性スキャナが広く用いられています。脆弱性スキャナを用いる際、まず担当者はその製品に含まれているソフトウェア・ハードウェア・OSの一覧を作成します。この一覧は構成情報と呼ばれます。構成情報を作成後、この情報に基づき公開脆弱性情報データベースを検索し、該当する脆弱性の有無をスキャナを用いて調べます。
公開脆弱性情報データベースとしては、NISTが管理しているNVDが広く用いられ、デファクトスタンダードとなっています。また、構成情報を記述には Common Platform Enumeration (CPE) が用いられています。これはソフトウェア・OS・ハードウェアを一意に識別できるようにするための記述ルールで、以下のように記述されます。
cpe:/{種別}:{ベンダ名}:{製品名}:{バージョン}:{アップデート}:{エディション}:{言語}
CPEの一例を以下に示します。
cpe:/a:apache:tomcat:7.0.52:2:second:jp
各項目の意味については、共通プラットフォーム一覧CPE概説の記事をご参照ください。
ホワイトボックス型脆弱性スキャナを用いる場合、構成情報に記述されている名称が、公開脆弱性情報データベースに登録されている名称と完全に一致する必要があります。そのため、記入者は表記に細心の注意を払う必要があります。
NISTではこうした問題を対処するためにCPE辞書というものを提供しており、それをベースに構成情報を記入するように促しています。しかしながら、CPE辞書はNVDに登録されているCPEすべてを網羅しているわけではなく、CPE辞書に含まれないものがNVDには数多く登録されていることを発表者は指摘しています。
その他、Webとデータフィードで提供される情報にずれが生じている、CVE番号に該当するWebページがあるものの、CPEが未登録で検出ができない脆弱性が存在するなどの問題について発表で報告がされていました。
NVDの情報を利用する際は、この発表で述べられているように、CPEの表記ゆれ、Webページとフィードとの情報の差異など十分に注意する必要があります。
発表者はCPE入力支援ツールを提供し、表記ゆれが起きないような形での登録する必要性を訴えていました。
マルウェア対策セッション
マルウェア対策というセッションからはFFRI Dataset 2018を用いた研究発表について2件取り上げて紹介します。
1件目は弊社エンジニア茂木による「PE表層情報を用いた機械学習による静的マルウェア検知」です。
詳細については「FFRI Dataset 2018の紹介 2/2」として公開済みですが、ここでも簡単に説明しておきます。
FFRI Dataset 2018では、検体の種々のハッシュ値が提供されているとFFRI Dataset 2018の紹介 1/2で述べました。このハッシュ値の中にはssdeep impfuzzyといったfuzzy hashやpeHashが含まれています。
こうしたfuzzy hashやpeHashはマルウェアのクラスタリングや亜種の推定に広く用いられていますが、マルウェアの検知に対しての有効性についてはこれまであまり調べられていません。この研究発表ではfuzzy hash・peHash・pefileから得られる情報を特徴量として用い、機械学習モデルを構築、性能を評価し、特徴量としてこうした種々のハッシュ値を用いることの有用性について議論されています。
発表では活発に質疑応答が行われ、複数の機械学習モデルを組み合わる方法、より低いFPRでのモデルの挙動について活発に議論がなされました。
2件目は情報処理推進機構の岡本耀平様による「Tree-Based機械学習アルゴリズムを用いたマルウェア検出」という発表です。
こちらの発表では特徴量として、TrIDとPEiDによって得られた表層情報・pefileから得られる情報などを用いて機械学習モデルの構築を行い、その性能評価について報告がなされました。最終的に構築されたモデルはFPR 0.01%未満でTPR 94.5%となっており、高精度な検知モデルの作成に成功したとのことでした。
先程紹介した「PE表層情報を用いた機械学習による静的マルウェア検知」との違いとしては、ハッシュ値は特徴量として用いられていないこと、ヘッダダンプから抽出した特徴量の種類などが挙げられます。
改善点として、発表の中ではデータの前処理方法の変更などが挙げられていました。この発表では質的に意味を持つ特徴量を量的に扱っているため (例えば、PEヘッダーの IMAGE_OPTIONAL_HEADER
など)、そういった特徴量についてはOne Hot encodingを行うなどの前処理を加えることで性能改善の余地があるとのことでした。また、PEヘッダーのうち一部抽出していない情報があるとのことで、そういった情報を加えた場合の精度向上の調査に関しても、今後の課題とのことでした。
2018年からFFRI Datasetを刷新したことは以前にも述べましたが、CSS2018 SCIS2019、合わせて3件の研究事例が発表されることになり、提供者側としては嬉しい限りです。
こうした研究成果、発表者側からのフィードバックを取り入れ、来年度以降のFFRI Datasetをより研究者にとって使いやすいものにしていければと考えています。
おわりに
発表件数が多く、聴講した発表の中からほんの一部しか紹介することができませんでしたが、今回取り上げた以外にも興味深い研究発表が行われていました。
SCISの活動が今後も活発化し、日本におけるサイバーセキュリティ領域の研究活動が今後より一層活発になることを願います。
FFRIではサイバーセキュリティ領域における研究開発を行う人材を募集しています。