80
隠された魔法:iPhone内部の秘密のオペレーティングシステムを覗いてみよう

Apple の世界に少しでも触れたことがあれば、「ベースバンド」という言葉を少なくとも一度は目にしたことがあるでしょう。これは通常、脱獄がなぜそれほど難しいのかという議論の中で使われることが多いです。

しかし、このように頻繁に言及されているにもかかわらず、iOSデバイスの重要なコンポーネントであるこのデバイスは、高度な技術を持つ分野以外では、あまり注目されていません。多くの場合、Appleのロックダウンされたオペレーティングシステムに違反するユーザーをブロックするファームウェアの奇妙な部品に過ぎないと思われがちですが、実際にはそれだけではありません。

カーテンの後ろの男

ベースバンドとは、モバイルデバイスの最も基本的な機能の一部を管理するハードウェアとソフトウェアの組み合わせです。携帯電話ネットワークと通信する無線を駆動し、無線信号をデバイスが実際に使用できるデータに変換し、特定のプロバイダで使用できることを確認するための認証(例えばSIMロック)を行います。

これは平凡で、退屈な作業のように思えるかもしれません。昔の人たちが掲示板システムや初期のインターネットプロバイダーに接続するために使っていた、ノイズの多いモデムの現代版と言えるでしょう。しかし実際には、これは途方もなく複雑な作業です。なぜなら、携帯電話技術は20年以上かけて進化してきた仕様の寄せ集めであり、数千ものプロトコルやその他の標準を包含しているからです。例えば、3G GSMネットワークの基盤となる3GPPの仕様は、 2,000以上の文書で構成されています。しかも、LTEやVerizonのEVDOといったより現代的なプロトコルは含まれていません。

ベースバンドは高度に特殊であるため、世界中でもごく少数の企業によってしか製造されていません。Appleはこれまで、自社のモバイル製品については2つの異なるサプライヤーに依存してきました。iPhone 3GSやiPad 2に至るまでの初期モデルは、1999年に親会社シーメンスからスピンオフしたドイツ企業、インフィニオン社によって製造されていました。最近のiPhoneとiPadには、サンディエゴに拠点を置くクアルコム社製のハードウェアが使用されています。

セルラー プロトコルを構成する標準は非常に複雑であるため、ベースバンド プロセッサでは特殊なハードウェア (およびソフトウェア) を使用する必要があります。

iOS

ベースバンド ファームウェアの主な役割はソフトウェアとハ​​ードウェア間のインターフェースであることから、コンピューターがプリンターと通信できるようにするドライバーに少し似ています。つまり、基礎となる仕様の複雑さをすべて抽象化し、電話ネットワークとデータを交換するために使用できる予測可能なプロトコルを iOS に提​​供します。

しかし、実際には状況はもう少し複雑です。プリンタードライバーとは異なり、携帯電話ネットワークと通信するあらゆるソフトウェアは、一般公開される前にFCCによるテストと認証を受ける必要があります。これは、適用される規格を考慮すると、時間がかかり、非常に複雑なプロセスです。

したがって、ベースバンドが iOS 自体の単純なアドオンであった場合、Apple は自社のオペレーティング システムのすべての新しいバージョンを再認証する必要が生じます。これは、おそらく、5 年前に誰もが不満を言っていたカット アンド ペースト機能の欠如を、いまだに私たちが待ち続けることを意味します。

ベースバンドはiOSとは独立して動作する必要があり、実際にはiOSと並行して動作する完全に独立したオペレーティングシステムです。つまり、すべてのiPhoneとiPadは(市場に出回っている他のスマートフォンやタブレットと同様に)、それぞれ異なるARMベースのプロセッサと一連の機能を備えた2つのオペレーティングシステムを同時に実行していることになります。

猫とネズミ

ベースバンドソフトウェアは、その多くのタスクの重要性から、 iOSのような一般的なオペレーティングシステムとは大きく異なります。実際には、ベースバンドソフトウェアは特別な「リアルタイムオペレーティングシステム」(RTOS)であり、特定のタスクを予測可能な時間内に実行するように設計されています。これにより、例えば、通話を構成するデータに十分な注意が払われ、通話が困難になるような中断や遅延を防ぐことができます。

ベースバンドソフトウェアは完全に独立したオペレーティングシステムであるため、ハッカーにとって格好の標的となります。ベースバンドに見つかったセキュリティ上の欠陥は、携帯電話のロック解除に利用され、本来接続されていたネットワークとは異なるネットワークで動作するように仕向けられる可能性があります。そのため、長年にわたり、熱心なセキュリティ研究者たちはApple製品の様々なベースバンドに多数のバグを発見してきました。これらのバグは、デバイスのロック設定を無視させ、ソフトウェアロック解除のエクスプロイトに利用される可能性があります。

もちろん、Appleはこれらのバグを修正し続けており、携帯電話会社の許可なしに携帯電話のロックを解除することがますます困難になっています。そのため、最近のiPhoneファームウェアのバージョンでは、悪用可能なソフトウェアの欠陥の発見がほとんどなくなりました。これは良いことです。なぜなら、モバイルデバイスとコンピューター間の物理的な接続に依存する従来の方法に加えて、ベースバンドを携帯電話の外部から悪用できることが判明したからです。

Apple 独自の CPU (A7 など) は iOS を実行しますが、ベースバンド チップでは別のオペレーティング システムが実行されます。

ナンバーステーション

ルクセンブルク大学の研究者ラルフ・フィリップ・ウェインマン氏は昨年執筆した論文の中で、インテルとクアルコムが製造する人気のベースバンドソフトウェアに存在する重大なセキュリティ上の問題をいくつか指摘した。これらの脆弱性は、不正な携帯電話基地局を利用して特別に細工したデータパッケージを脆弱なデバイスに送信することで簡単に悪用される可能性がある。

このリスクは突飛な問題のように聞こえるかもしれませんが、最近では安価なハードウェアや、まさにそのような目的のために設計されたオープンソースソフトウェアが容易に入手できるようになり、「偽の」携帯電話基地局を作ることがますます容易になっています。そのため、無線(OTA)攻撃ははるかに恐ろしいものになっています。なぜなら、不正な無線局の電波が届く範囲にいるだけで、攻撃の餌食になってしまうからです。

もちろん、これらの脆弱性を悪用すれば、ケーブルや特殊なソフトウェアを必要とせずに、スマートフォンのロックを解除するだけで済む可能性があります。これは非常に魅力的な話ですが、この方法で実行できる悪意のある攻撃の種類も非常に多く、ユーザーの操作なしにスマートフォンが自動応答するようにしたり、迷惑電話をかけてきたりするなど、実に多岐にわたります。

だからといって、iPhoneを近くの焼却炉に放り込んでアルミホイルの帽子をかぶるべきだというわけではありません。Appleとハッカーたちが繰り広げるハイテクな猫とネズミの駆け引きは、同社がこれまで以上にセキュリティに注力していることを示しています。ベースバンドは、ほとんど目に見えない部分ではありますが、今後も進化を続け、携帯電話やタブレットの正常な動作に不可欠な役割を果たしていくでしょう。