機械学習

「Machine learning(機械学習)」は、コンピュータが大量の情報(データ)を学習することで人の介在なしに特有のパターンを見出す技術です。膨大な情報や入出力がペアになった訓練データ(あるいは、教師データ)から特有のパターンを見出します。それらのパターンによって、データの分類や新たなデータに対する結果の予測が可能になります。

機械学習は、適切な情報(データ)を与えて学習アルゴリズムを用いることにより適切に学習処理を行います。そして、こうした学習処理を繰り返すことで、その都度毎回、意図的なプログラムを必要とせずに、これまでに処理した情報から培った経験をもとに推測ができます。しかし、機械学習も間違いを犯すことがあるため随時注意を払う必要はあります。

機械学習は、現代の「ビッグデータ」に囲まれた中で、役立つ技術といえるでしょう。そして私たちは、日々の生活において、機械学習に間接的に接しています。例えば、音声による指示の認識、デジタル音楽配信サービス「Spotify」で聴く曲リストの推薦、通販Webサイト「Amazon」でおすすめ商品の紹介、そして、カーナビアプリ「Waze」上で目的地までの最速ルートの特定などで機械学習の技術が活用されています。また、医療業界や金融業界でも既に導入されており、前者では医者が適切かつ迅速に病気を診断する際に、後者ではクレジットカードの不正使用といった顧客の消費傾向には当てはまらない不正行為などを検知する際に使用されています。

サイバーセキュリティにおける機械学習

ランサムウェアの新しいファミリが次々と登場したことにより、機械学習が注目を浴びることになりました。というのも、機械学習はこの脅威による攻撃を即時に検知する機能を可能にしたからです。

攻撃者は、以前、マルウェアの指紋ともいえるハッシュ値が同じマルウェアを何度も攻撃に利用していました。そのため、パターンマッチングのような従来の検出方法が効果的な対策となっていました。

一方、今日の攻撃者は、固有のハッシュ値を頻繁に生成するマルウェアを利用して攻撃を仕掛けています。例えば、ランサムウェア「CERBER」の亜種は、自身の亜種を15秒毎に新しいハッシュ値で生成する機能を備えています。つまり、攻撃者はマルウェアを昔のように使いまわしせずに一度きりしか使わないことから、従来の検出方法のみでは有効な対策が困難となっています。

そこで機械学習を活用した検出方法が役立つことになります。機械学習の活用により、既知のマルウェアファミリの情報をもとに、予測される新たなマルウェアを特定することが可能となります。論理的かつ戦略的なサイバーセキュリティ上の技術として機械学習の導入は当然といえるでしょう。

機械学習のアルゴリズムは、過去から蓄積されたマルウェアやファイルベースの脅威の情報をもとに、新たなマルウェアを適切に予測します。つまり、機械学習は既知の脅威の情報から未知の脅威を予測し特定することで、脅威の防御やサイバーセキュリティのソリューション提供に有効に貢献します。