なんとな~くしあわせ?の日記

ClojureとかAWSの設定とかをメモする技術ブログ

Androidがハッキングされて遠隔操作された

表題通り、かなりびっくりしたので記録を残しておく

Androidがおかしな挙動をする

一度目の怪現象


(1)chromeが勝手に操作される
7月31日(金)9時ごろ、ウォーキング中にchromeが勝手に起動して以下のような履歴が残る


(2)LINEで勝手にメッセージが送られる
以下のTwitter診断サイトのURLが私の友達5人にトークで送られていた。
なお返信はなかったもよう。

あなたをフォローしているクラスタTOP10

その時の状況

・Runkeeperというアプリで位置情報を送りながら/Androidスマホを電源つけたまま歩いていた

対応

・ついにGoogleのID/Passがどこかから漏れたかなと思い、とりあえずアカウントの情報を変更した

攻撃者の見ていたサイト

Travis
・毛の壁のサイト(なぜ?)
・Yahooにログイン試行
・Qiita
・veohでアニメ(名前忘れた)
・アプリメーカー

二度目の怪現象


(1)chromeが勝手に操作される
8月1日(土)8時すぎごろ19時45分ごろ*1、またもやウォーキング中にchromeが勝手に起動する。
夜道でいきなりそれが起きたので気が動転してスクリーンショットはとっていない。
(2)Android内蔵音声がいきなり鳴る
(3)勝手にカメラが作動して撮影しだす(※カメラではなくビデオ、一応ファイルは存在するが特に面白くもないのでアップはしない。外は真っ暗だったし何も写っていない。改めてファイルを見てみると自分の手と、ちょっとだけ声が入っていた。恥ずかしい。)

その時の状況

・Runkeeperというアプリで位置情報を送りながら/Androidスマホを電源つけたまま歩いていた

対応

・恐ろしくなったので電源を切った

攻撃者の見ていたサイト(スクリーンショット無し)

・近所の天気予報
・ヴィゴモーテンセン関連サイト(私の今のTwitterのアイコンがそれ)
はてな
はてな匿名ダイアリー
・クレジットカードへのアクセスをほのめかすサイトを履歴に残していた

考察

ハッキングに利用された脆弱性はStagefrightではないかと思う
JVNVU#92141772: Android Stagefright に複数の脆弱性
gigazine.net
japanese.engadget.com

という根拠は

ハックの危険性は、Googleが定義する指標でもっとも危険な「クリティカル」よりひとつ下の「高」。具体的には、リモートからアプリ権限での任意コード実行を許す脆弱性が分類されます。Androidはアプリを隔離してサンドボックス実行するため、悪意のあるコードが全アプリの情報にアクセスできるわけではありませんが、一方でカメラやマイクなどへのアクセス、メッセージの読み取り、SDカード領域のファイル読み取りや外部送信などは可能です。

・まあ、なんかサンドボックスとか越えてガンガンアプリにアクセスされていたので複数脆弱性を利用されたとかいろいろあるかもしれません

あとがき

・京セラ氏〜、早くこれのパッチ出してくだされ〜
・対応策に関する情報が真剣にほしいです、誰か情報ください!
Android側にファイルを仕込む形で操作しているはずなので、どんなファイルを置いているのかわかればいいのですが
・人生二度目の被ハッキングでした、いくら技術目的とは言えクソ腹立つ

nantonaku-shiawase.hatenablog.com

追記1

・物的証拠や第三者による観察がないので決定的な証跡に乏しい、検証のためAndroid自体のファイルをすべてバックアップしてから初期化するつもり
Androidのファイルをよく見ていると、2015年 8月 1日(土) 18:55:54のタイムスタンプでカメラが作動して3枚写真が撮られていた。もちろんポケットの中に入っているので何も写っていないが一応はてなフォトライフにあげておく(圧縮されているがExif情報は消えていないようだ。位置情報とかも入っているので機種情報とか知りたい方は見てどうぞ → 
404KC - panzer-jagdironscrap1's fotolife
)。
熱暴走って意見がブコメで出てるけど…カメラとかビデオ撮ったり、14kmのウォーキングの最中にLINEで特定の文字列を打ち込んで5人にトーク送信したり、見たことのないアニメをあえてveohでURL直打ちで見たりって多分できないと思うんですよ…

Android内のデータを物色して出てきたものとか

・LINEの一斉トーク発信は7/31 21:11 に発生したが、その2分後にsimejiの変換履歴がファイルとして残っていた。一応言っておくがこのような文字を打った記憶はない。まあもちろんこれを私が自作自演で打つことはできるので何の証拠にもならないが。

-rw-r----- 1 xxxx xxxx       43  7月 31 21:13 ./apps/com.adamrocker.android.input.simeji/f/fixed_phrase_history

$ cat ./apps/com.adamrocker.android.input.simeji/f/fixed_phrase_history
今夜飲まない?
====----****----====

・LINEの一斉トーク発信の時刻が最終の更新タイムスタンプになっているSQLite3のデータベースファイルが残っていた。詳細はわからず。
・結局Androidの内部を全部さらっても何も出てこなかった、かなりくやしい。

追記2

つらつら調べていると、最近は*2Android端末をWEB上から操作できるアプリケーションが出ているらしい。そのようなアプリケーションが勝手にインストールされていたとしたら、このような攻撃も可能になるだろう。

もともとAndroidにおいてもリモートデスクトップ的なサービスはあった。最初はPC側のVNC serverにリモートログインできるだけのクライアントアプリしか見かけなかったが、以下のように Android側に立てたVNC serverをクライアントからいじるようなものも出てきているようだ。
Android端末をリモート操作するアプリ3つ! -- ぺけみさお

上で紹介されているアプリはroot化や、特殊な条件が必要ではあるが、遠隔からAndroidを操作するという点では目的を達成できそうだ。

さらに検索してると怪しげなアプリも見つかる

Cerberus for Android

Cerberusはスマホを遠隔操作できる最強アプリ
ケルベロスを運営しているサーバにログインして対象のAndroid端末を操作する形式。操作履歴がサーバ上に残りそうだが…

Android Lost

監視アプリ「Android Lost」でスマホ遠隔操作
上よりも後発のアプリだと思われる。紹介記事では軽く流されているが、これは普通に危ない気がする。というのは、グーグルアカウントのログインを伴うとはいえ、Android Lost上での操作履歴、情報はAndroidLostを運営するサーバには当然残るわけでして。

*1:Androidに残っていたファイルから時間を正確に出すことができた

*2:というか遠隔操作自体は昔から有る技術、VNCとか聞いたことありますよね?