最近、現地時間を明らかに間違った時間に変更するとどうなるかを確認したいと思いました。私は2218年を試したので、将来は200年になります。その結果、どのWebサイトにもアクセスできなくなりました(ただし、あまり多くは試しませんでした)。私はこのエラーを受け取りました:
NET::ERR_CERT_DATE_INVALID
は、HTTPS証明書が無効であることを意味します。ただし、通常は無視できる「高度な」オプションがあります。ここではそうではありません。また、「時計が進んでいます」と表示されているのはなぜでしょうか。chromeが正しい時刻を知っている場合、比較のためにこれを使用しないのはなぜですか。
私の質問に来る:セキュリティのために現地時間はどのくらい重要ですか?攻撃者がシステム時刻を任意に変更できる場合、どの種類の攻撃がこれを許可しますか?時間操作が重要な部分であると報告された事例はありますか?
攻撃者がシステム時刻を任意に変更できる場合、どの種類の攻撃がこれを許可しますか?
証明書を超えて...
シードが不十分な乱数ジェネレータを悪用できる可能性があります。 time
をシードとして使用することは、より良い乱数インターフェイスが、平均的なプログラマーが良いシードを提供することを信頼できないことに気付く前によく起こりました。攻撃者は、システムの時刻を、乱数ジェネレーターが目的の出力を生成する時刻に設定することで、これを悪用できます。
もちろん、攻撃者は望ましい時間を待つだけで、多くの手間を省くことができます。
UUIDv1とv2はどちらもMACアドレスと時間に依存します。 MACアドレスを検出できます。時間を設定できることは、次に割り当てられるUUIDを制御できることを意味します。たとえば、管理者アカウントのUUIDを自分で複製できる場合があります。もちろん、UUIDv1とv2はsecureであることを意図したものではなく、unique。安全でユニークなものにしたい場合はUUIDv4を使用しますが、UUIDv1とv2を不適切に使用するソフトウェアはたくさんあります。
多くのシステムには、特定の日時に定期的に実行される重要なプロセスがあります。攻撃者はこれを操作する時間を混乱させることができます。
多くのシステムには、特定の時間に発生するメンテナンスウィンドウがあります。攻撃者はこのウィンドウに留まる時間を継続的にリセットし、メンテナンスのためにシステムを停止したままにすることができます。
定期的に発生するリソースを大量に消費するプロセスがある場合、それらは時間を混乱させ、それらのプロセスの複数が同時に実行されている可能性があります。システムが同時プロセスの数を制限しない場合、これはシステムを圧迫する可能性があります。
または、逆の方法で時間を継続的にリセットして、重要なメンテナンスプロセスが実行されないようにすることもできます。
システムには、時間枠内で発生するアクションが多すぎるか少なすぎるかを監視するウォッチドッグプロセスがある場合があります。ウォッチドッグは マシンの再起動やサービスの停止などの自動メンテナンスアクション を実行することを選択できます。攻撃者は時間を操作して、レートが高すぎるか低すぎるかのように見せかけ、ウォッチドッグを作動させてウォッチドッグを停止させます。
そこにはたくさんの質問が寄せられています。
NET :: ERR_CERT_DATE_INVALIDは、HTTPS証明書が無効であることを意味すると思います。
はい。
help.ubuntu.com
の証明書は次のとおりです:
Valid FromとValid Untilの日付があることに気づくでしょう。これらの日付以外にこの証明書で保護されているサイトにアクセスしようとすると、ブラウザが問題を報告します。証明書が期限切れになる理由は、(他の理由の中でも)Webマスターが証明書の最新の暗号およびその他の新しいセキュリティ機能を使用して新しい証明書を取得し続けるように強制するためです。
ブラウザーが証明書を信頼するかどうかを決定しようとするとき、ブラウザーはシステムクロックを時間の信頼できる真の情報源として使用します。確かに、それはNTPを使用しようとしますが、あなた(管理ユーザー)が明示的にNTPサーバーが間違っていると言った場合、まあ、あなたは上司です。
攻撃者がシステム時刻を任意に変更できる場合、どの種類の攻撃がこれを許可しますか?
パソコンとサーバーを分けて考えてみましょう。私はここで何も研究していません。頭上からです。
1つの理由は、証明書の有効期限が切れた後、証明書失効レコードが保持されないことです。
10年前にGoogleの証明書を盗んだとしましょう。 Googleはすぐに彼らの証明書に気づき、取り消しました。過去10年間に証明書の有効期限が切れたため、失効エントリは削除されました。時計を有効な10年前に戻した場合、Googleになりすましてブラウザが気付くことはありません。取り消されたことがわからないためです。
あなたの質問は広範囲ですが、攻撃者がローカルシステムクロックを変更できる場合、攻撃者はその活動のログを汚染するを行うことができます。このようにして、過去に発生したように(おそらく管理者がアクティビティを探している時間枠を超えて)、他のユーザーのアクティビティと一致するように、アクティビティを非表示にすることができます。
たとえば、真夜中にシステムに侵入した場合は、時計を前日の正午に設定し、アクティビティを行ってから時計を戻すことができます。ログを検査する人は誰でも、通常のユーザーがアクティビティを行ったと想定します(または、通常のユーザーのアクティビティの中でアクティビティをまったく表示しません)。
これが、信頼できる外部ソースと同期するようにクロックを設定することが重要な理由です。つまり、すべてのソースからのすべてのログを適切に関連付けることができます。
年が2038年であると考えるコンピューターが外の世界に接続しようとする2つの可能性のある状況があり、外の世界のすべてが2018年であると言います。
コンピュータの時計がおかしい。
年は実際には2038年であり、外の世界のように見えるもののすべてが、20年後に解読された2018年の証明書を使用して偽造されています。
その形式の攻撃は、最初の可能性が実際にははるかに可能性が高いことを引き離すのに十分困難ですが、2番目の可能性を防ぐには、コンピューターのクロックが実際にis間違っていることの確認を取得する必要があります。
単一のWindowsドメインコントローラー、またはそのネットワークの一部を実行している場合、わずか5、または数分の時間差が重要になる可能性があります。 Kerberos Time Tolerance
失敗したWindows SBS 2008サーバーに対処する必要があり、システムとしてイベントログを読み取る方法を見つける必要がありました。
電力サージにより、ドメインコントローラのCMOS BIOSクロックが数年前のシステム設計日付にリセットされたため、Kerberosチケットを発行できなかったことが判明しました。
Kerberosチケットは数分だけ有効です
システム時間が遅れているコンピューターに対する攻撃のもう1つの(少し複雑な)例は、DNSSECで保護されたゾーンから古いDNSレコードを提供することです。
たとえば、クライアントがwww.example.comアドレスを要求した場合、攻撃者は自分のDNSサーバーへの紹介と、DSのレコードが存在しないことの(期限切れの)証明example.comがまだ署名されていない時点からのexample.com。その後、example.comゾーン内のすべての偽造DNSレコードを提供します。