いくつかの手順をバックアップし、クライアントと相談して脅威モデルを作成する必要があります。(はい、それは600ページの本へのリンクです。はい、すべてを読むことを真剣にお勧めします。)
脅威モデルは、次のような質問をすることから始まります
- アプリがこの機密データを最初に保存する必要があるのはなぜですか?
- 保管しないようにすることはできますか?
- すぐに捨てられますか?
- 本当に複数のデバイスからアクセスできる必要がありますか?
- 複数のデバイスでアクセスできる必要がある場合、複数のデバイスに保存する必要がありますか?
- 各ユーザーの機密データの閲覧を許可されているユーザーは誰ですか?
- 仕事をしようとしているときに各ユーザーの機密データに接触する可能性があるが、それを知る必要がない人は誰ですか?
- このリストを短くすることはできますか?
- 仕事をする能力を損なうことなく、データにアクセスできないようにすることはできますか?
- アクセスできない場合は、少なくとも理解できないようにすることはできますか?(これは暗号化が抽象的に行うことです:データを理解不能にします。)
- 機密データを見たいが、許可されていない人は誰ですか?
- データを入手するにはどのような機会が必要ですか?
- データを取得したら、何をしたいのでしょうか?
- 彼らが望むものを手に入れないなら、彼らはどれほど怒っているでしょうか?
- どのくらいのお金、時間、CPUサイクル、および人間の努力を費やすつもりですか?
- 誰もがデータを見たことを知っていれば気にしますか?
- 特定のユーザーの機密データにアクセスしたいのですか、それとも誰かがアクセスしますか?
- 彼らはすでに何を知っていますか?
- 彼らはすでに何にアクセスしていますか?
これらの質問に対する答えを知ったら、何をすべきかを理解するためのより良い場所にいます。
特に攻撃者(機密データを必要としているが、それを許可されていない人)に対処する質問の各セットには、複数の回答がある場合があることに留意してください。動機、目標、およびリソースが異なる、少なくとも半ダースの異なる典型的な攻撃者を考えることができない場合、おそらく何かを見逃しているでしょう。
また、あなた(および/またはクライアント)を最も悩ませる攻撃者は、攻撃が成功した場合にメディアに巨大なスプラッシュを作成する可能性が最も高いこと、または最大の総損害を与える可能性が最も高いことを覚えておいてください攻撃が成功した場合に個々のユーザーに最大の損害を与える可能性のある攻撃者ではありません。クライアントの会社は、総体的な損害を合理的に気にしますが、ユーザーは、自分自身への害を合理的に気にします。