Simjacker:SIMカードを利用した携帯電話のハッキング

2019年10月8日

AdaptiveMobile Securityのエキスパートは先日、普通のコンピューターと激安のUSBモデムを使用して実行可能な携帯電話への攻撃(英語サイト)の手法を発見しました。以前に見られた携帯電話への攻撃の中には特別な機器と通信事業者のライセンスが必要なものもありましたが、「Simjacker」と呼ばれる今回の攻撃は、SIMカードで見つかった脆弱性を利用します。

S@T Browserというアプリ

2000年代初頭以降に登場したSIMカードの大半(eSIMも含む)には、通信キャリア関連のメニューがあります。このメニューには残高確認、リチャージ、テクニカルサポートなどの項目があり、天気予報や星座占いなどの追加メニューまであります。古い機種の携帯電話では、メインメニューの中にありました。iOSの場合は[設定]-[モバイル通信]の中にあり、Androidの場合は「SIM Toolkit」という独立したアプリになっています。

このメニューは実際のところアプリで、より正確に言うと「SIM Toolkit(STK)」と総称される複数のアプリです。ただし、これらのプログラムは携帯電話上ではなく、SIMカード上で実行されます。SIMカードは独自のOSとプログラムを持ち、実質的に極小のコンピューターと言ってよいものです。STKは外部からのコマンド(通信キャリアメニュー上のボタンがタップされるなど)に応答して、SMSメッセージやUSSDコマンドの送信といった特定の操作を携帯電話に実行させます。

STKに含まれるアプリの1つに「S@T Browser」があります。特定フォーマットのWebページや通信事業者の内部ネットワークにあるページを表示するのに使用されるアプリで、たとえば利用者のアカウント残高に関する情報を取得したりできます。

S@T Browserは、2009年以降アップデートされていません。最新の機種では他のプログラムがその機能を担うようになっていますが、S@T Browserは今でも活発に使用され(少なくとも、数多くのSIMカードにインストールされ)ています。調査チームは、このアプリがインストールされているSIMカードを販売している地域や通信事業者の名前を明らかにしていませんが、少なくとも30か国において10億人以上の利用者が存在すること、また前述の脆弱性が発見されたのはS@T Browserの中であったことを指摘しています。

Simjacker攻撃

攻撃はまず、SIMカードに対する一連の指示を含むSMSの送信から始まります。指示を受け取ったSIMカードは、電話のシリアル番号と、加入者のいる場所を圏内とする基地局のIDを携帯電話に対して照会し、これらの情報を含むSMSを攻撃者の電話番号に返信します。

基地局の座標は既知である(オンラインでも入手できる)ため、基地局IDを使用して加入者の位置を数百メートルの範囲まで特定できます。特に位置情報サービスは、たとえば建物の中にいるときやGPSがオフになっているときなど、衛星に頼らずに位置を割り出す際に同じ原理を利用しています。

ハッキングされたSIMカードを通じて行われる操作は、利用者には一切見えません。コマンドを含むSMSの受信もデバイスの位置情報を含む返信も「メッセージ」アプリには表示されないため、被害者はスパイ行為が行われていることにほぼ気づきません。

Simjackerの標的となったのは

AdaptiveMobile Securityによると、攻撃者は複数の国(具体的な国名は明らかにされていません)にいる利用者の位置情報を追跡していました。そのうちのある国では、1日あたり100~150の番号が被害に遭っているとのことです。一般に、リクエストが送信されるのは週に1回程度ですが、被害者の中にはもっと細かく行動を監視されている人もあり、悪意あるSMSを週に数百通も送りつけられていた人が数名いました。

Simjacker型攻撃のさらなる可能性

調査チームが指摘しているように、サイバー犯罪者たちはS@T Browserを通じて利用可能な機能をすべて利用していたわけではありませんでした。SMSを使用してできることと言えば、たとえば任意の電話番号に電話をかける、さまざまな文面のメッセージを無作為に選んだ番号に送信する、ブラウザーでリンクを開くなどがありますし、SIMカードを無効化して電話を使えなくすることも可能です。

この脆弱性は、さまざまな攻撃シナリオの可能性を広げるものです。銀行の番号にSMSを送ることで送金する、有料の短縮番号に電話をかける、ブラウザーでフィッシングページを開く、あるいはトロイの木馬をダウンロードするといった攻撃も可能になります。

この脆弱性が特に危険である理由は、脆弱性を持つSIMカードが挿入されているデバイスだけにとどまらない点にあります。STKコマンドセットは標準化されており、すべての電話がこれに対応しているだけでなく、SIM搭載のIoTデバイスも対応しています。電話をかけるなどの一部の操作を行うにあたって利用者の確認を必要とするデバイスもありますが、多くのデバイスは確認を必要としません。

Simjackerの攻撃から身を守る方法

残念ながら、利用者側でSIMカード攻撃を阻止する方法はありません。顧客のセキュリティを確保するのは通信事業者の義務です。何よりも、古いSIMメニューアプリの使用は避けるべきですし、危険なコマンドを含むSMSはブロックすべきです。

しかし、悪いニュースばかりではありません。この攻撃を実行するのに高価なハードウェアは必要ないとはいえ、綿密な技術的ノウハウと特別なスキルが必要であることは確かです。言い換えると、この手法を誰でも使えるわけではありません。

調査チームは、S@T Browserの開発元であるSIMallianceに、この脆弱性について知らせました。これを受けて同社は、このアプリを使用している通信事業者向けにセキュリティガイドライン(英語ファイル)を公開しました。また、Simjacker攻撃については、携帯通信事業者や関連企業の利益を代表する国際的業界団体であるGSM Associationにも報告されています。通信事業者側でできる限り早期に必要な対策を講じることが望まれます。