前回のシステム侵入の可能性を検証するペネトレーションテストとは?【前編】では、ペネトレーションテストの概要や手順、使用するツールなどについて解説した。後編となる今回は、キヤノンマーケティングジャパン株式会社(以下、キヤノンMJ)で17年にわたり同社のセキュリティ事業の立ち上げから要職を担ってきたセキュリティソリューション事業企画部の石川滋人(以下、石川)が株式会社イエラエセキュリティ(以下、イエラエセキュリティ)でペネトレーションテストを担うルスラン・サイフィエフ氏(以下、ルスラン氏)と村島正浩氏(以下、村島氏)に、ハッカー目線で疑似攻撃を行う際の着眼点や企業におけるペネトレーションテストの重要性について話を聞いた。
ペネトレーションテストでセキュリティリスクのインパクトを可視化
石川:
改めてペネトレーションテストの目的や脆弱性診断と異なるポイントを教えてください。
村島氏:
脆弱性診断はツールなどを用い、IPA(独立行政法人 情報処理推進機構)などの公的機関が策定しているセキュリティ項目を網羅的にチェックします。一方のペネトレーションテストは、個人情報の窃取など顧客が抱えるビジネスリスクをシナリオのゴールとして設定し、そのシナリオが達成できるかをテストします。実際にネットワーク内部へ侵入し、機密情報を奪取するところまで行います。そうすることで抱えているビジネスリスクのインパクトを示すというイメージでしょうか。
ルスラン氏:
ペネトレーションテストは昔から存在するテストで、過去にはある特定のシステムに対して侵入が可能かどうかのテストを表す言葉でした。現在ではペネトレーションテストという言葉が表す意味が広義になり、サービサーのやり方や対象システムによって内容が変わるものになっています。脆弱性診断との大きな違いは、脆弱性診断はほぼ決まっているテスト項目に基づいた検査を行い、網羅性を担保し、なるべく多くの脆弱性を検出するテストになっています。一方でペネトレーションテストは、基本的にゴールベースであり、脆弱性を幅広く発見することではなく、対象ゴールに近づくために、検出した脆弱性を実際に利用して侵入するテストになります。
石川:
御社で行うペネトレーションテストの特長を教えてください。
村島氏:
クライアントの要望に合わせ、ハッカー目線で限りなくリアルな疑似攻撃を行うことでしょうか。疑似攻撃のタイプは内部侵入と外部侵入に分けられ、外部侵入の場合はWebサイトへの攻撃やOSINT(Open Source Intelligence)と呼ばれる手法で攻撃に有益となり得る公開情報(意図せず公開された情報など)の調査も実施します。内部侵入の場合は、一般社員の端末がマルウェアに感染したことを想定して実施することが多いですね。疑似的なマルウェアを作成し、社員が通常使用している端末に対してテストを行います。社員が通常使用している端末でテストを行うため、管理者権限を事前に付与された状態からではなく、権限昇格そのものから試みるケースもあります。
また、初期の感染方法としてフィッシングから行うこともお客さまのご要望や期間次第ですが、ご対応させていただいております。
石川:
ペネトレーションテストと脆弱性診断はどのように使い分けるべきでしょうか?
ルスラン氏:
基本的にはどちらも実施すべきですが、脆弱性診断を実施した後にペネトレーションテストというのが多いですね。脆弱性診断で発見できるのはバージョンやパッチマネジメントに関する問題が多く、ペネトレーションテストでしか把握できないリスクもあります。例えば共有フォルダに認証なしでアクセスできた場合、脆弱性診断では低めのリスク評価となる場合があります。ただし、実際にはたとえ低リスクの脆弱性であっても、それらが組み合わさることで大きなリスクになり得る可能性があります。ペネトレーションテストではさらに一歩踏み込んで、そのフォルダにどのような情報があるのか、取得した情報を用いてどのような操作ができるのかまでチェックします。それぞれ視点が異なるということを意識する必要があるでしょう。
また、最初からご要望のあるお客さまや「ペネトレーションテストをやったけど、その次のステップに行きたい」というお客さま向けに、今世界中で流行っているペネトレーションテストよりも幅広くて深い、レッドチームテストも実施しています。レッドチームテストは一般的にレッドチーム(攻撃側)とブルーチーム(防御側)に分かれてテストを行います。レッドチームは私たちのように侵入だけを行い、ブルーチームは顧客企業のSOC(Security Operation Center)やCSIRT(Computer Security Incident Response Team)、セキュリティチームなどです。事前にブルーチーム側に疑似攻撃の実施が通知されることもあれば、一部の管理者にしか知らされないケースもあります。テストの後にはレッドチームとブルーチームが集まり、顕在化した課題やその解決方法を協議します。協議の際、レッドとブルー双方の機能を併せ持ち、調整役のような役割を担うのがパープルチームです。
ハッカーの目線に立つことで浮き彫りにされるリスク
石川:
先ほどハッカー目線というワードがでましたが、具体的にどのようなことでしょうか?
ルスラン氏:
よくあるのはパスワードマネジメントですね。多くの企業ではパスワードマネジメントが不十分です。2000年前後に設定された古いパスワードの場合、ユーザー名と全く同じといったケースもあります。
また、外部にクレデンシャル情報が公開されていたこともありました。
クラウドはリスクが軽減すると考えている人もいますが、二段階認証が設定されていないサービスも一部あります。
そのサービスが突破され、従業員全員のメールが閲覧できてしまうといったこともあります。どれだけセキュアな環境を用意していたとしても、攻撃者にとってはわずか1点の隙間さえあればいい。セキュリティに隙があり、認証なしで社内向けのイントラネットへアクセスできてしまったという事例もありました。
石川:
他にはどのような観点がありますか?
ルスラン氏:
ドメイン管理なども起点になるケースがあります。例えば、管理者グループの設定が複雑多岐となり、担当者の異動なども重なって誰も把握し切れなくなったケースなどですね。結果的に知らない管理グループが乱立したり、ひどい場合は全員が管理者になっていたりすることもありました。高度なセキュリティ製品を導入しているにも関わらず、運用が不十分な企業は少なくありません。私たちは管理コンソールを管理者たちがどう運用しているのか、どこの監視が弱そうかといった観点で調べます。セキュリティ機器が適切に設定されているか、導入セグメントは適切か、SOCはどこまで検知しているかなど、運用プロセス上のあらゆる点を調査します。
村島氏:
自社の公開情報を把握できていない企業も多いですね。例えば、エンジニアがGitHubに誤ってAPIキーなどの機密情報をアップしているケースもありました。使えそうな情報さえあれば、攻撃者はそれが使える場所を特定し、そこから侵入します。ペネトレーションテストはテクニカルなイメージがありますが、実は運用プロセスに関する理解がとても重要で、それらを考慮した総合的なリスクを可視化できる点が大きなメリットです。
石川:
ゴールとなる情報が暗号化されていたらどうしますか?
ルスラン氏:
他のサーバーを探します。該当サーバーでは暗号化されていたとしても、実は隣にバックアップサーバーがあって、そこには平文で置いてあるといったケースもあります。攻撃に成功し、管理者権限などを取得している攻撃者にとってはどのサーバーにあるかは問題ではありません。仮に暗号化していたとしても、それはどこかで復号されるはずです。暗号化される前のデータ、あるいは復号されたデータがどこにあるか、つまり最短距離でゴールにたどり着くためにはどうすればよいかを考えるのです。時間が十分あれば暗号ロジックを解読することもありますが、実際の攻撃者はそのような回りくどいことはしないでしょう。
ペネトレーションテストの成果を左右する重要因子
石川:
ペネトレーションテストのメリットを最大限に生かすには、どのようなことを意識すべきでしょうか?
ルスラン氏:
テストシナリオのゴール設定です。個人情報を取り扱う企業ならそこをゴールにする必要がありますし、ゲーム会社なら最も重要なのはソースコードですので、その奪取をゴールに設定します。つまり、どの情報資産を優先的に守りたいのか、それは企業によって異なるはずです。テストの前にそれらをしっかりとすり合わせ、共通認識を持つことが重要です。
村島氏:
ゴール設定が曖昧な企業も少なくありません。とりあえず管理者権限を奪取できるか試してほしいという依頼も時折ありますが、重要なのはドメイン管理者権限を取得できるかどうかだけでなく、その権限を使ってどこまでのことが可能なのかというリスクを知ることです。攻撃者の目的は管理者権限を奪うことでも、Webサーバーを攻撃することでもありません。その攻撃により何らかの情報を盗み出すことです。それを見失っては本末転倒です。
石川:
ゴール設定についてはアドバイスや提案をするケースもありますか?
ルスラン氏:
はい。ほとんどの場合はゴールのすり合わせから入りますね。ヒアリングをした上でこちらからゴールを提案させていただくこともあります。予算の半分を内部侵入、残りを外部侵入に分けて実施しましょうとか、その場合は社内を起点とした疑似マルウェアテストとフィッシングテストにしましょうなど、シナリオを含めてご提案するケースもあります。
石川:
ペネトレーションテストはスポット的に実施するイメージが強いですが、定期的に実施した方が良いものでしょうか?
ルスラン氏:
定期的に実施するべきですね。以前のテストで発覚した侵入経路に正しく対応できているか、別の経路は問題ないかなどをテストします。また技術は日々刻々と進化しており、マルウェアの攻撃手法も多様化、複雑化しています。個人的な見解としては年に数回実施してもいいほどです。スポットのテストで終わらせるのではなく、継続的な取り組みとして行うことが重要です。先ほどお話ししたように、運用面で課題を抱えている企業は少なくありません。運用面も含め常にセキュアであることが重要です。ペネトレーションテストは実際に侵入してみせることで、そのインパクトをより実感していただくことができます。インシデントを対岸の火事と考えている企業も少なくありませんが、実際にはいつどんなタイミングで侵入されるかは予測できません。侵入のインパクトを示すことで、経営層やセキュリティ担当の意識がガラッと変わることもたびたび経験しています。
提供する二つのシナリオサービスについて
石川:
今回、キヤノンMJではイエラエセキュリティさまとのパートナーシップにおいて、あらかじめ想定する攻撃者とターゲットとなる情報を明確にした分かりやすいシナリオメニューを用意しました。『ペネトレーションテストをやりたいけれど何から始めたらよいのかわからない』というお客さまにお勧めのメニューです。これら二つのシナリオサービスについて、紹介をお願いします。
村島氏:
一つ目の標的型メール攻撃による侵入シナリオは下記の流れで実施します。
- 診断員が実施端末に対してカスタマイズした疑似的な遠隔操作マルウェア付きのメールを送付
- クライアントが実施端末でマルウェアを実行
- 疑似的な遠隔操作マルウェアが弊社C2サーバーとコネクションを確立した時点でテストがスタート
- 感染端末はもちろん、ネットワークにつながる他の端末からも情報窃取できるかをテスト
村島氏:
安全性を考慮し、疑似的な遠隔操作マルウェアは他の端末では実行できないようカスタマイズします。テストはリモートで行いますが、対象となる情報もクラウドには保存されず、弊社ローカルサーバーに保存されます。
ルスラン氏:
二つ目の外部公開リソースからの侵入シナリオは下記の流れになります。
- Webサイトにおける脆弱性やOSINTで取得した情報をもとに攻撃
- 管理者権限の奪取や機密情報の窃取ができるかどうかをテスト
ルスラン氏:
結果的に、シャドーITや外部に公開された情報漏えいのリスクに関する現状把握もできます。OSINTで調査する外部に公開されている意図していない情報も、ほとんどの企業では実態をつかみ切れていません。開発者が管理外のクラウドにインスタンスをアップしてしまったり、グローバルIPを使用している社員の端末のポートが空いてしまっていたり。ステージング環境に脆弱性があり、WAFが導入されていないといったこともあり得ます。
村島氏:
OSINTの調査範囲に関しては、良くお客さまからご質問をいただきます。例えば過去に、その企業が提供するモバイルアプリを解析すると、隠されたAPIが存在し、それを通じて管理画面に侵入できたケースもありました。そういう意味では公開されている情報すべてが、調査対象となり得ます。
いずれもテスト後に報告書を提出し、テストの内容と結果の詳細を説明する報告会を実施します。ゴールまでのプロセスのなかでどのような脆弱性が見つかったか、その実例と推奨する対策をレポートします。例えば、平文のパスワードが特定ディレクトリに見つかったため、ネットワークの再確認が必要、といった具合です。
ルスラン氏:
こちらから推奨した対応策の実装が現場で難しい場合は、レポート提出後1ヶ月以内ならばフォローアップを受け付けていますので、代替案の相談にも乗らせていただいています。また、パープルチームをバンドルしたサービスもあり、より踏み込んでお客さまの環境に必要な今後の対策についてミーティングを実施します。
脅威から身を守るものは技術だけではない
石川:
ありがとうございました。最後に読者にメッセージをお願いします。
ルスラン氏:
まだペネトレーションテストを実施したことがないなら、まずはご相談ください。いかに高機能なセキュリティ製品を導入したとしても、適切に運用されなければ目的を達成できるとは限りません。私たちのチームではセキュリティにおいて『PPT』という考え方をとても大切にしています。これはProcess、People、Technologyの頭文字から取ったもの。利用するテクノロジーがあり、それを使う人間がいて、それらをどのように運用すべきか、ペネトレーションテストやレッドチームテストではそれらを明らかにしていきます。例えば、EDR(Endpoint Detection and Response)を導入していた場合、攻撃の検知後にSOCやCSIRTがどんな動きをするかを決めておく必要があります。現実の攻撃モデルを想定し、運用面も含めたセキュリティ対策を練ることが重要です。
村島氏:
サイバー攻撃を検知した後の対応が曖昧になっている企業は少なくありません。ペネトレーションテストによってそれらを明確に定義し直すことができます。また予算がネックになって、十分なセキュリティ対策ができていない企業においても、ペネトレーションテストは有効です。実際に侵入できたという事実は、強烈なインパクトになります。それをきっかけに、定期的なテストを依頼される企業も数多くいらっしゃいます。
ペネトレーションテストというと技術的な要素がフォーカスされがちだが、今回のインタビューを通して、必ずしもそれだけではないことが理解できた。Process、People、Technology。ルスラン氏が述べたように、それぞれの観点においてセキュリティ対策が正しく行われるべきだろう。AI(人工知能)などの進化に伴い、攻撃手法も年々高度になってきている。もし狙われたら、という前提に立ちペネトレーションテストを実施してみてはいかがだろうか。
話を聞いた社員:
キヤノンマーケティングジャパン株式会社 セキュリティソリューション事業企画部
石川滋人(写真左)
お話を伺った方:
株式会社イエラエセキュリティ 執行役員
ルスラン・サイフィエフ氏(写真中)
株式会社イエラエセキュリティ 高度解析部 ペネトレーションテスト課
村島正浩氏(写真右)