AIを使った「サイバー攻撃」と「セキュリティ」、どこまで進化している? 専門家語る現在地と未来

スマホやパソコンといった情報端末に、システム破壊や情報の抜き取りを仕掛けるサイバー攻撃。セキュリティ側が対策を講じては新たな攻撃手段が生まれるイタチごっこが繰り返され、近年はますます高度化・巧妙化が進んでいます。

さらに最近では、AI技術を悪用したサイバー攻撃の手段が生まれており、既存のセキュリティ手段を上回る攻撃を仕掛けてくる事態も発生しています。しかし防御側もAIの利用を進めており、次世代アンチウイルス製品として近年注目を集めている「Deep Instinct」は、サイバーセキュリティに特化したディープラーニング(深層学習)モデルによって未知のウイルスであってもAIが予測し防御することができるといいます。サイバー攻撃との戦いの最前線では、「AI対AI」の構図が現実になろうとしているのです。

では、AIを使ったサイバー攻撃、それに対する防御手段とは具体的にどのようなものが考えられるのでしょうか。そして、両者の攻防は今後どのような局面に向かっていくのか。岡山大学にて情報セキュリティ工学を研究している、野上保之教授にお聞きしました。

野上 保之(のがみ やすゆき)さん

岡山大学大学院 自然科学学域 教授。1999年に信州大学工学系研究科博士課程修了。同年に岡山大学に教員として赴任以降、情報セキュリティ技術について研究を開始。同大大学院自然科学研究科准教授などを経て、2017年より現職。研究室では暗号・乱数・通信プロトコル・誤り訂正符号や、AIを用いたセキュリティ攻撃への対策など、情報社会の安全・安心を実現するための情報セキュリティ技術全般を研究している。

野上保之さん” width=

情報セキュリティの肝 “乱数”を大量学習で突破

——文章や画像を自動で作ってくれる便利な存在として一躍注目を集めているAIですが、最近はサイバー攻撃にも、そしてそれを守るセキュリティ側にも導入され始めていると知って驚いています。まず、攻撃側がどのようにAIを使っているのかお聞きしたいのですが。

野上先生:基本的に、悪意があればいろいろなところにAIを利用できます。

サイバー攻撃を仕掛ける側は、ターゲットの個人情報を盗んだりシステムの機能を停止させたりするため、インターネット上の暗号化された通信を解読しようとしたり、ユーザーになりすましメールを送ったりーー「どこを狙えば情報を抜き取れるか」をあらゆる手段を考えて攻撃してきます。

そしてその狙う場所というのは、システム、ネットワーク、クラウド、IoT機器、ユーザーの端末、会社のサーバー……などなどいくらでも細分化できますし、そのどこを狙うにしてもAIはほぼ何にでも悪用できてしまいます

——恐ろしい。

野上先生:では攻撃においてどの役目をAIに任せると効率的になるかというと、大量にデータを学ばせて解析させるという点では、人間よりAIの方がはるかに確実で高速です。

データ解析で突破できるセキュリティをひとつ挙げると、セキュリティ用の乱数(※)があります。

普段、私たちが何気なくスマホやパソコンでデータを送り合っているその裏側では、情報が第三者に漏れないようさまざまなところに乱数が用いられています。例えばインターネットも、ユーザーのブラウザとサーバー間の通信内容を不規則な文字列(乱数)に変換して、クレジットカードの番号といった個人情報が流出してしまっても第三者は読み取れないようにする「暗号化」が施されたりします。

※乱数:無作為に選ばれ、まったく不規則に並べられた数列のこと。

データ通信における暗号化の仕組み

▲データ通信における暗号化の仕組み(総務省公式サイトをもとに、なるモ編集部で作成)。 Webページの送受信データ、電子メール、無線LANによる通信データなど、あらゆるデータが送信時に暗号化され、受信側が暗号鍵を使って元のデータに複号することで、通信中に第三者に流出しても読み取れないようになっている

野上先生:他にも、何かWebサービスのアカウントを作るときに、「認証用の6桁のワンタイムパスワードが送られてきて、それを打ち込むとアカウントが認証される」システムがありますよね。あのワンタイムパスワードもまさにセキュリティ用の乱数の1つです。

時刻同期方式のワンタイムパスワードの仕組み

▲時刻同期方式のワンタイムパスワードの仕組み(なるモ編集部で作成)

——これをAIはどう解析するのでしょう?

野上先生:実はコンピュータで乱数を自動生成しようとすると、サイコロを振って出る目のように、まったく無秩序の数列を作るのは無理なんです。「擬似乱数」といって、一見規則性が無いように見えて、実際には一定の計算手順によって作られた乱数列を代わりに使っているんですよね。

こうした乱数は大量に生成されると必ず周期性を持ちます。そのため乱数を大量にAIに学習させると「どうもこのセキュリティが吐き出す乱数は、この公式を使ったジェネレーターを使っているんじゃないか」と、暗号化の根幹部分を読まれてしまうのです。

——は〜! そんな突破の仕方が……。

野上先生:ですので、セキュリティ技術に用いる擬似乱数とそれを生み出す生成器(ジェネレータ)には、十分に安全であるものを使う必要がありますし、周期をもたないように工夫するものもあります。

一方では数式を用いない乱数もあって、物理現象に基づく数字を使う「物理乱数」というものもあります。

計測するタイミングによってばらつきが出る物理現象であればなんでもいいのですが、例えば1.5Vの乾電池から出ている電圧は、厳密には1.5じゃなくて1.501Vとか、1.503Vとか、計測するタイミングによって末尾の数字がふらつくんです。その一番ふらふら揺れ動く数字を読み取って乱数として使うこともできます。

——自然界にある「常に変化している数値」を計測して、乱数に応用しているということですね。それなら突破されなさそうですが。

野上先生:確かに物理乱数には周期性がないんですが、そのかわり気温や天候などが数字に影響を与えてしまう。その辺りの情報もAIに学習させれば、偏りが見えて「こういう条件下ではこの数字が出やすい」というポイントを掴まれてしまいます。もとより物理乱数では、送信・暗号化側と受信・復号側が同期を取ることが困難ですよね。

——そんな手が……。乱数を突破されると、どういった被害が出るんでしょうか。

野上先生:例えば、Webサイトを利用するときやメールでファイルを送るときなど、データ通信では暗号化に独自のアルゴリズムが働きます。まったく同じデータであっても暗号化のたびに異なる暗号文に変換されるようになってはいますが、そもそもこの暗号を生成するためのタネが乱数なので、これを解読されてしまうことは攻撃者には極めて大きな攻撃のヒントになってしまいます。

時刻同期方式のワンタイムパスワードの仕組み

——えらいことですね。

野上先生:あと、無線通信でも乱数って重要なんです。

例えばWi-Fiなどは周波数帯域を何十チャンネルにも分けていて、そのチャンネルを瞬間ごとにランダムに変更しながら通信しています。それによって通信を傍受されにくくしているんですが、その変更の順番に関しても、乱数的なランダム性に基づいています。

だから、AIに周期性を読み取られて同期を取られると、その瞬間に全部の通信を傍受されてしまう。これ以外にもいろいろありますが、乱数というのは根っこのところで情報を守っているんです。

——そうした情報セキュリティの根本的な部分を、AIの圧倒的な解析量とスピードならクリアできる、と。

IoT機器にも迫るAIの攻撃

野上先生:あと、IoT機器に関しても、AIに学習されることで制御を奪われる可能性があります。

例えば車には走行状況を測るセンサーやブレーキ装置などいろいろなところにコンピュータが仕込まれていて、それらが車内で通信しています。その通信内容は0と1の羅列なので人間が見ても意味が何もわからないのですが、AIに学習させると「この羅列にはこういう意味があるな」と学習して読み取られてしまう。

それがコネクテッドカーなら、コンピュータ同士の言語を操って遠隔から突然ブレーキをかける、なんてサイバー攻撃も可能になってしまうわけです。実際、そのような攻撃を行ったデモンストレーションの動画が話題を集めました。

IoT機器に関してはもうひとつ問題があって。IoT機器のコンピュータは計算リソースが小さいため通信する際の暗号化処理が重たく、電磁ノイズが発生するんです。そこをAIに狙われるおそれがある。

——どういうことでしょう?

野上先生:暗号化にはパスワードが使われているのですが、電磁ノイズにはそのパスワードを使った影響がわずかに漏れ出ているのです。

その変化というのは本当に微々たるものなので一回傍受しただけではわかりません。でもAIは100回でも1000回でも電磁ノイズを解析できるので、最終的に暗号化を解くためのパスワードを読み取れてしまう可能性があるんですね。「サイドチャネル攻撃」という手段の1つです。

——は〜、つくづく恐ろしいですね……。

野上先生:他にもさまざまな攻撃方法がありますが、乱数から個人の毎日の行動まで、とにかくAIは大量に情報を学習して、そこからパターンを認識して攻撃するポイントを選定する作業が得意です。AIを悪用する際は、そこを使うのがひとつのキーになりますね。

防御用AIで「勘」を養い、わずかな変化も発見

——では、それに対して防御側がAIを活用する場合、どのような使い方があるのでしょうか?

野上先生:まず大前提として、十分に正しく設計され使用された暗号や乱数というのは、例え量子コンピュータを使っても現実的に破ることはできません。だから攻撃側はデータ通信の暗号を解読するような正面突破をするのではなく、「パスワードの設定・運用」に関わるような脆弱な部分を狙うことが多いです。

それを考えると、防御側は半歩でも攻撃側の先に行って、脆弱な部分がどこにあるか把握して攻撃の手を読まなくてはならない。ホワイトハッカーたちにはなるべく最先端の攻撃方法を勉強してもらって、ちょっとでも先に行ってもらわないとダメなんです。

——どうしてもイタチごっこになるわけですね。

野上先生:その上で防御にAIを使う手法としては、Intrusion Detection System(IDS:侵入検知システム)をAIに任せるというものがあります。

これは社内LANなど内部の通信の情報、それこそ「何時にどこのファイルにこういうアクセスがあった」みたいな情報をリアルタイムで見張ったりログをとっておいたりして、それをAIに学習させるんです。

それによって、何か通常と異なる振る舞いや動きが発生したときに識別することができる。普段だったらアクセスしないようなシステム系のファイルに特定のデバイスがアクセスしようとしているとか、普段だったら開いていない場所が開いているとか、それをAIが見つけてアラートを出すわけです。

——監視役をAIにやらせるわけですか。

野上先生:AIを使うことで、あからさまに怪しい動きを検知するだけではなく、「ちょっと違和感がある」程度の軽微な動きにも反応することができます。

不正アクセスの検知において、旧来は「シグネチャー型」と言われる、既知のマルウェアの痕跡を検出してアラートを出す方法が多かったのですが、これだと未知の攻撃を受けてしまったときに検出できません。でも普段の状態をずっとAIに学習させておけば、知らない攻撃であっても異常が検知できるわけです。

●●●

——なんというか、「勘」に近いものまでAIには備わっているんですね

野上先生:あと、メールを使った攻撃を防御するのにも、AIによる学習は使えます

例えば、ターゲットにしている企業を直接狙うのではなく、その商品の部品を作っているメーカーやサービスの孫請企業など、もっとセキュリティに脆弱性のありそうな関連企業や取引先を狙う「サプライチェーン攻撃」という攻撃手段があるのですが。最近はこのサプライチェーンのうち「どこが一番弱いか」を検出する役目もAIが担うようになってきています

さらに、目星をつけた末端企業からうまいことメールを大量に傍受しつつ、「このアドレスとこのアドレスは頻繁に連絡をとっているな」「どうもこのアドレスはターゲットの企業とやり取りしているようだから、フィッシングメールを送ってみよう」とかぎ分けながら攻撃対象を絞っていくわけです。

——そんなことまでAIがやっているんですか?

野上先生:で、その特定のアドレスの会話ではこういう単語が頻出しているな、と傾向を読み取って、頻出単語を上手に組み立てつつ、いかにも業務に関係ありそうな文面を作って送り込んできます

例えば私が対象でしたら、「●月●日にこういう国際会議があるので、論文の査読をしてもらえませんか。今回の査読にはこういうシステムを使っているので、まずはこのサイトにユーザー登録してください」なんて文章が送られてくる。そこでそのままアクセスして、「パスワードはいつも使っているこれでいいや」といい加減に登録してしまうと、そのまま他のサービスのアカウントを乗っ取るための糸口を与えてしまうことになるんです。

——こ、怖い……!

野上先生:今のは攻撃側の話になってしまいましたが、こうした攻撃を防ぐためにもAIは使えます。

ディフェンス側はAIにまず大量のスパムメールを学習させて、「うちの会社にはこういうスパムが来がちである」と学ばせます。そうやって通常のスパムを弾けるようにすると、「知らないアドレスから来たワークショップのコマーシャルだけど、どうもうちの情報を学んだとしか思えない文面になっていて、中にHTTPのリンクもあるしPDFも添付されている。なんか臭いな」という判断もAIができるようになるのです。

「通常のスパムメール」と「通常の業務用メール」を学習させると、「なんかちょっと普通じゃないメール」にもアラートを出せるようになります。

——すごいな〜!

●●●

野上先生:ただ、これはこれで問題があって、いかに社員といえど普段の振る舞いを全部AIに学習されてしまうのはいかがなものか、という議論はあります。

「この社員はこういうストロークでキーを打つ」「こういうときにタイプミスをする」といったようにAIではタイピングのクセまでもインプットできてしまえるのですが、プライベートな部分を含んでいるので企業によっては疑問視する考えもありますね。

AIでブレーキだけでなくアクセルも踏めるセキュリティ人材

——先ほどの「サプライチェーンのうち攻める箇所を見極めてスパムを送ってくる攻撃側AI」と「その攻撃をかぎ分けてアラートを出す防御側AI」みたいな話をお聞きしていると、もうすでにAI同士のバトルが始まっているように思います。

野上先生:実際、サイバーセキュリティの分野においては、AI対AIという構図は発生してきています。

とにかく目覚ましい速度で自動化が進んでいて、攻撃と防御の自動化だけではなく、攻撃側・防御側の行動を網羅的に洗い出すこともAIがやっている。攻撃側は攻撃に使える突破口を大量の情報の中から洗い出そうとするし、防御側はあらゆる手段の中からディフェンスに使える方法を洗い出す。

——実行部隊や調査隊のような前線の仕事だけでなく、有効な手段を発案する分析官や司令官的な役目もAIが担うようになっているわけですね。人間の挟まる余地がほとんどないように思います。

野上先生:確かに、最前線の戦いにおいては人間の役割は極めて限定的になってきていると思います。

だからといって人間の役割が完全にゼロになるかというとそうでもなくて、「ここまで自動化されたのなら、次はどんな手があるだろうか」と互いに開発者視点に立ってその先を予測するのは、攻守ともにハッカーの役割になると思います。どんなシステムだとしても、根本的な部分を作ったのは人間ですから。

——それを聞いてちょっとホッとしました。でも、実際にAI同士の戦いに人間が付いていくのは相当大変そうですね。

野上先生:AIって、活用すればするほどブラックボックス化するんです。学習の仕方が人間と根本的に違うので、「なんでここを攻撃のポイントに選んだのか」という判断基準が、人間が見てもわからない。

人間だと「これは顔だ」と認識している存在も、AIは画像上のもっと大まかな特徴量としか捉えていない。だからホクロのような「点」をひとつ付け加えるだけで「別人だ」と判断するケースもあるわけです。

そんなAI同士が戦うわけだから、今後どのようにAIの活用が広がっていって、そこではどのようなセキュリティ上の戦いが行われるのか、これは本当にわかりません。

——う〜ん、人間には判断がつかないもの同士の戦いですからね……。

野上先生:そこでどうしていったらいいのかとなると、やっぱりセキュリティ技術やその運用までを含めた重要さを認知している人材を育成するのがまず第一歩だと思うんです。

日本は他国に比べてセキュリティ人材が足りていないので、うちの研究室の学生でも就活ですぐに採用されたりヘッドハンティングされたりしている例があります。さらにいえば、「ディフェンス一辺倒ではない人材」が、今後必要になってくると思います。

——それはどのような人材なのでしょうか。

野上先生:純粋にセキュリティのことだけを考えている人材だと、非常に防御的なアイデアに固まってしまう。「何かあったときの対策」をひたすら立てることになってしまって、企業や事業を成長に導いていくDXを進めることができません。

これから必要になるのは、従来からある外側からの攻撃に加えて、ゼロトラスト(※)的な内側からの攻撃にも知識を持ち、攻撃と防御にAIが使われることも学んだ上で、セキュリティを念頭に置きながら事業を前に推し進めていける人材です。そういった人材を、より実践的に実社会と連携して育てて輩出していくことが、社会に対してアカデミアができる貢献だと思っています。

※ゼロトラスト:「何も信頼しない」を前提に対策を講じるセキュリティの考え方。旧来、社内ネットワークは内側で安全な空間、インターネットは外側で危険な空間として線引し、外側からの攻撃に備えてその境界に対策を設けるのが情報セキュリティの主流だった。しかし近年はデータをクラウド上に置くなど、企業システムの外側と内側を隔てる境界がなくなりつつあるため、情報資産にアクセスするものは社内外かかわらずすべて信用せずに安全性を検証しよう、という新しい考え方が注目を浴びている。

——企業に対してブレーキをかけるだけでなく、アクセルのかけどころも示していけるセキュリティ人材が必要、ということですね。

野上先生:今の世の中で産業として成長していこう、売り上げを毎年一桁ずつ増やそうと思ったら、Webに対してコネクティッドにならざるを得ない。モノを売るだけでなくコトを売る。ひとつひとつ作ったものを地道に売るのではなく、コピペで売ることができるものをコンテンツとして提供していくのなら尚更です。避けて通る道ではありません。

——それは間違いなくそうですね。

野上先生:今日はAIに関して恐ろしい話ばかりしましたが、実際にはリテラシーのない人が引っ掛かるべくして引っ掛かってしまっているケースが大半です。正しく活用・運用すれば大きな問題はないですし、実際に現場ではそのような対策がなされています。情報公開されていなくても、なされているはずと期待しています。

悪用を前提としたAIが存在するのは確かで、個人レベルのリテラシーはしっかりしていないといけない時代ですが、そのための意識啓発や対策を怠らないことが重要なのです。

安全面を気にして萎縮するよりは、クリエイションをしていくような方向でAIを活用する方が楽しいですよね。日本では新技術は人件費を下げたりコストダウンに使ったり……みたいな使われ方をすることが多いですが、そうではないチャレンジングな方向でAIと付き合っていく道がもっと広がるといい、と思っています。

取材・文:半谷匠 アイキャッチ・図版:サンノ 編集:木崎・稗田/なるモ編集部、黒木貴啓/ノオト

タグ