こんにちは!セキュリティエンジニアを担当している濱本です。今回はAIと対話した結果などを用いて、サイバー攻撃に対する防御についてお話します。
1.今回の対話の趣旨について
普段、私はSIEMを使用したログ分析業務を行うことで、社外からの攻撃や社内の不信な動きを検知することで、社内の重要な情報や資産などを守っています。そんな中、セキュリティ業界に関しては新しい脆弱性が出たり、個人情報やクレジットカードの流出に関するニュースが流れてくるなど頭が痛くなる日々もありますが、それと同じくAIに関するニュースもよく見ます。そこで今回はせっかくなので、サイバー攻撃からどうやって重要な資産を守るべきかをAI(ChatGPT-4o)と対話することで新しい考え方やアドバイスを得られるのか。ということを目的に進めたいと思います。
2.攻撃側と防御側について
まず確認したいのは、いわゆる「攻撃側」と「防御側」の場合にはどちらの方が有利なのか。です。
Question(濱本)セキュリティ業界において、攻撃側と防御側だとどちらが有利でしょうか?
Answer(ChatGPT-4o)一般的に、攻撃側が有利とされることが多いですが、具体的な状況や条件によって異なることがあります。以下にその理由を挙げます。
■攻撃側が有利な理由:1.驚きの要素攻撃者は、いつ、どのように攻撃を仕掛けるかを選べるため、防御側に不意打ちを与えることができます。2.攻撃手法の多様性攻撃者は、多くのツールや手法(マルウェア、フィッシング、ゼロデイ攻撃など)を利用し、多方向から攻撃を仕掛けることができます。3.防御の複雑性防御側は、膨大なシステムやネットワーク、デバイス全てにおいて完全な防御を維持する必要があり、一つの脆弱性でも攻撃を許す可能性があります。4.コスト効率攻撃者は比較的低コストで攻撃を実施できるのに対し、防御側は多くのリソースを防御に投入する必要があります。■防御側が有利な理由:1.情報共有と協力今日では多くの組織が情報を共有し、攻撃に対する共同対策を講じています。2.技術の進化機械学習やAIなどの新しい技術が、防御の強化に活用されつつあり、より素早く攻撃を検知し対応できるようになっています。3.法的措置と規制攻撃者に対する法的措置や国際的な規制が強化され、攻撃のリスクが増大しています。4.セキュリティの意識向上セキュリティに関する意識が全体的に向上しており、組織や個人のセキュリティ対策が強化されています。結論として、攻撃側が有利と感じられる場面が多い一方で、防御側も絶えず進化し続けており、適切な対策を講じることで、攻撃に立ち向かうことが可能です。両者の戦いは継続的であり、常に新しい戦略や技術が求められます。
おぉ!私としては有利なのは攻撃者側一択だと思っていましたが、AIの回答としては必ずしも攻撃者側が有利、というわけではなさそうです。最初から絶望せずにすみました。
3.防御側におけるAIの活用について
先ほどのAIからの回答にもありますが、「技術の進化」として機械学習やAIを防御に使うことで強化することも記載されています。では防御側においてAIの活用とはどういったものがあるのでしょうか?
Question(濱本)防御側が機械学習やAIを活用する場合、どういったシチュエーション、ツールの組み合わせがありますか?
Answer(ChatGPT-4o)防御側が機械学習やAIを活用する場面は多岐にわたります。以下は、具体的なシチュエーションとそれに伴うツールや技術の例です。
■シチュエーションと活用方法:1.異常検知・ネットワークトラフィックの監視 通常と異なるトラフィックパターンを検出するために、機械学習アルゴリズムを使用します。この方法は未知の攻撃を早期に検知するのに有効です。・利用ツール Splunk、Elastic Stack(以前のELK Stack)、Darktraceなど。2.メールセキュリティ・フィッシングメールの検出 AIを用いてメールの文面を解析し、フィッシングの可能性があるメールを検出します。・利用ツール Proofpoint、FireEye Email Securityなど。3.エンドポイントセキュリティ・マルウェア検出 エンドポイントでの不正な活動やファイルの振る舞いをAIによって分析し、マルウェア感染を防ぎます。・利用ツール Cylance、CrowdStrike Falcon、SentinelOneなど。4.インシデントレスポンス・自動化された分析と応答 AIを活用して攻撃の兆候をリアルタイムで分析し、自動で対応策を講じます。・利用ツール IBM Security QRadar、Splunk Phantomなど。5.ユーザー行動分析(UBA/UeBA)・内部脅威の検出 社内ユーザーの行動を学習し、通常とは異なる行動を示した場合に警告を上げ、内部からの脅威に対抗します。・利用ツール Exabeam、Rapid7、Securonixなど。6.脆弱性管理・脆弱性の優先順位付け システム内の脆弱性をAIがスコア化し、優先的に対処すべき脆弱性を特定します。・利用ツール Tenable.io、Qualys、Rapid7 InsightVMなど。■ツールの組み合わせ:・SIEM(Security Information and Event Management)とAISIEMツールとAIソリューションを組み合わせることで、ログデータの大量集積から有意義なインサイトを抽出し、先手の防御策を講じることが可能になります。・SOAR(Security Orchestration, Automation, and Response)とAISOARを導入して、AIと連携させることでインシデントに対する応答を効率化し、自動化することができます。これがインシデント対応の迅速さと正確性を向上させます。AIと機械学習は、防御策の効力を強化し、攻撃に対する迅速で効果的な対応を可能にします。ただし、これらの技術を導入する際には、その限界とバイアスについて理解し、専門家の監視と調整が必要です。
防御策の一つとしてSIEMがちゃんと入っているようで安心しました!もちろん、これら全てを導入して管理/運用というのはかなり難しいとは思いますが、実際に状況や優先度などに応じて選択するためのアイデアや議論のためのベースとしては使えるのではないかなと思います。
4.取り込むべきログとは
私がSIEMを使ったログ分析業務を行っているからではありますが、SIEMに取り込むべきログの種別やどれくらいのログの量を取り込むとAIとして活用できるのか、という観点で聞いてみます。
Question(濱本)SIEMとAIを組み合わせる場合、どういったログを取り込むと効果的ですか?またどれくらいのログの量を取り込むと精度高く判断できますか?
Answer(ChatGPT-4o)SIEMとAIを組み合わせる際に効果的なログの種類と、取り込むべきログの量に関する考慮事項を以下に示します。
■効果的なログの種類:1.ネットワークログ ・ファイアウォールログ: 各トラフィックの許可・拒否のルールに関する情報。 ・IDS/IPSログ: 不正アクセスや攻撃の試みを記録。 ・ルータやスイッチのログ: ネットワークトラフィックの流れに関する情報。2.エンドポイントログ ・オペレーティングシステムのイベントログ: WindowsやLinuxのシステムイベント、セキュリティログ。 ・アンチウイルスソフトウェアのログ: マルウェアの検出記録。3.アプリケーションログ ・Webサーバーログ: アクセスログやエラーログ。 ・データベースログ: クエリ履歴やエラー、アクセス制御の変更記録。4.ユーザーアクティビティログ ・シングルサインオン(SSO)やIDプロバイダのログ: 認証、認可の情報。 ・プロキシサーバーログ: ユーザがアクセスしたウェブサイト情報。5.クラウドサービスログ ・クラウドリソースのイベントログ: AWS CloudTrail、Azure Activity Log、Google Cloud Audit Logsなど。■ログの量と精度:・データ量の影響AIモデルの学習には多様で大量のデータが不可欠です。具体的な量は環境によって異なりますが、一般に多くのログを集めることでモデルに多様な異常やパターンを学習させることが可能となります。・初期学習初期段階で最低でも数週間から数ヶ月分のログデータを基にモデルを学習させることが推奨されることがあります。これにより通常の動作パターンを基にベースラインを構築できます。・リアルタイムと歴史的データリアルタイムのデータは即座の脅威検出に役立ちますが、歴史的なデータも長期的な傾向分析や異常検出に重要です。・ノイズとシグナル大量のデータを取り込むことでノイズが増える可能性もあるため、適切な前処理(データのノイズフィルタリング、データ正規化)が重要です。・スケーラビリティ大規模なデータ量の取り扱いを可能にするために、スケーラブルなインフラ(クラウドやビッグデータ技術の活用)が求められます。効果的なAI駆動のSIEMシステムを構築するためには、適切な量と質のログデータを取り込むことが重要です。これ
やはりAIとして分析するためには「大量のデータが不可欠」のようですね。また「歴史的なデータも長期的な傾向分析や異常検出に重要」と回答がある一方で「大量のデータを取り込むことでノイズが増える可能性もある」とも回答があるため、最終的には「適切な前処理が行われた大量かつ長期間のデータ」が必要そうです。
各ログをどのレベルまで取り込むのか、というのはコストや優先順位に応じて変動するかと思いますが、取り込むべきログの種類に関しても、基本的には私の考えとも相違ありません。余力があれば各PCなどの端末のログやSlackやチャットワークといったコミュニケーションツールのログ、セキュリティゲートなどのログとかを取り込んでも面白いかもしれません。
5.運用について
防御側が脅威を検出するために機会学習やAIの活用が有効であることは分かりました。しかし、回答にあったようなツールをすべて導入するためには莫大なコストがかかりますし、運用するとなると更に大変になります。莫大なコストをかけて大量のツールを導入しても、運用できなければ効果を最大化することはできません。
普段、私はSIEMを使った分析業務をメインとしていますが立ち位置としてはいわゆる社内環境における脅威を検出するためのプライベートSOCとなります。企業によっては防御するための環境を構築するのも大変でしょうし、それらを運用するとなるとセキュリティエンジニアの採用も必要となり、さらに大変になるとことが予想されます。
最後にAIはセキュリティエンジニアの代わりになるのかを聞いてみましょう。
Question(濱本)セキュリティ製品やログの分析を行うためには専門的なセキュリティエンジニアが必要と考えていますが、それらをAIに代行してもらうことは可能でしょうか?
Answer(ChatGPT-4o)AIはセキュリティ分野で非常に有効なツールとして活用できますが、現時点でAIが専門的なセキュリティエンジニアのすべての役割を完全に代行することは難しいです。以下に、AIが代行できることと、セキュリティエンジニアが依然として重要である理由について説明します。
■AIが代行できる業務1.データ分析と異常検知 AIは大量のデータを迅速に解析し、通常のパターンからの逸脱を検出することが得意です。これにより、潜在的な脅威を早期に発見できます。2.インシデントの初期対応 いくつかの対応済みアクション(例えば、疑わしいIPアドレスの遮断や被疑リソースへのアクセス制限など)の実行を自動化することで、AIがインシデントの初期対応を行うことが可能です。3.レポート作成とアラート 定型的なレポート作成やアラートの発行を自動化し、セキュリティチームの負担を軽減します■セキュリティエンジニアが必要な理由1.高度な判断と戦略策定 複雑な脅威の判断や、新たな脆弱性に対する戦略策定は、人間の専門知識と経験が不可欠です。2.AIモデルの監視と改善 AIモデルの性能を監視し、必要に応じて改善を行うためには、セキュリティとデータサイエンスの知識が必要です。3.インシデント対応と復旧計画 深刻なインシデントに対する対応やシステム復旧には、人間の創造力と柔軟性が求められる場面があります。4.倫理と規制の順守 セキュリティ対策には法規制や倫理的な判断が伴うことが多く、これはAIだけで実行するのは挑戦的です。結論として、AIはセキュリティ業務の多くの側面を支援し、効率化することが可能ですが、それだけでは十分ではありません。セキュリティエンジニアは、AIによる補助を活用しつつ、より高度なタスクや戦略的な判断を担うことで、全体としてより強力で効果的なセキュリティ体制を築くことが期待されます。
まだ私には仕事があるよう安心しました。AIを活用することでセキュリティエンジニアとしての運用業務の効率化や脅威を検出するための速度や精度を向上することは出来そうですが、戦略策定や複雑な脅威の判断は人間が行うべきのようです。
6.まとめ
いかがだったでしょうか。AIに対する質問の仕方や使用するツールによって回答結果や精度は変わってくると思いますが、サイバー攻撃から守るために考えるべきことや実施すべきことなどは十分得られると思います。
しかし最後の質問に対する回答にもありますが、すべてをAIに代行させるということは現時点ではできません。必ず人が必要となります。またそれらを活用/運用していくためには状況に応じた組織の設計やガバナンスの徹底なども必要です。
今回は防御側の視点でAIに質問しましたが、攻撃側の視点で質問すれば同様に攻撃手法に関する情報が得られる可能性は大いにあります。最終的にAIをどう使うか、使いこなせるかは人次第なのだと思います。
AIは非常に便利で今後も発展を続けていくでしょう。そんなAIと向き合いながら引き続きセキュリティエンジニアとして成長していきたいと思いますが、本説明が少しでもみなさんのセキュリティ改善に貢献できれば幸いです。