API – SQAT®.jp https://www.sqat.jp/ 「SQAT®」は、株式会社ブロードバンドセキュリティがご提供する脆弱性診断サービスです。SQAT®.jpは、BBSec セキュリティサービス本部の管理・運営によるサイトです。 Wed, 05 Apr 2023 06:42:23 +0000 ja hourly 1 https://wordpress.org/?v=5.3.15 https://www.sqat.jp/wp-content/uploads/2020/02/icon.jpg API – SQAT®.jp https://www.sqat.jp/ 32 32 攻撃者が狙う重要情報の宝庫!―スマホアプリのセキュリティ― https://www.sqat.jp/kawaraban/21057/ Thu, 01 Sep 2022 04:00:00 +0000 https://www.sqat.jp/?p=21057 "攻撃者が狙う重要情報の宝庫!
―スマホアプリのセキュリティ―" の
続きを読む

]]>

私たちが日常的に利用するスマホアプリのサービスは、開発者によって多様な機能が連携され、提供されています。しかしスマートフォンは、サイバー攻撃のターゲットになってしまう魅力的な重要情報の宝庫となっており、攻撃者に狙われることも多いです。本記事では、なぜスマホアプリが狙われるのか?スマホアプリのもつ脆弱性情報のご紹介をしつつ、セキュリティ対策にむけた考え方を解説していきます。

なぜスマホアプリは攻撃者に狙われるのか

一人一台以上のスマートフォンを所持・活用しているのが当たり前とされる現代において、私たちは日常的に様々なスマホアプリを利用しています。それらのスマホアプリがサービスとして提供されている裏では、スマートフォンが備えている多様な機能とスマホアプリとが開発者によって連携され、それによりスマホアプリのサービス提供が実現しています。利用者がアプリ上でのみ操作を行っているつもりでも、実際はアプリとスマートフォンの持つ機能が連携することで、便利なサービスを利用できているのです。

しかし便利な一方で、スマホアプリはサイバー攻撃のターゲットとされることも多くあります。なぜならスマホアプリは以下の3つの特徴を持っているためです。

重要情報の宝庫

スマホアプリではWebアプリよりも多くの重要情報が扱われます。例えば連絡先情報、メールや通信のログ、GPS(位置情報)、決済情報、さらには利用者が何を好むかといった趣味嗜好など個人に関する情報が多様に含まれています。これらの情報が集まっているスマホアプリは、攻撃者にとっては魅力的な重要情報の宝庫といえます。

もし攻撃者に狙われた場合、これらの重要情報が漏洩してしまう可能性があります。

ユーザ側での端末管理

Webアプリではサービス提供者が管理しているサーバ側で情報を保持していましたが、スマホアプリでは各ユーザ端末側に情報が保持されているものが多くあります。Webアプリの場合はサービス提供者側がセキュリティソリューションを活用したりすることでセキュリティ対策を行っていましたが、スマホアプリのように各ユーザ端末側で情報が保持されている場合、セキュリティ対策の実施はユーザ個人に依存するため、セキュリティ対策が十分に行われていないこともあります。特にスマートフォンに関するセキュリティ対策情報は、パソコンのセキュリティ対策に比べてユーザにあまり認知されていないため、ユーザのセキュリティ意識がパソコンよりも薄い状況にあります。

もしスマートフォンのセキュリティ対策が十分にされていなかった場合、脆弱な状態や設定のまま放置され、そのままアプリ連携や端末間での共有がなされることで、ユーザが意図しない手段や経由により不正アクセスが行われる可能性があります。

常時外部と接続状態

Webアプリはブラウザからアクセスしますが、スマホアプリではアプリごとに独自開発された機能によってアクセスします。また、スマートフォンは常時電源がオンになっており、インターネットにも常時接続されている状態です。

そのため、例えばあるスマホアプリで非暗号化通信での情報のやり取りなどが行われて重要情報が外部から見えるような状態であった場合に、常時接続状態であるスマートフォンは攻撃者に狙われる隙が生まれやすくなってしまいます。これにより不正利用・操作や、通信内容の盗聴・情報改竄が行われる可能性があります。

攻撃者にとって重要情報の宝庫であるのにも関わらず、セキュリティ対策がユーザ側に依存し、また常時インターネットに接続状態となっているため、攻撃の隙も生まれやすい。これがスマホアプリが攻撃者に狙われやすい理由です。またBYOD(Bring Your Own Device)を導入している企業も増えてきたため、個人のスマートフォンが攻撃されることで、企業への攻撃の踏み台にされる可能性もあります。

スマホアプリにおける情報漏洩の事例

実際に近年起きたスマホアプリにおける情報漏洩は下記のようなものがあります。

スマホアプリにおける脆弱性の届出状況

IPAおよびJPCERT/CCが発表している「ソフトウェア等の脆弱性関連情報に関する届出状況[2022年第2四半期(4月~6月)]」によると、2022年の第2四半期(4月~6月)までで届出が出されている脆弱性を製品種類に分けて集計すると、スマホアプリの脆弱性はソフトウェア製品全体の8%となっており、ウェブアプリケーションソフトとルータに次いで多く検出されている結果となりました。スマホアプリ開発段階で脆弱性を見落とされて、そのままリリースされてしまった場合、スマホアプリを利用するすべての人々に影響が及ぶ可能性があり、情報漏洩事故につながってしまう恐れがあります。

スマホアプリのセキュリティの対策にむけて

誰もがスマートフォンを利用しているからこそ、実際に被害に遭う可能性を誰しもが持っています。また、攻撃の影響は多くの人々に及ぶことが想定されます。ユーザ目線では被害を受けないための、またスマホアプリを提供する側目線では被害を防ぐためのセキュリティ対策を心掛けることが重要でしょう。

今回はスマホアプリを提供する上で重要な考え方や手段を大きく3つご紹介します。

脆弱性情報の収集

脆弱性情報を取りまとめている機関*1等から定期的に脆弱性情報を収集し、セキュリティの最新情報や対策方法を取り入れることで、普段からセキュリティに対する意識を高める必要があります。

セキュアコーディングを意識した開発

セキュアコーディングとは開発段階で攻撃に耐え得る堅牢なプログラムを書くことを指します。セキュアコーディングのガイドライン「Androidアプリのセキュア設計・セキュアコーディングガイド」を活用することで、スマホアプリ開発段階から脆弱性の有無を知り、より早い対策を実施することができます。また、より早い段階で対策ができれば、リリース後の手戻りやコストの発生も防ぐことができます。このようなシフトレフトを実践することも重要な考え方の一つです。

セキュアなアプリケーション開発の考え方について、SQAT.jpでは以下の記事でご紹介しています。
こちらもあわせてご覧ください。
Webアプリケーション開発プロセスをセキュアに ―DevSecOps実現のポイント―

信頼できる第三者機関の脆弱性診断サービスを実施

企業として実施できるセキュリティ対策として、信頼できる第三者機関による脆弱性診断が挙げられます。第三者の専門家からの診断を受けることで、現状の問題点や対応の優先順位などリスクを可視化することができるため、早急に効率よく対策を実施するのに役立ちます。

APIのセキュリティ対策

APIのセキュリティ対策のサムネ

スマホアプリと切っても切れないものとして、API(Application Programming Interface)が存在します。スマホアプリはAPIを経由してサーバとやり取りをしているケースが多く、セキュリティ対策を行ううえでAPIを無視することはできません。

APIにおいてもWebアプリと同様に様々なセキュリティリスクが存在しますので、スマホアプリ、Webアプリと同様に最適なセキュリティ対策をとることが大切です。

APIのセキュリティに関する10大リスク

APIにおけるセキュリティ対策を講じるうえで役立つ情報として、Webアプリケーションセキュリティに関する国際的コミュニティOWASP(Open Web Application Security Project)が公開している「OWASP API Security Top 10」があります。

SQAT.jpでは以下の記事でご紹介しています。あわせてご覧ください。
APIのセキュリティ脅威とは

スマホアプリ脆弱性診断とは

「スマホアプリのセキュリティ対策」に既述した脆弱性診断サービスですが、そういったサービスの活用がなぜ必要なのでしょうか。その理由は図の通りです。

スマホアプリ脆弱性診断とはのサムネ

スマホアプリ診断で検出される脆弱性項目例

例えば弊社のスマホアプリ診断において検出数の多い脆弱性項目としては、下記のようなものがあります。このような脆弱性はなかなか開発段階で自社の目線からすべて網羅するのは難しく、脆弱性診断サービスを使うことで効率よく発見することが可能です。

重要情報の漏洩

<例>
・スマートフォン内部の記憶媒体領域(ストレージ等)に認証情報が保存されている
・スマホアプリからサーバ側に通信を行う際に、URLパラメータ等が暗号化されていないままの状態であるために認証情報が露呈している

重要情報がスマホアプリ側だけではなく、ユーザのスマートフォン内部など他の領域で確認できる状態であるために、攻撃者に情報が漏洩してしまう可能性があります。

不正な行動・操作が可能

<例>
・信頼境界へのアクセスが厳密に制御されていない状態である
・外部アクセスの制御不備などにより、スマホアプリの権限外のユーザによるアクセス制御が可能である

スマホアプリではAPIや他のアプリとの連携、スマートフォン内部の記憶領域など、外部との通信が頻繁に行われます。その中で、信頼できない外部からのアクセスを制御するといった対策が厳密に行われていないために、攻撃者から不正な操作の実行や、データ改竄および不正利用される可能性があります。

難読化処理の未対応

<例>プログラムコードが難読化されていないため、リバースエンジニアリングによるソースコード解析が可能な状態である

攻撃者により、スマホアプリの機能およびロジック分析が行われた場合、弱点をついた攻撃手法の分析や技術情報の解析につながる可能性があります。

誰もがスマートフォンを利用している今、攻撃の被害が多くの人々に影響を及ぼす可能性があるからこそ、スマホアプリにおいて次の攻撃につながる情報が漏洩したり、スマホアプリの改竄が行われたりする可能性を摘んでおくことが、スマホアプリを提供するうえで重要となります。

スマホアプリ脆弱性診断のサービスバナー

スマホアプリ脆弱性診断に+α

開発者視点でのスマホアプリの品質管理、セキュアコーディング、セキュリティ設定のチェックにはソースコード診断サービスもあわせて実施することを推奨しています。スマホアプリに潜在する脆弱性をソースコードレベルで診断することで、さらなるセキュリティ向上にお役立ちできます。


スマホアプリの進化にあわせた対策を

スマホアプリは様々なかたちで利用され、日々利便性が向上されています。それに伴い開発・提供者側はより高度な機能を活用し、扱う分野や範囲も広がってきています。すでに述べてきたように、機能の利便性の反面、Webアプリと比べてスマホアプリは独自のリスクを抱えています。そのため、基本的なセキュリティ対策はもちろん、より強固なセキュリティ対策を行うことが、サイバー攻撃を防ぐカギとなります。

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


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

]]>
APIのセキュリティ脅威とは https://www.sqat.jp/tamatebako/10157/ Tue, 25 Aug 2020 05:05:24 +0000 https://18.176.230.225/?p=8928 "APIのセキュリティ脅威とは" の続きを読む

]]>

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のセキュリティ強化に取り組みましょう。


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

]]>