機械学習や人工知能(AI)がビジネスを変革する昨今、セキュリティの分野でもAIの活用が進んでいる。企業がセキュリティ対策にAIを取り入れるために必要なことは何か。AIでセキュリティ対策の何が変わるのか。セキュリティエンジニアは、AIとどう向き合うべきなのか。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
大量のデータを分析して特徴点を見いだし、何らかの識別を行う仕組み(識別器)を作り出す「機械学習」(ML)やそれを生かした人工知能(AI)技術。これらをうまく活用すれば、より良いセキュリティ対策を実現できるのではないか――そんなコンセプトで研究を進め、ML/AIを活用した不正検知システムを提供するスタートアップ企業、ChillStackを立ち上げた伊東道明氏に、企業のセキュリティ対策にAIが求められる背景や、MLとセキュリティの掛け合わせが秘める可能性について尋ねた。
伊東氏は法政大学でML関連の研究室に所属しているが、入学当初からセキュリティに興味を持ち、CTF(Capture The Flag)や「セキュリティ・キャンプ」などの場に参加しながら技術を磨いてきた。「ずっとセキュリティ関連の勉強をやってきたが、3年生になる時、新しいことを学んでセキュリティに生かせないかと考え、MLに行き着いた」そうだ。
その研究成果をセキュリティに掛け合わせ、論文にまとめたところ、「IEEE CSPA 2018」という国際学会で「Best Paper Award」を受賞するに至った。こうした経験を生かし、前述の通りML/AIとセキュリティに関する企業を設立した他、「セキュリティ・ネクストキャンプ」での講師も務めている。
さて、なぜセキュリティという分野とML/AIの相性が良いのだろうか。「セキュリティのシステムは、パターンマッチングに基づくものが多いんですよ。『こういったログは悪いものだ』『こういったものならマルウェアだ』という具合に知っているパターンを全て書き出し、マッチングして『これは悪いものだ』と判断するのですが、これだと、守る側がどうしても後手に回ってしまう現状があります」と伊東氏は説明した。
これに対しMLを活用すれば、過去のデータを基に、シグネチャベースのものよりも汎用(はんよう)的な「しきい値」を作ることができる。つまり「既存のマルウェアにちょっと手を加えただけの亜種や新しい攻撃を防げる可能性が高まるだろうなと思い、研究を進めてきました」
研究に取り組み始めて3カ月ほどたったころには、「これはいける」と手応えをつかめてきたそうだ。「スパムメールフィルターの分野でベイズ統計学が活用されてきたように、実は、MLが流行しだすはるか昔から、MLベースの技術は活用されてきたのも事実です」と伊東氏。
マルウェアの検出に始まり、アクセスログの抽出や分析、さらには悪質なユーザーの検知など、セキュリティにおけるML/AIの応用範囲は幅広く考えられるし、現に不正利用/不正広告対策の分野での研究も盛んだ。「暴言を吐くユーザーを検出しようとして特定の単語の書き込みを禁止しても、相手はそれをかいくぐってきます。そんなふうにパターンマッチングが苦手とする分野こそ、MLが得意とするところです」
逆に、パターンマッチングにはパターンマッチングならではの得意分野があり、むやみにMLを適用してもかえって処理速度が落ちてしまうこともある。「MLだから速くて安全だ、ということは絶対ありません。セキュリティの基本的な考え方は多層防御です。それぞれの技術の得意なところを生かし、組み合わせることで、最大限の力を発揮できると考えています」
ChillStackでは現在、ゲームの不正防止やチート対策にフォーカスしたサービスを展開している。顧客であるゲーム会社からログ情報を受け取り、MLを用いて分析を加えて不正な行動を見いだしていくサービスだ。
「例えば5日間ずっとぶっ通しでゲームをしているアカウントのように、一つ一つの行動を単体で見ると異常ではないけれど、ある程度の時間継続して見ていくと明らかにおかしい――そんな挙動を見つけるのにMLは有効です。この仕組みは、金融サービスなどゲーム以外の領域にも活用できると考えています」
一方で、サービスを提供するに当たってしばしば直面するのが、ML/AIに対する過剰な期待だ。「正直にいうと、『AIを使ったら、100%自動で検知できるんでしょ』みたいに言われることもあります。確かにすごい技術や研究成果が出てきているのは事実ですが、メディアで持ち上げられている華やかなイメージをそのまま不正検知やセキュリティのAIに持ってきてしまい、過度な期待が生まれてしまっているかもしれません」
そして、クラウドサービスの普及もあって、K-meansやスペクトラルクラスタリング、ディープラーニングといった、AI/MLで使われるさまざまな手法を試すのが容易になりつつあるが、一番大事なのはその「前」の段階だという。
「MLで精度を出す上で一番根幹になるところはデータです。いかにデータの量と質をそろえられるかが大事になります。そして、どのようなデータをそろえるべきか、そこからどういった特徴を抽出してどういうふうに使うかが大事で、これはサービスの性質や目的によって変わってきます」
例えばK-meansで、異常なパケットと正常なパケットの分類(クラスタリング)を行うにしても、伊東氏は「どういった特徴をどんなふうに使うか」の重要性を訴える。「尺度の異なるデータの尺度を、標準化などの前処理で適切に合わせていかないといけません。そこを怠ると意味不明な結果が出てきてしまいます。何をやりたいのかに照らし合わせてどういったデータを使うのかを確認し、ロジックを組み込んでいくことが大切です」
そしてあらためて「AI/MLは、使う前に目的を適切に設定することが大事になってきます。もし同じ課題がパターンマッチングで解決できるなら、その方が処理速度が速いので、MLでやる必要はないでしょう。あくまで手段の一つであり、目的ありきで考えるべきです」と強調した。
Copyright © ITmedia, Inc. All Rights Reserved.