AWS Partner Advanced Tier Services

AWSノウハウ

被害が出る前にWebアプリケーション診断を
AWSの設定ミスや既存の脆弱性から自社サービスを守るには

  • AWS初心者
  • AWS入門
  • Webアプリケーション診断

Amazon Web Services(AWS)やGoogle Cloud Platform(GCP)などのクラウドサービスを使用すると、WebサイトやWebサービスを迅速に開始でき、訪問者数の増減にも柔軟に対応することが可能です。ただし、クラウド上でWebアプリケーションを運用する際には、設定ミスや、アプリケーションで使用されるソフトウェアライブラリの脆弱性を狙った攻撃に対する対策が必要です。

CloudCREW byGMO (以下、CloudCREW)は、GMOサイバーセキュリティ byイエラエ株式会社 (以下、GMO イエラエ)と共に、 クラウド環境における「Webアプリケーション診断 」を実施しています。Webアプリケーション診断サービスに関して、詳しく確認したい方は 「専門家によって脆弱性を顕在化するWebアプリケーション診断」をご覧ください。
今回はGMO イエラエのアセスメントサービス部 診断一課 セキュリティゼネラリストの松本 隆則氏と、 オフェンシブセキュリティ部ペネトレーションテスト課の安里悠矢氏に、診断の概要とその必要性についてお聞きしました。

Webアプリケーションを世界レベルの知見で診断し、攻撃に備える

2013年設立のGMO イエラエは、脆弱性の診断業務、セキュリティ・AIに関するコンサルティングやシステム開発を手掛けるサイバーセキュリティ企業で、2022年4月からはGMOインターネットグループに参画しています。同社は、コンピューターやシステムの高度な知識を有し、それを善良な目的に使用するエンジニアであるホワイトハッカーを中心に構成されていて、「脆弱性のない世界をつくる」ための挑戦を続けています。

松本氏は、Webアプリケーション診断の部署に所属し、加えて新卒や中途採用のメンバーやエンジニアに対して脆弱性診断の基礎教育も担当しています。安里氏は、脆弱性診断に加え、脆弱性に対して攻撃を仕掛け、システムの耐性を調査するペネトレーションテストも担当しています。

Webアプリケーション診断とは、公開されているWebアプリケーションの脆弱性や認可制御の不備を特定して、それらを修正する手段を提供するものです。脆弱性とはプログラムや設計上のミスによる不具合であり、認可制御の不備とはユーザーが本来許可されている権限を越えて操作ができてしまうなどの問題です。

特に松本氏は「最近は設定ミスによる認可制御の不備が増えています」として、その理由を、クラウド上にはさまざまなサービスがあり、設定まで含めて網羅的に把握するのは難しいためと指摘します。

「Webアプリケーションを一つ公開するにしても、AWS上の独特なサービス名や設定など、今まで知らなかった知識を多く求められます。どうしても抜け漏れや見落としが発生すると思われます」(松本氏)

図1.Webアプリケーション診断のイメージ

このような脆弱性、設定ミス、見落としから発生する問題を一掃するには、松本氏はWebアプリケーション診断を推奨します。診断して修正すれば、リスクを軽減できます。

診断は、全容調査を目的としたクローリングから始まります。クローリングとは、一般ユーザーとしてログインを行い、ログイン後に利用可能なメニューと、それをたどった際に操作できる機能を、1ページごとに詳細に洗い出す作業です。このクローリングを行った後に、診断が実施されます。

診断は検証環境での実施を強く推奨しています。その理由は、診断を行うとシステム内部に大量のゴミデータやアクセスログ、エラーログが残るためです。本番環境で診断することも可能ですが、状況や環境によっては診断時のシステム負荷を下げるために診断内容を減らす場合もあり、その結果、満足な診断に至らない場合があるからです。

松本氏は「診断は攻撃者の視点で行う」と言います。攻撃者は日々、世界中から脆弱性についての情報収集をしています。「このWebアプリケーションは、あるPHPのフレームワークを使っている。そういえばPHPは最近、新しい脆弱性が公開されていたな……ではその脆弱性を使って攻撃できるか試してみよう……というのが攻撃者の視点です」(松本氏)

GMO イエラエのエンジニアは、日々脆弱性情報に触れ、攻撃手法を研究しているため、攻撃者と同等の知見を有しています。松本氏は「弊社の診断が、他社の診断サービスよりも優れている点です」と語りました。

実際に、GMO イエラエのエンジニアはセキュリティ技術や知見を競うCTF(Capture The Flag)の世界的大会で、優秀な成績を収めています。CTFは、脆弱性を意図的に仕込んだシステムを用意しそれを探索する技能を競う大会です。GMO イエラエは、世界最大級のセキュリティカンファレンス 「DEFCON 31 Cloud Village CTF」で世界1位を獲得し、 「HTB Business CTF 2023」と「zer0pts CTF 2023」で日本チーム1位を獲得するなど、特筆すべき実績を有しています。

診断は自動と手動で行い、必要なら複数人で漏れなく実施

松本氏は、クローリング後の診断の流れについて説明しました。診断には、クローリングで判明したWebアプリケーションの入力部分に攻撃用の文字列であるペイロードを送信する手法が使われます。入力部分になんらかの制限を施しておかないと、ペイロードの大量投入でパスワードがわかってしまうこともあります。

データの大量投入といった作業は、自動診断ツールを使って効率的に行います。ただ自動診断ツールはペイロードを送信するだけですから、数字の5桁と6桁など、わずかな反応の違いまでは検知できません。そのため、エンジニアが手動で値を送信する手動診断も行います。松本氏は「弊社では、手動と自動の得意、不得意を考慮し、両方の手法で診断の確度を上げ、スピーディーに診断を進めています」と述べ、GMO イエラエの診断に穴がなく効率的であることを解説しました。

安里氏は、クラウド環境におけるよくある脆弱性の例をいくつか紹介しました。最初に挙げられるのがストレージの公開設定に関するミスです。「例えば、個人情報を含む画像データなどが入ったストレージで、本来は自分の情報だけが見えるべきなのに、他のユーザーにも見えてしまう設定になっている場合があります」(安里氏)

次に、クラウドサービスへのアクセスに使われる認証キーの問題です。これはアプリケーション内で使用されることがあり、認証キーの権限設定の問題により、他のユーザーのデータが取得できてしまうことがあります。クラウド側とアプリケーション設定で対応すべき認可が分かれていることがあり、そこを見落とされる場合があるようです。

認証・認可のサービスを提供するIDプロバイダー側の設定不備も問題として挙げられます。安里氏は「クラウドサービス内で使用されているコンポーネントやIDプロバイダーサービスの設定不備が原因で、外部の人間がアカウントを作成し、ログインできてしまうケースがあります。また、一般的なWebアプリケーションでは、IDプロバイダー内でユーザーに関するプロパティを管理していますが、これらの設定情報がユーザーによって自由に書き換えられてしまうことがあり、権限が変更されるなどの問題が発生することもあります」と指摘しました。

このように、診断は専門的であり、チェックすべき点も多く存在します。効率的かつ見過ごしのない診断を行うためには、特に重要なWebアプリケーションや規模が大きい場合、作業員2、3人で構成されたチームに経験豊富なベテランを配置し、複数人で診断を行います。新しい脅威に対しては、日々さまざまな情報をキャッチアップし、脆弱性診断の部署ごとに毎月数回の社内勉強会を開催し、新たな脅威への対応策を検討しています。

脆弱性をお客さまにしっかり情報公開、必要なら修正後の再診断も

診断の結果はレポートとして提示されます。松本氏は、「弊社の診断レポートには、診断対象の一覧や検出した脆弱性の一覧などを記載しており、リスクの高低に関わらず、全ての脆弱性の確認手順を記載しています。一般のエンジニアや事務職の方でも、ブラウザーとパソコンを使用すれば基本的に再現できるレベルまで、簡単な操作手順に落とし込んでレポートすることを心がけています」と述べ、診断を依頼されたお客さま自身が容易に脆弱性を確認できる点を強調しました。

また、診断のプランによっては、レポート以外に報告会を開催し、個々の脆弱性について詳しく説明したり、具体的な対策方法を協議したりするオプションもあります。

図2.診断レポートのスクリーンショット

図2.診断レポートの一部。リスクについて多様な視点で解説されている

図3.ウェブページのログインフォームにおいてSQL文の一部を入力値に含めて送信することで、正しくない入力情報を用いてログインできることを説明する診断レポートのスクリーンショット。ログインID入力フィールドには、「admin@example.com' OR '1'='1-」が書き込まれ、ログインボタンが赤枠で強調表示されている。

図3.診断レポートの例。脆弱性を確認する手順が記載されている

診断を実施して緊急に対応が必要な脆弱性が見つかった場合、専門的な知識が必要とされる修正については、CloudCREWのメンバーと連携して対応が進められます。GMO イエラエとCloudCREWは、定期的にセキュリティ情報を共有するなど、常に連携を心がけています。CloudCREWのマネージドクラウドを契約いただいているお客さまの場合、GMO イエラエからの診断情報がCloudCREWの担当者に伝達され、その修正の対応が始まります。

指摘された脆弱性が適切に修正されたかどうかは、GMO イエラエが攻撃者の視点からのチェックを行う再診断サービスで確認できます。診断サービスのプランによっては、最初から再診断サービスが含まれていることもあり、含まれていない場合でも必要に応じて後から依頼可能です。

診断で、サービスや会社の未来を盤石に

松本氏は、これまでの経験から、診断を行うと、知名度が高い企業であっても緊急度が高い脆弱性が見つかることがあるとし、「いつ攻撃されていてもおかしくない状況にあるWebアプリケーションは多いですが、診断によって多くの攻撃が未然に防がれていると考えます。ただし、攻撃手法は日々進化しており、脆弱性を完全にゼロにすることは難しいです」と述べました。

Webアプリケーション診断を実施するタイミングは、新たに機能を開発した時はもちろん、ライブラリなど新しい要素を追加したり削除したりした時も、公開前に実施するのがベストだといいます。最後に松本氏は「お客さまにとって、検証環境やデータの用意は手間暇がかかり、費用も発生します。しかし、この手間暇をかけることで、多くのエンドユーザーが安心してサービスを利用できるという現実もあります。サービスの未来や会社の発展のために、計画的な脆弱性診断に取り組んでいただければと思います」と語りました。

CloudCREWとGMO イエラエは、「Webアプリケーション診断」をご提供しています。 Webアプリケーション診断サービスに関して、詳しく確認したい方は 「専門家によって脆弱性を顕在化するWebアプリケーション診断」をご覧ください。 CloudCREWが窓口となり、診断前のコンサルティング、脆弱性診断の実施から診断結果のご報告、セキュリティの課題解消に向けた施策のご提案・実行に至るまで、包括的な支援を提供しております。Webアプリケーションのセキュリティに関する課題をお持ちのお客さまは、お気軽にご相談ください。

CloudCREW
当記事の監修

GMOグローバルサイン・ホールディングス株式会社が運営するCloudCREW byGMOでご紹介する記事は、AWSなど主要クラウドの認定資格を有するエンジニアによって監修されています。

おすすめのAWS活用支援サービス
Preferred service solution

  • クラウド診断

    クラウド診断

    AWS、Google Cloud を対象としたクラウド向けセキュリティ診断です。クラウドの設定不備や脆弱性の有無、また、Webアプリケーションに関するクラウド上の設定や脆弱性に関して評価します。診断ツールからセキュリティエンジニアによる手動診断まで選べます。

  • Webアプリケーション診断

    Webアプリケーション
    診断

    攻撃者目線での疑似攻撃を行い、AWS、Google Cloud 上のWebアプリケーションに内在する脆弱性を調査します。診断実績3,500件以上と、確かな実績と経験に基づく高い技術力で、システムの脆弱性を洗い出します。

  • スマートフォンアプリケーション診断

    スマートフォン
    アプリケーション診断

    AWS、Google Cloud 上で構築されたiOS/Android対応のスマートフォンアプリを対象にした脆弱性診断サービスです。診断実績1,300件以上と、経験豊富なセキュリティエンジニアが脆弱性診断を実施します。

2023年1月時点