web-dev-qa-db-ja.com

セキュリティのために現地時間はどのくらい重要ですか?

最近、現地時間を明らかに間違った時間に変更するとどうなるかを確認したいと思いました。私は2218年を試したので、将来は200年になります。その結果、どのWebサイトにもアクセスできなくなりました(ただし、あまり多くは試しませんでした)。私はこのエラーを受け取りました:

enter image description here

NET::ERR_CERT_DATE_INVALIDは、HTTPS証明書が無効であることを意味します。ただし、通常は無視できる「高度な」オプションがあります。ここではそうではありません。また、「時計が進んでいます」と表示されているのはなぜでしょうか。chromeが正しい時刻を知っている場合、比較のためにこれを使用しないのはなぜですか。

私の質問に来る:セキュリティのために現地時間はどのくらい重要ですか?攻撃者がシステム時刻を任意に変更できる場合、どの種類の攻撃がこれを許可しますか?時間操作が重要な部分であると報告された事例はありますか?

61
Martin Thoma

攻撃者がシステム時刻を任意に変更できる場合、どの種類の攻撃がこれを許可しますか?

証明書を超えて...

シードが不十分なRNG

シードが不十分な乱数ジェネレータを悪用できる可能性があります。 timeをシードとして使用することは、より良い乱数インターフェイスが、平均的なプログラマーが良いシードを提供することを信頼できないことに気付く前によく起こりました。攻撃者は、システムの時刻を、乱数ジェネレーターが目的の出力を生成する時刻に設定することで、これを悪用できます。

もちろん、攻撃者は望ましい時間を待つだけで、多くの手間を省くことができます。

UUID

UUIDv1とv2はどちらもMACアドレスと時間に依存します。 MACアドレスを検出できます。時間を設定できることは、次に割り当てられるUUIDを制御できることを意味します。たとえば、管理者アカウントのUUIDを自分で複製できる場合があります。もちろん、UUIDv1とv2はsecureであることを意図したものではなく、unique。安全でユニークなものにしたい場合はUUIDv4を使用しますが、UUIDv1とv2を不適切に使用するソフトウェアはたくさんあります。

定期的な仕事

多くのシステムには、特定の日時に定期的に実行される重要なプロセスがあります。攻撃者はこれを操作する時間を混乱させることができます。

多くのシステムには、特定の時間に発生するメンテナンスウィンドウがあります。攻撃者はこのウィンドウに留まる時間を継続的にリセットし、メンテナンスのためにシステムを停止したままにすることができます。

定期的に発生するリソースを大量に消費するプロセスがある場合、それらは時間を混乱させ、それらのプロセスの複数が同時に実行されている可能性があります。システムが同時プロセスの数を制限しない場合、これはシステムを圧迫する可能性があります。

または、逆の方法で時間を継続的にリセットして、重要なメンテナンスプロセスが実行されないようにすることもできます。

ウォッチ・ドッグス

システムには、時間枠内で発生するアクションが多すぎるか少なすぎるかを監視するウォッチドッグプロセスがある場合があります。ウォッチドッグは マシンの再起動やサービスの停止などの自動メンテナンスアクション を実行することを選択できます。攻撃者は時間を操作して、レートが高すぎるか低すぎるかのように見せかけ、ウォッチドッグを作動させてウォッチドッグを停止させます。

18
Schwern

そこにはたくさんの質問が寄せられています。

NET :: ERR_CERT_DATE_INVALIDは、HTTPS証明書が無効であることを意味すると思います。

はい。

help.ubuntu.comの証明書は次のとおりです:

Certificate for help.ubuntu.com

Valid FromとValid Untilの日付があることに気づくでしょう。これらの日付以外にこの証明書で保護されているサイトにアクセスしようとすると、ブラウザが問題を報告します。証明書が期限切れになる理由は、(他の理由の中でも)Webマスターが証明書の最新の暗号およびその他の新しいセキュリティ機能を使用して新しい証明書を取得し続けるように強制するためです。

ブラウザーが証明書を信頼するかどうかを決定しようとするとき、ブラウザーはシステムクロックを時間の信頼できる真の情報源として使用します。確かに、それはNTPを使用しようとしますが、あなた(管理ユーザー)が明示的にNTPサーバーが間違っていると言った場合、まあ、あなたは上司です。


攻撃者がシステム時刻を任意に変更できる場合、どの種類の攻撃がこれを許可しますか?

パソコンとサーバーを分けて考えてみましょう。私はここで何も研究していません。頭上からです。

パソコン

  • ユーザーは、「30日間の試用」タイプのものを回避するために、システムクロックでゲームをプレイすることがよくあります。あなたがソフトウェアがこのように違法に使用されている会社であるなら、あなたはそれをセキュリティ問題と見なすでしょう。
  • なりすましのWebサイト。古い期限切れの証明書をハッキングする方がはるかに簡単です。たぶん、簡単にクラックされる10年前の暗号を使用したり、サーバーが6年前に侵害された可能性がありますが、CAはその長い間失効情報を追跡しません(アイデアクレジット: @immibis 'answer )。攻撃者がシステムクロックを変更できる場合、警告は表示されません。

サーバー

  • ロギング。セキュリティ違反を調査するときに、サーバーのクロックが同期していない場合、すべてのログをつなぎ合わせて、何が何の順序で起こったかを正確に把握することは非常に困難です。
  • ログイン。 OTP 2要素認証のようなものは通常、時間ベースです。あるサーバーのクロックが別のサーバーの背後にある場合は、誰かがOTPコードを入力するのを見て、そのコードがまだ期限切れになっていないため、遅れているサーバーに対してそれを使用することができます。
68
Mike Ounsworth

1つの理由は、証明書の有効期限が切れた後、証明書失効レコードが保持されないことです。

10年前にGoogleの証明書を盗んだとしましょう。 Googleはすぐに彼らの証明書に気づき、取り消しました。過去10年間に証明書の有効期限が切れたため、失効エントリは削除されました。時計を有効な10年前に戻した場合、Googleになりすましてブラウザが気付くことはありません。取り消されたことがわからないためです。

27
user253751

あなたの質問は広範囲ですが、攻撃者がローカルシステムクロックを変更できる場合、攻撃者はその活動のログを汚染するを行うことができます。このようにして、過去に発生したように(おそらく管理者がアクティビティを探している時間枠を超えて)、他のユーザーのアクティビティと一致するように、アクティビティを非表示にすることができます。

たとえば、真夜中にシステムに侵入した場合は、時計を前日の正午に設定し、アクティビティを行ってから時計を戻すことができます。ログを検査する人は誰でも、通常のユーザーがアクティビティを行ったと想定します(または、通常のユーザーのアクティビティの中でアクティビティをまったく表示しません)。

これが、信頼できる外部ソースと同期するようにクロックを設定することが重要な理由です。つまり、すべてのソースからのすべてのログを適切に関連付けることができます。

18
schroeder

年が2038年であると考えるコンピューターが外の世界に接続しようとする2つの可能性のある状況があり、外の世界のすべてが2018年であると言います。

  1. コンピュータの時計がおかしい。

  2. 年は実際には2038年であり、外の世界のように見えるもののすべてが、20年後に解読された2018年の証明書を使用して偽造されています。

その形式の攻撃は、最初の可能性が実際にははるかに可能性が高いことを引き離すのに十分困難ですが、2番目の可能性を防ぐには、コンピューターのクロックが実際にis間違っていることの確認を取得する必要があります。

3
supercat

単一のWindowsドメインコントローラー、またはそのネットワークの一部を実行している場合、わずか5、または数分の時間差が重要になる可能性があります。 Kerberos Time Tolerance

失敗したWindows SBS 2008サーバーに対処する必要があり、システムとしてイベントログを読み取る方法を見つける必要がありました。

電力サージにより、ドメインコントローラのCMOS BIOSクロックが数年前のシステム設計日付にリセットされたため、Kerberosチケットを発行できなかったことが判明しました。

Kerberosチケットは数分だけ有効です

2
birdwes

システム時間が遅れているコンピューターに対する攻撃のもう1つの(少し複雑な)例は、DNSSECで保護されたゾーンから古いDNSレコードを提供することです。

たとえば、クライアントがwww.example.comアドレスを要求した場合、攻撃者は自分のDNSサーバーへの紹介と、DSのレコードが存在しないことの(期限切れの)証明example.comがまだ署名されていない時点からのexample.com。その後、example.comゾーン内のすべての偽造DNSレコードを提供します。

0
Edheldil