NetGuardを使用すると、ルートなしでアプリのインターネットアクセスを制御できます。

Android Lollipop(5.0)で導入された変更の1つは、Androidの専用インターネットアクセス許可の削除です。 当時、変更に注意が向けられていましたが、ユーザーはルートアクセスを使用してファイアウォールをインストールし、個々のアプリをブロックすることができました。

明らかに、これは根を張りたくない人にはあまり役に立たなかったが、それは物事があった方法でした。 しかし、それ以来、マシュマロは、根ざしたユーザーの生活をより困難にするように見えます。

非常に人気のあるオープンソースプライバシー保護ツールXPrivacyの研究で知られるRecognized DeveloperであるM66Bは、 ルートを必要としないアプリケーションを作成し、 どのアプリがインターネットにアクセスできるかを制御できるようにしました。 彼の最新のアプリケーションを使用すると、デバイスでアプリケーションがインターネットにアクセスするのを選択的にブロックできます。 これにより、ユーザーは、どのアプリがインターネットにアクセスできるかを制御できるようになり、実際にインターネットへのアクセスが必要なものを自分で決めることができます。

この種のラテラル思考は、マシュマロではルートがより複雑になるため、私たちがさらに必要としているものです

NetGuard for AndroidはAndroid用の非ルートファイアウォールソリューションであり、アプリの破損を引き起こすことなく、どのアプリがインターネットにアクセスできるかを制御します(インターネット接続があまり良くないと考えている場合を除きます!)。 NetGuardはWiFiネットワークとセルラーデータネットワークの両方を個別に制御できるため、(キャップ​​された)セルラーデータパッケージを介して急速に起動する手に負えないアプリを使いこなすのに役立ちます。

NetGuardは、特定の種類のネットワークへのアプリケーションアクセスを簡単にブロックまたは許可できるシンプルなユーザーインターフェイスを提供します。 緑のアイコンはアプリがアクセスを許可されていることを示し、オレンジ/赤のアイコンはアプリがブロックされていることを示します。 それほど大きく設定することはできませんが、それはおそらく祝福です。NetGuardをインストールして動作させるのに約2分かかりました。 ファイアウォール自体を有効にするには、トップバーのオレンジ色のスイッチを「オン」位置(右側)に切り替えることを忘れないでください。

根が浅い未来では、この種の革新は、ユーザーがデバイスをカスタマイズしやすくするための良いことにすぎません

ファイアウォールを有効にすると、M66Bはバッテリーの消耗やデバイスのパフォーマンスに影響を与えないように最大限の努力を払いました。 実際、アプリは内部でVPN APIを使用しているので(心配しないで、インターネットにアクセスできず、ソースは完全に利用可能です)、かなり汎用性があります。IPv4とIPv6、およびTCPとUDPプロトコルの両方をサポートします。 NetGuardが他のルートなしファイアウォールから際立っているのは、開発者が逃げることができる限り少ないトラフィック処理を実行し、可能な限り最小限に抑えるように設計されていることです。

実際のメッセージの処理を実装しないことにより、デバイスがスリープ状態であってもTCPパケットをオンザフライで実装およびデコードする必要があるファイアウォールと比較して、はるかに優れたバッテリ寿命を実現できます。 代わりに、NetGuardはVPN APIを使用して特定のアプリケーションからのトラフィックを「シンクホール」します。これは、Androidが特定のアプリケーションのトラフィックをVPN経由で「強制」するためです。 その後、VPNはすべてのパケットを単純に破棄し、アプリごとに電話機からのデータ出力を制御する方法を提供します。

ここで興味深いのは、開発者が取ったアプローチです。オープンソースのルートフリーファイアウォールのアイデアは素晴らしいと思ったので、私は彼と初期コンセプトの設計に取り組みました。 最初にIPアドレスなどをブロックするというアイデアについて議論し、彼はJavaサービスでTCPを効率的に実装し、パケットを処理し、概念実証を作成する方法を調べるための実験さえ行いました。

「NetGuardは、従来はルートを必要としていた問題に革新的な解決策をもたらす動きの始まりになる可能性があるため、興味深いものです。」

ただし、このプロセス中に、異なるアプリからのトラフィックを区別するには、カーネルの「proc」ファイルシステム上のファイルへの文書化されていないアクセスを利用して、プロセスをアプリケーションUIDに変換する必要があることがわかりました。 このアクセスは、SELinuxによってAndroidの将来のバージョンで簡単にブロックされる可能性があり、さらにいくつかのセキュリティ指向のデバイスでもブロックされる可能性があります。すべてをテストせずに確認することはできません。

いずれにしても、今日のように、アプリケーションのアクセスを制御するVPN APIが発見され、NetGuardに至ったのは、この障害です。

iptablesベースのAFWall +など、Androidで利用できる他のオープンソースファイアウォールがありますが、通常これらにはルートアクセスが必要でした。 最近のデバイスでルートを取得(および維持)するという課題があるため、マシュマロでルートを放棄し、ルートなしで生きようとするユーザーが増えていることは明らかです。 このため、NetGuardが最も興味深い可能性があります。 それは、従来は根を必要としていた問題に革新的な解決策をもたらす動きの始まりかもしれません。 根がより浅い未来では、この種の革新は、ユーザーがデバイスを簡単にカスタマイズできるようにするための良いことです。 個人的にも、この種のラテラル思考は、私たちがさらに必要としているものだと思います。ルートは、マシュマロといっそう複雑になります。 たぶん、ルートのみの機能を見て、箱の外を少し考えて、それを回避する革新的な方法があるかどうかを確認し、在庫の変更されていないデバイスでそれを可能にするときですか?

他にどのような非ルートソリューションが存在することを望みますか? 以下にお知らせください!