1,000以上のiOSアプリに潜むSSL脆弱性──自分のアプリが該当するか確認する方法
AndroidおよびiOSアプリを監査するコード分析プラットフォーム「SourceDNA」は、1,000を超えるiOSアプリに、ユーザーの金融情報を危険にさらしかねない深刻なセキュリティ脆弱性が存在するとするレポートを発表しました。
このバグがあると、アプリがSSL証明書を正しく認証できなくなり、中間者(MITM)攻撃をはじめとするさまざまな攻撃にさらされる可能性があります。iOS自体のセキュリティには影響しませんが、該当アプリを通じてやり取りされるユーザーデータが漏洩の危険にさらされる点は見過ごせません。
SSL検証を無効化する、単純なロジックエラー
問題のバグは、App Storeの数千のアプリで利用されている人気のオープンソースネットワークライブラリ「AFNetworking」に存在します。これは単純なロジックエラーで、SSL検証が実際には実行されず、すべての証明書チェックが「有効」として返されてしまうというものです。HeartbleedやShellshockのような大規模なセキュリティ災害とは言えませんが、バグを含むアプリを使っているユーザーにとっては重大な問題です。
幸いにも、このバグが存在したのは約6週間だけでした。バージョン2.5.1で混入し、2.5.2で修正されています。「これで一件落着」と考えるのが自然でしょう。
しかし残念ながら、話はそう簡単には終わりませんでした。
悲しいことに、多くの開発者はバグ修正を自らのアプリへ積極的に反映していません。パッチが入手可能であるにもかかわらず、修正前のAFNetworkingを使い続けているアプリが多数存在します。SourceDNAがAFNetworkingを組み込んだ2万件のアプリを分析したところ、約1,000件が依然として壊れたSSL検証を使っていることが判明しました。
SourceDNAは、数千のアプリのバイナリファイルを解析できるアナリティクス技術によってこの調査を実現しました。この技術は、アプリがどのライブラリでビルドされているかだけでなく、そのライブラリのどのバージョンかまで特定できます。既知のバグや脆弱性の影響を受ける可能性のあるアプリを見つけるうえで、極めて有用な能力です。公開された論文では次のように説明されています。
「SourceDNAは差分フィンガープリントを作成し、脆弱なコードを特定しました。これは、対象バージョンにのみ存在(または欠如)し、それ以前・以降のどのバージョンにも見られない固有の特徴のセットです。このシグネチャ群によって、当社の分析エンジンは各アプリが使用しているAFNetworkingの正確なバージョンを突き止めることができました」
影響を受けたアプリの多くは、ユーザーのクレジットカードデータを保存・送信しており、Alibaba.comのモバイルアプリ、KYBankAgent 3.0、Revo Restaurant POSなどが含まれます。数百万のユーザーが脆弱なアプリをiOSデバイスにインストールしており、わずか6週間のバグからは想像もつかないほど広範な露出となっています。
「全体の5%、約1,000のアプリにこの欠陥がありました。これらのアプリは重要なものでしょうか? 当社のランキングデータと照合したところ、Yahoo!、Microsoft、Uber、Citrixといった大手の名前が挙がりました。わずか6週間だけセキュリティ上の欠陥をもたらしたオープンソースライブラリが、何百万人ものユーザーを攻撃に晒していたのです」
AFNetworkingバグの影響を評価する
では、この脆弱性はどれほど深刻なのでしょうか? このバグを悪用すると、攻撃者はアプリに対し「信頼できるサーバーと安全な接続で通信している」と思い込ませることができます。脆弱なアプリを使っている場合、同じWi-Fiネットワークに接続した第三者が中間者攻撃を仕掛け、クレジットカード情報などの機密データを含む通信を傍受できるのです。盗み出された情報は、なりすましなどの詐欺行為に悪用される恐れがあります。さらに、この種の攻撃は自動化も可能で、人気アプリをまとめて標的にするシナリオさえ考えられます。
報道を受けて、MicrosoftやYahooなど一部の企業は迅速にアップデートと修正をリリースしました。しかし、大多数のアプリは今なおパッチ未適用のままです。自分が使っているアプリが該当するかどうかは、SourceDNAの検索ツールで確認できます。脆弱性が残るアプリが見つかった場合は、当面はそのアプリを削除し、開発者に早急な修正リリースを求める連絡をするのが最も安全な対策です。
SourceDNAは優れたツールであり、その技術が実際に役立つことを証明しました。コンピュータセキュリティの確保は決して容易ではなく、開発者の協力の有無にかかわらず未修正のバグを自動的に洗い出せる仕組みは、ユーザーの安全にとって大きな前進です。こうしたチェックがなければ、この広範なバグはおそらく長期間放置されていたでしょう。この種の分析は、世間の監視という圧力を生み、開発者の説明責任を大きく高めます。SourceDNAが今後も未発見・未解決の問題を次々と掘り起こしていくことは、十分にあり得ることです。
あなたのiOSデバイスはAFNetworkingバグの影響を受けていませんか? 新しいコード分析ツールについて、どう感じますか? ぜひコメント欄でお知らせください!
画像クレジット:「US Navy Cyberwarfare」「iPhone front」「iPhone camera」(Wikimedia)
-
Windows 10 PCでiOSアプリを実行する方法|おすすめエミュレーター11選を徹底解説
世界中には、Windowsパソコンを所有しながらiOSアプリも使ってみたいと考えている人が大勢います。iOSアプリは優れた機能を数多く備え、使い心地も抜群なので、その願いにも十分な理由があります。もしあなたもその一人なら、この目的のために開発されたシミュレーターやエミュレーター、仮想クローンがいくつも存在します。それでは早速、これらのツールを使ってWindows 10 PCでiOSアプリを実行する方法を見ていきましょう。 Windows 10 PCでiOSアプリを実行するには? まず最初にお伝えしておきたい重要な事実があります。実は、Windows 10 PCでiOSアプリを実行する「公式かつ
-
iOSアプリでUISearchControllerを使う方法!TMDB APIと連携した映画検索アプリの作り方
こんにちは!この記事では、iOSアプリにおけるUISearchControllerの使い方を、実際に映画検索アプリを作りながら解説していきます。今回作るもの今回は、TMDB APIを使って映画情報を取得し、ユーザーが入力した検索キーワードに基づいてUICollectionViewで結果を表示する映画検索アプリを構築します。プロジェクトのセットアップXcodeを開き、新しい空のiOS Appプロジェクトを作成しましょう。その際、SwiftUIではなくUIKitを選択してください。このアプリではMVCパターンを採用するため、以下のようなグループとSwiftファイルを作成してプロジェクトを整理します