CasperJSと類似画像分類で見えてきた、Android野良アプリの具体的な危険性:統計で見るサイバーセキュリティ群像劇(4)(1/2 ページ)
筆者が独自に収集した統計データを基に、サイバーワールドの裏側を探る本連載。今回は、「使うのは危険だ」とよくいわれるAndroid野良アプリの具体的な危険性について調査してみました。
インターネットから得られるさまざまな統計データを基に、メディアや書籍ではあまり取り上げられることのないサイバーセキュリティの裏(?)世界を探訪する本連載「統計で見るサイバーセキュリティ群像劇」。今回は、セキュリティ分野ではよく行われる「異常検知」を話題にします。
異常検知には、大量の文字列、パケットヘッダなどのデータを機械学習で処理する方法がありますが、今回は少し趣向を変えて、文字列データを何らかの画像に変換して目視で行う方法を紹介します。異常検知の対象は、「Third-party market application」(「野良アプリ」と呼ばれることがあります)のAndroid APKファイルにしました。
昨今のAndroid野良アプリとマルウェア
よく言われることですが、スマートフォンの普及により、Android搭載デバイスの数が急激に増加しているようです。最近のニュースによると、利用されているOSの数について、Android OSがWindows OSに迫ってきているとのことです。
参考リンク:「Android OSがWindowsに肉薄」、スマホ時代のOSシェア分布(Business Insider)
これに並行して、ここ数年でAndroidマルウェアの話題も増えてきています。チェック・ポイント・ソフトウェア・テクノロジーズによると、2016年12月1日現在、新たなAndroidマルウェアにより、100万件以上のGoogleアカウントがセキュリティ侵害を受けているそうです。
参考リンク:新たなAndroidマルウェア・キャンペーン「Gooligan」を発見 100万件以上のGoogleアカウントに大規模セキュリティ侵害が発生(チェック・ポイント・ソフトウェア・テクノロジーズ)
今回の主役である、野良アプリはどうなのか。関連するニュースを調べてみると、野良アプリは、マルウェアの温床とまでは言いませんが、悪意のあるコードが混入するケースが多いようです。下記記事は、Google Playと他の野良アプリマーケットにおけるマルウェアの割合を報告したものです。Google Playよりも最大で30倍多いマルウェアが発見されているようです。
とはいえ、本連載の目的はマルウェアを見つけることではありません。今回は、Google Playでサポートされてないアプリを収集し、統計を取ってみることにしました。
野良アプリをダウンロードしてURLを抽出
野良アプリのダウンロード方法は、至ってシンプルです。下記コードのように、Pythonの「urllib2」モジュールを使っています。そのため、ダウンロードできるサイトは限られますし、APKも満遍なく集めたものではありません。
response = urllib2.urlopen(apk[0], timeout=600) data = response.read()
ここでは、野良アプリのAPKを10万ファイルほどダウンロードし、そのファイルからURLとおぼしき文字列を抜き出しました。その結果、抽出されたURLは48万行程度になりました。
# wc -l apkurl.txt 487301 apkurl.txt
48万のURLを集計処理
このapkurl.txtに、grepやawkなどで簡単な集計処理を行ってみました。図1は、抜き出したURL文字列の出現頻度のランキングです。やや食傷気味の方がいたらすみませんが、本連載の1〜3回目と同じく、ロングテールの図が出てきました。
何しろ48万行あるので、ロングテールの部分をしらみつぶしに見ていくことはできません。そのため、関連するニュース記事などを参考にしながら、順次調べていくことにします。まず、URLの中から頻度が高いものを幾つか抜き出してみました。
www.podst.ru | 5182 |
---|---|
twitter.com | 2903 |
yp.shoutcast.com | 2631 |
facebook.com | 2508 |
www.linkedin.com | 2462 |
java.apps.opera.com | 2453 |
html5.apps.opera.com | 2453 |
やはりAndroidアプリから、有名どころSNSへのアクセスはあるようです。またアプリの配布元のサイトや、ポッドキャスト、ストリーミング系のサイトへのアクセスが目立ちました。
Androidアプリが実際にどのような国へ接続しに行っているのか
ここで、「Androidアプリが実際にどのような国へ接続しに行っているのか」を調べて見ることにします。アプリの国別ダウンロード数が載っている記事を参考にしました。
2015年のものですが、どの国が盛んにダウンロードしているかというランキングなので、今回の調査には参考になるものかと思います。これを踏まえて、先ほどのURL文字列リストから、国コードを抽出しランキングを作成してみました。
US | 60107 |
---|---|
CH | 20017 |
RU | 5231 |
AT | 1100 |
NL | 958 |
DE | 820 |
CA | 584 |
GB | 398 |
FR | 236 |
JP | 214 |
SG | 202 |
AP | 174 |
CN | 153 |
KR | 115 |
2位にスイスなどの若干以外な国名が載っていますが、大体スマホユーザーの多そうな国がランキングしているようです。アプリマーケティング研究所の記事に載っている国、米国、ロシア、ドイツ、日本、中国、韓国は、大体上位にあります。
残念ことに、一時期、Androidアプリで不正送金を行うトロイの木馬が話題になっていましたが、今回は、URLのみを対象としたこともあり、これというAPKが見つかりませんでした。また、Androidアプリの不正送金先の国別ランキングなどはネット上で見つかりませんでした(あったら逆に困るということもあるかもしれませんが)。
ここからは、今回の本題である画像類似検索の話に入ります。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 第3回 Androidアプリのストア環境について知っておくべきこと
Androidをターゲットとしたマルウェア(不正アプリ)の報道が増えている。背景にはAndroidのアプリ・ストア環境にも一因がありそうだ。エンドユーザーを抱える管理者として注意すべき点をまとめる。 - Androidセキュリティ――アプリからユーザー視点までイチから解説
子供からご年配の方々まで、幅広いユーザーを抱え、スマートフォン市場で圧倒的なシェアを持つ「Android」。そのセキュリティ対策(主に技術面)について、「アプリ」「マーケット」「Android OS」「ユーザー」の各視点から解説します。 - 今、見直すべきAndroidのセキュリティ
爆発的な勢いで普及し始めたAndroid端末は、大きなポテンシャルを秘める一方で、セキュリティという課題にも直面しています。この連載ではAndroidアプリ開発者や一般ユーザー、ビジネスユーザーと、あらゆるユーザーを対象に、Androidのセキュリティについて解説していきます。(編集部)