web-dev-qa-db-ja.com

イベントログファイルの検証可能性を確保するための手法

フォレンジック関連の初心者-でも、私がどこにあるべきかを調べようとしているbefore攻撃。差し押さえ以降のフォレンジックに関する資料はインターネット上に終わりはありませんが、証拠と見なすのに十分な品質のイベント(特にWebサーバーログ)を安全に記録する方法について詳しく調べています。

私が読んだものには、不揮発性メディア、ハッシュ、署名への曖昧な参照があります。これらは確かに一貫したスナップショットを実証する手段を提供しますが、最初のキャプチャとスナップショットの間でデータが変更されていないことを証明するメカニズムを本質的に提供しません。今日のログファイルを取得して、スナップショットをコミットする前に、検索/置換を行って日付を他のもので上書きすることができます。

電子署名は、最初のキャプチャと署名の間でデータが改ざんされていないことをどのように証明しますか?署名者の主張をサポートするだけですか?

整合性検証方法をリアルタイムで実装する必要がありますか?例えば。 DVDにデータを直接書き込むことはあまり実用的ではありません。1度に1トラックはできるだけリアルタイムに近いですが、パフォーマンスが大幅に低下します。

非弁護士に適した​​コンテンツへのポインタはありますか? (EU /英国のバイアスのあるプリファレンス)。

22
symcbean

これは素晴らしい重要な質問です。知っておくべき重要なテクニックがいくつかあります。

  • リモートロギング。Webサーバーにログエントリを保存するのではなく、ネットワークを介して各ログエントリをログサーバーに送信するようにWebサーバーを構成する必要があります。ログサーバーは、使い捨て(ログ記録のみ)用に構成され、強化されたカスタムマシンである必要があります。ログサーバーへのアクセス権を持つユーザーを慎重に最小限に抑え、外部からファイアウォールで遮断し、最低限のサービスを実行していることを確認してください。これにより、ログ生成後の改ざんを防ぐことができます。

  • ハッシュチェーン。別の重要な手法は、暗号化メソッドを使用して、ログレコードが保存された後、ログレコードの整合性を保護することです。ログエントリはペアXである必要があります =(M、T、ここでM それは 受信したログメッセージ、およびT=ハッシュ(Xn-1)は、最後のログエントリの暗号化ハッシュです。この目的には、SHA256またはその他の衝突に強い暗号ハッシュ関数を使用します。これにより、攻撃者は検出されずにログの途中のエントリを改ざんできなくなります。攻撃者は「チェーン」内のすべてのエントリを置き換えるか、サフィックスを破棄して新しいものに置き換えることができますが、これにより攻撃者が実行できることが制限されます。重要なのは、暗号化により、追記型メディアにログエントリを書き込んだ場合、攻撃者は検出されずに以前のログエントリを変更できないことを保証します。それは巨大です。

    詳細については、ハッシュチェーンを使用した secure timestamping を参照してください。

  • 追記型メディア追記型ストレージメディアを使用している場合は、ログを追記型メディアに書き込むことができます。これにより、改ざんを防止できます。彼らは書かれています。残念ながら、ここでの選択は素晴らしいものではありません。私の知る限り、基本的には次のとおりです。

    追記型メディアは、ハッシュチェーンを非常にうまく補完します。できることは、すべてのログエントリを通常のストレージメディア(ハードドライブなど)に格納し、1時間に1回、最新のログエントリ(またはそのハッシュ)をライトワンスストレージに格納することです。これにより、ログサーバーを侵害したり改ざんしたりした攻撃者が変更できるのは1時間前のレコードだけでなく、(もちろん)すべての将来のレコードだけであり、侵害の1時間以上前に記録されたレコードは変更できません。それは巨大です。

  • レプリケーション。ログエントリの複数のコピーを複数のサーバーに保存して、冗長性を提供し、改ざんから保護することができます。攻撃者が1つのサーバーに侵入して改ざんした場合、他のサーバーのコピーを改ざんすることはできません。

    これを効果的に行うには、サーバーが独立している必要があります。これにより、攻撃者がサーバーをすべて侵害する可能性は低くなります。たとえば、サーバーを物理的に別の場所や別のマシンルームに配置し、1人のユーザーがすべての場所に物理的にアクセスできないように設定することができます。個別に管理して、誰もがすべてのサーバーにログインできないようにすることができます。システム上で1つのログサーバーが実行されており、レプリカがリモートでホストされている(たとえば、クラウドで実行されている)場合があります。

    レプリケーションはハッシュチェーンを非常にうまく補完します。たとえば、すべてのログエントリを複製するのではなく、すべてのmログエントリから1つだけを複製できます。また、プライベートログデータを一部のレプリカ(クラウドで実行されているレプリカなど)に公開したくない場合は、ログエントリ全体を保存する必要はありません。ハッシュT。暗号化ハッシュ関数は一方向であるため、このハッシュ値はログエントリ自体については何も明らかにしません。

これについて言えることはもっとたくさんあると思いますが、これが、ログを保護するために利用できるいくつかの技術的方法の紹介に役立つことを願っています。

28
D.W.

通常の免責事項:私は弁護士ではありません。特定の裁判での容認について法的助言を求めてください。

しかし、私が弁護士から言われたことは、丸太が通常の事業過程の一部として捕獲された場合、丸太は法廷で認められるということです。したがって、このために特別なことをする必要はありません。

反対側が投げ出す可能性があるという証拠要件を満たす必要があります。したがって、 管理の連鎖 があり、ログが改ざんされていないことを示す証拠はおそらく有用であり、ポイントを主張する際にログの重みを増やします。特定のユーザーまたはマシンがインシデントで使用されたことを証明します。素人の言葉での監護の連鎖は、「物理的または電子的な証拠の押収、監護、管理、転送、分析、および処分」を実証できることを意味します。法医学、特に犯罪捜査では、証拠が裁判所で認められるためには、当局は一連の監護を示すことができる必要があります

これを行うには、ソースシステムから中央のセキュリティイベントと情報管理( [〜#〜] siem [〜#〜] )システムにログをエクスポートします。これは、管理者がアクセスできないシステムが適切です。 。これをアーカイブして、一度に多くの(WORM)メディアを読み取って書き込むこともできます。一部のSIEMでは、タイムスタンプ付きのログの暗号化ハッシュを生成し、これを別のメディアまたはシステムに保存して、ログが改ざんされていないハッシュを再計算して証明できるようにします。

明らかに、リアルタイムまたは少なくとも毎日ハッシュおよびアーカイブできる場合は、法廷で最高の議論を提供します。しかし、毎月行われるとしても、私が思っていたよりも良い議論を提供するでしょう。

4
Rakkhi

Snareでは、標準のSyslogを介してすべてのメッセージに追加されたMD5ハッシュを送信できます。ほとんどのSIEMを使用してこれを受け取ることができます。ほとんどの場合、SIEMは最上層にあり、すべて保持されたログのハッシュをサポートしています。これは検索とインデックス作成の主要部分ですが、一連の管理のコンポーネントとして使用できます。

強力な職務分離と保持されたチェックサムログのWORMアーカイブと組み合わせることで、かなりの量のログを取得できます。 WORMアーカイブがなくても(結局すべてがSolarisを実行するわけではありません)、同じ目的で使用できるバックアップテープがまだあります。

テープ自体が暗号化されていて、別の個人が管理している場合は、強力な管理の連鎖の構築にも役立ちます。その時点で、アーカイブ文書は不可欠であり、ほとんどの企業は、法的な理由から強力な管理の流れでバックアップテープを取り外して渡す必要があります。

これらのピースを配置すると、一連の強力な証拠を得ることができます。弁護士を巻き込んだら、それはまた別の話です。

1
Ori