2019年のアプリケーションセキュリティの予測を振り返る: API攻撃(WAF)
トピック: APIセキュリティ
2019年12月19日、Tushar Richabadas
年初は、今年以降に大きな問題になる攻撃ベクタに関する3つの予測を行いました。年末は、この3つの予測を振り返ります。ソリューション#2はAPI(アプリケーションプログラミングインターフェース)攻撃への対策です。
予測:
現在のAPIセキュリティには問題があります。ほとんどのAPIは、消費者が直接使用しておらず、ごく最近までは広く活用されていませんでした。… API保護は、企業が大規模なデータ侵害を防止するために、今年注力する必要があるもう1つの分野です。
過去2年間、UberはAPIの脆弱性をさらしてきました。その一つは、ユーザが無料で乗車できるというものでした。この脆弱性を発見した調査担当者は、Uberアプリの支払APIを詳細に調査し、このAPIがユーザの降車時に支払方法を検証しないことを特定しました。このため、このAPIを悪用して、無効な方法を支払方法として指定し、支払を行わずに降車できました。
調査担当者は第2の脆弱性も発見しました。この脆弱性の方が、Uberの運転手とユーザにとって、はるかに危険です。UberのAPIの一部を悪用して、有効な電話番号またはメールアドレスを送信すると、ユーザのUUID(Universally Unique Identifier)を取得できました。このUUIDを悪用すると、ユーザのアプリのアクセストークンと多くの個人情報を取得できました。このアクセストークンとUUIDを悪用すると、アカウントを乗っ取ることができました。
Uberだけが、このような問題を抱えているわけではありません。BlackHatカンファレンスの公式アプリ、T-Mobile(2回)、AT&T、TrueCaller、JustDial、AirTel、および複数のIoT(モノのインターネット)デバイス(子供のスマートウォッチを含む)が、過去2年間、APIの脆弱性をさらしてきました。十分なセキュリティを確保せずに、APIベースのアプリケーションを導入する企業がますます増加しているため、このペースは加速する一方です。
残念ながら、APIの導入が進んでいる一方、そのセキュリティニーズの理解は遅々として進んでいません。多くの場合、APIベースのアプリケーションがリリースされると、APIの提供とスケーラビリティは非常に考慮されますが、セキュリティはほとんど考慮されません。一般的に、APIは、ほとんどの人が理解していない非常に技術的なものであると考えられているようです。
最近は、APIの無数の増加というもう一つの問題も発生しています。現在、企業は忘れるほど無数のドメインとアプリケーションの管理に悩んでいますが、セキュリティ管理者はAPIの発見という問題にも直面しています。多くの場合、セキュリティ管理者は導入済みのAPI、公開のAPIの数、および非公開のAPIの数を意識していません。上記の例の少なくとも2つ(JustDialとAirTel)では、発見されたAPIは非公開のテストAPIでした。しかし、このAPIは、インターネット上に公開され、幸いにも、善意のハッカーに発見されました。
現在、分割払いによる電話の購入からオンラインによる昼食代の支払まで、さまざまな機能を実現するために相互に通信するシステムの数は膨大であり、そのすべてがAPIを使用しています。アプリケーションが大規模な侵害を受けることも、企業が破産することもないように、APIには強力なセキュリティが必要です。上記の脆弱性は長年にわたって知られてきたよくあるWebアプリケーション脆弱性であり、プログラミング(推測/列挙できないID)と防止技術(レート制限、ロックアウト)の両方による対策も知られてきました。
下記はAPIを保護するための基本的な手順です。
- SSL(Secure Sockets Layer)/TLS(Transport Layer Security)フロントエンドをすべてのアプリケーションに設定する。
- セキュアで堅牢なパーサを使用する。
- アクセス制御とセッションセキュリティをAPI向けに導入できるようにする。つまり、JWT(JSON Webトークン)またはOAuthを使用する。
- コマンドベースのセキュリティ制約とアクセス制御を適用する。
- 許可するHTTPメソッドをホワイトリストに追加する。
- 最小権限とフェールセーフの原則(デフォルトのアクセス権限は、なし)を活用する。
- URL内の情報を漏洩せず、セキュリティトークンをハッシュできるようにする。
- 下記を検証する。
- すべてのユーザ入力
- すべての入力パラメータ
- 受信コンテンツタイプ
Barracuda Web Application Firewallでは、WebアプリケーションとAPIアプリケーションが、ホスティングされている場所に関係なく、完全に保護されます。このため、Web、モバイル、およびAPIのアプリケーションセキュリティを簡単に設定できます。XML(Extensible Markup Language)スキーマ/WSDL(Web Services Description Language)とOpenAPI Specificationをインポートすると、APIをさらに簡単に発見および保護できます。
Barracuda Web Application FirewallはAPI攻撃サーフェス全体を保護できます。堅牢なXMLパーサとJSON(JavaScript Object Notation)パーサを含むリバースプロキシとして、すべてのトラフィックをインターセプトし、動的に作成されるURL、リソース名をディレクトリとするURLなど、アプリケーションのすべての部分を保護します。また、APIをセキュアに提供および拡大縮小するためのAPIゲートウェイ機能を実装しています。無料の30日間の評価機/評価版については、バラクーダのサイト(www.barracuda.com/waf)をご参照ください。
アカウント乗っ取りの予測を振り返るには、このブログをご参照ください。
製品のご紹介:Barracuda Web Application Firewall
原文はこちら:
Reviewing our 2019 AppSec predictions: Attacks against APIs
December 19, 2019 Tushar Richabadas
https://blog.barracuda.com/2019/12/19/reviewing-our-2019-appsec-predictions-attacks-against-apis/