一部アプリのアプリ内ブラウザが外部Javascriptを読み込み、タッチ操作やテキスト入力を監視している可能性がある問題へ対処する『ProtectedBrowser』のご紹介。
昨日辺りから「TikTokなど一部アプリが、アプリ内ブラウザでタッチ操作やパスワードを含むテキスト入力を監視している」との報告が出ています。
今回の『ProtectedBrowser』では、この問題へ対処が可能で、指定したアプリがアプリ内ブラウザで外部Javascriptファイルを読み込めない様にしてくれます。
アプリごとにオン・オフすることが出来たり、外部Javascriptを読み込んでいるアプリで警告を出してくれたり…といった事も出来るため、気になる方にはオススメです。
詳細情報
ProtectedBrowser
Price(価格): | 無料 |
---|---|
Section(カテゴリ): | Tweaks |
Author(制作者): | Ginsu |
Repo(配布元): | ginsu Tweaks (https://repo.ginsu.dev/) |
インストール
CydiaやSileoへ下記のリポジトリを登録し、通常通り『ProtectedBrowser』をインストールしましょう。
特定のアプリ内ブラウザが盗聴行為
🔥 New Post: Announcing InAppBrowser – see what JavaScript commands get injected through an in-app browser
👀 TikTok, when opening any website in their app, injects tracking code that can monitor all keystrokes, including passwords, and all taps.https://t.co/TxN1ezZX71 pic.twitter.com/pQcX5vrEXc
— Felix Krause (@KrauseFx) August 18, 2022
Felix Krause氏より「いくつかのアプリに搭載されているアプリ内ブラウザが外部JavaScriptを読み込んでおり、中にはユーザーのパスコードやクレジットカード番号を含むテキスト入力、タッチ操作などを盗聴しているアプリがある」と報告が行われました。
これはアプリ側が用意した、カスタムされたアプリ内ブラウザで発生している物で、JavaScriptを利用してユーザーのタッチ操作やテキスト入力、閲覧しているサイトなどなどを取得している…という報告になっています。
また、一部アプリではそれら情報を自社サーバーへ送信しており、パスワードなどを送信しているとなれば…もはやキーロガーと同じであるとして問題となっています。
確認サイト
外部JavaScriptファイルが読み込まれているか?を確認することが出来る【inAppBrowser.com】というサイトが公開されています。
以下画像の様に緑チェックマークが表示されれば、そのアプリのアプリ内ブラウザは外部JavaScriptファイルを読み込んでいない…ということになります。
ただし、このサイトで確認が出来るのはiOS側が許している部分のみであり、完全な検証を行えるわけではありません。
また、あくまで「外部JavaScriptファイルを読み込んでいるか?」の確認のみであり、そのファイルが危険な物かどうかを判断するわけではありません。
そのため、読み込んでいる判定になったからといって、全てが危険性のあるファイル…というわけではないという点は理解しておく必要があります。*iOS 14.3以降でなければ、うまく判定されない場合があるようです。ご注意ください。
TikTokでは…
Krause氏が解析したアプリ内で一番問題のある挙動だったのが、TikTokです。
TikTokはアプリ内ブラウザで実行されたタッチ操作、キー入力(実質的にはパスワードなどを含む入力された文字)、開いたウェブサイトなど、多くの情報が取得されていたとのことです。
これはTikTokのアプリ内ブラウザで開かれたすべてのサイトに影響し、TikTokのアプリ内ブラウザでの操作や入力はすべて取得されていた可能性があります。
公平を期すため、TikTokからの反論…と言いますか、説明も記述しておきます。
Forbesの取材によると、TikTok側は報告された機能が搭載されていたことを認めた上で、ユーザーエクスペリエンス向上やトラブルシューティング、パフォーマンス改善にのみ使用していると説明しています。
また、執筆時点から数時間ほど前にこれらコードが削除された(もしくは隠された)様で、執筆時点では前項確認サイトをTikTokアプリから開いても緑チェックマークが表示されるようになっています。
Instagramでは…
更にInstagramのアプリ内ブラウザでも外部JavaScriptファイルの読み込みが確認されています。
Krause氏の解析結果では、Instagramアプリではアプリ内ブラウザで開かれたウェブサイトのボタンやリンクなどを監視し、それらがタップされたかどうか…といった部分の取得が行われているようです。
ただ、iOSの仕様上それ以上の解析が行えないとのことで、取得された情報がどの様に使用されているかは不明とされています。
ProtectedBrowser
と、こんな問題が報告されているわけですが…今回の『ProtectedBrowser』を使用すると、特定のアプリ内ブラウザが外部Javascriptを読み込むのを禁止することが出来るように。
実際にProtectedBrowserで外部JavaScriptファイルの読み込みを禁止し、inAppBrowser.comへアクセスすると…この通り、緑チェックマークへと表示が変わるのがわかります。
警告も
更にアプリ内ブラウザが外部JavaScriptファイルを読み込んでいるアプリを使用した際、以下画像の様に警告を表示してくれる機能も備わっています。
問題がなければ「Don’t alert me again」を選択すると、その後は警告が表示されないように。
外部JavaScriptファイルの読み込みをブロックしたい場合は「Disable JS in this app」から設定を開き、アプリを選択してあげましょう。
設定方法
設定アプリ内に追加される『ProtectedBrowser』項目より行います。設定変更後は画面右上「チェックマーク」よりリスプリングにて適用しましょう。
『Enabled』: 機能を有効にする
『Disable all scripts』: 選択アプリのアプリ内ブラウザではすべてのJavaScriptを読み込まないように(こちらを有効にすると、一部サイトが開けなくなるため通常はオフで大丈夫です)
『Detect JS injection』: 外部JavaScriptファイルを読み込んでいるアプリ内ブラウザで警告を表示
『Protected apps』: 外部JavaScriptファイルの読み込みを禁止したいアプリを選択
コメント
この記事をアプリ内ブラウザで読んでいる私。
有能。
入れてリスプリングさせるとセーフモードになるんだけど、、
セーフモードに入ってしまうとの報告を見かけていないので、ご使用の環境はどの様なものになるでしょうか?
一応AltList、GSCommon、Orion Runtime辺りがインストール出来ているか、また再インストールしてみてどうかを確認してみるとイイかもしれません
1.2.2にアップデートしたら解決しました。
1.2.0だと不具合があったのかな?
同じくセーフモードに入ります。削除すると復帰しますね
むむ…ご使用の環境はどの様なものになっていますでしょうか?
私はインストール後のリスプリングが終わりませんでした。
iPhone7 iOS14.6 checkra1n
1.2.2 で大丈夫でした
xs max 14.7 safemode. アンインストールせず、icleanerでoff.
safemodeから復帰.
iPhone8 Plus iOS14.3 Tourin JB
私もリスブリングループになりましたが、
バ アップデート版1.2.1インストールしたら問題解決しました。
結局、購入者が便利だからて
使ってるけれど、どういう仕組みになって動いてるかを販売者が知らせない、わかりにくいようにしてるのが問題だよなー
リテラシーていっても表面だけしか教えてない気がする、学校とか行政は
もう少し踏み込むと、困るから教えないんだろうな
待ってたー!
結構深刻な脆弱性ぽかったから対策くると思ってたんだぁ!わーい!
脆弱性…?ww
深刻っていっても、内蔵ブラウザがまずいだけであって、リンクをSafariに送れば影響はないから、そこまで対策に追われるようなものでもないのでは。
今回特にTikTokが名指しされている理由はその部分にも原因があり、多くのアプリでは「Safariで開く」ボタンが用意されているのですが、TikTokのアプリ内ブラウザでは現在開いているウェブページをSafariで開くためのボタンなどの機能が用意されていません。
そのため、現在のウェブページをSafariで開く術やURLを取得する術がなく、出来ることはウェブページ中のリンクを長押し > メニューからリンク先のURLをコピー > Safariへ移動してURLをペースト&移動…というリンク先をSafariで開くための手順だけになってしまいます。
それでも回避法があって、危険性が認識されているのであれば、大丈夫なのでは。
君が大丈夫だと思っているのであればそれで良いのでは?
押し付けるようなもんでもなかろう。
かわいい
導入後の不具合報告多くてちょっと怖いっすねえ
要はアプリ内ブラウザを使わなければ安泰なんですよね?
そうですね、すべてのアプリ内ブラウザが危険というわけではないのですが、現状大雑把にしか判別が出来ない以上、極力アプリ内ブラウザでログイン等の作業は避けるのが安全なのかなと思います。
取り合えずGoogle系とFacebook(Meta)系のアプリを有効にしておけば安心かな…
Zホールディングス系(LINE, Yahoo, PayPay)も、国産だからってあなどるなかれ。楽天系も。
これアラート出ないようにするとアプリ自体の設定plistに直接書き込む形で、解除も出来んから若干厄介。
気にならない人は気にならんだろうけど。