Uberのデータ侵害:アプリをこのようなインシデントから防ぐ方法

公開: 2017-11-28

2016年、Uberは5,700万人のユーザーとドライバーの情報をハッカーに失い、ハッカーはデータを削除するために$ 1,00,000を支払いました。

この事件は、数日前にCEOのDaraKhosrowshahiがデータ侵害に光を当てた投稿を行ったときに浮き彫りになりました それ以来、アプリのセキュリティの問題に焦点が当てられています。

Uberはデータ侵害の最初のケースではなく、ユーザーの個人データが侵害されたことが何度もあります。これは、情報を要求するモバイルアプリの使用に人々を警戒させるイベントです。

これは、アプリのセキュリティ上の懸念に照らしてモバイルアプリユーザーのスタンスを示すビジュアルです–

アプリのセキュリティに関する懸念

それがどれほど恐ろしいのか分かりますか?

ただし、アプリが次のケーススタディになるのを防ぐことができ、ブランドにアプリのセキュリティゲームを適切に行うよう警告します。

方法は次のとおりです–

1.アプリをスクラッチから保護します

アプリのソースコードには多くの脆弱性が存在しますが、アプリ会社の大多数は、モバイルアプリのセキュリティのベストプラクティスの実装に焦点を当てながら、ネットワーク部分のみに焦点を当てています コーディングエラー、コードテストなど、データ侵害の土台となる可能性のある場所は非常にたくさんあります。

アプリが存在する日からアプリを保護するためにできることは次のとおりです。

  • アプリのコードを暗号化で保護します。 これを行うには、縮小と難読化の2つの方法がありますが、それだけでは不十分です。 API暗号化と組み合わせて十分にサポートされているアルゴリズムを使用することをお勧めします。
  • コードに対してソースコードスキャンを頻繁に実行する

安全なコードの兆候は、オペレーティングシステムとデバイス間で移植された後も安全なままであることです。 アジャイルコードを作成することは、この面で非常に役立ちます。

2.バックエンドからのネットワーク接続を保護します

長いです

アプリのAPIによってアクセスされるクラウドサーバーは、不正アクセスを防ぎ、ユーザーのデータを保護するための適切なセキュリティ対策を講じる必要があります。 API検証は、機密情報がクライアントからアプリデータベースまたはサーバーに渡されないようにする必要があります。

このステップを成功させるには、バックエンド開発プロセスが堅牢であることが不可欠です

ネットワーク接続を保護する方法は次のとおりです

  • ドキュメントとデータを保存するための暗号化されたコンテナを作成する
  • ネットワークの一連の脆弱性評価と侵入テストを実施して、データが保護されていることを確認します。
  • データベースと接続をSSL、VPN、TLSで暗号化して、セキュリティを強化します
  • フェデレーションの適用–主要なリソースをユーザーから分離しながら、サーバー全体にリソースを分散させて、すべてが1か所に配置されないようにする手段。

3.認証、識別、および承認のプロセスを実施します

アプリを識別、認証、承認する方法は次のとおりです

  • アプリが使用するAPIが、機能するために必要なAPIであり、アプリのすべての機能ではなく、フォーカスされている部分にのみアクセスできるようにします。
  • 利用できるツールやプロトコルは多数あり、アプリが開発段階にあるときは必ず従う必要があります。 はい、どうぞ -
    • JSON Web Token –軽量ツールはデータ交換の暗号化に使用され、大騒ぎの実装がないため、モバイルアプリに最適です。
    • OpenID Connect –これは、ユーザーがIDトークンを使用して異なるドメイン間で資格情報を再利用できるようにするプロトコルであり、毎回同じ情報で登録およびサインアップする時間を節約します。
    • OAuth2 –プロトコルは、1回限りのユーザー固有のトークンを介して安全な接続を管理するために使用されます。 承認サーバーにフレームワークをインストールすると、2要素SMSの質問などの資格情報を収集することにより、エンドユーザーとクライアント間のアクセス許可をユーザーに付与できます。

4.包括的な一連のテストを実行します

Webアプリとは異なり、モバイルアプリのデータの大部分はローカルに保存されます。データは帯域幅、パフォーマンス、品質が異なるデバイス上にあるため、ハッキングされるリスクははるかに高くなります。
デバイスの不安定性の要因に加えて、性別、年齢、デバイスの使用状況など、ユーザーが知らないうちにデータをリリースする傾向があるアプリもあります。

アプリで顧客データが安全であることを確認する方法–

  • ファイルレベルの暗号化を使用すると、ファイルごとにデータを保護できます。 これは、保存データを暗号化して、傍受されたときに読み取られないようにする方法の1つです。
  • Appcelatorプラットフォームのようなツールは、ローカルに保存されているモバイルデータが安全であることを保証します。

キー管理を優先する必要があります。 強力なアルゴリズムの基本は、同様に強力な証明書とキーです。

5.計画されたAPIセキュリティ戦略

モバイル開発はAPIと緊密に連携しているため、アプリを安全にするための大部分は、APIを安全にすることに依存しています。 APIは、アプリケーション間、クラウド間、および多数のユーザー間でデータを送信します。 データを表示および使用するには、すべての関係者を特定して承認する必要があります。 APIは機能、コンテンツ、データの基盤であるため、APIを確実に保護することは非常に長い道のりです。

api

APIには、識別、認証、承認の3つの段階があります。

以下の3つすべての要素を見てみましょう–

身元

プロセスの最初の部分である識別ハッキングは、APIキーを実装することで防ぐことができます。 これらのキーはランダムで一意の識別子であり、パスワードが不要です。
APIキーを使用してデータが表示されるタイミングを保護することはできますが、データを表示するはずの誰かがデータを表示したかどうかを判断することはできません。

認証

これは、情報を表示することを意図した誰かが情報を表示することを保証するプロセスです。 この段階で、ユーザー名とパスワードを設定して、システムがさらに高いレベルのセキュリティを確保できるようにします。

承認

このステップは、APIで何ができるかという質問に答えます。 このプロセスを保護するための手順には、2要素認証、トークン、およびワンタイムパスワードが含まれます。

6.アプリをテストします

アプリがハイブリッドアプリ、ネイティブアプリ、ウェブアプリのいずれであるかに関係なく、使いやすさと機能の側面だけでなく、セキュリティの観点からもテストする必要があります。 アプリの安全性を確保するためにアプリの品質が保証されるようにするには、いくつかの手順を実行する必要があります

アプリのセキュリティテストを確実に行う方法は次のとおりです–

  • ペネトレーションテスト–弱点を見つけるためにネットワークとシステムを調査することを意味します。
  • エミュレーターを使用して、シミュレートされた環境でアプリがどのように動作するかをテストします。
  • 承認と認証、セッション管理、およびデータセキュリティの問題を詳細にテストします。

つまり、これらは、アプリ開発プロセスで採用して、脚光を浴びているものではないことを確認するための6つの方法でした。

時間があるうちに、時間内にうまく組み込むようにしてください。