OWASP 2021年版リストの刷新:新たな戦術と最大の脅威

ますます混沌とするこの世界において、人々が常に信頼を寄せてきた不変の真理がいくつかあります。太陽は朝に昇り夜に沈むこと、ソニック・ザ・ヘッジホッグよりもマリオの方がクールであること、そしてインジェクション攻撃が常にOWASP(Open Web Application Security Project)の最も一般的かつ危険で、攻撃者が積極的に悪用している脆弱性リストのトップに君臨し続けることです。
太陽は明日も昇りますし、マリオは今もソニックより「ワンアップ」していますが、2021年に刷新された悪名高いOWASPリストにおいて、インジェクション攻撃はついに首位から陥落しました。最も古い攻撃手法の一つであるインジェクション脆弱性は、コンピュータネットワークの歴史とほぼ同じくらい長く存在しています。この包括的な脆弱性は、従来のSQLインジェクションから、OGNL(Object Graph Navigation Library)を標的としたエクスプロイトまで、あらゆる攻撃の原因となっています。さらには、OSコマンドインジェクションを用いたサーバーへの直接攻撃も含まれます。攻撃者にとっての汎用性の高さ、そして攻撃可能な場所の多さから、このカテゴリは長年トップの座を維持してきました。
しかし、インジェクションという王は退位しました。王の時代は終わったのです。
では、インジェクション脆弱性の問題はついに解決したのでしょうか?決してそうではありません。OWASPリストで3位に下がったとはいえ、依然としてセキュリティ上の最大の脅威であることに変わりはありません。インジェクション攻撃の危険性を過小評価するのは間違いですが、別の脆弱性カテゴリがそれを上回ったという事実は重要です。これは、新たなOWASPのトップがどれほど広範囲に影響を及ぼしているか、そして開発者が今後なぜそれに細心の注意を払う必要があるのかを物語っています。
しかし、最も興味深いのは、OWASP Top 10 2021が大幅な見直しを行い、「安全でない設計(Insecure Design)」、「ソフトウェアおよびデータの整合性の失敗(Software and Data Integrity Failures)」、そしてコミュニティ調査の結果に基づく「サーバーサイドリクエストフォージェリ(SSRF)」といった新しいカテゴリが登場した点です。これらは、ソフトウェアセキュリティの基準において、表面的なバグを超えて、アーキテクチャ上の脆弱性に焦点が移っていることを示しています。
王座を奪った「不適切なアクセス制御」(そして浮き彫りになるトレンド)
不適切なアクセス制御は、OWASPの脆弱性リストで5位から一気に1位へと躍り出ました。インジェクションや「安全でない設計」といった新しい項目と同様に、この脆弱性は多岐にわたるコーディング上の欠陥を包含しており、複数の側面から被害を及ぼす可能性があるため、その「悪名高い」人気に拍車をかけています。このカテゴリには、アクセス制御ポリシーが侵害され、ユーザーが本来の権限を超えて操作できてしまうあらゆるケースが含まれます。
OWASPがこの脆弱性ファミリーをトップに押し上げた理由として挙げている例には、攻撃者がURLやアプリケーションの内部状態、あるいはHTMLページの一部を改ざんできるケースがあります。また、ユーザーが自身のプライマリ・アクセス・キーを変更し、アプリケーションやサイト、APIに対して、より高い権限を持つ管理者であるかのように誤認させるケースも含まれます。さらに、攻撃者がメタデータの変更を制限されず、JSON Webトークンやクッキー、アクセス制御トークンなどを書き換えられる脆弱性も含まれています。
一度悪用されると、この脆弱性ファミリーは攻撃者によってファイルやオブジェクトの認可をバイパスするために利用され、データの窃取や、データベースの削除といった破壊的な管理者レベルの操作を可能にします。このため、不適切なアクセス制御は、その頻度の高さに加え、極めて危険な脆弱性となっています。
認証およびアクセス制御の脆弱性が攻撃者にとって最も肥沃な土壌となっていることは、驚くことではありませんが、非常に説得力のある事実です。ベライゾンの最新のデータ漏洩調査報告書(DBIR)によると、アクセス制御の問題はITやヘルスケアを含むほぼすべての業界で蔓延しており、全侵害の85%に人的要素が関与しています。「人的要素」にはフィッシング攻撃のようなエンジニアリングの問題ではないインシデントも含まれますが、侵害の3%は悪用可能な脆弱性が関与しており、報告書によれば、その多くは古い脆弱性や、セキュリティ設定の不備といった人為的ミスによるものでした。
XSSやSQLインジェクションといった古いセキュリティバグが依然として開発者の足を引っ張る一方で、セキュリティ設計の根幹が崩れ、アーキテクチャ上の脆弱性が生じていることがますます明らかになっています。これは攻撃者にとって非常に有利であり、特にアプリケーションの特定のバージョンにおけるセキュリティ上の欠陥が公開された後も修正されない場合に顕著です。
問題は、基礎以上のトレーニングやスキル開発の機会を与えられているエンジニアが少なく、さらに、開発者が自ら作り込んでしまうような局所的なコードレベルのバグを超えて、知識や実践的な応用力を高められているエンジニアはごくわずかであるという点です。
ロボットには見つけにくいバグを防ぐ
新たに分類された「不適切なアクセス制御」の脆弱性ファミリーは非常に多様です。不適切なアクセス制御の具体的な例やその対策については、当社のYouTubeチャンネルおよびブログでご覧いただけます。
しかし、私はこの新しいOWASP Top 10を歓迎すべきだと考えています。実際、このリストはより多様化しており、スキャナーでは必ずしも検知できない攻撃ベクトルを含む、より幅広い脅威を網羅しています。コードレベルの脆弱性が一つ見つかるたびに、より複雑なアーキテクチャ上の欠陥が、どれほど多くの自動化された防御ツールを導入していても、セキュリティ技術スタックの多くに見過ごされてしまいます。OWASP Top 10リストの大半は依然としてスキャンデータに基づいて作成されていますが、「安全でない設計」や「データの整合性の失敗」といった新しい項目は、ロボットにはできないことを実現するために、開発者のトレーニングの視野を急速に広げる必要があることを示しています。
簡単に言えば、セキュリティスキャナーは優れた脅威モデラーにはなり得ませんが、セキュリティスキルを備えた開発者チームは、ベストプラクティスやビジネスのニーズに合わせてセキュリティIQを高めることで、AppSecチームを計り知れないほど支援できます。OWASP Top 10は優れた基準ではありますが、脅威の状況は非常に変化が速く(社内の開発目標の要求もさることながら)、開発者のセキュリティスキル向上に向けて、より深く、より具体的な計画を立てる必要があります。そうしなければ、早期修正の機会を必然的に逃すことになり、予防的かつ人間主導のサイバーセキュリティという包括的なアプローチの成功を妨げることになるでしょう。
私たちはOWASP Top 10 2021に対応済みです。これはほんの始まりに過ぎません!今すぐ開発者のための高度なセキュリティスキルパスウェイを始めましょう。
AI主導の開発をリリース前にガバナンスする
AIを活用したリスク測定、コミット時のセキュアコーディングポリシーの強制、そしてSDLC全体を通じたセキュアなデリバリーの加速を実現します。
他のブログ記事を見る
セキュアコーディング、AIガバナンス、ソフトウェアリスク管理に関する専門的なコンテンツをご覧ください。
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
AIを活用した開発をリリース前にセキュアに
開発者のリスクを可視化し、ポリシーを適用することで、ソフトウェア開発ライフサイクル全体における脆弱性を未然に防ぎます。



.avif)