ウェブサイトをどのようにセキュリティ対策し、保護するか?

RidgeBot®によるOWASP Top 10準拠

RidgeBot® の OWASP Top 10 テストレポートのサンプルをダウンロードする

OWASP Top 10とは何ですか?

セキュリティ侵害や攻撃は非常に一般的になり、現在では最も大規模なものだけがニュースの見出しになります。 しかし、あらゆる規模の組織に対する攻撃はかつてないほど頻繁かつ高度になっており、組織のデジタル資産を守るためにできる限りの対策を講じることがこれまで以上に重要です。

オープンウェブアプリケーションセキュリティプロジェクト(OWASP)は、ウェブアプリケーションのセキュリティリスクに対する意識を高め、改善し、管理することを目的とした非営利団体です。 今日のデジタル経済において、ほぼすべての企業や公的/私的組織は、顧客や会員に様々な方法で広告、購入、販売、情報提供、サービスを行うためにウェブアプリケーションやサーバーを維持しています。 定義上、ウェブアプリケーションは外部に公開されています。これにより、いつでもどこからでも悪用されやすくなります。 セキュリティ攻撃や情報漏洩から組織を保護するためには、Webアプリケーションソフトウェアの相互作用における脆弱性を綿密に管理することが不可欠です。

OWASPは、最も広範で重要なWebアプリケーションの脆弱性を評価し、3~4年ごとに更新されるトップ10リストを作成しています。 最新のレポートは2021年に公開されました。 OWASP Top 10プロジェクトは、広範な業界の合意を基に、最も重要なWebアプリケーションのセキュリティリスクカテゴリのトップ10を決定します。 よく知られた業界のCWE(共通脆弱性タイプ)は、トップ10のカテゴリにマッピングされています。 CWEは、米国国立標準技術研究所(NIST)のサイバーセキュリティフレームワークの指導の下、国家脆弱性データベース(NVD)で管理されているより大規模なCVE(共通脆弱性識別子)データベースに基づいています。

OWASPトップ10カテゴリの理解

2021年のOWASPトップ10の脆弱性は次のとおりです:

 

A01: 2021-アクセス制御の破損:認証されたユーザーに許可されている操作に対する制限の不適切な適用により、攻撃者が不正な機能やデータにアクセスすることを可能にします。

A02: 2021-暗号化の失敗 多くのウェブアプリケーションやAPIは、財務、医療、個人識別情報(PII)などの機密データを適切に保護しておらず、攻撃者がこれらのデータを盗んだり改ざんしたりして、不正行為やアイデンティティ盗難、その他の犯罪を実行することを可能にしています。

A03: 2021-インジェクション SQL、NoSQL、OS、LDAPインジェクションなどのインジェクションの欠陥は、信頼できないデータがコマンドやクエリの一部としてインタープリターに送信されるときに発生します。

A04: 2021-不十分な設計は2021年の新しいカテゴリであり、設計上の欠陥に関連するリスクに焦点を当てています。

A05: 2021-セキュリティ設定の不備 セキュリティ設定の不備は最も一般的に見られる問題であり、安全でないデフォルト設定、不完全またはアドホックな設定、オープンクラウドストレージ、誤ったHTTPヘッダー設定、機密情報を含む冗長なエラーメッセージなどが含まれます。 A4: 2017-XML外部エンティティ(XXE)は、現在このリスクカテゴリの一部です。

A06: 2021-脆弱で古いコンポーネント ライブラリ、フレームワーク、その他のソフトウェアモジュールなど、アプリケーションと同じ権限で実行される脆弱なコンポーネントを悪用すると、深刻なデータ損失やサーバーの乗っ取りにつながる可能性があります。

A07: 2021-識別および認証の失敗 認証およびセッション管理機能が不適切に実装されていると、攻撃者がパスワード、鍵、セッショントークンを侵害してユーザーの身元を悪用することができます。

A08: 2021-ソフトウェアおよびデータの完全性の失敗は新しいカテゴリであり、ソフトウェアの更新、重要なデータ、およびCI/CDパイプラインに関する前提を完全性を検証せずに行うことを指します。 A8: 2017-安全でないデシリアライズは、このより大きなカテゴリの一部になっています。

A09: 2021-セキュリティのロギングおよび監視の失敗 不十分なロギングや監視、さらにインシデント対応との統合が欠如または不十分であることで、攻撃者はシステムをさらに攻撃し、持続性を維持し、他のシステムに移行し、データの改ざん、抽出、または破壊を行うことが可能になります。

A10: 2021-サーバーサイドリクエストフォージェリ(SSRF)は、攻撃者がサーバーサイドのアプリケーションに任意のドメインへHTTPリクエストを送信させることを可能にします。

Ridge SecurityのCWEからOWASP Top 10へのマッピング

OWASP Top 10のカテゴリは、最も重要な10のウェブアプリケーションセキュリティリスクを簡単で明確に把握できる要約を提供します。 組織のウェブアプリケーションやサーバーを保護するには、OWASP Top 10の各カテゴリに含まれる具体的な脆弱性(CWE)を理解する必要があります。

CWEをOWASPのカテゴリにマッピングすることについては業界全体で幅広い合意がありますが、セキュリティ緩和ベンダーの製品による具体的な実装には違いがあります。 これらの詳細は、特定のベンダーの製品を使用してウェブアプリケーションのペンテストを行う際に得られるカバレッジの幅と保護に関わってきます。

RidgeBotは、各OWASP Top 10カテゴリにおいて包括的なCWEリストをカバーしており、RidgeBotのペンテストおよびエクスプロイト機能が、組織のウェブアプリケーションやサーバーを徹底的に保護するという最大の信頼を提供します。

 

A1: 2021-アクセス制御の破損

  • CWE-22—制限されたディレクトリへのパス名の不適切な制限(「パストラバーサル」)
  • CWE-23—相対パストラバーサル
  • CWE-35—パストラバーサル: ‘…/…//’
  • CWE-59—ファイルアクセス前のリンク解決の不備(「リンクフォロー」)
  • CWE-200—不正なアクターへの機密情報の露出
  • CWE-201—送信データを介した機密情報の露出
  • CWE-219—Webルート下に機密データを含むファイルの保存
  • CWE-264—権限、特権、およびアクセス制御(使用されるべきではありません)
  • CWE-275—権限の問題
  • CWE-276—不正なデフォルト権限
  • CWE-284—不適切なアクセス制御
  • CWE-285—不適切な認可
  • CWE-352—クロスサイトリクエストフォージェリ(CSRF)
  • CWE-359—不正なアクターへの個人情報の露出
  • CWE-377—安全でない一時ファイル
  • CWE-402—プライベートリソースの新しい領域への送信(「リソースリーク」)
  • CWE-425—直接リクエスト(「強制ブラウジング」)
  • CWE-441—意図しないプロキシまたは仲介者(「混乱した代理人」)
  • CWE-497—不正な制御範囲への機密システム情報の露出
  • CWE-538—外部からアクセス可能なファイルまたはディレクトリへの機密情報の挿入
  • CWE-540—ソースコードへの機密情報の含有
  • CWE-548—ディレクトリリストを介した情報の露出
  • CWE-552—外部の関係者にアクセス可能なファイルまたはディレクトリ
  • CWE-566—ユーザー制御のSQLプライマリキーを介した認可バイパス
  • CWE-601—信頼できないサイトへのURLリダイレクト(「オープンリダイレクト」)
  • CWE-639—ユーザー制御のキーを介した認可バイパス
  • CWE-651—機密情報を含むWSDLファイルの露出
  • CWE-668—リソースの誤った範囲への露出
  • CWE-706—不正に解決された名前または参照の使用
  • CWE-862—認可の欠如
  • CWE-863—不正確な認可
  • CWE-913—動的管理されたコードリソースの不適切な制御
  • CWE-922—機密情報の安全でない保存
  • CWE-1275—不適切なSameSite属性を持つ機密クッキー

A2: 2021-暗号化の失敗

  • CWE-261—パスワードの弱いエンコーディング
  • CWE-296—証明書の信頼の連鎖を不適切に追従
  • CWE-310—暗号化の問題
  • CWE-319—機密情報のクリアテキスト送信
  • CWE-321—ハードコードされた暗号鍵の使用
  • CWE-322—エンティティ認証なしの鍵交換
  • CWE-323—暗号化でノンスや鍵ペアを再利用
  • CWE-324—有効期限切れの鍵の使用
  • CWE-325—必要な暗号ステップの欠如
  • CWE-326—不十分な暗号化強度
  • CWE-327—壊れた、またはリスクのある暗号アルゴリズムの使用
  • CWE-328—可逆的な一方向ハッシュ
  • CWE-329—CBCモードでランダムIVを使用しない
  • CWE-330—不十分にランダムな値の使用
  • CWE-331—不十分なエントロピー
  • CWE-335—擬似乱数生成器(PRNG)におけるシードの不適切な使用
  • CWE-336—擬似乱数生成器(PRNG)での同一シードの使用
  • CWE-337—擬似乱数生成器(PRNG)における予測可能なシード
  • CWE-338—暗号的に弱い擬似乱数生成器(PRNG)の使用
  • CWE-340—予測可能な数値や識別子の生成
  • CWE-347—暗号署名の不適切な検証
  • CWE-523—資格情報の保護されていない輸送
  • CWE-720—OWASP Top Ten 2007 カテゴリA9 – 安全でない通信
  • CWE-757—交渉中に安全でないアルゴリズムを選択(「アルゴリズムダウングレード」)
  • CWE-759—ソルトなしの一方向ハッシュの使用
  • CWE-760—予測可能なソルトを使用した一方向ハッシュの使用
  • CWE-780—OAEPなしのRSAアルゴリズムの使用
  • CWE-818—不十分なトランスポート層の保護
  • CWE-916—不十分な計算努力によるパスワードハッシュの使用

A3: 2021-インジェクション

 

  • CWE-20—不適切な入力検証
  • CWE-74—下流コンポーネントで使用される出力内の特別な要素の不適切な中和(「インジェクション」)
  • CWE-75—異なるプレーンへの特別な要素のサニタイズ失敗(特別な要素のインジェクション)
  • CWE-77—コマンドで使用される特別な要素の不適切な中和(「コマンドインジェクション」)
  • CWE-78—OSコマンドで使用される特別な要素の不適切な中和(「OSコマンドインジェクション」)
  • CWE-79—ウェブページ生成時の入力の不適切な中和(「クロスサイトスクリプティング」)
  • CWE-80—ウェブページ内のスクリプト関連のHTMLタグの不適切な中和(基本的なXSS)
  • CWE-83—ウェブページ内の属性におけるスクリプトの不適切な中和
  • CWE-87—代替XSS構文の不適切な中和
  • CWE-88—コマンド内の引数区切り文字の不適切な中和(「引数インジェクション」)
  • CWE-89—SQLコマンドで使用される特別な要素の不適切な中和(「SQLインジェクション」)
  • CWE-90—LDAPクエリで使用される特別な要素の不適切な中和(「LDAPインジェクション」)
  • CWE-9—XMLインジェクション(別名ブラインドXPathインジェクション)
  • CWE-93—CRLFシーケンスの不適切な中和(「CRLFインジェクション」)
  • CWE-94—コード生成の不適切な制御(「コードインジェクション」)
  • CWE-95—動的に評価されたコード内のディレクティブの不適切な中和(「Evalインジェクション」)
  • CWE-96—静的に保存されたコード内のディレクティブの不適切な中和(「静的コードインジェクション」)
  • CWE-97—ウェブページ内のサーバーサイドインクルード(SSI)の不適切な中和
  • CWE-98—PHPプログラムのInclude/Requireステートメントにおけるファイル名の不適切な制御(「PHPリモートファイルインクルージョン」)
  • CWE-99—リソース識別子の不適切な制御(「リソースインジェクション」)
  • CWE-100—廃止済み:入力検証の問題に対するキャッチオール
  • CWE-113—HTTPヘッダー内のCRLFシーケンスの不適切な中和(「HTTPレスポンス分割」)
  • CWE-116—出力の不適切なエンコーディングやエスケープ処理
  • CWE-138—特別な要素の不適切な中和
  • CWE-184—不完全な不許可入力リスト
  • CWE-470—クラスやコードを選択するための外部制御入力の使用(「安全でないリフレクション」)
  • CWE-471—不変データの変更(MAID)
  • CWE-564—SQLインジェクション:Hibernate
  • CWE-610—他の領域内のリソースに対する外部制御参照
  • CWE-643—XPath式内のデータの不適切な中和(「XPathインジェクション」)
  • CWE-644—スクリプト構文のためのHTTPヘッダーの不適切な中和
  • CWE-652—XQuery式内のデータの不適切な中和(「XQueryインジェクション」)
  • CWE-917—式言語ステートメントで使用される特別な要素の不適切な中和(「式言語インジェクション」)

A4: 2021-不十分な設計

  • CWE-73—ファイル名またはパスの外部制御
  • CWE-183—許可された入力の寛容リスト
  • CWE-209—機密情報を含むエラーメッセージの生成
  • CWE-213—互換性のないポリシーによる機密情報の露出
  • CWE-235—余分なパラメーターの不適切な処理
  • CWE-256—資格情報の保護されていない保存
  • CWE-257—復元可能な形式でのパスワードの保存
  • CWE-266—不適切な特権の割り当て
  • CWE-269—不適切な特権管理
  • CWE-280—不十分な許可または特権の不適切な処理
  • CWE-31—機密データの暗号化の欠如
  • CWE-312—機密情報のクリアテキスト保存
  • CWE-313—ファイルまたはディスク上でのクリアテキスト保存
  • CWE-316—メモリ内での機密情報のクリアテキスト保存
  • CWE-419—保護されていないプライマリチャネル
  • CWE-430—間違ったハンドラーのデプロイ
  • CWE-434—危険なタイプのファイルの無制限アップロード
  • CWE-444—HTTPリクエストの一貫性のない解釈(「HTTPリクエストスムッグリング」)
  • CWE-451—重要な情報のユーザーインターフェース(UI)の誤表示
  • CWE-472—仮定された不変のWebパラメータの外部制御
  • CWE-501—信頼境界の違反
  • CWE-522—不十分に保護された資格情報
  • CWE-525—機密情報を含むウェブブラウザキャッシュの使用
  • CWE-539—機密情報を含む永続的なクッキーの使用
  • CWE-579—J2EEの悪い実践: セッションに非シリアライズ可能なオブジェクトを保存
  • CWE-598—機密クエリ文字列でのGETリクエストメソッドの使用
  • CWE-602—クライアント側でのサーバー側セキュリティの強制
  • CWE-642—重要な状態データの外部制御
  • CWE-646—外部提供ファイルのファイル名または拡張子への依存
  • CWE-650—サーバー側でのHTTP許可メソッドへの信頼
  • CWE-653—不十分な区分化
  • CWE-656—セキュリティを隠蔽に依存
  • CWE-657—安全な設計原則の違反
  • CWE-799—対話頻度の不適切な制御
  • CWE-807—セキュリティ決定における信頼できない入力への依存
  • CWE-840—ビジネスロジックエラー
  • CWE-841—行動ワークフローの不適切な強制
  • CWE-927—機密通信に対する暗黙のインテントの使用
  • CWE-1021—レンダリングされたUIレイヤーまたはフレームの不適切な制限
  • CWE-1173—検証フレームワークの不適切な使用

A5: 2021-セキュリティ設定の不備

  • CWE-2—設定
  • CWE-11—ASP.NETの設定不備: デバッグバイナリの作成
  • CWE-13—ASP.NETの設定不備: 設定ファイル内のパスワード
  • CWE-15—システムまたは設定の外部制御
  • CWE-16—設定
  • CWE-260—設定ファイル内のパスワード
  • CWE-315—クッキー内の機密情報のクリアテキスト保存
  • CWE-520—NETの設定不備: なりすましの使用
  • CWE-526—環境変数を通じた機密情報の露出
  • CWE-537—機密情報を含むJavaランタイムエラーメッセージ
  • CWE-541—インクルードファイルに機密情報を含める
  • CWE-547—ハードコードされたセキュリティ関連の定数の使用
  • CWE-611—XML外部エンティティ参照の不適切な制限
  • CWE-614—‘セキュア’属性なしのHTTPSセッションでの機密クッキー
  • CWE-756—カスタムエラーページの欠如
  • CWE-776—DTD内の再帰エンティティ参照の不適切な制限(「XMLエンティティ拡張」)
  • CWE-942—許可が多すぎるクロスドメインホワイトリスト
  • CWE-1004—‘HttpOnly’フラグなしの機密クッキー
  • CWE-1032—OWASPトップテン2017カテゴリA6 – セキュリティ設定の不備
  • CWE-1174—ASP.NET設定不備:不適切なモデル検証

A6: 2021-脆弱で古いコンポーネント

  • CWE-937—OWASP Top 10 2013: 既知の脆弱性を持つコンポーネントの使用
  • CWE-1035—2017 Top 10 A9: 既知の脆弱性を持つコンポーネントの使用
  • CWE-1104—メンテナンスされていないサードパーティコンポーネントの使用

A7: 2021-識別および認証の失敗

 

  • CWE-255—資格情報管理のエラー
  • CWE-259—ハードコードされたパスワードの使用
  • CWE-287—不適切な認証
  • CWE-288—代替パスまたはチャネルを使用した認証バイパス
  • CWE-290—なりすましによる認証バイパス
  • CWE-294—キャプチャリプレイによる認証バイパス
  • CWE-295—証明書の不適切な検証
  • CWE-297—ホスト不一致の証明書の不適切な検証
  • CWE-300—非エンドポイントによってアクセス可能なチャネル
  • CWE-302—仮定された不変データによる認証バイパス
  • CWE-304—認証における重要なステップの欠如
  • CWE-306—重要な機能に対する認証の欠如
  • CWE-307—過度な認証試行の不適切な制限
  • CWE-346—オリジン検証エラー
  • CWE-384—セッションフィクセーション
  • CWE-521—弱いパスワード要件
  • CWE-613—不十分なセッション有効期限
  • CWE-620—未確認のパスワード変更
  • CWE-640—忘れたパスワードのための弱いパスワード復旧メカニズム
  • CWE-798—ハードコードされた資格情報の使用
  • CWE-940—通信チャネルのソースの不適切な検証
  • CWE-1216—ロックアウトメカニズムのエラー

A8: 2021-ソフトウェアおよびデータの完全性の失敗

  • CWE-345—データの真正性の不十分な検証
  • CWE-353—完全性チェックのサポートの欠如
  • CWE-426—信頼されていない検索パス
  • CWE-494—完全性チェックなしのコードのダウンロード
  • CWE-502—信頼できないデータのデシリアライズ
  • CWE-565—検証および完全性チェックなしのクッキーへの依存
  • CWE-784—セキュリティ判断において検証および完全性チェックなしのクッキーへの依存
  • CWE-829—信頼されていない制御領域からの機能の組み込み
  • CWE-830—信頼されていないソースからのウェブ機能の組み込み
  • CWE-915—動的に決定されたオブジェクト属性の不適切に制御された変更

A9: 2021-セキュリティロギングおよび監視の失敗

  • CWE-117—ログに対する出力の不適切な中和
  • CWE-223—セキュリティ関連情報の省略
  • CWE-532—ログファイルへの機密情報の挿入
  • CWE-778—不十分なロギング

A10: 2021-サーバーサイドリクエストフォージェリ(SSRF)

  • CWE-918—サーバーサイドリクエストフォージェリ(SSRF)

RidgeBot OWASP Top 10レポートがセキュリティ監査にどのように役立つか

CWEからOWASP Top 10へのマッピングはベンダーの実装によって異なるため、組織が「OWASP Top 10に準拠している」という主張は曖昧なままです。 監査中に、あなたや監査人がOWASP準拠とみなす特定のCWEごとに、保護の詳細な証拠を提供する必要があるかもしれません。

RidgeBotの包括的な組み込みOWASPレポートは、すべてのウェブアプリケーションがOWASP Top 10に準拠していることを、経営陣や監査人に証拠として提示するプロセスを効率化します。

RidgeBot OWASP Top 10レポートのヘッダーには、発見されたすべての脆弱性のエグゼクティブサマリーが記載されており、それらは適切な深刻度レベルに分類され、さらに成功したエクスプロイト(赤い矢印)も含まれています。 さらに下の(緑の矢印)部分には、レポートが各OWASP Top 10カテゴリおよび各カテゴリでテストされた正確なCWEに関する詳細なコンプライアンス情報を提供しています。

RidgeBotによるウェブペネトレーションテストおよびエクスプロイトを実施した各サーバーについて、レポート本文には各OWASP Top 10カテゴリの準拠状況が示されています。 この情報は、アプリケーションを修正、アップグレード、または置き換えて準拠させるための即時のロードマップを提供します。 また、アプリケーションやサーバーがコンプライアンスに準拠していることを監査人に提示できる証拠を即座に提供します。

RidgeBotを使用してOWASP Top 10に対する保護を維持する利点

OWASPコミュニティは、ウェブアプリケーションのセキュリティリスクに対処するための有用な情報やツールを提供しています。 Top 10リストは非常に有用で広範な業界のベンチマークですが、ウェブアプリケーションがどのように評価されているか、または残存する脆弱性をどのように修正するかを把握するための戦略を実施する負担を軽減するものではありません。 Top 10リストには、アプリケーションがどのCWEに対して具体的に保護されているかの詳細は記載されていません。

RidgeBotのペンテストおよびエクスプロイト実行は、各Top 10カテゴリにおける包括的で業界トップクラスのCWE脆弱性セットを対象としています。 組み込みのレポートには、テストおよび/またはエクスプロイトされたすべてのTop 10カテゴリおよびCWEの詳細が正確に記載されています。 定期的に(頻度は選択可能)、RidgeBotによるウェブサーバーやアプリケーションへのテスト攻撃を行うことで、組織のデジタル資産が最新のウェブベースの攻撃から可能な限り安全であることを常に安心して確認できます。 組織のウェブベースの活動に関するコンプライアンスの状態について、経営陣や監査人にオンデマンドで情報や証拠を提供することができます。 レポートには、発見された脆弱性の解決手順とそれぞれの相対的な優先順位が詳細に記載されており、スタッフが100%準拠するため、または維持するために取るべき具体的な行動の指針となります。