iOSの広告ブロックの種類 | 280blockerの続きです。広告ブロックのセキュリティ、プライバシーの話です。
素人の書いた文章ですので、セキュリティクラスタの方からのツッコミがほしいところ。
ブラウザの広告ブロックについて
safari、UISafariViewの広告ブロック
コンテンツブロッカーという仕組みはAppleによって厳格に管理されています。iphoneのコンテンツブロッカーはブロックしたコンテンツについての情報はAppに送信されません。つまりコンテンツブロッカーアプリ側から情報は何も取得できませんので、プライバシーの点でも安心できる仕組みです。
また基本的にブロックと非表示しか使えませんので本来の通信先以外にデータを送ることは不可能です。
ちなみにiOS9の頃はCSSの疑似要素を使って文字を追加することができましたが、最近のiOSバージョンではそのような事もできなくなっています。
WKWebView、UIWebViewでの広告ブロック
コンテンツブロッカー機能を利用した場合は安全かと思います。 JavaScriptを利用してブロックしている場合は、思わぬサーバーとの通信がされる可能性があると考えています。悪意があればユーザーのリクエスト内容は収集して送信する事が可能と考えます。
サーバーを中継する方法
通信内容がすべて開発元サーバーを通りますのでプライバシーの観点からは大きなリスクがあります。開発元(例えばOpera)が確実に信頼できる場合ではなければ利用しないほうが良いと思います。
すべての通信の広告ブロック
proxyの設定ファイル
広告サーバーの通信先をローカルループバックアドレスに設定している場合は場合は大丈夫かと思います。設定ファイル(PACファイル)の中身の確認が必要です。過去のweblockというアプリでは広告サーバーの通信先を8.8.8.8:53とGoogleのサーバに向けていました。おそらく速度の面でこちらの方が早いため採用したのかなと思っています。
他のアプリには、wifi.nomobileads.com:3366というような謎のアドレスへ通信を振り分けているアプリもあります。
VPNで自分のサーバーへつないで広告ブロック
これはユーザーがすべて管理しますので特に問題はありません。
VPNで広告フィルタするサーバーへつなぐ
すべての通信をアプリ開発元のサーバを介して行いますので、よっぽど開発元が信頼できる場合以外は利用すべきではありません。VPNを利用したことによる情報流出の危険性はたびたび報道されていますし、このタイプのものは基本利用しない方が良いと考えます。
VPNでDNSサーバを、広告ブロックDNSサーバに変更する
広告をブロックするDNSサーバーは信頼できるものを選びましょう。悪意を持ったDNSサーバーを用いると、正しいURLを入力してもフィッシングサーバーへつながってしまう事も容易に起こります。
比較的安心できる開発元が公開しているものとしてAdguard DNSがあります。(AdGuard DNS | 概要 | AdGuard)
以前にadblk.comというサイトが広告ブロックDNSを無料で公開されていましたが、(【魚拓】アプリ内広告の消し方 無料)、運営元情報が何もなく安心できないサービスと思っていました。
VPNでDNSの名前解決の一部を変更する
ユーザが設定した特定のドメインのみ通信先をローカルループバックアドレスに変更するアプリは、一般ユーザーにおすすめしても良いのかなと思っています。ただ、アプリ利用にはプロファイルインストールが必要で、プロファイルのインストールする時に警告が出るので、これをどのような場合にOKを押して良いのかは判断が難しいなあと思っています、一般ユーザに、何も考えずに許可していいと伝えるのはやめたほうが良いのかなと思っています。
Adblock Mobileというアプリは、開発元が広告とみなしたドメインへの通信リクエストは、通信先を開発元のサーバへ変更されます。これを悪意を持って運用されると、ユーザーの通信リクエストを収集するために広告サーバー以外の通信も開発元サーバーへ送る事が可能です。具体的な広告サーバーのリストも公開されていませんので、どのような通信が開発元に送られているかわかりません。プライバシーの問題があるアプリと判断しています。
Adbock Mobileのプライバシーポリシー:英語、
Google 翻訳版
(追記)この記事が公開されて1週間ほどでAdblock MobileがAppStoreから削除されました。