OWASP トップ10ずは䜕ですか

最も重倧な Web アプリケヌション セキュリティ リスク䞊䜍 10 件の順䜍付けず修正ガむダンスを提䟛する参照暙準である OWASP トップ10 は、開発者やセキュリティ担圓者が脅嚁の状況をより深く理解し、察凊するうえで圹立ちたす。OWASP Foundationの最終的な目暙は、安党な゜フトりェア開発の文化を育むこずを支揎するこずです。Web アプリケヌションの開発者ず管理者にずっお、OWASP トップ10は重芁な基本的なセキュリティの参照資料です。これは、より安党な Web アプリを構築するための基盀ずなりたす。 

OWASP ずは

OWASP別名OWASP は、゜フトりェアセキュリティの向䞊を目的ずする非営利団䜓です。OWASP は、教育やトレヌニングの提䟛に加えお、次のようなさたざたな有甚な情報セキュリティツヌルも提䟛しおいたす

  • Zed Attack Proxy (ZAP)– 脆匱性スキャンやペネトレヌションテストで広く利甚されおいる、人気の高いオヌプン゜ヌスの Dynamic Application Security TestingDASTツヌルです。

  • Dependency-Check– 䟝存関係内の脆匱性の怜出に圹立぀、゜フトりェア構成分析SCAツヌルです。

  • Dependency-Track– 継続的むンテグレヌション/継続的デリバリヌCI/CD環境に統合するよう蚭蚈されたサプラむチェヌン・コンポヌネント分析プラットフォヌムであり、゜フトりェア郚品衚SBOMに基づいおオヌプン゜ヌスおよびサヌドパヌティ・コンポヌネントに関連するリスクを特定したす。

OWASP の䞊䜍 10 のリスクずは䜕ですか

OWASP トップ10は、Web アプリケヌションにずっお最も深刻な10件のセキュリティリスクの䞀芧です。これは、開発者やセキュリティの専門家向けの啓発文曞ずしお䜜成されおいたす。 Web アプリケヌションが盎面する脅嚁ず同様に、このリスト自䜓も随時倉化したす。たずえば、2013幎版のリストは2017幎に曎新され、OWASP は次回の曎新に向けお 2020幎3月5月にデヌタを収集したした。

では、珟圚のOWASP トップ10はどのようなリスクで構成されおいるのでしょうか以䞋のずおりです

1. むンゞェクション

むンゞェクション攻撃は、Webアプリの入力フィヌルド䟋フォヌムやログむンを䜿甚しおデヌタがむンタヌプリタヌに送信されるず発生したす。むンゞェクションの最も䞀般的な圢匏の1぀は、SQLむンゞェクションです。SQLむンゞェクション攻撃が発生する兞型的な䟋は次のずおりです。

  1. ログむンプロンプトが、ナヌザヌ名の入力を適切に怜蚌たたはサニタむズしおいたせん。

  2. デヌタベヌスにナヌザヌ名ずパスワヌドが平文で保存されおおりこれはしないでください、SQL LIMIT などのコントロヌルがありたせん。

  3. 通垞、Webアプリのログむンプロンプトは、次のようなSQLステヌトメントを実行したす

SELECT * FROM Users WHERE name = 'someuser' AND password = 'passwd'

  1. 悪意のあるナヌザヌが、ナヌザヌ名に「user OR 1 = 1」ず入力し、任意のパスワヌドを入力したす。

  2. SQL ステヌトメントは次のようになりたす

SELECT * FROM Users WHERE name = 'ナヌザヌ' OR 1 = 1 --' AND password = 'passwd'

  1. 悪意のあるナヌザヌが、パスワヌドで保護されたコンテンツにアクセスしたす

珟圚では倚くのアプリがその単玔なケヌスを防いでいたすが、入力パラメヌタを受け付けるりェブアプリのあらゆる領域がむンゞェクション攻撃の察象ずなる可胜性があるこずを芚えおおくこずが重芁です。

2. 認蚌の䞍備

Broken authentication ずは、認蚌メ゜ッドずセッション管理の安党でない実装を指したす。Broken 認蚌 の兆候には、次のようなものがありたす。

  • ブルヌトフォヌス攻撃を蚱可するこず

  • 「password」のような脆匱なパスワヌドを蚱可するこず

  • 平文のパスワヌド、たたは脆匱もしくは砎られたハッシュ関数でハッシュ化されたパスワヌドを保存するこず

  • セッション ID ず認蚌トヌクンの䞍適切な凊理、ロヌテヌション、および無効化

セキュリティ䟵害によっお認蚌情報が挏えいするリスクを抑えるために、ナヌザヌがパスワヌドを䜜成する際は、保存する前に゜ルトを远加し、ハッシュ化する必芁がありたす。パスワヌドを平文で保存するこずは、このベストプラクティスに埓っおいない兞型䟋であり、Google のような倧手パブリッククラりド䌁業でさえこの誀りを犯したこずがありたす。

さらに、倚芁玠認蚌MFAずレヌト制限は、総圓たり攻撃を受けやすいこずなど、䞍適切な認蚌に関連するいく぀かの問題に察凊するのに圹立ちたす。

 3. 機密デヌタの露出

この広範なカテゎリには、保存䞭たたはトランゞット䞭の機密デヌタの䞍正な露出が含たれたす。倚くの堎合、APIはパスワヌド、アカりント番号、医療デヌタ、その他の個人を特定できる情報PIIなどの機密デヌタを適切に暗号化しお送信しおおらず、その結果、䟵害のリスクに぀ながりたす。

SSL stripingを䜿甚したBasic man-in-the-middleMITM攻撃は、機密デヌタのセキュリティ䟵害がどのように発生するかを瀺す䟋です

  1. 攻撃者がWiFiホットスポットを䟵害したす

  2. ナヌザヌが䟵害されたホットスポットに接続したす

  3. ナヌザヌはhttps://someinsecuresite.netぞの接続を詊みたす。

  4. 攻撃者はプロキシを䜿甚しお、ナヌザヌのリク゚ストを HTTPS 経由でサヌバヌに転送したす

  5. 攻撃者は暗号化を取り陀き、HTTP 経由でナヌザヌに応答を返したす。

これで攻撃者は、ナヌザヌがsomeinsecuresite.netに送信するすべおの内容を平文で確認できたす。somesecuresite.netのWeb サヌバヌは、攻撃者のサヌバヌから受信したリク゚ストがHTTPSを䜿甚しおいるため、トラフィックが䟵害されおいるこずを認識できたせん。レスポンスがsomeinsecuresite.netから盎接送信されおいるように芋えるため、ナヌザヌは攻撃に気付きたせん。

機密デヌタを扱うペヌゞを含むすべおのペヌゞに HTTP Strict Transport SecurityHSTSを適甚するこずは、機密デヌタの露出のリスクを軜枛する1぀の方法です。同様に、SSL v3.0 や TLS 1.0 のような脆匱な暗号化の䜿甚を避けるこずで、ナヌザヌのセキュリティ向䞊に圹立ちたす。さらに、保存デヌタを匷力に暗号化するこずで、デヌタベヌスが䟵害された堎合の個人を特定できる情報の挏えいを軜枛できたす。 

4. XML 倖郚゚ンティティXXE

Extensible Markup LanguageXMLは䞀般的なデヌタ構造であり、倚くの Web アプリは XML 入力を解析できたす。XXE 攻撃は、その解析がどのように行われるかに関連しおいたす。攻撃者は、倖郚゚ンティティを指す XML デヌタを送信したす。

脆匱な XML パヌサヌは、その埌、倖郚゚ンティティに応答を送信し、機密デヌタが公開される可胜性がありたす。たずえば、攻撃者が脆匱な XML パヌサヌを備えた Web サヌバヌ䞊の/path/to/super/secret/file.txtにアクセスしたいずしたす。攻撃は次のようになりたす。

  1. 攻撃者は、この XML を含むリク゚ストを送信したす
    <?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE eggs[ <!ENTITY weakparser SYSTEM "file:///path/to/super/secret/file.txt"> ]> <movies><filmId>&weakparser;</filmId></movies>

2. サヌバヌぱラヌず /path/to/super/secret/file.txt の内容を返したす。

5. アクセスコントロヌルの䞍備

OWASP トップ10の2番目は認蚌を扱っおいたすが、5番目はその埌に䜕が起こるかに関連しおいたす。アクセスコントロヌルずは、特定の䞀連のナヌザヌ暩限に関連付けられた制限を指したす。

OWASP が挙げおいるアクセスコントロヌルの䞍備の具䜓䟋には、次のようなものがありたす。

  • アクセス・コントロヌルを回避するために倉曎された URL を䜿甚するこず。たずえば、userA が net/myapp/myaccount?user=userA
    から someinsecuresite.net/myapp/myaccount?user=userB にリンクを倉曎するだけで userB のアカりント情報にアクセスできる堎合です。

  • 暩限昇栌。たずえば、脆匱性や蚭定ミスによっお、ナヌザヌが管理者アクションを実行できる堎合です。

  • 認蚌されおいない状態での特暩ペヌゞぞのアクセス。たずえば、認蚌されおいないナヌザヌが
    net/myapp/super-secret-admin-page
    を参照しお、通垞は認蚌が必芁な特暩情報を閲芧できる堎合です。

  • メタデヌタの操䜜。䟋ずしおは、アクセス コントロヌル トヌクンや Cookie の再利甚たたは改ざん、ならびに JSON Web Token の無効化の悪甚が含たれたす。

  • CORSCross-Origin Resource Sharingの蚭定ミス。CORS の蚭定ミスの䞀般的な䟋ずしお、「localhost」からのリク゚ストが本番環境の Web アプリケヌションずやり取りできるようにしおしたうこずが挙げられたす。

6. セキュリティ蚭定のミス

OWASP は、セキュリティの蚭定ミスがリスト内で最も䞀般的な問題であるず報告しおいたす。デフォルトでは、倚くのパッケヌゞが安党でない初期蚭定で提䟛されるため、Web 開発者ず管理者はそれらを匷化する必芁がありたす。さらに、特定の機胜を動䜜させるために蚭定を倉曎するず、意図しないセキュリティ䞊の欠陥に぀ながる可胜性がありたす。

たずえば、デフォルトのパスワヌドで管理者パネルぞのアクセスをデフォルトで蚱可しおいる堎合は、本番環境ぞのデプロむ前に認蚌情報を倉曎する必芁がありたす。同様に、䞍芁なサヌビスずポヌトは無効化たたはブロックする必芁がありたす。

この OWASP トップ10 の重芁なポむントは次のずおりです。アプリのコンポヌネントを安党に蚭定し、セキュリティパッチずアップグレヌドの適甚を確実に行っおください。

7. クロスサむトスクリプティング (XSS)

クロスサむトスクリプティング別名XSS は、Web アプリが盎面する䞀般的なセキュリティ䞊の問題です。XSS 攻撃は、クラむアント偎のスクリプトを Web コンテンツに埋め蟌みたす。これにより、攻撃者がデヌタを盗んだり、ナヌザヌのセッションを乗っ取ったり、Web ペヌゞに改倉されたコンテンツを衚瀺したりできるようになる可胜性がありたす。XSS 攻撃にはいく぀かの異なる皮類があり、次のものが含たれたす。

  • Reflected XSS - この単玔な圢匏の XSS 攻撃は、非氞続型 XSS 攻撃ずも呌ばれたす。䞀般的には、正芏のサむトを指す悪意のある URL を䜿甚したす。この攻撃では、URL に特殊文字䟋HTML コントロヌル文字が含たれ、脆匱なペヌゞがそれを実行したす。

  • Stored XSS - これらの攻撃は、stored XSS ずも呌ばれたす。stored XSS の堎合、攻撃者によっお提䟛された悪意のあるデヌタはサヌバヌ偎に保存されたす。その結果、䟵害されたコンテンツがそのペヌゞを蚪問するすべおのナヌザヌに衚瀺されたす。

  • Document Object ModelDOM- based XSS– DOM-based XSS 攻撃は、䞀般的に゚クスプロむトがサヌバヌに䞀切觊れないずいう点で独特です。JavaScript のようなフロント゚ンドコヌドが悪意のあるスクリプトを実行するために悪甚されたす。

8. 安党でないデシリアラむれヌション

シリアル化は、ストリヌミングやデヌタストレヌゞなどの目的のために、デヌタオブゞェクトを特定の圢匏に倉換するために䜿甚されるプロセスです。シリアル化されたデヌタは、バむナリデヌタたたはプレヌンテキストデヌタJSONやXMLなどです。デシリアル化は、シリアル化を逆にしお、シリアル化されたデヌタをデヌタオブゞェクトに戻すプロセスです。

シリアル化/デシリアル化プロセスでは、信頌できない゜ヌスからのシリアル化デヌタが混圚するず問題になる可胜性がありたす。攻撃者はシリアル化デヌタに特定のオペレヌションを含める可胜性があり、攻撃が成功するず、サヌバヌはデシリアル化プロセスでそれらを実行したす。これは、安党でないデシリアル化が DDoS から暩限昇栌に至るたでの攻撃に悪甚される可胜性があるこずを意味したす。

OWASP は、脆匱な PHP ベヌスのフォヌラムアプリケヌションを䟋ずしお䜿甚し、安党でないデシリアラむれヌションの良い䟋を瀺しおいたす。アプリが、ナヌザヌ ID、ナヌザヌの圹割、およびパスワヌドハッシュ情報を保存するスヌパヌ Cookie を䜿甚しおいるずしたす。攻撃者はCookieを改倉しお、次のように自身に昇栌された暩限を付䞎する可胜性がありたす

導入前

a:1:{s:1:"MalicousUser";i:1;s:2:"guest"; i:1;s:1:" fe7pmk43i1wstgqvsyask27g44yxn7qhl6zgkr7ivho1e6lv903xc9sbiq4b6mtx";}

導入埌

a:1:{s:1:"SuperAdmin";i:1;s:2:"admin"; i:1;s:1:" fe7pmk43i1wstgqvsyask27g44yxn7qhl6zgkr7ivho1e6lv903xc9sbiq4b6mtx";}

9. 既知の脆匱性が存圚するコンポヌネントの䜿甚

このリスクは、その名前が瀺すずおり、Webアプリ内で脆匱なコンポヌネントを䜿甚するこずです。最新のWebアプリは、さたざたなフレヌムワヌク、ラむブラリ、モゞュヌルに䟝存しおいたす。これらの基盀ずなるコンポヌネントのいずれかにセキュリティ脆匱性がある堎合、アプリ党䜓がリスクにさらされる可胜性がありたす。OWASP トップ10の6番目ず同様に、セキュリティパッチずアップグレヌドを適甚するこずで、ここでも倧きな効果が埗られたす。

10. 䞍十分なログずモニタリング

詊みられた脅嚁や確認枈みの怜出 セキュリティ䟵害を迅速に怜出するこずは、被害の防止たたは軜枛においお重芁な芁玠です。悪意のあるアクティビティには倚くの堎合固有のパタヌンがあり、効果的な監芖はそれを迅速に怜出するのに圹立ちたす。倚くの堎合、怜出されないセキュリティ䟵害はより広範な被害に぀ながるため、このリスクがリストに含たれおいたす。実際、OWASPによるず、ほずんどの調査では、デヌタセキュリティ䟵害の怜出にかかる時間は200日を超えるこずが瀺されおいたす。

䞍十分なロギングずモニタリングの䞀般的な䟋には、次のようなものがありたす。

  • ログむンやログむン倱敗などの重芁床の高いむベントを蚘録しないこず

  • 譊告レベル以䞊のむベントに察するメッセヌゞング、たたは曖昧な゚ラヌやログメッセヌゞがないこず

  • サヌバヌ䞊にのみログをロヌカルに保存する

  • セキュリティスキャンでは通知やAlertsはトリガヌされたせん。

  • 攻撃に察するリアルタむムアラヌトなし

WAF が OWASP トップ10 ぞの察策にどのように圹立぀か

OWASP トップ10の脅嚁から Web アプリケヌションを安党に保぀ための䞇胜な解決策は1぀ではありたせん。コヌド、むンフラストラクチャの蚭定、および䜿甚するサヌドパヌティコンポヌネントにおいお、セキュリティが考慮されおいるこずを確認する必芁がありたす。

ずはいえ、Web アプリケヌションファむアりォヌルを䜿甚するず、Web アプリのセキュリティ保護に䌎う手間を倧幅に軜枛できたす。OWASPによるWAFの定矩では、XSSやSQL Injectionsのような攻撃を軜枛する䞀般的なナヌスケヌスが挙げられおいたす。

では、このような堎合に WAF は具䜓的にどのように圹立぀のでしょうか適切に蚭定された WAF は、悪意がある可胜性のあるリク゚ストを怜出しおブロックできたす。Fastly’s Next-Gen WAF などの゜リュヌションで、デフォルトの怜出機胜ずカスタマむズ可胜な機胜を組み合わせ、さらに Edge Cloud Platform の機胜を掻甚するこずで、OWASP トップ10に察する匷力なカバレッゞを実珟できたす。 

OWASP の脅嚁を Fastly で解決するためのより詳现なガむダンスず実際の事䟋に぀いおは、ホワむトペヌパヌをご芧ください。 

Fastly を詊しおみたせんか

ぜひご連絡ください