Security-testing-testing-sensitive-data-exposure

提供:Dev Guides
移動先:案内検索

セキュリティテスト-機密データの露出

オンラインアプリケーションは日々インターネットをflood濫させているため、すべてのアプリケーションが保護されているわけではありません。 多くのWebアプリケーションは、クレジットカード情報/銀行口座情報/認証資格情報などの重要なユーザーデータを適切に保護しません。 ハッカーは、弱く保護されたこれらのデータを盗んで、クレジットカード詐欺、個人情報の盗難、またはその他の犯罪を行う可能性があります。

単純な図を使用して、この欠陥の脅威エージェント、攻撃ベクトル、セキュリティの弱さ、技術的影響、ビジネスへの影響を理解しましょう。

sensitive_data_exposture

セキュリティの誤設定の古典的な例のいくつかは、次のとおりです-

  • サイトは、単にすべての認証済みページにSSLを使用するわけではありません。 これにより、攻撃者はネットワークトラフィックを監視し、ユーザーのセッションCookieを盗んでユーザーセッションをハイジャックしたり、個人データにアクセスしたりできます。
  • アプリケーションは、クレジットカード番号を暗号化された形式でデータベースに保存します。 取得すると、それらは復号化され、ハッカーはSQLインジェクション攻撃を実行して、すべての機密情報をクリアテキストで取得できます。 これは、公開鍵を使用してクレジットカード番号を暗号化し、バックエンドアプリケーションがそれらを秘密鍵で復号化できるようにすることで回避できます。

ハンズオン

  • ステップ1 *-WebGoatを起動し、「安全でないストレージ」セクションに移動します。 同じもののスナップショットが下に表示されます。

insecure_storage_1

  • ステップ2 *-ユーザー名とパスワードを入力します。 前に説明したさまざまな種類のエンコードおよび暗号化の方法論を学習するときが来ました。

予防メカニズム

  • 機密データを不必要に保存しないことをお勧めします。不要になった場合は、できるだけ早くスクレイピングする必要があります。
  • 強力で標準的な暗号化アルゴリズムが組み込まれ、適切なキー管理が行われていることを確認することが重要です。
  • また、パスワードなどの機密データを収集するフォームでオートコンプリートを無効にし、機密データを含むページのキャッシュを無効にすることで回避できます。