新着情報

ペネトレーションテストの自動化:重要スキル(CompTIA米国本部ブログより)

2021/08/30

米国本部ブログPenetration Testing Automation: An Essential Skill


penetration-testing-automation.png最近のU.S. Armed Forces Electronics and Communications(米軍通信電子協会)のTechnet Augusta: Solution Seriesのイベントにおいて、サイバーセキュリティと自動化(オートメーション)の厳しい現実を目の当たりにしました。「攻撃者は、自動化を使ってシステムを攻撃する。我々もそれに応え、使用しなければならない。さもなければ負けてしまう。」これは、ジェネラル・ダイナミクスIT社(米国の防衛企業)のリーダーによる発言で、サイバーセキュリティの世界での自動化の重要性を示すものでした。

具体的には、ペネトレーションテストのある側面を自動化して、システムのよりタイムリーな評価を提供することです。ペネトレーションテストは、脆弱性を見つけるためにITシステムをテストするプロセスであることを忘れないでください。このプロセスは、システムの弱点を明らかにすることから、攻撃者が脅威を見つけて悪用する前に、潜在的な脅威を軽減することができます。

ペネトレーションテスターは少なくとも、脆弱性スキャニングプロセスを自動化して、日、週、月次のレポートを提供しなくてはなりません。しかし多くの企業は、コンプライアンス(PCI-DSS, NISTなど)維持のため、年にわずか1、2度しかスキャンせず、どう見ても現実的ではありません。組織は、より頻繁に脆弱性をスキャンする必要があるのです。

自動化を学ぶ機会

CompTIA PenTest+ (PT0-002) (米国本部サイト)には、自動化手法のベストプラクティスが含まれ、英語試験は2021年10月下旬に配信される予定です。この試験では以下の通り、適切なツールと手法を使用して自動化された脆弱性スキャンとペネトレーションテストを実行する方法、さらには、その結果の分析方法が範囲に含まれます。

2章 情報収集と脆弱性スキャン
● 2.4 与えられたシナリオに基づき、脆弱性スキャンを実行することができる。自動化を円滑に進める脆弱性テストツール。

5章 ツールとコード分析
● 5.2 与えられたシナリオに基づき、ペネトレーションテストで使用するスクリプトまたはコードサンプルを分析することができる。スキャンの結果に基づき、ペネトレーションテストプロセスや次の手順を自動化する。
● 5.3 ペネトレーションテストの段階での次のツールの使用例について説明することができる。スキャンのための自動化ツールや、テストのためのウェブアプリケーション。

最新のペネトレーションテストツールには、自動化機能が含まれています。例えば、Metasploit, Nettacker, Jok3r, Legion, Sn1per, Open Security Content Automation Protocol (SCAP), OWASP ZAP and Burp Suite など。

固有の課題と新たな解決策

ペネトレーションテストは、様々なシステムを保護する目的で1971年米国空軍によって用いられたことが記録されています(50年前!)。彼らは、nmapツールなど、今日でも多く見られる手動のスキャン手法を使用しました。

歴史的に見て、これらのペネトレーションテストツールの問題点は二つあります。

1.年間を通じての一貫したテストまたはスケジュールの欠如

2.ウェブアプリに侵入できないため、SQLインジェクション(SQLi)やクロスサイトスクリプティング(CSS)攻撃以外のコードでの問題を特定できない

最近のツールは、こうした問題の解決に焦点を合わせています。

例えば、ほぼすべてのペネトレーションテストツールには、毎日、毎週、毎月、またはシステムの変更時に頻繁なスキャンを予定する自動化ツールが含まれます。適切に構成されていれば、これらのスキャンにより組織全体の潜在する脅威をほぼリアルタイムで可視化することができます。

ウェブアプリのディープスキャンは完全とはいえません。これまで、ウェブアプリのスキャンでは、SQLiやCSSなど基本的な攻撃のみが特定されています。Dark ReadingのAlex Haynesは、こうした限界を強調しています。

「それら(自動化されたウェブアプリスキャン)は、ペネトレーションテスターにとって役立つ、内部APIに安全でない直接オブジェクト参照(IDOR)の脆弱性や、内部ウェブページにサーバーサイドリクエストフォージェリ(SSRF)があることすら理解しないでしょう。」Haynes氏は言います。

この問題を解決するため、ソフトウェア開発、DevOps、SecDevOpsでのウェブアプリテスト用に、専用のペネトレーションテストソフトウェアが開発されています。NetSparkerは、ウェブアプリの脆弱性を100%特定すると主張する一方、Burp Suiteは86%特定します。その他の特殊なウェブアプリテストツールには、HPWeb Inspect、Rapid7 AppSpider、IBM AppScanなどがあります。これらのツールは急成長を遂げ、新たなリリースごとに多くのウェブアプリのプロテクションが提供されています。

自動化されたペネトレーションテストは、「人」に取って代わることはありません

仕事をこなしてもらうための自動化ですが、今のところサイバーセキュリティにおいてはその「仕事」は達成できていないとも言えます。多くの組織では、PCI-DSS やNISTのコンプライアンス順守のため、毎年1、2度のペネトレーションテストを行う必要があります。しかし、テスト実施の割合が低さや、攻撃数の増加から、組織は脆弱な状態となり、毎日または1日2回の自動スキャンに頼らざるを得ません。

1年に2度のスキャンから、1日に2度のスキャンに移るプロセスでは、より多くの「人」の関与、保守、そして結果分析が必要になります。ほとんどの組織は、脆弱性スキャンを不可欠と見ていて、プロセスを構成し分析するには「人」が必要になります。

ペネトレーションテストが引き続き「人」の関与を必要とするもう一つの理由は、足場が確立された後の、横方向の動き(lateral movement)が不十分であるためです。自動化によって一般的な脆弱性は特定できるかもしれませんが、以下はどうでしょうか?

● 脆弱性に優位順位をつけ、エクスプロイトに最適なものを選択することができる
● システム間を横方向に移動し、エージェントをインストールし他の脆弱性を見つけることができる

これらの解決は複雑で、ペネトレーションテストの自動化では不十分です。現在、脆弱性スキャンを越えたペネトレーションテストの自動化を展開するための付加的な業界ツールの開発が進行中です。

PenTest+では自動化をカバー: スキルを学びましょう

CompTIA PenTest+(PT0-002)試験の出題範囲では、ペネトレーションテストと脆弱性スキャンの自動化に焦点を当てています。オンプレミス、クラウド、ハイブリッドネットワークなど複数の環境で作業するための最新のペネトレーションテスト手法とベストプラクティスが含まれます。出題範囲にはまた、それらの環境でのウェブアプリ、ワイヤレスシステム、組み込みシステム、IoTデバイスへのペネトレーションテストも含まれます。

自動化スキルは、すでに負担の大きいサイバーセキュリティ専門家の業務を軽減することから、近い将来に需要が高まると予測されています。ITプロフェッショナルが自動化スキルを活用しなければ、組織は継続的な違反の代償を払うことになるでしょう。

ペネトレーションテストの自動化スキルを学ぶには、CompTIA PenTest+の試験出題範囲をダウンロードし、試験のための準備を開始してください。この認定資格を取得することで、次なるサーバー攻撃から組織を守るための最新のスキルを備えていることを証明することができます。

 

CompTIA PenTest+(PT0-002)は、2021年10月下旬に配信される予定です(英語試験先行)