「OWASP」という組織をご存じでしょうか?「The Open Web Application Security Project」の略であり、Webアプリケーションセキュリティを取り巻く脅威、課題の解決を目的とした国際的なコミュニティです。経験豊富なスペシャリスト、エンジニア、ユーザーのコラボレーションから成り立っており、様々な情報提供や活発なディスカッションが展開されています。OWASPは数年に1度、Webアプリケーションのセキュリティリスクに関する最も重要な10件のレポートを発表しています。それが、『OWASP Top 10』です。最新版は2017年11月に発表されています。
『OWASP Top 10 2017』で取り上げられた問題点の多くは、2004年に最初に取り上げられた問題点と同じか酷似しています。Webサイトを取り巻く環境は刻一刻と変化しており、ビジネスにおける役割も変わっています。今ではマーケティング活動の中心にWebサイトを据える企業も多く、戦略的に運営することの重要性が叫ばれていますが、Webサイトの役割や在り方が変化しても、Webアプリケーションのセキュリティリスクや対策の基本は変わらないのです。
そこで本稿では、『OWASP Top 10 2017』で紹介されている危険な脆弱性について1つ1つ解説していきます。
A1. インジェクション
Webサイトの入力フォーム等を通じて、アプリケーションに不正なコードを注入して想定外の動作をさせるサイバー攻撃をインジェクションと呼びます。代表的なインジェクション攻撃にデータベースを不正に操作するSQLインジェクション攻撃があり、OSコマンドを不正に実行するOSコマンドインジェクション、ディレクトリシステムを攻撃するLDAPインジェクションなどがあります。入力バリデーションでデータの安全性を検証することが必要です。
A2. 認証の不備
システムにアクセスしているユーザーは誰か?を判別できても、実際にキーボードを入力している人が誰なのかまでは把握できません。データに不正アクセスするために、攻撃者がアカウントをハイジャックして本物のユーザーになりすましているかもしれません。多要素認証やパスワードロック、セッション管理などを実装することで、ユーザー認証の強度を高めることができます。
A3. 機密データの露出
意図せず重要なデータが第三者に見られてしまう事象を指します。管理者が気づかないうちに誰もが顧客情報を閲覧できるような状態は避けなければなりません。データの分類、アクセス制御、暗号、ライフサイクルの管理などを徹底する必要があります。
A4. XML外部エンティティ参照(XXE)
Webアプリケーションなどで多用されているXMLファイルの特徴を悪用した攻撃です。XMLプロセッサにローカルファイルコンテンツを返信させたり、攻撃されたシステムを信頼された他のシステムのファイルにアクセスさせたりします。XML外部エンティティとDTD(文書型定義)処理を無効にすることが推奨されています。
A5. アクセス制御の不備
2013年に発表されたOWASP Top 10にある「機能レベルのアクセス制御と欠落」「安全でないオブジェクトの直接参照」がマージされたものです。アクセス制御の不備は、ユーザーが与えられた権限以上の権限を持ってしまっている状態を指します。公開情報へのアクセスを除き、原則としてアクセスを禁止し、ユーザーがアクセス可能なファイルのアクセス制御を適切に実装する必要があります。
A6. 不適切なセキュリティ設定
知識不足や管理の不十分な状態で運用されているWebサイトではセキュリティ設定のミスが多く、脆弱なWebサイトとして検出され、サイバー攻撃の標的になる危険性が高くなります。セキュリティ設定を適切に施すだけでなく、使用しない機能やフレームワークをインストールしない、ドキュメント類やサンプルファイルなどを削除するといった対応も重要です。
A7. クロスサイトスクリプティング(XSS)
数あるWebアプリケーションの脆弱性の中でもよく知られ、発見されることが多いのがクロスサイトスクリプティングです。わなを仕掛けて脆弱な標的サイトにアクセスするように仕向けることで、Webサイトが本来想定していない機能(スクリプト実行など)をブラウザ側で実行し、Cookieのセッション情報が盗まれるなどの恐れがあります。A1.インジェクション同様、入力バリデーションの実施が重要です。
A8. 安全でないデシリアライゼーション
デシリアライゼーションとは、データ変換のことです。オブジェクトを送信/保存するために変換されていたデータを元の形式に変換しなおします。このシリアライズ、デシリアライズが安全に行われない場合、デシリアライゼーションされた時点で、攻撃者にアクセス権限を与えてしまったり、攻撃者による悪意のあるコード実行を許してしまう可能性があります。安全でない情報源からのシリアライズされたオブジェクトを受け入れないようにする必要があります。
A9. 既知の脆弱性のあるコンポーネントの使用
オープンソースの開発活動は、イノベーション促進と開発コスト削減をもたらします。フレームワークやCMSを有効活用することで、効率よくWebサイトを構築することができる一方で、2018年のオープンソースセキュリティ及びリスク評価において重大な問題点が指摘されているのも事実です。
Apache Struts2の脆弱性は大きく取り上げられたコンポーネントの脆弱性のひとつです。詳しくはこちらの記事をご参照ください。
関連記事:Apache Strutsの脆弱性とWAFによる対策
A10. 不十分なロギングとモニタリング
ロギングとモニタリングを実施するだけでは、悪意のある攻撃者を止めることはできません。しかし、モニタリングによる早期発見で被害を最小限に抑えたり、ロギングによる証拠保全が可能となります。適切なロギングとモニタリングは、不正や問題が発覚した際の初動(初期分析)や監査証跡として重要な役割を担います。
OWASP Top 10 対象外の脆弱性について
OWASP Top 10は定期的にWebサイトセキュリティに関する重大な脆弱性について報告しています。ここで注意していただきたいのは、前回発表されたOWASP Top 10から重大な脆弱性が変更されることがありますが、Top 10から外れたからといって、その脆弱性のリスクがなくなったわけではありません。あくまで「他の脆弱性の重要度が高まった」ということであり、リスト外の脆弱性への対策も必要であることに変わりはありません。
OWASP Top 10を参照する場合は、この点に留意しながらどのような脆弱性に注意が必要であるか、その対策をチェックしましょう。
Webサイトセキュリティを強化するWAF
WAFは「Web Application Firewall」といって、Webサイトセキュリティを強化するためのセキュリティ製品です。クライアントとWebアプリケーションの間に介在し、各通信内容を検査することでWebアプリケーションの脆弱性を悪用する攻撃からWebサイトを保護します。
Webサイトセキュリティに自信がない、特別なセキュリティ対策を実施していないという場合は、WAFをご検討ください。柔軟性の高いWAFを導入することでWebサイトごとに最適なセキュリティを実施し、サイバー攻撃を効果的にブロックできます。
当社は国内利用サイト数No.1のWebアプリケーションファイアウォール「SiteGuardシリーズ」の開発・販売を行っています。OWASP Top 10についても「SiteGuard シリーズ」としてリスクを低減する機能を一通り有していますので、Webサイトの脆弱性がご心配な方は是非お気軽にご相談ください。
また、一般社団法人 JPCERT コーディネーションセンターが発表する国内外で発生するコンピュータセキュリティインシデントについてレポートをまとめています。是非こちらも合わせてご確認ください。
参考資料
『JPCERT/CC インシデント報告対応レポート [2018 年 10 月 1 日 ~ 2018 年 12 月 31 日]』
『JPCERT/CC インシデント報告対応レポート[2017 年 10 月 1 日 ~ 2017 年 12 月 31 日]』
- カテゴリ:
- WAF
- キーワード:
- WAF
この記事に関する製品のご紹介
ホスト型WAF「SiteGuard Server Edition」
SiteGuard Server Editionは、ウェブサーバーのモジュールとして動作するホスト型WAF製品です。Webサーバー自体にインストールするため、専用ハードウェアが必要ありません。ネットワーク構成を変更せず、できるだけシンプルに導入したいお客様に最適な製品です。
詳細はこちら