News for hackers. Stuff that matters.
Re:All of Oculus’s Rift headsets have stopped working due to... by NateyJay on Wednesday March 07, 2018 @08:08PM (#16541438)
Recommended practice is to timestamp windows drivers (and software) when they are signed. Without a timestamp, the driver is not trusted after the signing cert expires, which I guess is what happened here.

With a timestamp, as long as the signing date was within the signing cert's validity period, the signed driver continues to be trusted beyond the signing certificate expiration.

Re:All of Oculus’s Rift headsets have stopped working due to... by phkahler on Wednesday March 07, 2018 @08:23PM (#16541513)
That seems silly. Presumably a cert has an expiration date after which we might assume its been compromised. If it has been compromised then it could have been used to backdate a driver signed with it. In other words, if you don't trust the cert you should not trust anything signed by it. Or is there another layer in this somewhere?
Re:All of Oculus’s Rift headsets have stopped working due to... by ScottEvtuch on Wednesday March 07, 2018 @08:32PM (#16541557)
The timestamp server is a separate trusted entity that signs the signature asserting the date and time. It's not just metadata, it's effectively a separate signature.
Re:All of Oculus’s Rift headsets have stopped working due to... by Retric on Wednesday March 07, 2018 @08:38PM (#16541584)
Which just means the expiration date is meaningless.

If the driver was valid when it was signed, then revoking it will break the system. Not installing it is another story.

Re:All of Oculus’s Rift headsets have stopped working due to... by andrewstuart2 on Wednesday March 07, 2018 @09:35PM (#16541826)
The expiration date is the fallback if you don't have confirmation from the timestamp server that it was signed prior to expiration.

Ideally it's not used except by the timestamp service, but it seems like a fairly reasonable fallback.

Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Wednesday March 07, 2018 @10:02PM (#16541952)
> The expiration date is the fallback if you don't have confirmation from the timestamp server that it was signed prior to expiration.

The fact that the driver was installed locally before the expiration should be taken as proof that the driver was signed before expiration.

Re:All of Oculus’s Rift headsets have stopped working due to... by slededit on Wednesday March 07, 2018 @10:38PM (#16542109)
Then you would need an internet connection just to install a driver. It would make getting your network driver installed pretty difficult.

You could look at the system clock but that was not designed to be secure for this purpose.

Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Wednesday March 07, 2018 @11:12PM (#16542227)
> Then you would need an internet connection just to install a driver.

If you think I'm proposing any changes to how drivers are installed, then you have misread me. I'm proposing a change to how already-installed drivers are handled: absent any new information, the code that was trusted yesterday should be trusted today, and be allowed to keep running.

Re:All of Oculus’s Rift headsets have stopped working due to... by slededit on Wednesday March 07, 2018 @11:18PM (#16542246)
Imagine a scenario where a driver is installed during a network outage and with an incorrect clock. Because you need to be able to install a network driver the system will allow this security flaw. However when the system knows better its reasonable to limit the damage by stopping the driver.

You could say that any damage has already been done which is most likely true. But I can't fault them from mitigating it as much as possible.

I suppose you could modify the system to get external attestation of the time while the driver is installed and use that as a sticky bit - but its a big complication and its much better if the driver is securely timestamped in the first place.

Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Wednesday March 07, 2018 @11:30PM (#16542283)
> Because you need to be able to install a network driver the system will allow this security flaw. However when the system knows better its reasonable to limit the damage by stopping the driver.

The only way that the system "knows better" is by acquiring something like a certificate revocation list. The system does not know whether it was powered down for five minutes while the network outage was fixed, or for five years. When the system is powered back on with a working internet connection, it does not have any reliable way to tell whether the offline installation of the network driver occurred prior to the expiration, or after the expiration with a properly backdated driver and backdated system clock. There is no way to justify suddenly de-trusting a driver that's already been running simply by observing that you're in the future.

Re:All of Oculus’s Rift headsets have stopped working due to... by Retric on Thursday March 08, 2018 @09:47AM (#16544608)
Even then you only need to verify that once and can save a time stamp in case the cert is revoked afterwards. Breaking system that has already been verified is still unjustified.
Re:All of Oculus’s Rift headsets have stopped working due to... by mattnewton on Thursday March 08, 2018 @12:19AM (#16542469)
Can’t Microsoft give you an error report when they do this, to let you know what you are doing is probably very dumb?

I guess I don’t know the time when Microsoft has their code and heir contact information and is doing some kind of preflight check, or if that ever actually happens, and there are already so many ways to be very dumb with drivers...

Re:All of Oculus’s Rift headsets have stopped working due to... by gruez on Wednesday March 07, 2018 @08:47PM (#16541622)
>Which just means the expiration date is meaningless.

how so? it merely limits which dates you can sign code, after which the code you signed remain valid, but you can't sign any more code.

Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Wednesday March 07, 2018 @10:01PM (#16541945)
> it merely limits which dates you can sign code, after which the code you signed remain valid,

The whole problem here is that the code that was signed is not being treated as valid code beyond the expiration date.