安全なアプリとは? Androidアプリのリスク格付けサイトに賛否両論 「まるで全て解析して格付けしたといわんばかりなのはどうか」

2013-04-22 23:27

scroid 首相官邸アプリ

情報セキュリティ会社ネットエージェントが、独自開発したシステムを用いて2012年10月~13年3月に主に日本人向けの約34万8000種類のアプリを調査したところ、「危険(DANGER)」と判断されたアプリが約3万5000種類に上ったことが判明したと、産経が報じた。
「個人情報悪用、遠隔操作… 「危険」アプリ横行、3万5000種も」(産経ニュース)

ネットエージェント社がリスク情報を公表している専用ホームページ「secroid」によれば、「危険(DANGER)」とリスク判断される要件は以下の3条件のいずれかに当てはまること。

  • 認定された悪意のあるソフトウェア(マルウェア)
  • 禁止されている動作を行う
  • root権限で実行する(root権限取得ユーザーIDの取得を含む)

secroidでは、アプリのリスクレベルを5段階に分類しており、リスクが高い方から「DANGER」「HIGH」「MID」「LOW」「SAFE」と表示している。
参照:リスクの判断基準(secroid)

なお、先日リリースされた首相官邸アプリ(内閣官房内閣広報室)や、Googleのリリースしている多数のアプリLINE関連アプリなどは、軒並みリスク「HIGH」として赤く表示される。

ネットエージェントの杉浦隆幸社長は「アプリは製品としての規格がなく、危険なものが多く出回っている。安全なアプリを見極めて使ってほしい」と話している。
http://sankei.jp.msn.com/affairs/news/130418/crm13041813550010-n3.htm

Web上の反応

広告表示するAndroidアプリが潜在的な危険があるのは現状あるとしても、このようなサイトは、何の役に立つのか疑問です。なぜなら、自社のアプリも「リスクレベル」がHIGHなのですから。
http://secroid.jp/d/9/a/8/jp.co.netagent.malcheck.themovie.html

ほとんどの人は、この「リスクレベル」の定義をチェックしないままに、それぞれの印象で判断してしまうおそれがあると思います。リスクレベルについては
http://secroid.jp/about.html
を参照ください

まぁ、アプリの機能と関係ないパーミッション要求している広告システムがなくならないときついでしょうね…
広告の取得の為にWeb通信位ならいいんですけど
個人情報やら通話履歴やら…
基本、パーミッションを確認することでユーザーはリスクを確認できる(脆弱性とかOSレベルの問題がなければパーミッション以上のことはできない)訳ですが
どのアプリを見ても個人情報等を要求しているモノばかりになると広告のためなのか悪意があるのかが判別つかなくなるんですよね…
またその状況になれて気にしなくなる人も多いのかと。
明らかにアプリと関係ない権限を必要とするアプリ多いですよね。
ただパーミッションを調べているだけなのに、それを「リスクレベル」と言ってしまうところに違和感があります。分かりやすさを優先させた結果だと思いますが、違った印象を与えてしまうおそれがあります。
実際、ぼくははじめリバース・エンジニアリングなどして、詳細に調べていると思いました。
この産経の記事は微妙な書き回しやニュアンスが多いので、イマイチだけどsecroid自体はコード解析した結果で判定してるし、使用してないパーミッションはコードに含まれなければリスクとして表示されない。ユーザーとしては、判断基準を与えてくれるサービスとして、とても便利です。
何故コードを解析してるとわかるんでしょう?もし勝手にコードを解析してるなら、それも問題だと思います。
私は質問したので、知ってただけです
> secroid自体はコード解析した結果で判定してるし、使用してないパーミッションはコードに含まれなければリスクとして表示されない

だとすると、自社のアプリをリスクHIGHにしている意味が分かりません。
http://secroid.jp/d/9/a/8/jp.co.netagent.malcheck.themovie.html

解析しているかどうかに依らず、パーミッションのみでリスクのHigh, Lowを表示しているところを問題視しています。これでは、ほとんど全てのアプリをリスクHIGHではじいてしまうおそれがあると感じます。

私はAndroidDeveloperではないので、あくまでsecroid利用者として、疑問に思ったことをたまたま社長さんがtwittreやってのを見かけたので聞いた事があったというだけです。
機械的に解析して、ポイントつけるって視点もありえますよ?(単純に該当API呼んでいるかどうかとか)
で、その上で、個人情報へのアクセスとインターネット通信込みならリスクはHIGHとか…(広告付きのアプリのパーミッションなんてひどすぎてアプリはおもしろそうとか思っても入れるのやめる私です)
そのレベルの機械的判定であって、自社のもリスク高めって判断だと思います。(実際に個人情報等をサーバに送信とかそういう解析はしていない)
そのレベルの解析ではじいた場合、問題なくてもリスクHIGHが量産されてしまうわけですよね(繰り返しになりますが、secroidの「リスク」の定義はパーミッションの解析からのみの判断です)。

1/10がリスクがあると判定している事実からも、判定が厳しすぎて、あまり意味が無いと思います。もちろん、Android危ないって思う人もいると思います。

えぇ、とはいえそもそもが、そのためのパーミッションモデルであって、アプリで最低限必要である機能にアクセスするのが望ましいわけです。iOSの場合はAPPLEが審査して通れば基本的にはSDKでアクセスできる範囲はOKじゃないですか。パーミッションと、そのパーミッション機能がコードから呼ばれているか?って。

私も開発者の端くれなんで、真に必要な機能を使っていてセキュリティ的には白なアプリがリスクハイにされたらって考えれば思うところはありますけど。パーミッション範囲で一般ユーザーが許可するのになれすぎて思考停止し始めている昨今では、もう一度ここを開発者も一般ユーザーへの注意喚起も含めて皆で考えなければいけないんじゃないのかなー?って思います。

このサービス関係なく、アプリ機能に必要ない権限を要求するアプリが氾濫して全体のセキュリティリスクを上げていること、このことが問題だって認識です。

ぶっちゃけゲームで広告配信のためにインターネット通信が必要程度に一回もどせよーとあの辺の配信システムに思っていたり。こういうサービスで危険(かも)って言われるだけで開発側はそこをリスクと再認識できるな…と。

>機械的に解析して、ポイントつけるって視点もありえますよ?

そうかもしれませんね。でもそうではないかもしれない。そのアルゴリズムが公開されていない以上、そこは論点にならないとおもいます。

>もう一度ここを開発者も一般ユーザーへの注意喚起も含めて皆で考えなければいけないんじゃないのかなー?って思います。

そうですねこれも同感です。Google Playでの審査が一番いいのでしょう。先日もGoogleがGoogle Play上からアプリを危険な大量に排除しました。
でも、セキュロイドがやっていることは、なんの担保も信用もない情報だということをお忘れないよう。そうした情報をまるで全て検査したかのごとく評価することが問題です。

多少わかっている人は、パーミッションだけでこうやってますから、一つの情報としてアリじゃないですか?
一応、GooglePlayではマルウェアの機械的検査はしていますが逆にそこがAPPLE方式の自由のない世界ならやだな…と。
情報としては、すごい良いと思います。
> secroid自体はコード解析した結果で判定してるし、使用してないパーミッションはコードに含まれなければリスクとして表示されない

明らかに事実と違うと思います。
例えば私のこのアプリですが、必要最小限のパーミッションしか付けておりませんが、危険度Highにされています。
http://secroid.jp/d/e/f/e/info.projectkyoto.mms.mayumaro.html
広告も入れておりませんし、出所不明のコードも含まれておりません。それは、作ったのが私ですから自信を持って言えます。

もしコードを精査した結果危険が発見されたのでしたら私も納得しますが、twitterで議論してもそのような指摘はついぞありませんでした。
もし私のアプリが危険というのであれば、その根拠を明確にする義務がネットエージェント社にあると思います。

SDカード読み込み…危険度高なんですね…?パーミッションの危険度と内容の危険度で矛盾してますね…
SDカードアクセス権限は危険度低(青)で実動作のSDカードからの読み込みは危険度高(赤)なのか…
ネットエージェント社は「違う」と言ってきました。じゃあどう違うんだと聞いた所、カメラのパーミッションが付いていると返答がありました。カメラアプリにカメラパーミッションを付けると危険なんだそうです。
呆れて返事する気も失せました。
アプリのページみる限り
カメラアクセスは黄色にになってますけどねぇ…(パーミッションと実動作)
機能の組み合わせで危険かどうか判定しているわけでもないんですねこれ…
ネットワークソケットの作成とかなければ危険じゃないし…

結果判定をあるていどきちんと結果にしないとアプリ作者にはいやな感じかも(苦笑

私はカメラ権限もSDカード権限も付いていないカメラアプリがあったとしたら、そちらの方がよほど危険だと思います。
QUICK PICもリスクハイなんで
この基準はSDカードにアクセスしている…で間違いなさそうです。
個人情報送信可能性とか他アプリででているんで、このリスク項目一通り見る人なら問題ないんでしょうけど、リスクハイって一個でも赤判定あるなら出してる印象…
コードは自動解析だそうです
量を考えればそうですよね

SD「読み込み」はリスクHIGH判定みたいですよ
何故「読み込み」がHIGH判定なのかは他の方も質問されてましたので、直接聞いてみるのが良いと思います

一応問い合わせた結果そこじゃなくカメラ機能使っているからって言われた…という事みたいですが他のアプリを見ていてもファイルを読み込む動作系はリスクハイみたいですね。

まぁ確かにSDカード他のアプリやすでに撮ってある写真をさらって送信…なん可能性はあるかもしれませんけどねぇ…

パーミッションだけで判断すると青判定
動作として実際に読み込んだら赤判定
ってのもおかしいんですけどねぇ…
ファイルの書き込み実は青判定だとか何でしょうか…

ネットエージェント側の説明した人いってることがころころ変わっているとかの可能性もありますし。

うーん…
説明した人は、社長だけですし
Twitterてのやり取りが、別にカメラ機能のせいじゃないって
言ってるなあと、見てて思ったので
http://twitter.com/lumin/status/325239188637249536
こちらから会話追うとわかります

以前の過剰パーミッションのアプリでも、セーフ判定でたんでパーミッション判定じゃないの?
って質問したことがあってですね
その時に中間コード解析だよって話を聞いたのです
参考URL
http://twitter.com/secroid/status/324797099843657730

その会話の流れは、
「SDカードへの書き込みだけでHighにはならない」
と言われたので、じゃあ何が原因かと尋ねたら、追加の理由として写真権限が出て来たため、私が呆れ返ったという事です。
確かにSDカードだけでは無いのかもしれませんが、五十歩百歩でしょう。
ともかく「セキュリティリスクが無い事の証明」は悪魔の証明ですので私からは出来ません。
向こうから説明があるのを待つだけです。

自分で言っても信用されないかもしれませんが、私は自分が出すアプリの権限は極限まで削っていますし、セキュリティにも細心の注意を払っているつもりです。
プライバシーに確信が持てないため現時点ではADすら入れていません。
そこまでしているにもかかわらず十把一絡げにセキュリティリスクHighなどと書かれるのは耐えられません。

sdcard読み込みとは何の事かと考えたのですが、どうやらテンポラリファイルを読んでる事だったようです。確かに私のアプリは画像処理のためにテンポラリファイルを作成します。そしてそれを自分で読んでいます。
しかし、自分で作ったテンポラリファイルを自分で読む事がどうしてセキュリティリスクになるのか。
書いているディレクトリはgetExternalCacheDir()で取得した場所です。ここはアプリごとに独立した場所で、アプリをアンインストールすれば自動的に消去されます。
どちらにしても、杜撰な検査であるという認識は変わりません。
評価規準や、その結果のなげっぷりはずさんですね~・・・
『権限の許可に対して前田氏は、「特定のパーミッションが危ないとは言いきれないので、開発者を信頼できるかが重要だと思います」と話す』
http://appllio.com/android-mobile-topic/20120220-1636-Malware-Permission
スマートフォンのセキュリティについて無頓着な人も多い中、ネットエージェント社長がいう、「安全なアプリを見極めて使ってほしい」これ、一般ユーザには難しいと思うし、"ではどうやってこの状況を改善していくか?"という方向が示されないのが、この記事の問題だと思います。
私もパーミッション情報を公開してくれていることは良いと思います。私はアンドロイダーというサービスで実在確認の登録もして、それぞれのパーミッションについての説明も書いています。

ただ、これをまるで全て解析して格付けしたといわんばかりなのはどうかと思います。

まぁ、ネットエージェントのこのサービスが信頼の担保たりえるか?
って問題と仕組み云々はここにネットエージェントの該当部署の方いないとできないんで…
現状のあのリストに従って悪評たつとかは置いといて、リスク低いのだけ選んでるユーザーのリスクは低くなるのは事実でしょうし…
(わかっていない人がわかっている人向けのアプリ使ってレビュー欄で暴れているのとかみて辟易してるし)
ある意味モンドセレクション受賞とかPマーク取得程度にしかそもそも私が見ていないって感覚の差があるのかもしれません…
そもそもマルウェアを3万5000本発見したというのも大嘘だと思います。
その中には問題の無いアプリもたくさん含まれているはずです。
高木先生も
「出鱈目だ」
と言っておられます。

ネットエージェントさんもそんな事は重々承知のはずです。にもかかわらずこんな発表をする事に、意図的な物を感じます。

開発者対secroidや、開発者対利用者とかそういうことではないことに気付きました。たぶんAndroidに関わっているほとんどの人が、安全にアプリを使用できる環境になってほしいと思っている。そこをどうしていったらいいのかが問題だと思います。

利用者の不安をあおったり、開発者の信用を落とすような(特に個人開発者)そういう形での報道に繋がったのは残念です。

この手の解析結果を載せる企業って、その結果を単純に煽るのではなく、Googleなどへ「こういう事なんだけど、この中でこれだけ深刻な内容が出たのね。いっちょ調査してみてくれない?」というの無いので信用できないと思っています。

海外の例を出すのもお門違いかもしれませんが、有名なセキュリティ会社はもちろん、モバイルセキュリティの調査会社はこれらのレポートを提出し、対応されたことを「報告」としてあげています。

利益を追い求めるのは当然ですが、自らセキリュティの雄と思うのであれば、より信用・信頼に足るものをわかりやすく教えて欲しいです。

自社製品すら売れなくなるんじゃね?とおもってしまいますよ(´・ω・`)

https://plus.google.com/u/0/113592870640571213712/posts/GvUh5Q3MjvC

編集部コメント

アプリが悪用される客観的可能性を総合的に判定するのは、非常に難しい。特にPlayストアでインストールできるアプリに関しては、基本的にマルウェアなどは排除されているはず。

だから、必要以上にユーザの危機感を煽ることもできるし、逆にユーザ側で判断しづらいがゆえに安全性に対する理解が十分になされず思考停止状態に陥ることにもなる。

その先には悪貨が良貨を駆逐する世界が待っているのかもしれない。それならば、そうならないために必要な施策は何か?歴史に学べばヒントは転がってるように思える。

※Google+の専用コミュニティにおけるコメントをまとめて記事にしています。興味のある方は、コミュニティ Appllio+ に是非ご参加ください。