OWASP Top 10
―世界が注目するWebアプリケーションの重大リスクを知る―

Share
瓦版vol.14アイキャッチ画像

2021年9月、4年ぶりに「OWASP Top 10 2021」が公開されました。国際的なセキュリティ啓発コミュニティであるOWASP(オワスプ:Open Web Application Security Project)が、悪用のしやすさ、検出のしやすさ、技術面への影響度などを考慮して重大なリスクを選び出したものになります。「OWASP Top 10」はWebサイトのセキュリティ対策のポイントに、参考にされることが多いガイドラインの一つですが、どのようなセキュリティリスクが挙げられているのかご存知でしょうか? 本記事では、OWASP Top 10の各リスクのカテゴリ毎に脆弱性例と対策案をまとめ、最後に弊社視点での脆弱性対策の推奨案をご紹介いたします。

「OWASP Top 10」とは

OWASPは、Webアプリケーションセキュリティに関する研究、診断ツールの開発、ガイドラインの発行、イベント開催といった活動を行う国際的なオープンソース・コミュニティです。 「OWASP Top 10」は、Webアプリケーションにおいて、重大と見なされるセキュリティリスクを選定し、解説したものです。2003年以降定期的に発行されており、2021年9月、前回の「OWASP Top 10 2017」より4年ぶりとなる「OWASP Top 10 2021」が公開されました。

「OWASP Top 10 2021」を紐解く

では、どういったリスクが最新のTop 10に挙げられているのか、見ていきましょう(以下、「前回」とは、「OWASP Top 10 2017」を指す)。

A1アクセス制御の不備
A2暗号化の失敗

プロトコルバージョンの対応策や暗号技術の活用方法について、SQAT.jpでは以下の記事でご紹介しています。
こちらもあわせてご覧ください。
Webサイトのセキュリティ強化を!TLSバージョンアップの対応にむけて
暗号技術を安全に活用するために―今、やっておくべきセキュリティ対策―

A3インジェクション
A4安全が確認されない不安な設計
A5セキュリティの設定ミス
A6脆弱で古くなったコンポーネント
A7識別と認証の失敗
A8ソフトウェアとデータの整合性の不具合

セキュアな開発ライフサイクル・CI/CDのセキュリティ対策について、SQAT.jpでは以下の記事でご紹介しています。こちらもあわせてご覧ください。
Webアプリケーション開発プロセスをセキュアに―DevSecOps実現のポイント―

A9セキュリティログとモニタリングの失敗
A10サーバーサイドリクエストフォージェリ(SSRF)

脆弱性を悪用した攻撃の脅威

攻撃者にとって、機密を含む様々な情報を取り扱っているWebアプリケーションは宝の山であり、魅力的なターゲットです。Webアプリケーションにおいて、脆弱性が放置されていると、サイバー攻撃の足掛かりとして利用されてしまいます。

脆弱性を悪用された例は、被害者企業の業種、規模を問わず、発生し続けています。被害を受けると、直接的な金銭被害のほか、顧客や取引先の信用失墜等、事業活動に深刻な影響を及ぼす恐れがあります。

インジェクション攻撃例
NEWソフトウェアとデータの整合性の不備 攻撃例

SQLインジェクションの脆弱性について、SQAT.jpでは以下の記事でご紹介しています。こちらもあわせてご覧ください。
SQLインジェクションの脆弱性、企業が問われる2つの責任とは

設計・開発段階で作りこまれる脆弱性

Webアプリケーションにおけるセキュリティリスクは、もちろんOWASP Top 10ばかりではありません。OWASPほか、NIST、IPAなどが公開している各種セキュリティガイドラインを活用して、Webアプリケーションに脆弱性を作りこまないようにすることが重要です。開発にあたっては、仕様どおり動作しないという欠陥・不具合であるバグの解消はもちろんですが、セキュリティ上の欠陥・不具合である脆弱性にも対処する必要があります。

しかしながら、現実には脆弱性を完全にゼロにしてシステムをリリースするのは、非常に困難であるのもまた事実です。設計・開発の段階で、気の遠くなるような数のセキュリティ脅威、攻撃パターンをすべて検討・想定・対応し切ることは不可能だからです。

つまり、セキュリティを考慮した設計・開発の実施は大前提としつつ、脆弱性は意図せず作りこまれてしまうものであることも認識しておく必要があるでしょう。

脆弱性診断の活用

では、意図せず作りこまれてしまう脆弱性に、どう対処すればいいでしょうか。それには脆弱性診断を実施することが、最も有効な手段の一つと言えます。

脆弱性診断によって、システムにどのような脆弱性があり、どの程度のリスクがあるのか可視化され、その優先度に応じてセキュリティ対策を検討・実施することができます。

なお、弊社では「企業の対策すべき脆弱性入門」と題したウェビナーで、弊社脆弱性診断の検出結果を基に対応緊急度の高い脆弱性について取り上げております。参考にしていただけましたら幸いです。

脆弱性診断を効果的に活用するには、システムの機能や取り扱う情報の重要度に応じて、実施時期や頻度を考慮することも大切です。セキュリティ事情は常に変化しています。日々新たな脆弱性が発見され、サイバー攻撃も巧妙化する一方です。また、何年も前に報告されたのに放置されがちな脆弱性が、改めて悪用されることもあります。健康診断と同様、脆弱性診断も定期的に実施することが重要なのです。

脆弱性対策有効な手段について、SQAT.jpでは以下の記事でご紹介しています。こちらもあわせてご覧ください。
今、危険な脆弱性とその対策―2021年上半期の診断データや攻撃事例より―

また、「SQAT® Security Report」では、セキュリティ事情に関するトピックをお伝えしております。情報収集の一助としてご活用ください。


参考情報:


BBSecの脆弱性診断サービス

弊社では、お客様のニーズに合わせて、様々な脆弱性診断サービスを提供しております。システムの特徴やご事情に応じてどのような診断を行うのが適切かお悩みの場合も、ぜひお気軽にご相談ください。

「毎日/週など短いスパンで定期診断して即時に結果を知りたい」

デイリー自動脆弱性診断「Cracker Probing-Eyes®」は、脆弱性の検出結果を、お客様側での簡単な操作で、日々確認できます。導入のための設備投資が不要で、コストを抑えつつ手軽に診断できます。 世界的なセキュリティ基準をベースにした弊社独自基準を設け、シグネチャの見直しも弊社エンジニアが定期的に行うことで、信頼性の高い診断を実現しております。

「システム特性に応じた高精度な診断をしたい」

対象システムの機能が複雑である、特にミッションクリティカルであるなどの理由により、広範囲かつより網羅性の高い診断をご希望の場合は、弊社エンジニアが手動で実施する「SQAT®脆弱性診断サービス」をおすすめします。 Webアプリケーション、ネットワークはもちろんのこと、ソースコード診断やクラウドの設定に関する診断など、診断対象やご事情に応じて様々なメニューをご用意しております。

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像

APIのセキュリティ脅威とは

Share

APIとは、ソフトウェアが相互に機能やデータを利用しあうための仕組みで、機能や開発効率を向上させるなどのメリットがあります。しかしAPIにもセキュリティ上のリスクがあり、セキュリティ対策を怠ったことによる被害も報告されています。今回は、APIの安全な利活用について解説します。

「API」とは

「API」とは「Application Programming Interface」の略で、複数のソフトウェアが相互に機能を利用しあうために設けられたインターフェースを意味します。コンピュータプログラムやWebサービスなどをつないで連携させ、さまざまな機能やデータを共有可能にすることで、従来にない価値を生み出せるという点が大きなメリットといわれています。例えば、あるアプリが、特定の機能を持つAPIを利用することで、それまでなかったサービスをユーザに提供できるようになります。

APIのなかでも広く利用されているのがWebに公開されている「Web API」で、多数のWebサービスやプラットフォーマーが各社のWeb APIを公開しています。身近な例としては、位置情報ゲームで地図情報サービスが提供するAPIを利用するケースなどがあります。

APIの積極的な活用は、IoTや企業のDX(デジタルトランスフォーメーション)の実践に不可欠と言っても大げさではありません。さまざまなアプリやWebサービスがAPIを通じて相互接続することで、利用者の利便性の向上、経済の活性化など、単独では実現できなかった価値を生み出せるようになります。こうした仕組みのことを「APIエコノミー」と呼ぶこともあります。

あなたの身近にあるAPIの活用例

Webサービスなどを利用しているときに「Facebookでログイン」「Googleでログイン」などのボタンを見たことはありませんか? Facebook、Google、Twitterなどで設定したアカウントを使って、別のECサイトなどにログインする「ソーシャルログイン」は、各サービスが公開するAPIを使って実現されています。また、企業などのWebサイトで地図情報がGoogle Mapから呼び出されて掲載されている、あの仕組みもAPIによるものです。

API活用のメリット

APIを活用すれば、個別の機能を各サービスで一から開発する必要がなくなるため、開発効率が上がり、コストを抑えることができます。機能を提供する側も、機能を使ってもらうことで自社のブランド力の向上、広告収入といった経済的利益を得られます。また、前出の「ソーシャルログイン」などでは、独自のログイン用プログラムを各企業がそれぞれ開発する場合に比べ、一定のセキュリティ水準を確保できるという効果も期待できます。

Web APIはWebアプリケーションでどう使われるか

ここで、「Web API」はいわゆる「Webアプリケーション」でどう使われるのか、少し補足しておきましょう。

WebアプリケーションがAPIを用いて地図情報だけを外部の地図サーバから取得しているケースについて考えてみます。Webサーバはブラウザからのリクエストを受け、WebアプリケーションからAPIを経由して地図情報を地図サーバにリクエストします。地図サーバはAPIを介して地図情報をWebアプリケーションへ送り返します。それを受けたWebサーバが、地図情報を含めたページ全体をユーザに返します。ユーザから見たときにはAPIを使っているかどうかはわかりませんが、このように、APIは、特定の機能のため、特定の情報のやり取りのために利用されているのです。

APIのセキュリティの重要性

Webサービスを利用するユーザ側から見れば、そこでAPIが使われているかどうかは何ら重要なことではありません。しかしサービス提供側から考えた場合、APIにもWebアプリケーション同様、脆弱性をはじめとするさまざまなセキュリティリスクが存在することを忘れてはなりません。また、近年のスマートフォンの普及により、スマートフォンのアプリケーションがAPIを直接利用するケースも増えており、今までサーバ側での利用が主流だったAPIがユーザの手元から直接利用される時代になっている点にも注意が必要です。

適切なセキュリティ対策を怠った場合のリスクは、むしろWebアプリケーションよりも深刻かもしれません。さまざまなソフトウェアと連携するというAPIの特質から、被害が自社のコントロールの及ぶ範囲を超えて広がる可能性が想定されるためです。

APIが原因で起こったサイバー攻撃被害

2018年、米大手SNSが開発者向けに公開していたAPIのバグが悪用され、ログインを行う際のカギとなるデータが盗まれる事件が発生しました。2019年には、大手配車マッチングアプリで、APIが降車時の支払い方法の検証をしないことで、無賃乗車ができてしまうバグが報告されています。

米大手SNSの事件は、多数のAPIが組み合わされることによって、バグの検出やセキュリティ上の問題の発見が遅れたり困難になったりするという問題をあらわにしたものでした。また、配車マッチングアプリのバグは、APIの入力値を検証することの重要性を改めて気づかせるものでした。

その利便性から急速に普及が進んでいるAPIですが、「事故やサイバー攻撃被害の発生によって初めて、リスクの存在を認識する」という昨今の状況を踏まえると、セキュリティに関してはまだまだ未成熟な領域であるといえるでしょう。

「OWASP API Security Top 10」などのリソースを活用して対策を立てる

こうしたサイバー攻撃被害や事故を受け、今、APIのセキュリティは最重要事項の1つとして取り組まれるようになっています。その大きな成果の1つとして、「API Security Top 10」をご紹介しましょう。これは、Webアプリケーションセキュリティに関する国際的コミュニティOWASP(Open Web Application Security Project )がAPIセキュリティに関する10大リスクを選定・解説したもので、2019年末に公開されました。API固有のセキュリティリスクを把握し、対策を講じるために役立ちます。


OWASPによるAPIセキュリティ10大リスク

1.オブジェクトレベルでの許可の不備(Broken Object Level Authorization)
2.認証の不備(Broken User Authentication)
3.データの過度な露出(Excessive Data Exposure)
4.リソースの制限、頻度の制限の不足(Lack of Resources & Rate Limiting)
5.機能レベルの認可の不備(Broken Function Level Authorization)
6.一括での割り当て(Mass Assignment)
7.不適切なセキュリティ設定(Security Misconfiguration)
8.インジェクション(Injection)
9.不適切なアセット管理(Improper Assets Management)
10.不充分なロギングとモニタリング(Insufficient Logging & Monitoring)

(翻訳:SQAT.jp 編集部)


上記のような資料は、自組織のAPIセキュリティを点検する際のガイドラインとしてぜひ活用したいものです。さらに、APIを含むWebアプリケーションに対する脆弱性診断サービスを利用して、第三者視点から、自組織のシステムで使用されているAPIのセキュリティを定期的に評価することもお勧めします。

まとめ

・APIとはアプリやWebサービスなどが相互に機能やデータを利用しあうための仕組みです。
・API活用には、開発のスピードアップやコスト削減などのメリットがあります。
・近年はスマートフォンからAPIを直接利用できるケースも増えており、利用の機会が増えています。
・APIにもセキュリティ上のリスクがありますが、様々なサービスとつながるために利用するという性質から、ひとたび事故や攻撃が起こった場合、より広い範囲に影響が及ぶ可能性があります。
・APIのセキュリティ対策を怠ったことによるサイバー攻撃被害や事故が報告されています。
・OWASP「API Security Top 10 2019」などを参考にAPIのセキュリティ強化に取り組みましょう。

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像