close search bar

Sorry, not available in this language yet

close language selection

コードのセキュリティ:アプリケーションセキュリティに関するGDPRのベストプラクティス

Taylor Armerding

Apr 12, 2021 / 1 min read

「人は何を食べるかで決まる」という格言があります。しかしそれはもはや古い時代のものです。 今日、「人は主にオンラインで何をするかによって決まる」のです。

年齢、性別、何を売買するか、どこに行くか、誰を見るか、何をソーシャルメディアに投稿するか、何を勉強するか、信念は何か、何を着るか、どのような運動をするか、健康状態、関係、働く場所はどうか、人類の歴史の中でこれまで以上に詳細に個人のプロフィールを構成できる「デジタルなパンくず」によってこれらの情報を得ることができます。たとえば、

人はその人のデータそのものでもあります。 データが非公開でない場合、プライバシーはありません。 そのために、各国のデータプライバシーデーは毎年1月28日に設定されています。

このイベントは、2007年に「データ保護の日」として欧州で始まり、2年後に米国で現在の名前になりました。10年以上の間、データ収集がどれほど広範で煩わしいものであるかについての認識が高まった結果、世界中で約130のデータプライバシー法の制定を後押しすることになりました。

この日は、個人のプライバシーの状況についても活発な議論が行われます。 適切なプライバシー保護が実施されていると主張する人もいれば、プライバシーが今ほど悪くはなかったと主張する人もいますが、民間と公共の分野のじうれからも「監視の黄金時代」との声が上がっています。

データのプライバシーを守ためにセキュリティが必要

データのプライバシーを守ためにセキュリティが必要

しかし、データのプライバシーを守るにはセキュリティを確保しなければならない、という事実についてはあまり議論されていません。収集したデータの取り扱いについて組織を規制する法律があっても、
犯罪者による盗難に対して脆弱であれば、問題外です。

そこで、プライバシー法規遵守の取り組みにおいては、その中心的な目標の一つにデータ・セキュリティ確保のための最適なツール、技術、プラクティスの利用推進を置く必要があります。また、データ自体のセキュリティを確保し、データが保存されている環境をセキュリティで保護することに重点を置き、ソフトウェアによって動作および制御する必要があります。

データ保護に関する一般的な要件は、現時点で最も広く知られているデータプライバシー保護法であるEUの一般データ保護規則(GDPR)を基にしています。この規則は、2018年5月25日に施行され、その後の多くの規則の定型となっています。法的には、この規則はEUのみに適用されますが、実際にはEUと取引するすべての組織に適用されるため、グローバルな規則と言えます。

GDPRが特に焦点を当てているのは、データ使用の制限(データの収集、処理、共有、販売、保存、保持、削除など)です。セキュリティ要件も含まれていますが、全般的な内容になっている傾向があります。

この法律では、データは「適切な技術的または組織的手段を用いて、不正または違法な処理や偶発的な損失、破壊、または破損に対する保護など、個人データの適切なセキュリティを確保する方法で処理しなければならない」と規定されています。

この規定は具体的な結果の達成を義務付けていますが、データの「適切なセキュリティを確保する」ために組織が何をすべきか、または「適切な技術的または組織的手段」とは何かを明記していません。

多くの専門家は、政府が民間部門に対して結果(この場合はデータ・セキュリティ)を要求しながら、その結果の達成方法を指図していない点が良いと指摘しています。政府の法律が技術の進化に歩調を合わせることを期待するのは、馬や乳母車が高性能スポーツカーに追いつくことを期待するようなものです。

データ管理に関するGDPRのベストプラクティス

ほとんどの企業はデータを収集して利用していますが、データセキュリティ業務に直接携わっているわけではありません。つまり、一連のベストプラクティスを利用する余地があります。

シノプシス ソフトウェア・インテグリティ・グループのシニア・セールスエンジニアであるIan Ashworthがその基本を示した簡単なリストを紹介します。
 

データを分類する

すべてのデータが同じわけではなく、組織、競合他社、攻撃者にとっての価値も等価ではありません。「データの安全を保つための第一歩は、データを分類することです」とAshworthは言います。「これは、あらゆる情報セキュリティプログラムの基本です。データの安全を維持するにはコストがかかる場合があるため、データを分類することで、支出を適切な割合で、効率的かつ妥当に配分できます。」

分類は、データに関するCIAトライアド(機密性、完全性、可用性)の機密性の要素にも直接焦点を当てています。

データの分類に役立つ優れたツールとして、個人識別情報(PII)の検出に役立つメタデータ(データに関するデータ)があります。Ashworthは制限付き、機密、極秘といった大分類から始めることを勧めています。

「そこから、支払いカードなどの個別の属性やフィールドに注目して分類すると特有のデータパターンが見つかります。また、メタデータを利用して、フィールドに適切で正確な名前を付け、PIIに分類したりすることができます」と彼は言います。
 

データ利用ポリシーを策定する

これにより、特定のデータにアクセスできるユーザーと、その目的に関する条件を設定します。このアクセス権は最小権限に基づいて付与する必要があります。仕事に不要な情報にアクセスする必要はありません。

「Webサイトは、データ表示の目的で、データへの読み取り専用アクセスを必要とする場合があります」とAshworthは言います。「編集や変更を行うには、所有者がアカウントに登録している電話番号の変更を希望しているなどの理由が必要です。このような高レベルの編集管理は、アカウント所有者とシステム管理者のみに許可することも考えられます。

こうした管理は、契約で定めたり、個人の電子IDに基づく認可によって強制することもできます。

「特定のデジタルリソースへのアクセス制御の評価を指すサイバーセキュリティ用語に、一般的な頭字語であるAAA(認証、認可、アカウンティング)があります」とAshworthは言います。
 

データを暗号化する

「セキュリティ層は不正ユーザーの好奇の目からの保護に役立っていますが、最も重要な対策は暗号化です」とAshworthは言います。

また、暗号化を効果的に行うためには、保存データと移動中のデータの両方に厳格で広範な暗号を適用する必要があり、そのためには、データを保存先と転送先の両方にマップする必要があります。どこにあるかわからない資産を保護することはできません。

暗号化によって、CIAトライアドの2番目の要素であるデータのインテグリティも確保できます。ハッシュアルゴリズムは、リバースエンジニアリングや攻撃が難しく、侵害された組織にデータが変更されたかどうかを知らせることができます。

「データがそのようなハッシュアルゴリズムを介して渡され、ハッシュが独立して保存されていれば、元のテキストが変更された場合に別のハッシュが生成され、保存された元のテキストとは異なるものになったことが確認されます」とAshworthは言います。

暗号化を適切に行えば、組織が侵害され、データが危殆化した場合でも、攻撃者の役には立ちません。

アプリケーションセキュリティに関するGDPRのベストプラクティス

次に、ソフトウェア・セキュリティ・コンポーネントがあります。ソフトウェアは企業のあらゆるデジタルコンポーネントに組み込まれているため、データ保護の有無を決する主要な要素です。

セキュアでないソフトウェアが悪用された場合にはどうなるかを示す例は枚挙にいとまがありませんが、2017年に巨大消費者信用情報会社Equifaxで、データ侵害により1億4,700万人以上の顧客の社会保障番号などの個人情報が漏洩した事件は、最悪の事例として知られています。原因は、広く利用されているオープンソースWebアプリケーションフレームワーク、Apache Strutsのパッチを適用していなかったためです。そのソフトウェアパッチは数か月前から提供されていたものでした。

組織がEquifaxの二の舞になることを防ぐために役立つさまざまな基本原則があります。

セキュアなソフトウェアを構築する
Software development life cycle

これには、ソフトウェア開発ライフサイクル(SDLC)全体を通じて複数のツールとプロセスを使用する必要があります。

ソフトウェアが起動して実行された後の継続的な要件は、ソフトウェアのセキュリティを維持することです。その方法として以下が挙げられます。

  • ソフトウェアを最新の状態に保つ。これにはソフトウェアの追跡が含まれます。セキュリティにおいては、「所有していることに気付いていないものを守ることはできない」という標語があります。ですから、ソフトウェア部品表(SBOM)を管理し、セキュリティパッチと更新プログラムが利用可能になった時点ですぐに適用することをお勧めします。
  • 環境を保護する。組織の目標達成に役立つ最適なテンプレートの1つに、シノプシスの「Building Security In Maturity Model」(BSIMM)があり、主に9業種を代表する多数の企業のソフトウェアセキュリティ対策(SSI)(最新で130組織)を追跡する年次報告書です。「ソフトウェア環境」のセクションでは、セキュリティの成熟度が高い企業のSSIには以下の事項が含まれていることがわかりました。
    • アプリケーションの入力を監視している。これは組織に対する攻撃の発見に役立ちます。Webコードの場合は、Webアプリケーションファイアウォール(WAF)を使用できますが、他の種類のソフトウェアでは実行時インストルメンテーションなどの他の方法を使用する必要がある場合が多くなります。
    • ホストおよびネットワークセキュリティの基本事項が実施されていることを確認する。レポートに記載されているように、「ネットワークセキュリティを実施する前にソフトウェアセキュリティを設定するのは、本末転倒です。」
    • コードの整合性を保護する。重要なコードを実行できるようにする前に、その来歴、整合性、および認証を証明できます。いわば、車を始動する前に安全に運転できることを確認するということです。
    • アプリケーションコンテナを使用している。コンテナを使用することで、セキュリティ管理策を簡単に適用でき、整合性のある方法で更新できます。
    • アプリケーションの動作監視および診断を使用する。これにより、悪意のある動作の兆候、不正行為、関連する問題などのソフトウェア固有の問題を示す誤動作や攻撃の兆候を検出します。BSIMMによると、「アプリケーションレベルでの侵入の検知や異常検出システムは、アプリケーションとオペレーティングシステムの間の交信(システム呼び出しによる)、またはアプリケーションが消費、操作、またはアプリケーションから送信する種類のデータに注目します。」

セキュアなコードでGDPR準拠を担保する

以上のすべてを実行しても、完璧なセキュリティは保証されるわけではありません。完璧なセキュリティなどは存在しないからです。しかし、データとそのソフトウェアの両方を保護するためにベストプラクティスに投資をすれば、その組織がGDPRやその他のプライバシー法の執行機関から聴取を受けることはほとんどなくなります。顧客の満足と信頼も育まれるでしょう。

そのすべてが最終損益に好影響をもたらすのです。

Continue Reading

トピックを探索する