突然消失するかもしれないブログ

”とつきえブログ”

AppLogのオプトアウトの仕様の脆弱性について

ミログ社が提供しているAppLogのオプトアウトの仕様の脆弱性が懸念されていたため、AppLogのオプトアウトを行うためのミログ社公式アプリである「AppLogCancel(旧称AppLog Opt-out)」の通信内容を以下の方法で解析を行った。

Androidのhttpsの通信をスニファーする方法(暫定版)

このAPIは端末とサーバ間で何ら認証を行っておらず、第三者がANDROID_IDを収集し、上記のリクエストをサーバに行えば、不正にオプトアウトの状態を変更することができることが確認できた。

収集したログはこちらを参照のこと。 → AppLog Opt-outのサーバAPIの通信ログ(Evernote)

AppLogのオプトアウトをするにはサーバに以下のURLをPOSTする。

https://api.applogsdk.com/v2/device/update

パラメータは、以下の2つ。

・android_id
・device[log_allowed](device%5Blog_allowed%5D)

android_idは、Androidが提供している端末を識別するためのIDである、ANDROID_IDがセットされる。

また、device[log_allowed] = 1(ログ収集を許可) or 0(ログ収集を不許可) である。


AppLogSDKが組み込まれたアプリはログ収集の許可状態を確認するためにサーバに以下のURLをGETする。

https://api.applogsdk.com//v2/device

パラメータは、以下の3つ。

・android_id(上記と同様)
・developer_id(アプリ開発者を識別するためのID?)
・application_id(アプリを識別するためのID?)

サーバからは以下のレスポンスを返してくる。

{“device”:{“log_allowed”:true},
“notification”:{“enable”:false},

“promotion”:{“interval”:86400},
“collect”:{“interval”:60},
“url”:{“edit”:”https://api.applogsdk.com/v2/device/edit”,
“update”:”https://api.applogsdk.com/v2/device/update”},
“log”:{“interval”:21600},”ads”:{“interval”:2419200}}

AppLogSDKが組み込まれたアプリが、ユーザにログ収集の同意確認画面を表示されるのは、”notification”:{“enable”:true} の場合であるため、第三者に不正にオプトアウトの状態を変更されると、ユーザにログ収集の同意確認画面を表示することなく、ログ収集を行うことが可能である。

 

ログを確認すると、Date: Sun, 09 Oct 2011 13:53:41 GMT、つまり、日本時間の10/9(日)22:53では、AppLogのサーバの脆弱性のある動作を確認できたが、その2時間後の10/10(月)0:52では、ANDROID_IDを変更しても、常に、{“device”:{“log_allowed”:false}, “notification”:{“enable”:false}の値が返ってくるようになった。

恐らく、上記の脆弱性の指摘に気づいて、サーバの設定を変更し、ログ収集を一時的に止めたものと推察される。

 

広告

AppLogのオプトアウトの仕様の脆弱性について」への2件のフィードバック

  1. 匿名 10月 10, 2011 8:18 pm

    ハッキングの技術が凄いですね。尊敬します!
    法律的には大丈夫でしょうか?

  2. Nakano Kieta 10月 10, 2011 9:55 pm

    とあるソフトに脆弱性がないかを調べることは、一般的に行われていることですし、公共の利害を目的としていますから問題はないと思います。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。