世界最大級のデータ侵害を引き起こしたOWASP Top 10の脆弱性とは?
2017年5月10日
0 分で読めますOWASP Top 10は、セキュリティ専門家が日々活用する、Webのアプリケーションセキュリティの脆弱性をまとめた、広く知られた一覧です。しかし、この一覧には欠けている観点があります。組織への侵入に、ハッカーがそれぞれの脆弱性をどれほど頻繁に利用するか、という点です。
1,792件のセキュリティ侵害のデータを調査したところ、OWASPの脆弱性10項目のうち、最も深刻なA1-Injectionが引き起こしたのは、最も甚大な被害をもたらした50件のうちわずか4件(8%)でした。一方、OWASPで深刻度が9番目のA9-Known Vulnerable Componentsは、12件(24%)と最多でした。また、15件(30%)はOWASP Top 10にまったく含まれていない問題が原因でした。理論上のOWASP Top 10と、実際に発生した大規模なセキュリティ侵害の違いを見ていきましょう。
もう少し詳しく
OWASP Top 10は、SQLインジェクション、クロスサイトスクリプティング、セキュリティ設定ミス、脆弱なコンポーネントの使用など、「最も重大なWebアプリケーションのセキュリティリスク10項目」をまとめたものです。掲載する脆弱性は、悪用の容易さ、蔓延度、検出可能性、ビジネスへの影響という4つの基準に基づいて選定されています。
しかし、意図的にTop 10の基準から外されているものがあります。OWASP Top 10 2013 Release documentには、「脅威となる攻撃者の可能性は考慮しない」(20ページ)と記されています。つまり、攻撃者がこれらの脆弱性を利用して攻撃を仕掛ける可能性の高さは、考慮されていません。
この基準を除外することには、ある程度の妥当性があります。たとえば近所で空き窓から侵入した泥棒がいなかったとしても、よくあるうえに簡単に防げる脆弱性である以上、家の窓を施錠することは重要です。
一方で、別の観点から見ると、これは問題のある見落としです。過去1年間、窓から侵入した泥棒が一人もおらず、90%が玄関から入ったとしたら、まずどこから家の防犯対策に取り組むべきかを決めるうえで、この情報は非常に役立つでしょう。
Webアプリケーションのセキュリティでは、公表されたセキュリティ侵害を調べることで、仮想的な「侵入」について知ることができます。実際の世界では、OWASP Top 10のうち、ハッカーに最も頻繁に悪用されるのはどれでしょうか?ほとんど悪用されないのはどれでしょうか?
Gemaltoが公開したBreach Level Indexをもとに調査しました。これは2016年だけで1,792件のデータ侵害を掲載した一覧で、盗まれたデータの量や機密性など、複数の要素を考慮して深刻度順に順位付けされています。
調査したのは、2016年に発生した上位50件のデータ侵害の根本原因、各原因がOWASP Top 10のどの項目に該当するか、そして2016年に最大級のデータセキュリティ被害を引き起こしたOWASP Top 10の項目は何か、という点です。
調査方法に関する注記:GemaltoのData Breach Indexに掲載された上位82件を調査し、一般に公開されている情報から根本原因が判明した50件を特定しました。これらを「Top 50 Data Breaches」と呼びます。正確には「根本原因が判明している上位50件」です。82件すべてについて、攻撃の一因となったOWASP Top 10の脆弱性に関する情報(根本原因ではないものも含む)があれば、併せて記録しました。
重大なデータ侵害への影響度で見たOWASP Top 10
2016年の上位50件のデータ侵害には、フィリピンの選挙管理委員会から盗まれた7,700万件の記録、複数の世界的指導者のオフショア口座が暴露されたパナマ文書事件、4億1,200万人のアカウント保有者の個人情報が流出したAdult FriendFinderの侵害などが含まれます。
まずは根本原因から見ていきましょう。データ侵害には複数のOWASP Top 10の脆弱性が関わることがあります(たとえば、A2に分類される弱いパスワードと、A1に分類されるSQLインジェクション)。しかし、攻撃者の侵入と攻撃を可能にした主な要因は何でしょうか?これを「根本原因」と呼びます。
調査方法に関する注記:各データ侵害で何が起きたのか、根本原因は何かを特定するため、さまざまな公開情報を参照しました。一次情報やセキュリティ調査もあれば、一般報道や、事情に詳しい人によるソーシャルメディアへの投稿もあります。信頼できると思われる情報源を選ぶよう努めましたが、その多くは侵害を受けた組織や攻撃者に直接接触しておらず、内容に誤りがある可能性もあります。報告が正確だとしても、詳細が公表されていなかったり、侵害を受けた組織自身も把握していなかったりする場合があります。データの信頼性は、情報源の報告内容に左右されます。参考として、出典をデータのスプレッドシートに記載しています。
以下の表では、最も甚大なデータ侵害の根本原因となったOWASP Top 10の項目を示します。

被害順位1位:A9-既知の脆弱性を持つコンポーネントの使用が、不名誉な「1位」となり、上位50件のうち12件(24%)を引き起こしました。A9が原因となった主な事例は次のとおりです。
Mossack Fonesca(パナマ文書)の侵害。古く、パッチが適用されていないDrupalのバージョンに存在する脆弱性が原因でした。
VericalScope/Techsupportforum.comの侵害では、1,100以上のWebサイトやフォーラムから4,500万件のパスワードとIPアドレスが盗まれました。原因は、古いバージョンのvBulletinフォーラムソフトウェアに存在する既知の脆弱性とされています。
Ubuntuフォーラムの侵害では、Ubuntu公式フォーラムから200万件のユーザー名、IPアドレス、パスワードが流出しました。原因は「Forumrunnerアドオンに存在する既知のSQLインジェクションの脆弱性に、パッチが適用されていなかった」ことでした。
よくあるパターン:A9が原因となった大規模な侵害12件のうち、実に9組織がフォーラムソフトウェアの脆弱性によって侵害されており、そのうち6組織は古いバージョンのvBulletinを使用していました。
被害順位2位:A5-セキュリティ設定ミスは僅差で続き、上位50件のうち10件(20%)の原因でした。よくある設定ミスの例は、機密データを保存したデータベースを認証なしでインターネットに公開してしまうことです。A5が原因となった主な事例は次のとおりです。
メキシコ有権者データの侵害では、9,340万人分の有権者登録データが公開されました。ダークネットで販売された可能性は低いものの、流出したことに変わりはありません。侵害されたデータベースは、ある政党が保有する登録データの正規のコピーで、保護されないままAWSにアップロードされていました。
米国有権者/Amazon/Googleの侵害では、詳細な個人情報を含む米国有権者1億5,400万人分のプロフィールが、セルビア人ハッカーに盗まれました。データは認証不要のCouchDBデータベースに保存され、Google Cloud Services上で公開されていました。
Capgeminiの侵害では、ハッカーが数百万人の求職者の個人情報を入手しました。データはインターネット上で公開された安全でないデータベースに保存されており、Capgeminiによると、ITプロバイダーが使用する開発サーバー上にありました。
よくあるパターン:侵害につながるセキュリティ設定ミスは数多くありますが、今回の調査でA5が原因となった侵害はすべて、認証なしでインターネットに公開されたデータベースによるものでした。10件中3件にはMongoDBデータベースが関係しており、古いバージョンには安全でないデフォルト設定がありました。
被害順位3位:A1-インジェクションは重大なインシデントの原因として3番目に多く、4件の侵害を引き起こしました。
フィリピン選挙管理委員会の侵害では、フィリピンの成人全人口にあたる77,736,795件の記録が平文で保存されており、ハッカーがSQLインジェクションを使って容易に入手しました。
i-Dressupの侵害では、10代の少女のアカウント550万件が侵害されました。パスワードは平文で保存されており、Webサイトに存在した未知の脆弱性を悪用するSQLインジェクションが原因でした。
ミシガン州立大学の侵害では、オランダ在住の17歳のハッカーが、SQLインジェクションの脆弱性を探してWebをスキャンし、40万件の氏名とメールアドレスを入手しました。このケースでは、幸いパスワードは暗号化されていました。
Central Ohio Urology Groupでは、521,659人の患者の機密性の高い治療情報が、SQLインジェクションによって盗まれました。犯人は、他のWebサイトも同様に攻撃すると予告した、素性の知られた常習ハッカーでした。
興味深いことに、この脆弱性は2013年版のOWASP Top 10で最も重大なセキュリティ問題とされ、2017年版Top 10でも最上位候補として提案されていました。しかし今回の調査では3位にとどまり、上位の侵害の8%を引き起こしていました。
よくあるパターン:インジェクション攻撃にはさまざまな種類がありますが、今回の調査における重大な侵害4件は、すべてSQLインジェクションが原因でした。
被害順位4位:A2-認証とセッション管理の不備とA6-機密データの露出が次に多く、それぞれ3件のインシデントの原因となりました。
A2は、ストリーミングアプリのアカウント3,000万件が侵害された17 Mediaの侵害、ドイツの航空旅客150万人分のデータが侵害されたAerticketの侵害、オンラインで納税申告を行った431,000人分の税務・給与データが侵害されたKroger/Equifaxの侵害の原因でした。
A6は、インドのケララ州の住民3,400万人分の個人情報が侵害されたケララ州の侵害、CAT心理測定試験の受験者200万人分のテスト結果がインターネット上に公開されたIndian Institute of Managementの侵害、CVVコードを含む決済記録324,000件が流出し、攻撃者がクレジットカードのセキュリティを回避できる状態になったBlueSnap/Regpackの侵害の原因でした。
よくあるパターン:これら6件に共通する明確なパターンはありませんでした。弱いパスワード、既知のデータや認証情報、URLを使った機密データへの容易なアクセス、復号済みデータの誤った公開が原因でした。
被害順位5位と6位:
A7-機能レベルのアクセス制御の欠如は2件のインシデントの原因でした。ハッカーがホスティングサーバーを乗っ取り、機密性の高いバックエンドシステムにアクセスできる状態になったClixSenseの侵害と、通信事業者のWebサイトを操作して実機の電話を盗んだThreeの侵害です。
A4-安全でない直接オブジェクト参照は1件のインシデントの原因でした。Adult FriendFinderの大規模な侵害で、Local File Inclusion(LFI)の脆弱性が原因でした。
上位50件の侵害には、どのOWASP脆弱性が含まれていないのでしょうか?
A3-XSSとA8-CSRF:興味深いことに、調査した侵害の報道では、これらの脆弱性は根本原因としても付随的な問題としても、一切確認できませんでした。これは、組織から大規模なデータ流出が発生した侵害だけを対象にしたため、データに偏りがある可能性を示しています。XSSやCSRF攻撃はユーザーに影響を及ぼすことが多く、通常、組織からのデータ窃取にはつながりません。そのため、この種の攻撃は「データ侵害」とは別のカテゴリとして扱われ、今回調査したような一覧には含まれていない可能性があります。
A10-未検証のリダイレクトとフォワード:この脆弱性は、侵害を報道する外部の関係者には見えにくいのかもしれません。あるいは、実際の現場では重要度が低い可能性もあります。2017年版OWASP Top 10のリリース候補版では、この脆弱性は削除されました。
OWASPに含まれない脆弱性が原因となったデータ侵害とは?
調査対象のうち15件、サンプル全体の32%では、根本原因が報告されていたものの、OWASP Top 10のどの項目にも当てはめられませんでした。原因を「その他」と分類しました。OWASPは、Top 10の一覧は定義上、重要なセキュリティ課題の一部にすぎず、組織はほかのセキュリティリスクにも注意する必要があると、手法の中で明確に述べています。

Top 50の情報漏えいの根本原因となった脅威のうち、OWASP Top 10の対象外だったものは何でしょうか?
マルウェアとフィッシング:4件
RDPの脆弱性を悪用した攻撃:3件
物理機器を介した攻撃(POS、ATM):3件
物理的な盗難:2件
悪意のあるWebサイトによるスクレイピング:1件
他のWebサイトから流出したパスワード:1件
悪意ある内部関係者の認証情報を使ったアクセス:1件
アクセス権を持つ第三者によるデータ流出:1件
たとえば、マルウェアやフィッシングは、Webアプリケーションの問題ではなくエンドユーザーのセキュリティ問題と見なされることが多いにもかかわらず、Top 50の情報漏えいのうち4件の原因となりました。一方、OWASPが最も重大な脆弱性とするA1—インジェクションも、同じく4件の原因でした。
重大な情報漏えいにおけるOWASP Top 10の副次的な要因
前述のとおり、Top 50の情報漏えいのうち、OWASP Top 10の脆弱性が原因となった件数を紹介しました。ここでは、根本原因ではない場合も含め、OWASP Top 10のいずれかの脆弱性が存在していた情報漏えいの件数を見てみましょう。多くの情報漏えいでは、複数の攻撃やセキュリティ脆弱性が関与しています。

A6-機密データの露出は、根本原因となったのはわずか3件でしたが、26件(サンプルの52%)で確認されました。情報漏えいの2件に1件では、主にパスワードなどの機密データが十分に保護または暗号化されておらず、被害が大幅に拡大していました。

A9-既知の脆弱性を持つコンポーネントの使用には注目すべき点があります。この問題が確認されたインシデントでは、100%のケースで情報漏えいの根本原因にもなっていました。これは、注目度と影響度の高い情報漏えいでは、A9がハッカーにシステムへの侵入を許す大きく開いた入口になりがちであることを示しています。情報漏えいの根本原因となった割合が100%だったOWASPの脆弱性は、A9だけでした。
同様に、A5-セキュリティの設定ミス(10件中9件で根本原因)とA7-機能レベルのアクセス制御の欠如(4件中3件で根本原因)は、大規模な情報漏えいの根本原因になりやすいようです。
A2-脆弱な認証とセッション管理とA1-インジェクションは、問題が報告された情報漏えいの約半数で根本原因となっていました。どちらも、ハッカーが企業システムに侵入する典型的な手段と考えられているだけに、これは意外な結果です。しかし実際には、認証の弱さやインジェクションの脆弱性が存在していても、大規模な情報漏えいは別の経路から始まることがよくあります。
アプリケーションセキュリティとOWASP Top 10の妥当性に関する考察
言うまでもなく、このサンプルは規模が小さく対象も限定されているため、結果を一般化するのは困難です。大規模な情報漏えいという限られたグループに対しても難しく、ましてすべてのWebアプリケーションや企業システムに当てはめることはできません。それでも、この逸話的なデータから、OWASP Top 10の脆弱性がセキュリティ上の深刻な被害に大きく関与した事例が数多く確認できました。
一方で、これは、こうした10の脆弱性が今日の組織が直面する実際の脅威を示すうえで有意義であることを裏付けています。他方、現実の情報漏えいは、セキュリティ問題の深刻度に関するOWASPの1位から10位までの順位どおりには起きていないことも明らかになりました。
この調査で明らかになった重要な点は、A9-脆弱なコンポーネントの使用が非常に広く見られる危険な問題であり、OWASPの枠組みでより注目されるべきだということです。世界で最も甚大な被害をもたらした50件の情報漏えいのうち12件がA9に起因し、他のどのOWASP脆弱性よりも多いのであれば、深刻度を10段階中9位のままにすることはできません。A9は、大規模な情報漏えいの根本原因となる可能性が最も高い脆弱性でもあります。
Snykの使命は、オープンソースコンポーネントに含まれる既知の脆弱性から組織を守ることです。日々の業務経験から、OWASP Top 10や他の多くの業界資料が示す以上に、この問題は深刻だと感じていました。この問題が、実際には今日のオンラインセキュリティを脅かす最大の課題かもしれないと、データが強く示していたことには驚きました。
同様に、A5-セキュリティの設定ミスが大規模なセキュリティ被害の2番目に大きな原因である以上、深刻度を10段階中5位のままにすることはできません。
下の画像に示すように、OWASP 2017の現在のリリース候補版にはいくつか更新が加えられていますが、A9とA5の脆弱性に関する変更はありません。これらは2013年以降、順位も定義も変わっていません。

その他の考察:
OWASP Top 10に含まれていないその他の脅威は、Top 50の情報漏えいのうち15件(30%)の原因となっており、個々のOWASP脆弱性を大きく上回りました。たとえばTop 50のうち4件は、マルウェアまたはフィッシングが原因でした(これによって攻撃者が侵入し、情報漏えいが発生しました)。これはOWASPが最も重大とする脆弱性A1-インジェクションと同数です。50件中3件はRDPプロトコルの脆弱性を悪用した攻撃が原因で、OWASPで2番目に重大な脆弱性A2-認証の不備と同数でした。マルウェアやプロトコルの脆弱性を悪用した攻撃、そしておそらく他の脅威も、OWASP 2017のリストで検討すべきです。
未確認の脆弱性—サイバー攻撃におけるOWASP A3、A4、A8、A10の実際の発生状況を把握するには、さらにデータが必要です。この調査では、Top 50の情報漏えいでA4は2件、A10は1件確認され、A3とA10は確認されませんでした。前述のとおり、この調査は広く報道された情報漏えいに焦点を当てているため、サンプルに偏りがあります。より広範なサイバー攻撃のデータベースを調べれば、こうした「未確認」の脆弱性について、さらに明らかになるかもしれません。
現実の攻撃でハッカーがどの脅威を悪用しているのかを確実に結論づけるには、さらなる調査が必要です。この探索的調査から得られる結論は、こうしたデータが不可欠だということです。現代の攻撃対象領域を理解し、防御の優先順位を決めるうえで欠かせません。OWASPには「脅威エージェントによる悪用可能性」に対する姿勢を見直し、重大なセキュリティ問題を評価するうえで不可欠な要素として扱うことを提案します。
セキュアな開発を加速
Snykは開発者とセキュリティチームをつなぎ、スピードとセキュリティを大規模に両立します。