新WEBアプリケーションリスク TOP10 – OWASP Top 10 (2017)
WEBアプリケーションリスク はじめに
OWASP(Open Web Application Security Project)は、誰もが信頼できるWebアプリケーションやAPIを開発し、調達し、メンテナンスできるような環境作りを目指して活動するオープンなコミュニティーです。2013年版から更新されたものがありますので一部抜粋します。
OWASP Top 10とは
本記事引用元:OWASP_Top_10-2017
2017年版のOWASP Top 10は、主に、アプリケーションのセキュリティを専門とする企業から寄せられた40以上のデータと、500人以上の個々の人々による業界調査に基づいています。
データは、数百の組織の、10万以上の実在するアプリケーションおよびAPIから集められた脆弱性にまたがるものです。Top 10の項目は、この蔓延度合いを反映しているデータにしたがって、悪用のしやすさ、検知のしやすさ、および影響についての共通認識の推計を組み合わせた上で、選択し、優先順位を付けています。
追加された新しいリスク
- A4:2017-XML 外部エンティティ参照 (XXE)[NEW]
- A5:2017-アクセス制御の不備備 [マージ]
- A8:2017-安全でないデシリアライゼーション [NEW]
- A10:2017-不十分なロギングとモニタリング[NEW]
統合、引退
- A4-安全でないオブジェクト直接参照 と A7-機能レベルアクセス制御の欠落 は、A5:2017-アクセス制御の不備にマージ。
- A8-クロスサイトリクエストフォージェリ (CSRF) は、多くのフレームワークがこの対策を講じており (CSRF対策)、アプリケーションの5%程度でのみ観察されて外れる。
- A10-未検証のリダクレクトとフォワードは、アプリケーションのおよそ8%で観察されており、XXEが入ったことにより、外れる。
A4:2017-XML 外部エンティティ参照 (XXE)
脆弱なコード、依存関係、または統合を利用して、XML文書をアップロードしたり、悪意のあるコンテンツをXMLドキュメントに含めることができる場合、脆弱なXMLプロセッサを悪用される。
A5:2017-アクセス制御の不備備
ユーザが予め与えられた権限から外れた行動をしないようにポリシーを設定適用。
ポリシー適用の失敗は、許可されていない情報の公開、すべてのデータの変更または破壊、またはユーザ制限から外れた機能の実行につながる。
A8:2017-安全でないデシリアライゼーション
デシリアライゼーションとは、「シリアライズ」操作により独自の形式に変換され、ファイルに保存されたりネットワークを通じて送信したデータを、ソフトウェアの扱うことのできる元のデータ形式に復元すること。
シナリオ#2:あるPHPフォーラムでは、PHPオブジェクトのシリアライゼーションを使用して、ユーザのユーザID、ロール、パスワードハッシュやその他の状態を含むSuper Cookieを保存します:
a:4:{i:0;i:132;i:1;s:7:"Mallory";i:2;s:4:"user";
i:3;s:32:"b6a8b3bea87fe0e05022f8f3c88bc960";}
攻撃者は、シリアライズされたオブジェクトを変更して攻撃者自身に管理者権限を与えます:
a:4:{i:0;i:1;i:1;s:5:"Alice";i:2;s:5:"admin";
i:3;s:32:"b6a8b3bea87fe0e05022f8f3c88bc960";}
A10:2017-不十分なロギングとモニタリング
ロギングや検知、モニタリング、適時の対応が十分に行われないという状況