Androidの広告ブロックを謳うViaブラウザが非常に怪しい

Androidの広告ブロックを謳うViaブラウザが非常に怪しい
Androidの広告ブロックを謳うViaブラウザが非常に怪しい

 

 
読了目安:146

Are you want to translate this page to English? Please click this link to translate via ‘©Google Translate'!

ganohr.net favicon

みなさんこんにちは、ガノー(Twitter:Ganohr)です。

via_inject_blocker.cssというリソースをご存知でしょうか。

 

もちろん、私はこのようなリソースを知りません。

Googleで検索をかけても技術的な解説は一切なく、むしろ不審なアダルト向けのサイトやスプログがそのファイル名を元にブラックハットを行っているようです。

 

ではこのファイルが一体何なのかを突き止めるため調査をし、Android向けブラウザの『Via』が非常に怪しい挙動をしていることを突き止めたため、公表することとしました。

 

Androidの広告ブロック機能を持ったブラウザ『Via』が要求する「via_inject_blocker.css」は、不審なサイトに利用されている可能性がある

via_inject_blocker.cssはAndroid向け『Via』ブラウザが独自にロードしようとする、不正なバックドアが動いていることの目印である可能性が高い

以下のログをみてください。

これはViaを利用して自サイト『ぺるせぽ。』へアクセスした際の、私が独自開発しているWAF(Web Application Firewall)による解析ログです。

2023-03-29 05:47:03 GNR-ACCESS-ANALIZER token=[VERIFIED], verified=[1], ref=[https://ganohr.net/], os/browser = [OS:Android, Browser:Google Chrome Mobile]
2023-03-29 05:47:18 GNR-WAF-WEBDETECTOR mes=[VERIFIED], uri=[https://ganohr.net/blog/howto-handle-lazy-loading-error-for-w3-total-cache/], ref=[https://ganohr.net/], verified = [verified]
2023-03-29 05:47:19 GNR-WAF-WEBDETECTOR ip=[*.*.*.*], mes=[Security Risks Access], uri=[https://ganohr.net/via_inject_blocker.css], ref=[https://ganohr.net/blog/howto-handle-lazy-loading-error-for-w3-total-cache/], verified = []
2023-03-29 05:47:20 GNR-WAF-WEBDETECTOR ip=[*.*.*.*], mes=[Already Security Risks Access], uri=[https://ganohr.net/page-controll.php], ref=[https://ganohr.net/blog/howto-handle-lazy-loading-error-for-w3-total-cache/], verified = [unverified]
2023-03-29 05:47:26 GNR-WAF-WEBDETECTOR ip=[*.*.*.*], mes=[Already Security Risks Access], uri=[https://ganohr.net/blog/supremes-for-the-image-hotlink-prevention/], ref=[https://ganohr.net/blog/howto-handle-lazy-loading-error-for-w3-total-cache/], verified = [unverified]
2023-03-29 05:47:33 GNR-WAF-WEBDETECTOR ip=[*.*.*.*], mes=[Already Security Risks Access], uri=[https://ganohr.net/page-controll.php], ref=[https://ganohr.net/], verified = [unverified]
2023-03-29 05:47:44 GNR-WAF-WEBDETECTOR ip=[*.*.*.*], mes=[Already Security Risks Access], uri=[https://ganohr.net/page-controll.php], ref=[https://ganohr.net/], verified = [unverified]
2023-03-29 05:47:50 GNR-WAF-WEBDETECTOR ip=[*.*.*.*], mes=[Already Security Risks Access], uri=[https://ganohr.net/page-controll.php], ref=[https://ganohr.net/blog/howto-handle-lazy-loading-error-for-w3-total-cache/], verified = [unverified]
2023-03-29 05:48:01 GNR-WAF-WEBDETECTOR ip=[*.*.*.*], mes=[Already Security Risks Access], uri=[https://ganohr.net/blog/siteinfo-notification-regarding-billing-for-countermeasure-costs-associated-with-unauthorized-access-countermeasures/], ref=[https://ganohr4.wixsite.com/], verified = [unverified]
2023-03-29 05:48:01 GNR-WAF-WEBDETECTOR ip=[*.*.*.*], mes=[Already Security Risks Access], uri=[https://ganohr.net/page-controll.php], ref=[https://ganohr.net/blog/howto-handle-lazy-loading-error-for-w3-total-cache/], verified = [unverified]

このログの中で出てくるhttps://ganohr.net/page-controll.phpというファイルは、不正アクセスを検証するためにJavaScriptからロードされる検証プログラムです。

GNR-ACCESS-ANALIZERはIPアドレスやUser-agentを検証し、またJavaScriptを用いてtokenベースの検証を行い、不正なアクセスではないことなどの一連の検証をしています。

 

この時点(https://ganohr.net/、トップページを要求した時点)では不正なアクセスではないだろうと判断し、token=[VERIFIED]として出力されており、この一連のアクセスで使用されるトークンが認証されたことを出力しています(これ以降、このトークンが認証に使用されます。なお、当方の開発するWAFは可能な限り個人情報を収集しないよう、不正なアクセスではないと判断している場合はトークン他、IPアドレスやUAを直接ログに出力しません)。

 

そして2行目のログはトップページであるhttps://ganohr.net/からhttps://ganohr.net/blog/howto-handle-lazy-loading-error-for-w3-total-cache/というページに遷移しようと要求されたことが示されています。

GNR-WAF-WEBDETECTORは要求されたURLが不正なアクセスを意図しているのか否かを検証する、独自開発しているWAFソフトウェアです。

2行目のログで要求されたhttps://ganohr.net/blog/howto-handle-lazy-loading-error-for-w3-total-cache/は正当なURLであるため、WAFがverified = [verified]として検証し問題のないアクセスであるとして認証したことを出力しています。

 

問題なのが3行目であり、Viaがウェブサイトには存在しない不審なリソースであるvia_inject_blocker.cssをロードしようとしたため、WAFは「Security Risks Access」(セキュリティリスクのあるアクセス)としてこれ以降のサイトアクセスを遮断したことが示されています。

実際、この検証の結果「Via」側は利用者に何ら同意なく、無断でvia_inject_blocker.cssをロードしていることが判明した訳です。

 

また、そもそもログを読める人であれば、「Viaがリファラを偽装し、存在しないファイルの読み込みを試みた」ということがわかるでしょう。

 

それ以降のログはViaによる不正アクセス試行が原因となり、一定期間全ての通信が「Already Security Risks Access」として遮断されています。

Viaはなぜvia_inject_blocker.cssを無断で、しかもリファラを偽装してアクセスする必要があるのか?

高性能な3台のパソコンが並んでいるCG写真
Viaは利用者に無断で「via_inject_blocker.css」という存在しないリソースをリファラ偽装をしてまで要求する

 

サムネイルVia - 最小&最速のブラウザ - Google Play のアプリ私たちは、スマートフォンの容量を圧迫せずに、快適なウェブブラウジング体験をしてほしいと考えています。 ... 外部サイトへアクセスplay.google.com

ViaのAndroidのGoogle Play上ではこのブラウザの内容を以下のように説明しています。

100万ダウンロード突破!軽量、高速ブラウザの決定版!

✔広告なし
Viaブラウザには設定画面含め、邪魔な広告はありません。

✔無料
全ての機能が無料にてご利用できます。

✔不要な通知なし
天気や別のアプリなどのポップアップ通知はありません。

✔日本語対応
日本人による翻訳が行われています。

✔軽量、高速
アプリサイズも小さく端末の容量を圧迫しません。
動作中のメモリ使用も多くありません。

■機能
・UIのカスタマイズ
・広告ブロック機能
・個人情報保護
・ブックマーク
・ナイトモード
・PCビュー機能
・翻訳
・ページ内検索
・複数の検索エンジン対応
・ウェブページの保存(mht形式)
・画像のみの表示機能
・ホームページを自由にカスタマイズ
・フルスクリーン表示
・User Agentの変更

その他にも多くの機能が搭載されています。

■権限に関して
・位置情報
ウェブサイトに位置情報を提供するために使用しています。

・ストレージ
画像やメディアなどのダウンロードを行うために使用しています。

■日本語翻訳について
有志による翻訳を行っています。
新しいバージョンがリリース後、実際の表示箇所を確認しつつ翻訳しています。
タイミングにより翻訳がされていない所がある可能性があります。ご了承ください。

また、翻訳が変な箇所などありましたら、コメントにてご報告お願い致します。
該当箇所を確認し、必要であれば修正を行います。
2023/03/29、https://play.google.com/store/apps/details?id=mark.via.gp&hl=ja&gl=US&pli=1より引用。

 

ここで注意しなければならないことは、「Viaにはマルウェア対策や利用者保護等の機能は存在しない」という点です。

加えて、このソフトは、個人情報保護を謳っているにも関わらず、個人を識別できるIDを第三者へ提供することを示しています

サムネイルVia - 最小&最速のブラウザ - Google Play のアプリこのアプリが収集、共有する可能性があるデータの種類と、アプリに適用されるセキュリティの方針について、デベロッパーから提供された情報が記載されています。データの取り扱いは、アプリのバージョンや使用方法、ユーザーの年齢やお住まいの地域によって異なることがあります。詳細 ... 外部サイトへアクセスplay.google.com
データ セーフティ
このアプリが収集、共有する可能性があるデータの種類と、アプリに適用されるセキュリティの方針について、デベロッパーから提供された情報が記載されています。データの取り扱いは、アプリのバージョンや使用方法、ユーザーの年齢やお住まいの地域によって異なることがあります。詳細

共有されるデータ / 他の企業や組織と共有される可能性があるデータ

アプリのアクティビティ/アプリ インタラクション数
    共有されるデータとその目的
        アプリ インタラクション数/分析

アプリの情報、パフォーマンス クラッシュログ、診断
    共有されるデータとその目的
        クラッシュログ/分析
        診断/分析

デバイスまたはその他の ID/デバイスまたはその他の ID
    共有されるデータとその目的
        デバイスまたはその他の ID/分析

収集されるデータ / このアプリで収集される可能性があるデータ

個人情報/ユーザー ID
    収集されるデータとその目的
        ユーザー ID/アプリの機能 アカウント管理

アプリのアクティビティ/アプリ インタラクション数
    収集されるデータとその目的
        アプリ インタラクション数/分析

アプリの情報、パフォーマンス/クラッシュログ、診断
    収集されるデータとその目的
        クラッシュログ/分析
        診断/分析

デバイスまたはその他の ID/デバイスまたはその他の ID
    収集されるデータとその目的
        デバイスまたはその他の ID/分析

セキュリティの方針

データは送信中に暗号化されます
データは安全な接続を介して送信されます

データを削除するようリクエストできます
データを削除するようデベロッパーにリクエストできます
2023/03/29、https://play.google.com/store/apps/datasafety?id=mark.via.gp&hl=ja&gl=USより引用。

 

これを見る限り、「Viaは個人情報保護機能を提供しているように見せかけて、実際は明確に個人情報であるIDを第三者へ提供する」わけであり、信頼性が著しく低いことは明白ではないでしょうか。

 

また、当サイトはvia_inject_blocker.cssなどというリソースは一切利用しておらず、それなのにHTTP REFERRERが「https://ganohr.net/」となっており、これは明らかに「Via」が当サイトからのリクエストであるとリファラを偽装していることを示しています。

本来、正当な理由でのアクセスであればわざわざリファラを偽装してアクセスする必要はありません。

 

ViaはChromiumベースのWebViewを用いて実装していることが明示されているわけであり、そのウェブサイトがvia_inject_blocker.cssを呼び出しているのであればコード内に含まれており、わざわざリファラを偽装しなくとも、標準的な動作としてそのCSSがロードされるはずです。

CSSをロードしない場合も、取得したHTML内にvia_inject_blocker.cssのパスが含まれるかどうか確認するだけで良いはずです。

 

しかし、Viaはあえて存在しないファイルに対して、しかも明らかに不正アクセスでよく利用されるリファラ偽装という手段を用いてアクセスしようとしているのです。

 

  • 脆弱なサイトから利用者を守るような機能のないViaでありながら、
  • しかも個人情報保護を謳いながら明らかに個人情報であるIDを第三者へ提供するといった矛盾のあるアプリを提供し、
  • あまつさえリファラ偽装という不正アクセスによく使われる手法で無関係なvia_inject_blocker.cssを呼び出す

ここまで不審なアプリを、一体誰が信頼しろというのでしょうか?

念のための追加調査

via_inject_blocker.cssが、ブラウザ「Via」により意図的にロードされていることは明白である

まず、via_inject_blocker.css」が意図的に呼び出されていることは以下のGitHub上のIssueより確定します。

サムネイルBug: injected css, Identifier 'o' has already been declared · Issue #1230 · tuyafeng/ViaThe hard coded injected js code if (!document.getElementById('via_inject_css_blocker')) { var css = document.createElement('link'); css.id = 'via_inje ... 外部サイトへアクセスgithub.com

 

The hard coded injected js code

if (!document.getElementById('via_inject_css_blocker')) { var css = document.createElement('link'); css.id = 'via_inject_css_blocker'; css.type = 'text/css'; css.rel = "stylesheet"; css.href = 'https://www.reddit.com/via_inject_blocker.css'; var o = document.getElementsByTagName('head'); if (o.length > 0 && o[0].appendChild(css)) {} } ; won't work on reddit.com since
Uncaught SyntaxError: Identifier 'o' has already been declared. Please use let instead of var in your source code.
2023/03/29、https://github.com/tuyafeng/Via/issues/1230より引用。

 

こうしたやり取りからViaが意図的に「via_inject_blocker.css」をロードしようとしていることは明らかです。

なお、このコードのままであれば「reddit」のみvia_inject_blocker.cssを呼び出すように思うかも知れませんが、このIssueの返答では「対応済み」とのみ返信がされており、「via_inject_blocker.css」周りのコードをどのように変更したかは触れていません。

 

実際にViaから「via_inject_blocker.css」を設置しているウェブサイトにアクセスしても、何も警告等表示されない

以下のリソースは200 OKを返しますが、www.omnitron-systems.comへアクセスしてもViaは警告も何も表示しません。

実際に存在する「via_inject_blocker.css」のレスポンスチェックの結果
実際に存在する「via_inject_blocker.css」のレスポンスチェックの結果。

 

なお、このリソースは実際のところ空のファイルを返却しており、「Viaは空のファイルの場合なにもしない」という実装になっているのか、その他の理由は不明です。

されど、Viaが実際にこのファイルが設置されていても設置されていなくても、利用者に対してなにも警告を出していないことはViaを疑う十分な証拠になるのではないでしょうか。

via_inject_blocker.cssのロードはabuse-ipdbでハッキングであるとマークされている

abuse-ipdbはウェブサイトへアクセスしたIPアドレスの不正行為を報告できるウェブサービスです。

ウェブサイトのセキュリティ対策を行っている人の間では有名なサービスです。

 

これを調べると、「via_inject_blocker.css」の呼び出しが「Hacking, Web App Attack」として報告されています。

サムネイルhttps://www.abuseipdb.com/check/46.211.9.83 ... 外部サイトへアクセスwww.abuseipdb.com
Reporter	Date	Comment	Categories	
 repi	18 Dec 2020	via_inject_blocker.css	Hacking, Web App Attack	
2023/03/29、https://www.abuseipdb.com/check/46.211.9.83より引用。

 

ただし、この情報自体はユーザーによる報告であり件数も1件しか無いため、参考とするにもやや不十分となります。

ViaブラウザをVirusTotal Mobileで検証した結果は特に問題は見つかっていない

『VirusTotal』は、オンラインで利用できるウィルスチェックサービスです。

サムネイルVirusTotalVirusTotal ... 外部サイトへアクセスwww.virustotal.com

 

これはダウンロードできるファイルのチェックしか行なえませんが、この機能をモバイルデバイス上で利用できる『VirusTotal Mobile』があります。

サムネイルVirusTotal Mobile - Apps on Google PlayVirusTotal is a service that analyses suspicious files and URLs ... 外部サイトへアクセスplay.google.com サムネイルVirusTotal Mobile - Apps on Google PlayHere's more information the developer has provided about the kinds of data this app may collect and share, and security practices the app may follow. ... 外部サイトへアクセスplay.google.com

 

ただしこちらは有志によりVirusTotalを利用したアプリケーションであるため、『VirusTotal自体は保証しない』となっています。

サムネイルhttps://support.virustotal.com/hc/en-us/articles/115002146549-Mobile-Apps ... 外部サイトへアクセスsupport.virustotal.com

 

とはいえVirusTotal自体がその存在を知り、アナウンスをしているため、一定の信頼性はあるでしょう。

このVirusTotal Mobileにてチェックを行った限り、『Via』は少なからず何らかのウィルスやトロイの木馬ではないと考えられます。

CSSの存在チェックは脆弱性スキャンの常套手段である

「css」ファイルの有無を調べたって別に問題ないのでは?

と思っている方がいれば、それは完全な間違いです。

 

特定のCSSがそのサイトに有るかどうかを調べる」というのは‘Vulnerability Scanning脆弱性スキャンの常套手段であることを知るべきです。

基本的には管理者の許可なくVulnerability Scanningを行うことは不正アクセスのための準備であると認識されるため、行き過ぎた行為は不正アクセスとして認定されることがあります。

 

実際、以下は当サイトを標的にして行われたことのある、CSSの存在を元にしたVulnerability Scanningの一例です。


/wp-includes/images/style.css
/wp-includes/css/css.css
/wp-includes/fonts/style.css
/wp-content/themes/workreap/style.css
/wp-content/themes/greyd_suite/style.css
/wp-content/themes/houzez/style.css
/wp-content/plugins/wpgateway/css/style.css
/wp-content/plugins/wp-live-chat-support-pro/css/wplc_styles_pro.css
/wp-content/plugins/dzs-zoomsounds/admin/admin.css
/wp-content/plugins/superlogoshowcase-wp/css/sls-wp-admin.css
/wp-content/plugins/super-interactive-maps/css/sim-wp-admin.css
/wp-content/plugins/superstorefinder-wp/css/ssf-wp-admin.css
/wp-content/plugins/e-signature/page-template/default/style.css
/wp-content/plugins/wp-automatic/css/wp-automatic.css

※ 当サイトにこのファイルの検証を行うと、そのIPアドレスは比較的長期間ブロックされます

 

この記事の結論

『Via』には様々な点で不審な点があり、わざわざサイト上で呼び出していないリソースをリファラ偽装してまで要求する合理的な理由がありません。しかも実際にvia_inject_blocker.cssが設置されているサイトへアクセスしても、警告等を表示するわけでもないのです。個人情報保護機能を謳っていながら、実際は個人情報であるIDを第三者へ提供するわけであり、非常に疑わしいと評するしかないでしょう。

 

少なからず、

Androidで広告を排除したブラウジングという理由であれば、『Via』の利用はおすすめしません。 Androidでは現状、AdGuardを利用する方が賢明だと思います。 サムネイル本格的にAndroidで広告をブロックするのは【 AdGuard 】AdGuardは、Androidのアプリやブラウザの広告をブロックし、プライバシー保護やアプリ管理をサポートするユニークな広告ブロックツールです。 ... 外部サイトへアクセスcdn.adtidy.org

 

加えて当サイトでは、当分の間Viaの挙動は不審であると考え、WAF側の不正アクセス対策の一環として拒否することとします。

サムネイル【サイト情報】Android用広告排除ブラウザViaを用いたアクセスは不正なプログラムであるとして排除される恐れがあります当サイトはuBlockOriginやBraveを利用規約違反で排除しています.しかしこれはいうなればこの両者は不正なプログラムではないと認定していることと同義です.あくまでuBlockOriginやBraveはフィルタ定義者の信頼性が乏しく実際に当サイトへ被害をもたらしたことが原因であり利用規約違反として指定されて ... 続きを読むganohr.net2023-03-29

WordPressの不具合対応/カスタマイズ¥15,000~

PC歴25年超、SE歴10年超、WordPress運営歴7年超、WordPressエンジニア歴5年超のスキルとノウハウを提供します

当サイト管理人の「ガノー」(Ganohr)は、日本最大手且つ東証一部上場企業が運営するクラウドソーシングサイト『Lancers』にて、認定ランサーとして活動しています。


※ 認定ランサーとはLancersにより様々な能力 ( 高い仕事遂行率・高い顧客満足度・多くの実績、など ) を評価したプロフェッショナルを認定する制度です。

 

セキュリティ対策カテゴリの最新記事