2012年12月12日

『WiFi AdBlocker』 rootもINTERNETパーミッションも要らない広告除去アプリ

自作アプリの宣伝。

(追記・若干わかりやすいかもしれないユーザ向け解説エントリはこちら http://causeless.seesaa.net/article/310279216.html

WiFi AdBlocker というAndroidアプリを公開しました。 現在はベータ版ですがひと通りの機能は動いています。

(追記) GooglePlayストアからAdAwayなどの広告ブロックアプリが一斉削除されたため配布・アップデート用のリンクを作成しました。  http://causeless.seesaa.net/article/347357563.html

WiFi AdBlocker beta.png

このアプリはAndroid端末のWiFi接続時のネットワーク設定を書き換え、DNSサーバーを変更することでホスト単位で広告配信サーバーやユーザー追跡サーバーへのアクセスをブロックします。
WiFi接続限定ながら、保証がなくなりかねない端末のroot化や、アプリのインターネットアクセス権限が不要なアプリです。
ko-zuが別に運用しているDNSサーバー(ドメイン名 example.com から IPアドレスに変換する機能をもつサーバー)を利用しています。


利点

低負荷
DNSサーバー上のブラックリストを参照するだけなので、端末のインターネットアクセス時に余計な処理が必要ありません。
たとえば著名な広告ブロックソフトの『AdBlock for Android』は ウェブサーバへの接続時に、端末上で動くプロキシサーバーを介することで広告を除去しますが、そのためには標準ブラウザに加えプロキシでもHTML解析という重い処理をする必要があります。

常駐不要
OSの機能により、WiFiで接続された瞬間のみ自動的に起動します。常駐してメモリを占有する必要がありません。

root権限不要
WiFi接続の設定はAndroid OS標準の機能を利用しているため、端末をroot化する必要がありません。このアプリが行う端末の自動設定は、アプリを利用しなくても手作業で端末に設定することも可能です。(このエントリにて解説

ほとんどのWiFiアクセスポイント・ホットスポットで利用可能
外部のDNSサーバへのアクセスが可能(UDP/TCPポート53がファイアーウォールで塞がれていない場合)で、DHCPでIPアドレスが割り当てられるWiFiホットスポットなら、どこからでも利用できます。
家庭用無線LANルーター、公衆WiFi・ホットスポット、モバイルルーターやスマートフォン経由でのWiFiテザリングなど、Android端末からWiFi経由でインターネットにアクセスする状況なら適用可能です。

適用できないアクセスポイントでも回避が可能
ファイアーウォール設定によってDNSの利用が禁止されている場合、アクセスポイント単位で設定をオフにできます。また、オフにしないままでも、サーバーへの最初の接続に1秒ほど遅延が入る以外は問題なく接続できます。

アプリは通信内容を監視しない

このアプリは通信内容を傍受・改変して広告を除去するアプリではありません。アプリの権限のとおりWiFiの接続設定を変更するだけで、通信内容にアクセスすることはできません。
なお、アプリ利用者の誰かがアクセスしようとしているホスト名についてはDNSサーバーのログから推測することが可能ですが、IPアドレス以上の情報、例えばポストしたフォームの中身や利用者の個人情報などを得ることはできません。もしDNSサーバーの設定をko-zuが悪意をもって変更したとしても、暗号化された通信を傍受することはできません。


欠点
WiFiでしか利用できない
残念ながら3G/LTE網への接続設定は端末をroot化せず変更することができません。

ブロック対象の個別設定が出来ない
ブラックリストはko-zuが運用するDNSサーバーで管理しています。 判定ミスがありましたら、twitter: @cause_less へご連絡ください。

アンインストール時に設定が残る場合がある
Androidにはアンインストーラがありません。お手数ですが、自動AdBlock機能を停止してからアンインストールしてください。
誤ってアンインストールしてしまった場合、固定IPアドレスを使用しないよう端末のWiFiネットワーク設定を変更してください。
アプリを再インストールし、メニューの『WiFI設定を上書き』を選択してください。

暗号化されていない通信を傍受される可能性がある
万が一、悪意あるユーザにDNSサーバーに侵入されたり、悪意をもって設定を変更すると、暗号化されていない通信はその内容を傍受できる可能性があります。これはGoogle Public DNSなどと同様、DNSを他者のサーバーに頼る場合と同じ危険性が有るということです。
しかしながら一般に、暗号化されていない通信で傍受されてはならない機密情報を扱うことはお薦めできません。正しく暗号化され通信相手を検証した上での通信(HTTPS・POPS・SMTPSなど)を傍受することはDNSの設定ではできません。


動作原理
DNSサーバーアドレスを書き換えているだけです。設定内容が理解でき手動設定で間に合う方には、はっきり言ってアプリ不要です。DNS設定をそのままにアンインストールして頂いて構いません。
  1. WiFiアクセスポイントへの接続を検出
  2. 端末にDHCPで割り当てられたIPアドレス等を取得
  3. DNSを書き換えて固定IPアドレスで自動設定
  4. アクセスポイントから切断を検出したら固定IPアドレスを解除してDHCPで待機

ブラックリスト登録ポリシー
ブロック:広告配信・ユーザー追跡用のjavascript・画像などの配信元ホスト、アプリ内の広告ライブラリ等が取得したユーザー情報の送信先ホスト、広告やユーザー追跡専用のリダイレクタ
ブロックしない:汎用のリダイレクタ(t.coなど)

ブロック対象はIPアドレス:127.0.0.1 を指すようにしています。(端末でウェブサーバを起動している(奇特な)方は注意してください。)


プライバシーポリシー
・このアプリはパーミッションに記載された取得可能な情報を、インストールされた端末の設定を行うために利用します。
・開発者が得た情報(アプリクラッシュ時のログなど)は、アプリのデバッグ目的を超えて利用されることはありません。


利用上の注意
・このアプリの利用は無償かつベータ版です。自己責任でご利用ください。
(たまにNullPointerExceptionでクラッシュしたりしますが生暖かい目で見ていただけると嬉しいです)
posted by ko-zu at 02:46| Comment(0) | TrackBack(0) | 広告・ユーザ追跡 | このブログの読者になる | 更新情報をチェックする

2012年11月30日

スマートフォン向け広告除去を試す方法

広告を除去するとどれくらい快適になるのか、試す方法。WiFi接続限定の一時的なものなので注意。
root化/jailbreakなどの保証対象外になりうるファームウェア改変をしたくは無いが、アプリ内広告の除去を試してみたい人向け。ウェブ上の広告はFirefox for AndroidなどのブラウザのAdblockアドオンを使うことをおすすめする。

(追記)以下の設定を自動化するアプリを公開しました
http://causeless.seesaa.net/article/306520220.html

wifiネットワークの確認
自宅などで無線ルーターにまず接続して、使っているネットワークとIPアドレスを確認する。
Androidなら設定→無線とネットワーク→Wi-Fi設定→(メニューボタンで表示される)詳細設定
iPhoneなら設定→Wi-Fi→SSID(アクセスポイント名)横の?マークをタップ

端末のプライベートIPアドレスが192.168.1.2や192.168.11.2などと表示されているはずなので、ピリオド区切りの最初の3つをメモ
例えば、192.168.1.2なら192.168.1までが使っているプライベートなネットワークにあたる


固定IPアドレスの設定
参考
Android http://www.akakagemaru.info/port/androidstaticipaddress.html
iPhone http://www.akakagemaru.info/port/iphone-staticip.html

IPアドレスに、192.168.1.(他の端末と被らない200〜250あたりの
数字)、たとえば192.168.1.200
ゲートウェイに、192.168.1.1 (ルーター/NATのローカル側アドレス)
サブネットマスクに、255.255.255.0
DNS1に、 (IPアドレスを変更しました。27.120.90.195)
DNS2に、 8.8.8.8
を設定する。

なお、Androidなら Wifi Staticがオススメ。自宅のアクセスポイントでのみ、固定IPアドレスを利用できる。
固定IP用の設定を入力して、
screenshot_2012-11-30_2004.png
SSIDにアクセスポイント名を入力する
screenshot_2012-11-30_2006.png
ラベル:広告除去
posted by ko-zu at 20:25| Comment(0) | TrackBack(0) | 広告・ユーザ追跡 | このブログの読者になる | 更新情報をチェックする

2012年10月11日

広告ブロックHostsファイルを自分用にカスタマイズする方法

と言うタイトルの自作ウェブアプリ宣伝。
https://hostsaway.appspot.com/

広告やユーザー情報収集用サーバをブロックするために、有志製作のhostsファイルが公開されていることが多いが、自分で編集するのは面倒な人に。
既に作成済みのhostsファイルを自分専用hostsファイルに一括で追加できるように対応した。

追加したいhosts (127.0.0.1 blackhostname形式)やadawayがエクスポートするホワイトリスト (white hostname 形式)を
https://hostsaway.appspot.com/edithosts
の手動ホスト追加テキストエリアにコピペするして更新をクリック。

HostsAway5.png
#コメント行なども対応していて、localhostやアンダーバー入りなど不正なドメインはフィルタされるので特に問題なく利用できると思われる。

あまりたくさん追加すると重くなるのでほどほどに。1000ドメインでAPIリミットが掛かる筈。まだユーザへの警告等を実装してないのでお気をつけてどうぞ。

あとは見たいホストをブラックリストを削除するなり、追加でブロックしたいホストをブックマークレットなどで判定・追加するなり。

個々のホストの追加方法やアカウント作成の解説は以前のエントリ参照
http://causeless.seesaa.net/article/293849729.html
posted by ko-zu at 22:33| Comment(0) | TrackBack(0) | 広告・ユーザ追跡 | このブログの読者になる | 更新情報をチェックする

2012年10月02日

広告・ユーザ追跡ブロック用公開hostsファイル

https://hostsaway.appspot.com/
広告やユーザ追跡をブロックするため、hostsファイルを生成する広告判定・hosts編集ウェブアプリを公開しているのだが、基本的にアクティブユーザは自分一人だ。

hostsファイルの編集は、個人個人の判断で行なってほしいものだが、単にAdawayに追加する広告ブロックhostsファイルが欲しいのであれば、広告のウザさに依らず、網羅的なものとして、
https://hostsaway.appspot.com/userhosts/b697db559506405f
を管理しているので試していただきたい。(当然無保証だが)

日本国内の広告やユーザ追跡サーバを登録しているので、AdAwayにデフォルトで入っている、hosts-file.netとwww.ismeh.comを有効にすることをおすすめする(それ以外のデフォルトhostsはアグレッシブすぎるので自分は使っていない)


出来るなら、自分に合ったブロックファイルを作成して、真っ当な広告掲載に対しては見てやってほしいとも思うのだが、そういう取捨選択できるAPIが無い以上、一律にブロックされるのは仕方が無いのも事実だ。


以下、愚痴のようなもの。

編集作業のサンプルとして、ログインすることなく誰でも編集できる(今はロックしたので、できた)hostsファイルも公開していたのだが、それを広告ブロック用として利用しているらしきアクセスログを先日複数件発見してしまった。

つまり、悪意ある誰かがログインすることなく、リテラシの低いユーザ(失礼)の端末でyahoo.co.jpをブロックするように設定できる状態だった。
(OpenIDでログインしていればそんなことはありえない。念のため)

hostsファイルなんてマニアックなものを使おうと思う人間がそんな筈は……という甘えだったわけだ。
現在では以前の公開URLを削除して編集不可にした。これでadawayなどに登録しようと思う人はいないはずだし安全。

hostsファイル、アプリ、ブラウザ拡張機能、userscript、userstyle、etc. etc.
とにかく、自分の端末が信頼して実行するコードに、信頼出来ない人間の手が入る事は絶対に避けるべき、というのは、リテラシとして当然のことだと思うのだが
posted by ko-zu at 20:40| Comment(0) | TrackBack(0) | 広告・ユーザ追跡 | このブログの読者になる | 更新情報をチェックする

Facebookの広告に関する日本版WSJの記事(タイトル・色々加筆修正)

『フェイスブック、個人データの試験販売を開始』(追記:2012-10-03朝時点でタイトルが『フェイスブック、会員情報の活用拡大を試験的に開始』と訂正されている。)
http://jp.wsj.com/IT/node_522784
というセンセーショナルなタイトルの記事。某氏がツッコミを入れていたので英語版を読んでみた。
http://online.wsj.com/article/SB10000872396390443862604578029450918199258.html
実際には、Facebook Exchange (追記:)及びCustom Audienceと呼ばれる方式及び広告効果測定 http://www.facebook.com/notes/facebook-and-privacy/relevant-ads-that-protect-your-privacy/457827624267125)に関する技術面を省いた一般向けの記事のようだ。

英語版だとdatalogixについて、datalogix自信が幅広く個人情報収集を行なっていることを指摘しつつ、微妙な表現でFacebookとは直接のデータ授受ではなくユーザ特定のために(追記:生データでなくハッシュ値でのみ)連携していること(おそらくFBX追跡用のクッキーのこと)を示唆している。Facebookの個人情報の扱いについては最後の方にも、"In the process, neither side swaps personal information, these companies say."と明記されている。

リターゲティング広告と効果測定自体は原理的にFBの個人情報データへのアクセス無しに実現できるので特に矛盾したことは書いてなさそう。(追跡は必要だが、個人情報と紐つけたり売ったりする必要はない、寧ろFacebookはユーザの評価額という情報を広告主から教えてもらえる立場)


一方、日本語版は『フェイスブックは、個々のユーザーのデータは小売り会社には売っておらず、ましてや小売り会社にデータを直接閲覧させてはいないと強調している。』とタイトルの『個人データの試験販売』が明確に矛盾している。もちろん英語版とも違う。
つまりタイトル側が事実ならFBが嘘をついている事になるが……流石にまずいだろ。

(追記)
個人データそのものではなく、個人データのハッシュ値を受取、あるいは提供、ならFBの記載と合う。

Custom Audienceでは、ハッシュのみ受け取るといえ、FBは元データとハッシュのペアを管理しているので、元データに復元して紐付けは技術的には可能。
datalogixはハッシュだけで比較すれば元データ無しにマッチ率を計算できるが、生データを別ソースから入手していたり、マッチしたデータを統計処理せずそのまま返してしまうと、同じく復元可能。(なにか秘密計算アルゴリズムを使っていれば別だけれど、技術的に保証可能な方法があれば論文公開しているだろう)
という意味で、技術的な担保ではなく、自主規制的な側面が強いと思われる。しかし、FB側が明確にやっていないと言っている以上、根拠無くデータを渡しているというのはやはり不味い。

posted by ko-zu at 18:44| Comment(0) | TrackBack(0) | 広告・ユーザ追跡 | このブログの読者になる | 更新情報をチェックする

2012年09月23日

HostsAway Adaway用 hostsファイル生成ウェブアプリ の使い方

HostsAway Adaway用 hostsファイル生成ウェブアプリ の解説』の続き。

https://hostsaway.appspot.com/
の具体的な使い方について。

端末のroot化と、AdAwayのインストールが完了していることを前提とする。
また、ドメイン・ホスト、IPアドレス、scriptタグ、など最低限のウェブ・HTML関連の用語はぐぐってください。



hostsaway上でログイン
ログインといっても、適当なユーザ名をCookieに保存したり(他人とかぶっても知りません。自己責任で!)、OpenIDでgoogleやyahooなどのアカウントからユーザ識別情報のみ受け取る事もできる。なお、複数のユーザーをそれぞれ識別するために利用しているだけで、ログインに使ったアカウントのメールアドレスその他の情報が取得されることはない。せいぜい、どこのサイト経由で登録したか、程度しかわからない。紙のメンバーズカードに書いた通し番号と同じなのでその点は、安心して欲しい。
(Googleアカウントでログインするとhostsawayにメールアドレスが送信されてしまうが、即座に破棄している。念のため)

例えば、yahoo.co.jpのアカウントを持っている場合、[Yahoo Japan]をクリックすればこんな画面が出る。
これはyahooのドメイン上のページなので、hostsaway側では全く関与できない。アドレスバーのドメインを確認して欲しい。

送信されるのは、匿名化された識別子なので、yahooのアカウントに入っている個人情報などを調べることはできない。
HostsAway3.png


hostsファイルの登録
専用のhostsファイルのアドレスが作られるので、adawayに登録する。
トップページを開くとmy hostsのリンクがあるのと、
ログイン済みなら、http://hostsaway.appspot.com/myhosts を開くと自動で専用のhostsファイルにリダイレクトされるので、アドレスをコピーして登録して欲しい。


広告スクリプト配信ドメイン・ホストの検出
hostsaway上で、不愉快な広告やユーザー追跡等を読み込んでいる対象サイトのURLを入力するか、対象サイト上でブックマークレットを起動することで、判定画面が開く。
HostsAway4.png


現在のところ、広告の自動判定はかなり雑なので、目安程度に考えて欲しい。
googleのサイト内検索や、サイトへのリンク検索機能使って、そのページが広告でなく、真っ当なコンテンツのあるサーバかどうかはある程度手動での判断をしてもらいたい。scriptやiframeばかりでコンテンツがなかったり、imgタグの参照先があからさまな広告画像ばかりであれば、広告配信サーバーのドメインと考えていいだろう。
ウィジットなどウェブサイトの動作に必要なscriptもありうるので、同じドメインの別のサブドメインにリンクしている場合などは注意して欲しい。

ブラックリストに入れたいホスト名をチェックして、『ブラックリストに追加』をクリックすれば、hostsファイルが更新される。
adawayでhostsリストを更新して端末の再起動を行い、動作をチェックしてみて欲しい。広告が消えていれば、ブロックは成功。


手動編集
間違って登録したものを削除したい場合などは、サイト上部の編集へのリンクから編集ができるようになっている。
既に作ってあるブロック用hostsファイルなどからまとめて登録するのもここからどうぞ。
(hostsファイルの127.0.0.1は無視するので、そのままコピペでも多分動くはず)

HostsAway5.png


ブックマークレット
PCのブラウザやAndroidでもDolphinブラウザーなどでは、ブックマークレットで、対象サイトから直接移動できる。
適当なブックマークを作っておき、URLに下記を全てコピペして書き換える。
javascript:(function(){document.body.appendChild(document.createElement('script')).src='https://hostsaway.appspot.com/js/bookmarklet.js';})();

対象サイト上で読み込むと、警告文が出てOKならhostsawayにジャンプする。
bookmarklettest.png



共有される情報について
hostsawayでは、ユーザがどんなURLをブロック対象にしたかを保存している(当然hostsファイル生成のためも理由のひとつ)。
この情報から、誰が登録したかわからない形で、そのホストを登録したユーザー数として統計情報を収集している。
どうしてもバレては困るドメイン名などを登録することは無いよう、注意願いたい。


使ってみたら感想などをいただければありがたい。

ちなみに、androidやiphoneをroot化しなくても広告やユーザー追跡をブロックブロックする方法はあり(wifi限定)
自分用の広告ブロックデータベースとしても利用している。


posted by ko-zu at 23:41| Comment(0) | TrackBack(0) | 広告・ユーザ追跡 | このブログの読者になる | 更新情報をチェックする

HostsAway Adaway用 hostsファイル生成ウェブアプリ の解説

ちまちま作っていたhttps://hostsaway.appspot.com/ 大体自分が欲しい機能は実装できたので。解説してみる。
細かい使い方は、次の記事に書いた。

出来るまでの経緯
まずこれは『AdAway』という素晴らしい広告ブロック用Androidアプリに触発されて作ったものだ。

FirefoxなどのPC向けブラウザと異なり、iPhoneやAndroidのブラウザでは、広告配信事業者でもあるOS開発元の意向により、広告除去機能を意図的に作り難く設計してある。
たとえば、FirefoxにはAdblock Plusのように、広告やユーザー追跡を徹底的にブロックしたり、スパイウェアなどを配信する危険なサイトを排除する機能があるが、Androidでは同等の機能がなく、かろうじて危険なサイト対策を携帯電話事業者が提供しているにすぎない。それも端末ではなく通信インフラの機能として。当然ながら、個々人の意図する通りに、取捨選択することはできない。

AdAwayは、端末のDNS機能を上書きして、ドメイン名からIPアドレスへの変換を阻害することで、広告やユーザー追跡、個人情報漏洩、スパイウェアサイトなどをブロックするアプリだ。残念ながら、Android端末のroot化が必要だが、root化してある場合、広告以外にもあらゆる面で利用できる外向きファイアーウォールとして利用できる。


ところで、広告などを配信するドメイン名を上書きしてアクセスを禁止するために、adawayはWindowsなどで標準的に利用されているhostsファイルを用いている。
Hostsファイルはいろんな場所で公開されているが、自分が排除したい広告を全て網羅しているわけではないし、見たい広告をもみえなくしてしまう。
そこで、個人専用のカスタマイズされたhostsファイルを簡単に作る方法が欲しくなった。これがhostsawayの製作理由の一つ。

また、adawayにはブロックするドメインのリストを追加する機能があるが、若干手間がかかるし、どれが広告でどれが必要なドメインかが分かりにくい。手間をかけて登録した情報を共有する機能もない。


主な機能
hostsawayでは、ウェブ上でhostsファイルを半自動で生成し、その成果を共有することを目指している。

hostsawayは端末上で動くアプリではなく、hostsファイルを生成するウェブアプリだ。実際に端末に適用するには、生成したhostsファイルのアドレスをadawayに登録しておき、定期的に更新チェックするように設定しておけばいい。

hostsawayは今のところ、
・ウェブ広告やユーザ追跡に利用されているドメインをチェックする機能
・他のユーザが検出したブラックリストなどから、広告らしいものを判定する機能
・個人用hostsファイルを管理する機能
を提供している。

具体的な解説は別記事にまとめる予定。



不愉快な広告を取捨選択し、それが広まれば、より最適な広告のみが生き残ってくれるかもしれない、と暗に期待している。広告配信事業者に自浄能力があるならば、これは無理な希望では無いと思う。



posted by ko-zu at 22:59| Comment(0) | TrackBack(0) | 広告・ユーザ追跡 | このブログの読者になる | 更新情報をチェックする

広告除去・ユーザー追跡回避の是非について

幸運にもウェブ業界の中の人と会話する機会に恵まれたので。その際考えたことを。


adblockアドオンなどによる、広告やユーザー追跡の回避は許容されるべきか?
自分は、当然に許容され、尊重されるべきと考えている。

個人の意見として、自分は広告やユーザー追跡にも、積極的に読みたいものや、ユーザーの利便性のために必要な部分はあると考えているが、自分に必要ないものは可能な限り排除したい。

広告は単純に不愉快であるし、過剰に広告からの利益に最適化されたコンテンツは、コンテンツ自体の中身が重視されなくなる点で社会的にも不利益を生じていると考えている。
ユーザー追跡や個人情報収集は、幾つかの訴訟を経て法的な安全は担保されつつあるが、誰かが法をこっそり逸脱しているという不安は、常に不信の目で監視しなければならない社会的なコストを生むし、情報=秘密が価値を持つという業界の特性上、内部を公開して潔白を証明することが原理的に不可能だ。

というわけで、
個人が広告やユーザー追跡をブロックするのは、当然の自衛手段であり社会的にも有益と考えている。

これはインフラタダ乗り論と揶揄されるかもしれないが、自然かつ妥当な欲求であると思うし、ユーザーの要求を受容できないインフラが経済的に破綻するのは、資本主義的に考えて仕方が無いことと思う。
もし、安全かつブロック可能な広告では、経済的に維持できないネット上のインフラが本当に必要なら、税金で維持してしかるべきものであって、商業的に成功しないからおかしいとするのは的はずれだ。

また、不愉快な広告を打つことは(中間搾取がなければ)広告主にもエンドユーザーにとっても損である事は明白だ。個人的には、ユーザーが不愉快な広告を除去することは当然であると思うし、もっと推し進めるならば、ユーザーが見たい広告を載せ、ユーザーが見たくない広告を排除するのはコンテンツ配信側の責任と思う。

現在のウェブの環境は、広告出稿元・広告配信業者・広告掲載先・エンドユーザの関係が、lose-WIN-lose-loseに極めて近く、少数のプレイヤーのほんのわずかな法の逸脱で大きく傾く、危ういwin-winであると感じている。

全体の利益最適化としての(現状よりもやや小さいかもしれない)win-win-win-winを実現するためには、広告の質とユーザー追跡・個人情報管理の安全性を担保する技術的な保証が求められる。
たとえば、ブラウザに広告データベースを載せ、個人情報を一切漏らすことなく、広告の利益化実績だけを元に利益が回るような、理想的な実装が普及することは不可能ではないと思う。現状、そんな方向性は全く見られないが。


現実はユーザの自衛手段を奪うことで、取捨選択そのものを有耶無耶にしようとしているようで、とても残念な事になっていると感じている。
ユーザの自衛として個人の取捨選択が反映されていけば、いつかそうなることは夢というほど非現実的ではないと思うのだが……

posted by ko-zu at 22:47| Comment(0) | TrackBack(0) | 広告・ユーザ追跡 | このブログの読者になる | 更新情報をチェックする

2012年09月18日

Facebook Exchange についてTLを見ていて(書き直し)

FacebookExchange(FBX)という広告システムについてmala氏(@bulkneets)とROCA氏(@rocaz)が盛り上がって?いた、
ということで自分の理解したところを書いてみたのだが、
mala氏の御指摘を受け、改めて自分の理解しているところを書きなおしてみた。

『Facebook Exchangeはリアルタイム入札で特定ユーザーをターゲットする新しい広告手段』
http://techcrunch.com/2012/06/13/facebook-exchange/
で少なくとも記事になっていてFacebookが否定してないところでは、

・Facebook上に広告を出す新しいリターゲティング広告手法
・クッキーに保存した匿名IDでユーザ個人を特定する
・特定したユーザIDに対するリアルタイム入札で広告表示権を販売する
・fbのもつ個人情報と紐つける必要がない

ということで、その実装は公表されていないようだ。

ただのリターゲティングとどう違うのか考えてみた。

個人特定による広告表示は、広告主が広告主のサイト上で行うもの(welcome back hogehoge的なやつ)は問題ないが、他のサイトに掲載するために広告業者に追跡IDを渡してしまうと、追跡IDのリストそのものが広告主のユーザ評価情報として価値を持ってしまう。広告掲載内容も広告業者に渡すなら、その内容も個人情報として価値を持つ。
特にその広告業者が、膨大な個人情報データベースを持つFacebookなら、紐つけ可能な情報はさらに増えることになる。

一方、FBXでは、facebookのサイト上で、fbがユーザから追跡IDを取得したときにリアルタイムに入札することで初めて、ユーザの価格がfacebookに通知される。
FBに追跡IDと(全リストでなく)個々の入札価格以外の情報を渡さずに個人を特定した広告が出来る。表示内容もfacebookがiframe挿入を許すなら、facebookから隠蔽することが出来る。

広告主のもつ個人情報と、facebookの持つ個人情報を疎結合とすることで、ユーザのプライバシーを尊重しつつ、利益を得るという事が可能と考えられる。


想定される実装方法として
FBがユーザ追跡クッキーに一切タッチしない方法と、FBが追跡IDを管理する方法が考えられる。

前者は、フェイスブックのページのどこかに、広告主(あるいは中間の広告事業者)がセットしたクッキーを取得するための外部ドメインへのimgタグなりを網羅的に埋め込み、広告主が個別に追跡クッキーを検査して、該当セッションへの入札価格を決めてfbに注文する方法。フェイスブックを広告主サイト上から締めだすことが出来るが、外部ドメインへのアクセスが広告主の数だけ発生するため、FBX対応の広告主の数を増やすことは難しい。
特定小数の広告事業者を寡占的な取次として指定するならば、埋め込みタグ数=外部ドメインアクセス数を減らすことができるものの、今度はその広告業者に(広告内容を含むよりプライベートな)個人情報が蓄積され第nのビックデータになりかねず、個人情報を切り離す意味が(少なくとも一般ユーザには)なくなる。また、facebookの閲覧履歴を幅広い広告業者に渡すことになり、好ましくない。
個人的にはこの手法で実装するのは無理があるし意味が無いものと思う。

自分が妥当と考えるのは、fb自身で自由に管理できる内部ドメインのクッキーでユーザ追跡を行い、広告業者に通知する方法。
追跡用クッキーをセットする際には、fbのウェブAPI経由でユーザブラウザに追跡クッキーをセットしつつ、広告主に入札用IDを与える。(日本語訳記事とはこの点齟齬がある。DSPがクッキーをセットする、と書いてあるが、自分は広告業者側の意思でAPI経由でfbのクッキーを、と解釈した)
この方法では、fbは広告主のサイト上での(広告主の許容範囲内で)ユーザ追跡が許され、同時にfbアカウントとFBX用追跡IDの紐付けも可能になる。
ブラウザとfbサーバ間の通信でユーザ特定が完結するので、入札・応札のサーバ間APIさえスケールすれば、対応する広告主を増やすのは用意になる。


どちらの実装にせよ、個人情報を密結合することなく、単純なサードパーティクッキーを利用することで、精密な個人特定広告を、広告主とは別のドメイン上に展開する手法、と考えられる。
facebookのもつ情報と、広告システムのターゲティング情報を組み合わせることができないという説明が事実なら、サードパーティクッキーを禁止することで、これは排除できると考えてよいとおもう。

情報が不十分で誤解している可能性も高いので御指摘いただけるとありがたい。
posted by ko-zu at 01:00| Comment(0) | TrackBack(0) | 広告・ユーザ追跡 | このブログの読者になる | 更新情報をチェックする

2012年09月16日

Facebook Exchange についてTLを見ていて

http://causeless.seesaa.net/article/293003642.html
の方に書きなおしました。

(以下旧記事)

FacebookExchange(FBX)という広告システムについてmala氏(@bulkneets)とROCA氏(@rocaz)が盛り上がって?いたようなので。
実装方法の情報が乏しくFacebookやってない人間にはさっぱりなのでTLと記事から考えてみた。

『Facebook Exchangeはリアルタイム入札で特定ユーザーをターゲットする新しい広告手段』
http://techcrunch.com/2012/06/13/facebook-exchange/

FBXでは、詳細なユーザー情報を持つ広告主と、既存の閲覧履歴しか得られないFacebookをつなぐのに専用のcookieのみで済むため、Facebookから詳細な購入履歴が分かったり、その逆が起こらない、ということらしい。

想定される実装としては、

・広告主は、ページ中にFBXのサーバへのリクエストを埋め込んで3rdpartyクッキーを設定してもらう+専用のIDを入手する。これはFB側で生成された専用の匿名ID。
(外部スクリプトタグで匿名IDをcookieにセット、同時に表示元ページにもjsonで渡す、とか方法はいろいろ考えられる)
・広告主は(広告主の管理する個人情報データベース上の)ユーザーにこのIDを紐付けておき、ユーザが広告対象として価値がありそうなら、そのIDに入札する。
・FacebookではFBX用のIDをcookieから取得し、対応するIDに広告主の入札があれば広告領域に表示する。


このシステムは次のような利点・欠点が考えられる

広告主からFacebookへの情報漏れ防止
広告主が、余分な情報をFBに送ったり、並行してFBのユーザ追跡を許していたりしなければ、ユーザーの(広告主サイトへ提供した)個人情報はFBにはもれない。
また、FBが広告主から提供された広告をチェックしてユーザ情報を推定できないよう、originの違うiframeとして実装することも(Facebookが突然制限し始めたりしなければ)可能と思われる。

適切に実装した場合、FBが得られる情報は、FacebookアカウントとFBX匿名IDの紐付けと、そのユーザがどのサイトでFBX用のIDを割り当てられ、どの程度広告主に興味を持たれているか(=価値あるユーザか?)程度しかわからないはず。

FBに詳細な個人情報を提供できないが、フェイスブックのページ上により精密なターゲティング広告を出したい。ニーズに答えることが可能になる。個人情報の疎結合を維持したいFBユーザーにとっても、利点となりうる。

もしかしたら、『あなたの車は今工場でこんな工程まで生産されてますよ、この追加オプションはいかが?』的な昔のIBMのCMみたいなプロモーションも出来るかもしれない。


Facebookから広告主への情報漏れ防止
FBXとフェイスブック上のデータとの紐付けはFB内部で完結するので実装にバグがなければ情報は出ていかない。


広告主から広告主への情報漏れ防止
FBX用の匿名IDは広告主毎に異なるものを割り当てると思われる。(要出典)
(一律同じにしていると、広告主の一社が匿名IDを含むDBを漏洩してしまったりすると、他の広告主がそれを元に紐つけできてしまう。)
クッキー自体は広告主は読めないはずなので、クッキーに紐ついた又別のIDを渡せば済む。


憶測には無力
陰謀論的憶測だが、このシステムを隠れ蓑に、ユーザー情報のより密な結合は当然可能。
つまり、広告主とFBが裏で手を結び、個人情報データベースを共有していたら、という憶測を排除できるものではなく、通常の個人情報収集と同様、事業者の法の順守を信頼するしか無い。そういう意味で、エンドユーザーにとって、安全性が増すという確証を得られるような技術ではない。

もちろん、このシステムの利用者は個人情報丸投げしない、プライバシー問題を十分理解した広告主である、と評価することは出来る。
#日本国内の現状を見るとすごく虚しく聞こえる……


ユーザーの自衛
サードパーティクッキーは無効にした方がいい。ブラウザ側で排除するのが一番。

posted by ko-zu at 07:02| Comment(0) | TrackBack(0) | 広告・ユーザ追跡 | このブログの読者になる | 更新情報をチェックする