「スマホの電源がオフの間も監視するマルウェア」はどのように動いているのか?

「NSAは電源がオフになっている状態のiPhoneを利用して盗聴することができる」とエドワード・スノーデン氏が主張しているように、電源を切っても特定のスマートフォンを遠隔操作することは可能と言われています。ユーザーが電源をオフにした後でもハッカーが電話を発信したり写真を撮影したりできるというマルウェアも実際に中国などで発見されていますが、どのような仕組みなのか、AVG Now Official Blogが解説しています。
Malware Is Still Spying On You After Your Mobile Is Off
http://now.avg.com/malware-is-still-spying-on-you-after-your-mobile-is-off/
このマルウェアに感染しているAndroid端末で電源ボタンを押すと、シャットダウンのアニメーションが表示され、その後スクリーンが真っ黒になって電源が落ちたかのように見えます。しかし、実際のところスマートフォンの電源は完全には落とされておらず、ハッカーから遠隔操作が可能な状態に。ユーザー本人の気づかないうちにスマートフォンが操作され、電話の発信や写真の撮影が行われるのです。
マルウェアの動きを知る前に、まずはスマートフォンの電源ボタンを押すと何が起こるのかを解説するとこんな感じ。Android端末の電源ボタンが押されると「interceptKeyBeforeQueueing」が呼び出され、端末で電源ボタンが押されているのか、そしてシャットダウンの処理が行われているのかを確認します。

電源ボタンから指が離されるとRunnableのトリガーとなる「interceptPowerKeyUp」が呼ばれます。下記のコードの中に「LONG_PRESS_POWER_GLOBAL_ACTIONS」というものがあり、電源ボタンから指が離されるとアクションが起こることが分かります。アクションの中に記されている「showGlobalActionsDialog」は電源オフや飛行機モードを選択する時に開かれるダイアログなので、開かれるようです。

電源オフオプションが選択されると「mWindowManagerFuncs.shutdown」が呼び出されます。

しかし、実際に呼び出されているのはシャットダウンプロセスのエントリーポイントである「ShutDownThread.shutdown」機能。ShutDownThread.shutdownはまず無線サービスをストップさせ、電源を切るためにパワーマネージャーサービスを呼び出します。

以下の画像では「nativeShut down」となっているのが分かります。


ということで、ハッカーがスマートフォンを乗っ取りたい場合には、電源オフを選択した時に現れる「mWindowManagerFuncs.shutdown」プロセスを妨害すればOKというわけです。その方法は以下の通り。
まず、マルウェアをルートパーミッションに適合させます。ルートパーミッションが求められたらマルウェアは「system_server」プロセスを注入し、「mWindowManagerFuncs」を妨害。mWindowManagerFuncsが妨害された状態で電源ボタンが押されると偽のダイアログが立ち上がり、そのまま電源オフオプションが選択されると偽のシャットダウンアニメーションが開始します。そして電源ボタンから指が離されるとスクリーンは真っ黒になり、あたかも電源が落とされたかのような見た目に変化するのです。最後に「スマートフォンの電源オフ状態」を作り上げる仕上げとしていくつかの通信サービスを傍受すれば完璧。

通話の録音や……

プライベート・メッセージの転送などが行われます。

・関連記事
電波を完全に遮断する「OFF Pocket」でスマートフォンへの通信を遮断してみた - GIGAZINE
電源をオフにしたiPhoneのマイクロフォンを使ってユーザーを盗聴&監視することが可能 - GIGAZINE
HDDのファームウェアに感染するマルウェアが登場、逃れる術はないことが判明 - GIGAZINE
スマホにマルウェアを感染させ個人の行動を監視する政府向けのサービス「Galileo」の存在が明らかに - GIGAZINE
国民監視用マルウェア詰め合わせキット「FinFisher/FinSpy」の内部文書やソースコード40GB分がリークされて誰でもダウンロード可能に - GIGAZINE
NSAが10万台のPCを無線で監視しマルウェアを送り込んでいる疑いが浮上 - GIGAZINE
Skypeの通信はすべてリアルタイムで盗聴可能だったことが明らかに - GIGAZINE
・関連コンテンツ
in ソフトウェア, Posted by darkhorse_log
You can read the machine translated English article How does "Malware to be monitored while ….