2018年03月12日10時00分

Webアプリの衛り方を学び、精神と時の部屋で血肉に変える

  • この記事をはてなブックマークに追加
  • Pocket

 AWSでWebアプリケーションを衛るポイントを学んだら、仕上げは死なない程度の“マイルドな修羅場”で知見を自分の血肉とする――。

 2018年3月10日、TOC五反田メッセで開催された「JAWS DAYS 2018」のセッション「AWSクラスタに捧ぐウェブを衛っていく方法論と死なない程度の修羅場の価値~OWASPとTop 10とMINI Hardening~」で、そんな“OWASP Japan流”のWebセキュリティ強化のポイントが紹介された。

SD
基調講演に続く午前中のセッションだが、多くの聴講者が詰めかけた

何はともあれ“OWASP Top 10”

 OWASP(Open Web Application Security Project)は、Webアプリケーションセキュリティに関する情報や技術の啓蒙、ガイドラインやツールの共有を推進するオープンなコミュニティだ。2001年に運営母体のThe OWASP Foundationがアメリカで設立されて以来、その取り組みは世界中に広がり、現在は200以上の支部(チャプター)が各国で発足。特に日本支部の活動はグローバルで見ても活発で、OWASP Japanのほか、OWASP Kansai、OWASP Okinawa、OWASP Sendaiなど8つのチャプターが勉強会やイベントを開催。コミュニティは拡大を続けている。

 そんなOWASPで最大の成果物と賞されるのが、「OWASP Top 10」だ。もっとも影響の大きいWebアプリケーションリスクをトップ10形式でまとめたドキュメントで、AWSのホワイトペーパーでもOWASP Top 10に挙がった脆弱性を防ぐための「AWS WAF」の設定について触れられている(ただし、参照先のバージョンが2017年4月版で、最新の2017年11月版ではないので注意したい)。セキュリティベンダーの脆弱性診断の多くは、OWASP Top 10に掲載されるリスクを診断基準に取り入れるなど、評価は高い。

「システムやサービスを構築するとき、優先されるのはビジネスロジックや外部インターフェイスといった必須機能。非機能要件のセキュリティは後回しにされがちだ。じゃあ対策しようと乗り出しても、企画や要件定義、設計・開発、テスト、運用・保守とあらゆるフェーズで考慮すべき事項が発生する。しかも、蔑ろにすれば情報漏えいによる損害賠償請求、システムダウンによる事業停止など、被る被害は大きい。難儀な存在というイメージは仕方ないかもしれない」。OWASP Japan PRチームリーダーの仲田翔一氏はこう述べる。

SD
OWASP Japan PRチームリーダーの仲田翔一氏

 そんな残念なイメージを払拭し、いま一番影響があると思われるリスクを分かりやすく示し、グローバル基準の対策のヒントをまとめたものが、OWASP Top 10だ。

 特に2017年版からは、ソフトウェア開発ライフサイクルの前工程でセキュリティ対策を実践するための、セキュリティテスト担当者向けの手順が追加された。バグは設計・開発工程で一番発生するので、そこで潰しておくのが効率およびコスト面で効果的。費用対効果の高い対策手法の選定し、開発チームの効率性を削がないフィードバックを行なうなど、“シフトレフト”実現に向けた手順が書かれている。

AWSクラスターに捧げるWebアプリセキュリティ対策のポイント

 でも、AWSにシステムを乗せていれば、アプリケーションセキュリティなんて気にしなくてもいいんじゃないのか。

 答えは、NOだ。AWSの責任共有モデルでは、クラウド自体のセキュリティはAWSが担保するが、クラウドに載せるプラットフォームやアプリケーション、顧客データなどはユーザー側が衛らなければならない。

 けっこう忘れがちなポイントと述べるOWASP Japanの洲崎俊氏は、昨年AWSが一部ユーザー宛てに、Amazon S3バケットのポリシーやALC設定の不備で重要データが漏えいするリスクについて注意喚起した例を取り上げ、ユーザー側の対策の重要性を強調した。

SD
OWASP Japanの洲崎俊氏

 では、AWSでWebアプリケーションのセキュリティを衛るにはどうすればよいのか。

 1つは、セキュアコーディングや脆弱性診断、セキュリティ要件の策定など、オンプレミス環境での対策を実施すること。セキュリティ要件については、OWASPが出している「Webシステム/Webアプリケーションセキュリティ要件書 2.0」が要求書のひな形として優秀だ。また、簡易的な脆弱性診断であれば、「OWASP Zed Attack Proxy(ZAP)」が便利だ。これはAWSマーケットプレイスにもあり、「あからさまな脆弱性は開発しながら自分たちで潰せて、DevOps的にも有用」(洲崎氏)。

 もう1つは、AWSのマネージドサービスを活用することだ。たとえば、「AWS WAF」はCloudfrontやELB、ALBに追加する形で導入できる、従量課金制のWAF(Webアプリケーションファイアウォール)で、SQLインジェクションやXSS(クロスサイトスクリプティング)対策に有効だ。サードパーティのマネージドルールも導入でき、より柔軟な対策ができる。

 設定不備による情報漏えいが不安であれば、「AWS Trusted Advisor」が使える。セキュリティ、コスト最適化、パフォーマンス、フォルトトレランスの4つの観点からユーザーのAWS環境を自動で精査、推奨設定を教えてくれる。「2018年2月からS3バケットのアクセス権限が無料でチェックできるようになったのも注目だ」(洲崎氏)

 このほか、AWSサービスで使用するSSL/TLSサーバー証明書を管理する「AWS Certificate Manager」(ELB、CloudFrontに対応)、認証・認可基盤サービス「AWS Cognito」、マネージド型ディレクトリサービス「AWS Directory Service」、AWSアカウントのアクティビティ記録サービス「AWS Cloud Trail」、複数のデータソースからAWS内での予期せぬ活動や悪意ある行為を検出する「Amazon GuardDuty」など、多数ある。

 「ぜひAWSならではの選択肢を有効活用し、セキュリティ向上を図ってほしい」(洲崎氏)

仕上げはリアル過ぎる競技環境で圧倒的成長を遂げる

 理論は承知した。でも、サイバー攻撃を受けるってどんな感じだろう…。

 「であれば、マイルドな修羅場を経験できるMINI Hardeningがおすすめ」と断言するのは、MINI Hardeningファシリテーション担当の田端政弘氏だ。

SD
OWASP Japan PRチームでMINI Hardening運営に携わる田端政弘氏

 MINI Hardeningは、Web Application Security Forum(WAS Forum)の「Hardening Project」から派生したプロジェクトの名称だ。Hardening Projectは、衛る技術や知見を競う競技大会。参加者は6名前後のチームに分かれ、担当するECサイトを安全かつ安定運用し、SLAや商品の売上アップで腕を競う。OWASP Japanが啓蒙活動をし、実践力を養う仕掛けを提供するのがWAS Forumといった位置付けだろう。

 ただし、簡単に運用させてくれるわけではなく、Hardening Project最凶のハッカー集団「kuromame6」による無慈悲なまでのサイバー攻撃、社長からの無茶ぶり、Webサーバーの脆弱性対応など、これでもかと課題が降ってくる。競技時間は8時間ほどだが、攻撃対策から売上アップの戦略、運用報告書の作成まで、あまりの濃さに気付いたら終わっていたと言う参加者が続出。いつしか「精神と時の部屋」と呼ばれるようになったと田端氏は笑う(TECH.ASCII.jpでも初期の頃だが何度か取材させていただいたことがある:インシデントが次々に襲う悪夢の日、ECサイトを守り切れるか?

 それよりも、もっとカジュアルでライトにインシデント体験できるのが、MINI Hardeningだ。想定参加者は新人CSIRT担当者、インフラ運用担当者、アプリ開発者など。競技時間は3時間、競技後に参加者による振り返りと、運営チームからのフィードバックがある。Hardening Projectが精神と時の部屋だったら、MINI Hardeningはカリン塔での修行だそうだ。そんな“マイルドな修羅場”でも、Hardening Project同様、圧倒的成長が期待できる。

 実はこのMINI Hardeningだが、AWS上に構築している。参加者が運営するECサーバーを置く競技環境と、攻撃やECサイトの購入用クローラーなどを配置した運営者環境を置き、踏み台サーバ経由でアクセスする。

SD
MINI Hardeningの競技環境の構成図

 開催コストは、環境イメージのEBS料金がやや負担ながらも、インスタンス20台前後で8000円前後/月(イベントあり)、インスタンス2~3台で4000円前後/月(イベントなし)。AWSでは「セキュリティシミュレーションまたはセキュリティゲームデー」として申請。

 「VPC内でインスタンス30台くらい使ってCTFみたいなゲームをやりたい。DoS攻撃もやる。でも、IPやEC2のInstance IDはまだ分からない」と素直に伝えたところ、AWSから「いいよー。良いイベントになるといいねー」との返事。「意外と軽く申請が通った」(田端氏)。

 今年のHardening Projectは、7月6、7日に開催予定だ。また、MINI Hardeningよりさらに敷居を下げた「Micro Hardening」も全国各地で開催予定。OWASP関連では、OWASP NagoyaがWordPressのセキュア構築ハンズオン、OWASP Sendaiではセキュリティ国際会議「CODE BLUE」主宰の篠田佳奈氏のトークイベントなどを予定。「奮って参加してもらいたい」と、OWASP Japan PRチームの吉江瞬氏がまとめた。

■関連サイト

関連記事

あわせて読みたい

最新のニュース

アスキーストア人気ランキング

特集

Comic

アクセスランキング

Like Ranking