web-dev-qa-db-ja.com

ジェイルブレイクされていないiOSデバイスでプライバシーを維持するためのベストプラクティスは何ですか?

iOSは、他のほとんどのモバイルOSと同様に、個人情報のかなりの部分をサードパーティのアプリや、それらのアプリが使用する広告および追跡ネットワークに漏洩する可能性があります。これにより、ユーザーのIDと動作を集約および追跡できる可能性もあります。アプリ間で。

位置情報サービスは最終的にロックダウンされ、ネイティブのSafariブラウザーはクリーンに保つことができますが、インストールされたアプリは、ユーザーの知識や同意なしに、連絡先、写真、および一意のデバイス識別子にアクセスできます。

妥当なレベルの機能を維持しながら、サードパーティのアプリに関するプライバシーを向上させるために利用できる戦略、戦術、およびツールは何ですか?

4
pseudon

他の答えに加えて、ここにもっとヒントがあります:

  • ソーシャルメディアを使用する必要がある場合は、モバイルサイトまたはサードパーティのクライアントを使用してください。ソーシャルメディアは、お金を稼ぐ方法が個人データを転売することであるため、定義上悪ですが、サードパーティの開発者は、ソーシャルメディアサイトがお金を稼ぐことをあまり気にせず、あなたに購入してもらいたいだけです theirアプリであり、ほとんどの場合、プライバシーを尊重します。開発者を信頼していることを確認してください。邪悪なサードパーティアプリの具体例は、多くの場合中国名の未知の開発者からの無限のSnapchatスクリーンショットアプリです。これらのアプリによる被害を確認したい場合は、snapchatleaked(NSFW);を検索してください。信頼できるクライアントが見つからない場合は、そのソーシャルメディアサービスをまったく使用しないでください。

  • 表示されるすべてのアプリをインストールしないでください。開発者にとって、デバイスにアプリをインストールすることは、権利ではなく特権である必要があります。最新の洋服店のアプリや新しい電車/飛行機のチケット比較アプリをインストールする必要は本当にありません。ニュースアプリも邪悪です。アプリがニュースを読む必要はありません。Safariは、服の購入、ニュースの閲覧、携帯電話での作業の約70%の両方で、問題なく行うことができます。

  • 無料アプリよりも有料アプリを好む。無料アプリとは、広告がある(広告会社によってプライバシーが侵害されている)か、製品になる(アプリの開発者自身によってプライバシーが侵害されている)ことを意味します。どちらも同じように悪いです。一方、有料アプリには広告がないため、開発者を信頼していると仮定すると、安全であるはずです。

  • 繰り返しになりますが、可能な限りSafari(プライベートブラウジングモード)を使用してください。アプリのインストールは最後の手段としてのみ行う必要があります。つまり、開発者を完全に信頼する必要がありますが、そうなることはめったにありません。

  • 最後に、そうするための技術的手段と知識がある場合は、デバイスのすべてのトラフィックをネットワーク経由で渡すことを検討してください(HTTPプロキシ、VPN、またはカスタムAPNを介して。後者は非常にコストがかかりますが、キャリアがすべてのインターネットトラフィックをネットワークを介して直接モバイルプランを作成し、デバイス自体にVPNを構成する必要をなくします)。デバイス自体によって引き起こされる あいまいなトラフィック に加えて、かなりの分析およびクラッシュレポータートラフィックが表示されます。彼らは普通の広告よりも邪悪ではありませんが、地獄で燃えるはずです。プロキシレベル(HTTPSでもホスト名に基づいてフィルタリングできます)または最悪の場合はファイアウォールレベルでそれらをブロックします。

3
user42178

私のばかげた、しかし正確な答えは「あなたのヌード写真をiPhoneに保存しないでください」です。代表的な構成でiPhoneとの間で送受信されるデータをスニッフィングすることでアプリを監査できますが、TLSを正しく使用するアプリから送信されるデータを検査することはできません。機密データを含むサードパーティのアプリを信頼できない場合は、それらに機密データを提供しないでください。

特定のアプリの機能を検証できる場合(たとえば、サードパーティのテストレポートを取得したり、監査するソースを提供していて、同じソースを使用して製品を構築したと信頼している場合、またはそれが独自のものである場合) app)の場合、ジェイルブレイクされていないiPhoneでは、サンドボックスの制限により、そのアプリによってコンテナーに格納されているコンテンツを他のアプリで使用できないことを確信できます。ただし、アプリがカメラロールやアドレス帳などの共有ストレージの使用を開始すると、すべてのアプリの信頼に戻ります。

2
user185

App Storeが提供するものに加えて、プライバシーポリシーの検査は通常、iOSアプリに対して手動で行われます。

Network Minerを実行し、プラグ可能なロギングプロキシを使用してSSL/TLSまたはその他の暗号化されたプロトコルを再生しながら、DNSブラックホールを使用して透過プロキシを作成します。マロリーは、プラグイン可能な優れたロギングプロキシとしてよく引用されますが、このツールを使用して追加のタスクを実行することが多いため、Burp SuiteProfessionalを好みます。このDNSブラックホール方式は、名前変換を実行しないIPをキャッチしませんが、スニファは引き続きそのトラフィックをピックアップすることに注意してください。

より良い方法は、ビルド中およびビルド後にソースコードを検査することです(利用可能な場合)。この作業の多くを処理するために、xcodebuild(clang-analyzerおよびFortify 360 SCA sourceanalyzerと共に)とFlashProfessionalを使用しています。 smartsdumbappsanly_ios.plツールも非常に優れています。

Dtruss、iprofiler、Instruments、iosnoop、execsnoop、DTraceToolkitなど、iOSシミュレーターを使用するときに実行をトレースするためのツールは多数あります。これらはすべて、実際にはOSXバージョンのDTraceに依存しています。これらは、gdbをサポートするデバイスでは利用できません(XCodeは、GUIからコードを正常にビルドすると、lldbをiOSシミュレーターまたはデバイスに自動的にアタッチします)。

デバイスでObjective-Cランタイムを確認したい場合は、cycriptを強くお勧めします。

連絡先とUDIDに関するAppleのポリシーは急速に変化しています。多くの悪意のあるアプリがその存在を通してAppStoreを通じて利用可能になっているので、私はAppleのポリシーが信頼できるとは思わない。はい、Android未満ですが、それでも発生しています。

TrevEのLoggingCheckerやLookoutMobile Securityの多くのアプリなど、このタイプの検査を実行するAndroidアプリがいくつか存在します。これらのツールが完璧であるとは思わず、同様のツールを使用してiOSツールと同様の分析を実行します(DTraceの代わりにstrace、iOSシミュレータの代わりにAndroid Emulator、代わりにAndroid SDK xcodebuid、XCodeGUIの代わりにEclipseADT、clang-analyzerの代わりにFindBugsなど)。

IOSでLookoutMobile Securityアプリに相当するものと、Androidでsmaliのcycript実装を使用したいと思っています。

2
atdre