Skip to main content

機密性の高いアプリケーションデータを漏洩から保護する

学習の目的

この単元を完了すると、次のことができるようになります。

  • データの保護と暗号化の利点を挙げる。
  • 機密データの漏洩につながる可能性のある攻撃手法について説明する。

データの保護と暗号化

機密データの漏洩を防ぐ場合、アプリケーションセキュリティエンジニアは暗号化という強力なツールを実装します。暗号化とは、プレーンテキスト (現在、皆さんが読んでいる文章など) や画像などの他のデータ型を、読み取り可能な形式から相手が復号化鍵にアクセスできる場合にのみ復号化できるエンコードバージョンに変換する方法です。この単元では、アプリケーションセキュリティエンジニアが使用する暗号化とデータ保護の強力な機能について説明します。  

アプリケーションセキュリティエンジニアは、データ共有 (メール送信など) の保護、秘密 (パスワードなど) の保護、暗号化ストレージ (サーバー上のデータなど) の保護において、特に重要な役割を担っており、金融情報、医療記録、または社会保障番号のような個人識別情報 (PII) など、機密データを保護します。エンジニアは、すべてのデータ伝送のセキュリティを確保し、保存されているデータと転送中のデータを暗号化し、暗号化を実装する際には強力なアルゴリズムと適切な鍵管理を使用します。 

アプリケーションセキュリティエンジニアは、保存されているデータと転送中のデータを、特にユーザー、アプリケーション、ブラウザーの間で交換するときに盗難や改ざんから保護するために暗号化を使用します。エンジニアは、サーバー内のストレージレベル、テーブル、列、行のデータベースレベル、ハイパーテキストトランスファープロトコルセキュア (HTTPS) やトランスポートレイヤーセキュリティ (TLS) のような転送プロトコル上、およびクライアント (ブラウザー側) で暗号化を実装します。 

このようなプロトコルを使用して暗号化を実装することで、インターネット通信におけるプライバシー、認証、データ整合性が確保されます。こういったさまざまなレイヤーで暗号化を使用することで、悪意のある攻撃者による通信の傍受、データの改ざん、メッセージの偽造を防ぐことができます。 

ストレージサーバーのデータ、データベースサーバーのデータ、サーバーとクライアント (ラップトップ) 間の接続のデータをロックダウンするために使用されている暗号化。

機密データの漏洩を防ぐ

機密データの漏洩は、攻撃者が保存時や送信中の暗号化されていないデータにアクセスできる場合に発生します。アプリケーションのドメインによっては、PII、医療記録、ログイン情報、クレジットカード番号などの機密データが漏洩し、組織とその顧客に大きな悪影響を及ぼす可能性があります。 

攻撃者が機密データを漏洩させようとする方法にはさまざまな種類があります。暗号化鍵を盗もうとしたり、プレーンテキストデータをサーバーから、またはユーザーのクライアント (ブラウザー) からの転送中に、あるいはハードドライブなど別の場所に保存されているときに盗もうとしたりします。また、中間者 (MITM) 攻撃を実行しようとすることもあります。この種の攻撃は、ユーザーが暗号化されていないワイヤレスアクセスポイントを介して別の人と通信している場合に発生する可能性があります。攻撃者は両者の間に入り込み、メッセージを傍受することで会話を盗聴できます。攻撃者は、被害者同士がプライベート接続を介して直接会話していると思っている間にも、新しいメッセージを挿入することさえできます。 

中間者 (MITM) 攻撃で 2 者間の会話を盗聴する攻撃者

当然のことながら、アプリケーションセキュリティエンジニアは機密データの漏洩について懸念する必要があります。これは、攻撃者が利用しようと狙っている一般的で影響の大きなリスクです。ただし、アプリケーションセキュリティエンジニアには、アプリケーションの機密データの漏洩に対する脆弱性を評価し、その保護を改善するためにできることが多数あります。 

エンジニアは、アプリケーションを介して保存および送信されるデータの種類、そのデータの機密度、リスクと規制の両方の観点からどのようにデータを保護する必要があるかを確実に理解することから始めます。 

次に、エンジニアは、データがクリアテキストで転送されているかどうかを評価し、転送中のデータを保護するために TLS を実装します。また、Web アプリケーションが HTTPS でのみ動作するように設計されていることも確認します。HTTPS は、転送中のデータを暗号化しない HTTP ではなく、暗号化する Web サイトのバージョンです。転送中のデータが暗号化されていることを確認したら、エンジニアはバックアップを含む機密データがテクノロジースタックでどのように保存されているかを評価し、保存されているすべての機密データが暗号化されていることを確認します。 

暗号化の使用と理解は非常に複雑なトピックであるため、アプリケーションセキュリティエンジニアは、暗号化の使用をさらに評価できるようにように組織の暗号化のエキスパートに相談し、組織の機密データのセキュリティを確保します。また、データの暗号化に使用されるアルゴリズムの強度や、データに対する鍵の使用、管理、ローテーション方法についても質問します。暗号化を確実に強化する方法に関する詳細は、弱い暗号化技術のテストに関する OWASP リソースを参照してください。 

まとめ

機密データを漏洩から保護するために、アプリケーションセキュリティエンジニアがどのように暗号化を使用するかについて説明しました。次は、アプリケーションへの侵入を検知するために、アプリケーションセキュリティエンジニアがロギングと監視を実装する方法について詳しく説明します。

リソース

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる