OWASPによるWebアプリケーションのセキュリティリスクTOP10(2021年版)

Sreake編集部

2022.3.18

近年、サイバーセキュリティの分野は、想像を絶するスピードで驚くべき進化を続けています。15年前に流行していた従来の攻撃が徐々に消滅していく一方で、新しい攻撃方法が日々レポートされています。

バグバウンティハンターは、「OWASP トップ 10」 を、最も重大なウェブアプリケーションセキュリティリスクのトップ 10 を定義する公式ランキングとみなしています。

OWASP TOP10とは…まず、OWASP(オワスプ)とは、「Open Web Application Security Project(国際ウェブセキュリティ標準機構」の略で、ソフトウェアのセキュリティ向上を目的とする非営利財団です。

OWASP Top 10とは、OWASPがWebアプリケーションに関する脆弱性やリスク、攻撃手法などの動向を研究し、Webセキュリティにおいて頻発する脅威の中で、その危険性が最も高いと判断された項目をまとめ、定期的に発行しているセキュリティレポートです。

サイバー攻撃の4年間での進化

2017年から2021年の4年間でどのような進化がサイバー攻撃で起きたのか?何が変わったのかについて見ていきましょう。

ここでは、いくつかの注目すべき変更点を紹介します。

2017年と比較したOWASPトップ10(2021)
  • クロスサイト・スクリプティング(XSS)がインジェクションに追加

8年前までトップ3に入っていたクロスサイトスクリプティング(XSS)は、本質的にコンテンツインジェクションであることから、インジェクションに統合されました。

  • サーバーサイドリクエストフォージェリ(SSRF) は発生率は低いが、高危険度

発生率はかなり低くほとんど発生しませんが、エクスプロイトや影響の可能性が平均以上である興味深い脆弱性です。このカテゴリーは、データ上の発生率ではなく、業界の専門家が重要性が高いと投票したため、リストに掲載されることになりました。

  • 認証の不具合はランクダウン

2010年以降、ランキング2位を維持していましたが、現在では徐々にその勢いを失っています。これは、標準化されたフレームワークの台頭が原因であると考えられます。一般的に、企業はもう認証ロジックをゼロから書くことはなくなりました。

2021年のOWASPトップ10

ここから2021年に公開されているOWASP Top 10について解説していきます。

1. アクセスコントロールの破綻

こちらは新しく1位にランクインしたものになります。5位からランクアップしたアクセスコントロールですが、どのようなもので、なぜ最近になって重要視されるようになったのでしょうか。

アクセスコントロールとは、その名の通り、ユーザーによるアクセスを制御することです。ユーザーは自分の意図する権限の範囲内でしか行動できないはずで、そうでない場合はアクセスコントロールが破綻していることになります。

これには、以下のようなものがあります。

  • 設定ミスによるAPIへの不正アクセス(CORS、POST、PUTのアクセス制御の欠落など)
  • 特権の拡大
  • JWTなどのトークンの改ざん
  • 他のユーザーの記録を閲覧できること

このカテゴリーにマッピングされる人気のCWEは以下の通りです。

  • CWE-35:パストラバーサル
  • CWE-352:クロスサイトリクエストフォージェリ(CSRF)
  • CWE-601:オープンリダイレクト
  • その他多数

実際にIntigritiでこれらの脆弱性はどれくらいレポートされているでしょうか?

このカテゴリのレポート数は非常に多いと予想されます。

  • オープンリダイレクト:全レポートの5%に相当
  • 不適切なアクセス制御:全レポートの4%に相当
  • 不適切な認証:全レポートの4%に相当
  • パストラバーサル:全レポートの2%に相当
  • CSRF:全レポートの1.7%に相当

合計すると16.7%に当たります。OWASP自体が実際に発見数が多い・影響度の高い脆弱性をピックアップしています。これらの脆弱性がIntigritiの数字から見ても多くレポートされたことが分かります。

2. 暗号の不具合

以前、OWASP Top 10 で Sensitive Data Exposure として知られていた Cryptographic Failures は、ランキングで 1 つ順位を上げています。この名称変更は、症状から根本的な原因へと焦点が移ったために行われました。

暗号技術に関連する障害は、しばしばデータの漏洩につながります。

このカテゴリーは、転送中、保存中、使用中のデータの保護に関連するものです。データは、多くの規制によって扱いにくいようなテーマになっていますが、それでも日々、データの漏洩が発生しています。

これには以下が含まれます。

  • 脆弱な暗号アルゴリズムが使用されている
  • 不適切な鍵管理により鍵が弱く、鍵が再利用されるなどしている。
  • 外部トラフィックだけでなく、内部トラフィックにおいても、データが平文で送信されている。

このカテゴリーにマッピングされる人気のCWEは以下の通りです。

  • CWE-319::機密情報の暗号化送信
  • CWE-321:ハードコードされた暗号鍵の使用
  • CWE-327::破損または危険な暗号アルゴリズムの使用

ですが、Intigritiのデータではこのような問題はあまり見られません。これは、ブラックボックステストでは見つけにくいということもありますが、実際の影響を証明するのが難しいことが多いためです。

これらの問題は、理論的なものであったり、他のカテゴリの脆弱性の結果であったりすることが多いということが影響しています。

  • 機密情報のクリアテキストストレージ:全レポートの0.8%
  • パスワードの原文保管:全レポートの0.5%
  • 機密情報の安全でない保存:全レポートの0.4%
  • 機密情報の原文送信:全レポートの0.4%

3. インジェクション

このカテゴリは、SQLインジェクション、コマンドインジェクション、LDAPインジェクション、そして今回の新機能であるXSSを含む、おそらく最もよく知られているであろうカテゴリです。

このカテゴリにおいて、ほとんどすべての問題の原因は、ユーザーが提供するデータの検証の欠如にあります。

このカテゴリにマッピングされる一般的なCWEは以下の通りです。

  • CWE-80:Webページ内のスクリプト関連HTMLタグの不適切なエスケープ処理(Basic XSS
  • CWE-77:コマンドで使用される特殊な要素の不適切なエスケープ処理(「コマンドインジェクション」)。
  • CWE-89:SQLコマンドで使用される特殊な要素の不適切なエスケープ処理(「SQLインジェクション」)。

Intigritiでは、このカテゴリーが圧倒的に人気があります。これは多くの国において見られることです。ほとんどのコースがインジェクションを主に扱っており、多くのバグハンターがインジェクションに注目しています。実際にどの程度であるのか見てみましょう。

XSS:全レポートの15%以上

SQLインジェクション:全レポートの2%

コマンドインジェクション:全レポートの0.4%

4. インセキュアデザイン

これはOWASP Top 10の中で全く新しいカテゴリーです。

業界を前進するためには、すべてのプロセスにセキュリティを統合する必要があるという背景があります。セキュリティは、アプリケーションを構築した後に考えるものではなく、あらゆる側面、主に設計に組み込まれるべきものなのです。

このカテゴリーは非常に幅広く、定義するのが難しいものです。

他のカテゴリーにあるものも、しばしば安全でない設計に起因していることがあります。

5. セキュリティの設定ミス

先に説明したように、業界ではフレームワークやサードパーティ製ソフトウェアにどんどんシフトしています。このような場合、非常に重要になるのがセキュリティの設定です。それゆえ、このカテゴリが増加しているのです。設定する項目が多ければ多いほど、起こりうるミスも多くなります。

これには、次のようなものがあります。

  • 不要な機能が有効になっている
  • パスワードの初期設定
  • 古いソフトウェア

私たちのプラットフォームでは、設定ミスの指摘が全レポートの5%以上を占めています。

6. 脆弱なコンポーネント

これは、OWASP Top 10の5位と重なる部分があります。ここでも、サードパーティのソフトウェアやフレームワークの利用が増えることで、まったく新しい攻撃対象が発生します。脆弱性は、たとえ無関係のソフトウェアで発見されたとしても、重大な影響を及ぼす可能性があります。

この種の脆弱性は、すべてのコンポーネントとそのバージョンの適切なリストを維持すれば、自動的に発見しやすくなります。すべてのコンポーネントを最新の状態に保ち、自分自身もセキュリティに関する最新の情報を得るようにしましょう。

7. 本人確認と認証の失敗

セッションを管理し、IDを確認してユーザーを適切に認証することは、データや資産を保護するために非常に重要です。

これには、以下のようなものがあります。

  • セッションの固定化
  • 弱いパスワードの使用許可
  • ブルートフォースアタックの可能性
  • MFAの未使用

Intigritiでは、認証に失敗したことによるレポートが大量に送られてくるのをしばしば目の当たりにします。

  • 不適切な認証:全レポートの5%
  • セッションの固定化:全レポートの 0.8%

8. ソフトウェアとデータの整合性の障害

この新しいカテゴリーは、重要なデータ、CI/CDパイプラインの完全性、安全でないデシリアライゼーションに焦点を当てたものです。その名の通り、完全性が検証されていないデータやソフトウェアは、このカテゴリに該当します。

実際にexploitまで繋げられるか検証するのは難しいですが、SolarWindsの事例を見れば検証すべき脆弱性であることが分かります。

Intigritiに寄せられたすべてのレポートのうち、約0.3%が安全でないデシリアライゼーションに関するものでした。

9. セキュリティログと監視の失敗

サイバー攻撃は日々発生しており、資産のログを取り監視する能力は非常に重要です。もし、適切に監視しなければ、違反は発見されないでしょう。ログはローカルに保存されるだけでなく、読み取り可能で、監視された結果、警告を発するものでなければなりません。

10. サーバーサイドリクエストフォージェリ

これは新しいカテゴリーで、将来的にはより大きなカテゴリーに登録される可能性が高いでしょう。SSRFがリストに入ったことは非常に注目すべきことです。

この脆弱性は、サーバーがユーザーによって提供されたURLを使用してリクエストを行い、適切に検証しない場合に発生します。こうすることで、攻撃者は、内部リクエスト、ポートスキャンの実行、ファイアウォールや他のACLの回避が可能になります。

また、IntigritiではSSRFの脆弱性が年々増えてきています。これらは、レポートの2%を占めています。

OWASP TOP10から、バグハンターは何を読み取るべきか?

バグハンターは常にスキルを鍛え、新しいスキルを習得しています。私たちは、バグハンターがこの傾向を考慮すべきであると考えています。現在では企業がアプリケーションをゼロからコーディングすることはほとんどなくなりましたし、最新のフレームワークはある種の攻撃に対して非常に安全です。だからといって、これらの攻撃が実現不可能になったわけではありませんが、今後10年間は発生率が減少する可能性はあります。

もし、自身の専門分野の重要度がランキングで下がり続けているようであれば、自身の知識ベースを増やすために、新進気鋭の新しい脆弱性を探してみるのも有効かもしれません。新しいことを学ぶことは、すべてのバグハンターの原動力ですから、とても楽しいことに繋がるでしょう。

しかし、今回のリストは新しく作成されたものですが、決して驚くべきことではありません。

バグハンターはすでに過去数年間、これらの傾向を目の当たりにしています。

これからのバグハンターとしてはバグハンティングを続け、安全にネットワークを使えるようにすること、そしてそのためにふさわしい報奨金を得ることこそが重要になってくるでしょう。

OWASP TOP10から、企業は何を学ぶべきか?

企業として、OWASP Top 10から得るものはまだまだ存在するでしょう。これらは、現在進行中の攻撃で、近い将来も発生し続けます。

それに合わせて、セキュリティのトレーニングを調整するようにしてください。開発者は、新しい種類の攻撃とその防止策について、常に最新の情報を得るようにしましょう。セキュリティに対する意識は、すでに大きな飛躍を遂げているのです。未知の敵から資産を守るのは難しい事です。

例えば、サッカーチームは敵の動きを逐一リサーチし、それに合わせて変化していきます。セキュリティもそれと同じように扱われるべきであると私たちは考えており、セキュリティを意識している開発者は、より安全なアプリケーションを開発することが証明されています。

しかし、一般的に今はまだ未来に目を向けて将来にわたって安全でないアプリケーションを開発しないようにすることにしか目が向いていません。現在の資産はどうでしょうか?それらは安全ではありませんか?脆弱性はないでしょうか?これらの資産が悪意あるハッカーに狙われないと考えるのは甘いでしょう。したがって、企業として警戒を怠らないことが重要です。資産は、最新のスキルを持つ専門家によってテストされていることを確認することが重要です。

まとめ

新しいOWASP Top 10は、私たちがこの4年間に現場で見てきたものを示しています。企業は、アプリケーションをゼロからカスタムメイドするよりも、フレームワークやライブラリを選択する傾向にあることがわかります。これにより、これまで一般には知られていなかった新たな種類の脆弱性が発生します。

出典:Intigriti

https://blog.intigriti.com/2021/09/10/owasp-top-10/

———————————————

バグバウンティプログラムを活用してみる

スリーシェイクは欧州を代表するバグバウンティプラットフォームを提供するIntigritiと世界で初めて提携。高い技術力を持ったスリーシェイクのセキュリティエンジニアが、専門的なトリアージ・英語でのコミュニケーションなどの運用を代行。セキュリティ領域の専門家がいない、社内のリソースをかけられない企業もバグバウンティプログラムを活用できます。

バグバウンティ運用代行サービス『Bugty』

ブログ一覧へ戻る

サービス詳細や料金についての
ご質問・ご相談など
お気軽にお問い合わせください

資料請求・お問い合わせ