News for hackers. Stuff that matters.
Re:All of Oculus’s Rift headsets have stopped working due to... by StavrosK on Wednesday March 07, 2018 @07:38PM (#16541298)
Why is it possible for a device that is basically a display to stop working because a certificate expired? This future worries me.
Re:All of Oculus’s Rift headsets have stopped working due to... by jimrandomh on Wednesday March 07, 2018 @08:03PM (#16541408)
It's more complex than a display; it's a display plus a collection of USB sensors and some low-level hooks into display management. This requires kernel-mode drivers, for good technical reasons, where a normal monitor wouldn't.
Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Wednesday March 07, 2018 @09:53PM (#16541902)
That's a reasonable answer to why the drivers need to be signed in order to be installed. That's not the question. The question is why should the already-installed drivers that you've been trusting all along suddenly stop working.
Re:All of Oculus’s Rift headsets have stopped working due to... by sjburt on Wednesday March 07, 2018 @10:23PM (#16542062)
Apparently, they signed them incorrectly.
Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Wednesday March 07, 2018 @10:34PM (#16542093)
That puts the blame on Oculus, but the blame really should rest on Microsoft for enabling and enforcing a signature mode that shouldn't exist at all.
Re:All of Oculus’s Rift headsets have stopped working due to... by cyrix281 on Thursday March 08, 2018 @01:45AM (#16542778)
It needs to exist in an untrusted environment.. it verifies that the driver which has low level access to the computer hasn't been modified by a third party.. MS signed system binaries are the same way; it's a safeguard against malicious entities.
Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Thursday March 08, 2018 @02:24AM (#16542919)
I'm not arguing against the entire concept of driver signing, just one specific nuance of Microsoft's driver trust model. There is a place for driver signing and signature checking, but de-trusting a driver that you were perfectly happy to give kernel-level access yesterday doesn't make sense.
Re:All of Oculus’s Rift headsets have stopped working due to... by zaarn on Thursday March 08, 2018 @02:59AM (#16543033)
It's still Oculus fault because they didn't use a timestamped signature.

A timestamped signature on the binary would have it kept working and that's how MS intents it to work. You can leave it out if you have the desperate longing for having your software break suddenly without reason like Oculus just did.

Re:All of Oculus’s Rift headsets have stopped working due to... by gmueckl on Thursday March 08, 2018 @03:40AM (#16543171)
And that's where MS is at fault: drivers without timestamped signatures should be treated as faulty. This would prevent these errors in the first place.
Re:All of Oculus’s Rift headsets have stopped working due to... by tallanvor on Thursday March 08, 2018 @05:32AM (#16543536)
I guess I can see reasons why some companies may want to be able to produce time-limited drivers:

Maybe they want beta versions to stop working, forcing users to upgrade.

For offline computers, it might be that some companies would see this as a way to enforce contract periods (customers would have to install an update to continue using the product when their contract is renewed).

Of course, disabling driver signature verification is still a way to bypass that, but often times the companies that do things like this probably aren't thinking about that.

Re:All of Oculus’s Rift headsets have stopped working due to... by mathieubordere on Thursday March 08, 2018 @06:34AM (#16543728)
Maybe the API should then explicitly ask for a 'timestamp-none' in case the driver needs to be time-limited, forcing the developer to at least think about it.
Re:All of Oculus’s Rift headsets have stopped working due to... by marcosdumay on Thursday March 08, 2018 @07:18AM (#16543878)
Do you have any reason that is good from the point of view of the computer owner? (You know, the one sending money to Microsoft.)
Re:All of Oculus’s Rift headsets have stopped working due to... by sleepybrett on Thursday March 08, 2018 @02:00PM (#16546685)
Then they can write it into the driver "Stop working on jan 1 2019"
Re:All of Oculus’s Rift headsets have stopped working due to... by zaarn on Thursday March 08, 2018 @08:21AM (#16544138)
There are usecases for signatures without timestamp.

Besides, literally every codesigning blogpost/tutorial/guide/etc I found tells you to use a timestamping server so the guys and girls and Oculus must have skipped the critical parts of whatever they used.

Re:All of Oculus’s Rift headsets have stopped working due to... by gmueckl on Thursday March 08, 2018 @10:09AM (#16544756)
What is a legitimate use case for a binary deliverable without a timestamped signature?
Re:All of Oculus’s Rift headsets have stopped working due to... by zaarn on Friday March 09, 2018 @02:34AM (#16550303)
As you might have guessed, when you don't want someone to use a binary beyond a certain date.

Security Solutions could benefit from this, the customer will have to update or disable the signature check if their version of the solution becomes too old. Old versions could open them up to vulnerabilities.

Another might be when you distribute beta or testing versions of your software. The customers can safely test the version and the lack of timestamp prevents them from running it in production permanently. They have to update to the release version.

It could also be useful when you sell a software to a business and want them to test it first. So you send them the program without a timestamp signature and limit the validity of the certificate. That way they can't just run the test version forever.

Really anywhere where all parties involved, user and producer, do not want to run a binary forever but the producer might not fully trust the user to do that.

Re:All of Oculus’s Rift headsets have stopped working due to... by gmueckl on Friday March 09, 2018 @03:33PM (#16554756)
The customer can always re-sign the binary if they wante to and replace the existing signature. A time limited inside the program code would be more secure.
Re:All of Oculus’s Rift headsets have stopped working due to... by agar on Thursday March 08, 2018 @11:26AM (#16545365)
For what it's worth, I think this is a very sane perspective.
Re:All of Oculus’s Rift headsets have stopped working due to... by ryanlol on Wednesday March 07, 2018 @10:44PM (#16542125)
Does that really not sound ridiculous to you? Microsoft needs to be blamed for their certificate validation implementation because people might use it to make their software expire? Instead of just writing code that does so?
Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Wednesday March 07, 2018 @11:06PM (#16542204)
Microsoft's driver signing model has a mode that is a giant footgun with no redeeming value. Oculus is a victim of Microsoft's bad design. They weren't trying to build in a self-destruct timer for their whole product stack, and if they were, they wouldn't have used the driver signing certificate as the lynchpin.
Re:All of Oculus’s Rift headsets have stopped working due to... by jlgaddis on Thursday March 08, 2018 @01:20AM (#16542691)
I find this reasoning ("footgun", Microsoft's fault) interesting when compared to the prevalent HN opinions when it comes to, for example, (unsecured) redis and memcached servers being used in DDoS attacks, or even AWS S3 buckets (with confidential or even highly classified files) being -- inadvertantly -- left wide open to the public.

In those cases, "we" (as a "community", in general) often blame the people responsible for running those services instead of the developers (or Amazon) being blamed for choosing convenience/ease-of-use over security. That is, we're often quick to say that the people running those wide open memcached servers are at fault for not properly configuring and/or securing them -- and not blaming the developers for creating "a giant footgun".

"You shouldn't be running servers on the Internet if you don't know how to properly configure them" (paraphrasing) is often stated. Yet, in this case, we're not blaming Oculus for their screwup and instead blaming Microsoft -- even though there's zero evidence (AFAIK) that Oculus even used any Microsoft tools to sign their application. (N.B.: I don't know the first thing about code signing on Windows so it may well be that using a Microsoft utility is required and, thus, just assumed by those of you who are familiar with the process. If that's the case, sorry.)

I'm having trouble trying to reconcile these two seemingly opposing viewpoints. Why is Microsoft's utility "a giant footgun" but a (OOTB) completely insecure by default, wide open by default memcached server (for example) isn't?

Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Thursday March 08, 2018 @02:20AM (#16542902)
There's a use case for redis and memcached being open to the network, and a failure mode if you don't properly separate your internal network from the public Internet. There's a use case for S3 buckets that are publicly readable, if they don't contain sensitive/private information. Those features have reason to exist, even though there's potential for misuse. Secure defaults would be nice, but can't eliminate these risks.

There's no reason for drivers to have an expiration date. There's no scenario where it makes sense for the configuration that Oculus stumbled into to be possible.

Re:All of Oculus’s Rift headsets have stopped working due to... by solatic on Thursday March 08, 2018 @12:29PM (#16545945)
> There's no reason for drivers to have an expiration date

If you can license software with a definite expiration date, why can't you license hardware with a definite expiration date? And have your license enforced by the operating system? Imagine that I'm a company with a hardware product, and instead of selling that hardware at large expense, I rent it out, and provide drivers with an expiration date to enforce the terms of the hardware lease. If the lease is renewed, I'll provide new drivers with a new lease expiration.

Not that I'm arguing for hardware licensing, or arguing that it was what Oculus was trying to achieve and screwed up somehow. But there's a difference between "Microsoft built a feature some of their customers didn't know how to use" and "Microsoft built an anti-feature".

Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Thursday March 08, 2018 @03:03PM (#16547192)
The driver signing system is not an effective way to implement an expiration date, if that is your goal. Driver signing enforcement can be disabled rather easily by skilled users. Licensing restrictions written into the code of the driver itself are harder to bypass. It also does not seem at all likely that Microsoft intended for the driver signing system to be usable as a time-based DRM mechanism like this.
Re:All of Oculus’s Rift headsets have stopped working due to... by jlgaddis on Thursday March 08, 2018 @02:48AM (#16542981)
Really? No reason whatsoever?

I'm not being facetious, FWIW. I know a fair amount about PKI, in general (probably in more depth and intricate detail than the average HN'er, actually), but I'm not a developer and I know very little about code signing in particular (and even less when it comes to the Microsoft world of code signing).

I do find it kinda hard to believe that there's no use case whatsoever for this particular configuration (code signing w/o an included timestamp from a TTP), though. I certainly understand why a timestamp can be valuable (as it would in this case) but what isn't clear is that there is "no scenario" whatsoever where the lack of a timestamp might be acceptable or perhaps even desired.

As I said, though, I don't know enough about code signing specifically to know what these scenarios might be but I can't imagine there isn't even one of them.

Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Thursday March 08, 2018 @03:49AM (#16543202)
> but what isn't clear is that there is "no scenario" whatsoever where the lack of a timestamp might be acceptable or perhaps even desired.

I can readily imagine a scenario where a driver with a signature but no separately attested timestamp should be acceptable. What I cannot imagine is a scenario where it is useful to treat a driver signed in such manner the way Windows currently treats the driver.

Re:All of Oculus’s Rift headsets have stopped working due to... by girvo on Thursday March 08, 2018 @01:38AM (#16542751)
> I'm having trouble trying to reconcile these two seemingly opposing viewpoints.

I mean this with all respect... but why? You're talking about different opinions expressed by completely different people. HN isn't a monolith.

Re:All of Oculus’s Rift headsets have stopped working due to... by jlgaddis on Thursday March 08, 2018 @02:30AM (#16542933)
Sure, there are plenty of different opinions here on HN. If there wasn't, these discussion threads would be boring and useless.

My point was: in most threads, there's a common opinion or viewpoint shared by most, along with a few "detractors". In general, though, the overwhelming "predominant" opinions (within/on a particular subject) are pretty consistent from one thread to the next.

For example, the "it's the end user's fault, not the developers" thing I mentioned earlier. That seems to be, pretty consistently, the "belief of the majority". Here, though, it's the complete opposite. Instead of saying "the end user (Oculus) screwed up" (which, IMO, they certainly did, FWIW), it's "Microsoft made a footgun which caused this".

That said, I have now made it through the rest of the comments in this thread and it seems that this viewpoint isn't as widespread as it first appeared. Perhaps I just jumped to a conclusion much too quickly; there's obviously plenty of fingers pointing at Oculus as well.

Re:All of Oculus’s Rift headsets have stopped working due to... by Piskvorrr on Thursday March 08, 2018 @04:36AM (#16543354)
Interesting. I would think that opening unsecured services on to the Internet at large is a big no-no; and that whoever sets the default-allow is the one who's setting the trap here. Yes, the admin should inspect any installation for traps, but that's, as you note, secondary to "don't ship software which has a highly convenient trap set up". Most software traditionally exposed to the Internet did manage to do that, back in the early 2000s (by shipping default config `interfaces=lo` or somesuch), nobody should get a free pass on that, MS or not.
Re:All of Oculus’s Rift headsets have stopped working due to... by flamedoge on Thursday March 08, 2018 @12:45AM (#16542582)
you can't guard against every imaginable stupidity. you try but users will inevitably find a hole.
Re:All of Oculus’s Rift headsets have stopped working due to... by loup-vaillant on Thursday March 08, 2018 @02:59AM (#16543030)
That's not how APIs work. You don't eliminate stupidity by thinking of each and every way the user could screw up. You simplify your API so there aren't so many ways to use it in the first place.
Re:All of Oculus’s Rift headsets have stopped working due to... by ryanlol on Thursday March 08, 2018 @05:52AM (#16543591)
So instead of trying to conform to the x.509 spec MS should have just developed their own certificate validation scheme, because that would totally be less of a "footgun" than conforming to the spec.

Am I getting this right?

Why aren't we blaming the people behind RFC5280, after all it was them who came up with this awful idea that certificates should expire.

>giant footgun

oh dear god how are you generating your certificates? This is not a footgun unless you are doing something immeasurably stupid before even involving MS products.

Besides, if you insist on going ahead and setting the Not After field, wouldn't it be a bigger footgun to ignore that?

Re:All of Oculus’s Rift headsets have stopped working due to... by lclarkmichalek on Thursday March 08, 2018 @06:32AM (#16543725)
FWIW, there are basically no common implementations that fully conform to the x.509 spec. That thing is a bundle of unimplemented features.
Re:All of Oculus’s Rift headsets have stopped working due to... by ryanlol on Thursday March 08, 2018 @07:14AM (#16543854)
Hence "trying to" :)

However, I'd argue that disregarding the Validity section would be an unusually big departure from the spec, not comparable to the typical silliness surrounding x.509.

Re:All of Oculus’s Rift headsets have stopped working due to... by gambler on Wednesday March 07, 2018 @11:48PM (#16542350)
How about we stop blaming people who accidentally pressed figurative "system self-destruct" button and start asking why there are so many of those buttons everywhere? Nowadays this is a recurring theme. Simple mistakes leading to catastrophic failures at grand scale. "Just be more careful" doesn't cut it anymore, because in the software world there are just too many things to be careful about.
Re:All of Oculus’s Rift headsets have stopped working due to... by Twisell on Thursday March 08, 2018 @01:17AM (#16542682)
Because when you edit code basically every character you type have the potential to become a big red button. It’s not that developer add them for fun. And each time you develop a new functionality you have to figure out how to build a very solid glass box around the reds buttons you just created. The default being none.

Alternatively you could propose no user configurable functionalities whatsoever and rarely and carefully upgrade any dependencies (including the os) and you will create a very robust program.

But then don’t expect to end up with a wireless VR headset with an online game catalog and multiplayer capability. No but you can up with a very nice banking application developed in COBOL for sure.

Re:All of Oculus’s Rift headsets have stopped working due to... by ryanlol on Thursday March 08, 2018 @05:37AM (#16543548)
You cant possibly make this argument in the context of driver development. Everything is a self destruct button.
Re:All of Oculus’s Rift headsets have stopped working due to... by tomcam on Wednesday March 07, 2018 @09:20PM (#16541765)
Why should the Rift fail when a certificate expires?
Re:All of Oculus’s Rift headsets have stopped working due to... by CookieMon on Thursday March 08, 2018 @12:19AM (#16542470)
I imagine someone went to a site like this:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa3...

read the command for signing their code, and signed their code as instructed.

Today, the certificate they signed a driver with expired, and because the signature wasn't timestamped it means Windows can't know if the driver was signed with the certificate after it expired, so the signature is now treated as expired as well, so Windows doesn't trust the driver.

Why wasn't it timestamped? Probably because instructions like the link above treat that as a separate subject to signing your code, and when you sign your code it looks and works like it's fully correctly signed.

or, as wtallis puts it (https://news.ycombinator.com/item?id=16542204), someone left a foot-gun lying around that didn't have much value except to cause incidents like this.

...and if your own company makes Windows apps, go check they are timestamped ;)

Re:All of Oculus’s Rift headsets have stopped working due to... by tallanvor on Thursday March 08, 2018 @05:41AM (#16543564)
Your same link also explains how to sign a file with a timestamp as well, and contains a link on how to add a timestamp after the fact. It doesn't pretend to know what the best practice is for your specific use case of the signing tool is.

But you can also find places where Microsoft does talk about when you should be timestamping: https://blogs.msdn.microsoft.com/ieinternals/2011/03/22/ever...

Re:All of Oculus’s Rift headsets have stopped working due to... by CookieMon on Thursday March 08, 2018 @06:31AM (#16543722)
> Your same link also explains how to sign a file with a timestamp as well

Sure, further down it explains how to use signtool to timestamp something, but why would someone trying to get an app signed care about using the tool for timestamping?

> where Microsoft does talk about when you should be timestamping

If someone finds that article first, and reads to the bottom of it, it explains that timestamping is related and important and says the times you should be timestamping are "you should definitely do this", so perhaps a design that isn't a foot-gun would have "do this" as the default, with a --force option and alarmist warnings for anybody who has a reason to have their signed executables expire one day.

Design oversights and user mistakes like these will happen, but it doesn't mean influences and causes can't be identified and improved.

(most of the builds at the company I work for had not been timestamped either)

Re:All of Oculus’s Rift headsets have stopped working due to... by Karliss on Thursday March 08, 2018 @01:34AM (#16542741)
Any reason why most sensors couldn't be handled by generic HID drivers which even have dedicated VR page?
Re:All of Oculus’s Rift headsets have stopped working due to... by ThatPlayer on Wednesday March 07, 2018 @07:45PM (#16541328)
Because it was the certificate for the Windows driver, and Windows requires signed drivers.
Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Wednesday March 07, 2018 @07:58PM (#16541379)
The problem isn't that Windows requires drivers to be signed. The problem is that Windows allows drivers to have an expiration date. If Windows verifies a driver's signature at the time the driver is installed, the driver should be considered trustworthy for as long as it remains installed on that system. There's no reason to re-verify the signature every time the driver is used.
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.

Re:All of Oculus’s Rift headsets have stopped working due to... by tptacek on Wednesday March 07, 2018 @09:05PM (#16541695)
Part of what driver expiry does is to prevent attackers from trivially banking older vulnerable versions of drivers and using them to bypass kernel protections.
Re:All of Oculus’s Rift headsets have stopped working due to... by tedunangst on Wednesday March 07, 2018 @09:21PM (#16541766)
But that's only relevant/necessary to check at install time. Attackers aren't banking the drivers that I've already installed last year.
Re:All of Oculus’s Rift headsets have stopped working due to... by MertsA on Wednesday March 07, 2018 @10:40PM (#16542113)
Checking at install time is effectively useless. The whole point of running signed code is that you can't just load some rootkit. Secure Boot only loads a signed bootloader which only loads a signed kernel which only loads signed kernel modules. You can't do what you're suggesting without fundamentally breaking this chain of trust. What's to stop a rootkit from just spoofing that it was installed months ago?
Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Wednesday March 07, 2018 @11:14PM (#16542237)
> What's to stop a rootkit from just spoofing that it was installed months ago?

The fact that if a rootkit is in a position to performing that spoofing, it doesn't need to, because it already has the power to make arbitrary modifications to the system image.

Re:All of Oculus’s Rift headsets have stopped working due to... by MertsA on Saturday March 10, 2018 @10:09PM (#16561513)
The whole point of signing everything from the bootloader on down is to make sure that even ring 0 control over the computer can't persist through a reboot. Allowing signatures to work the way it was suggested would break any hope of something like Secure Boot ever working. As it is you're already trusting timestamping certificates to effectively live forever.
Re:All of Oculus’s Rift headsets have stopped working due to... by dannyw on Wednesday March 07, 2018 @11:20PM (#16542258)
The signed kernel keeps track of when it first has seen a certificate. That is signed by a kernel, so a rootkit can’t spoof unless the system is already compromised.
Re:All of Oculus’s Rift headsets have stopped working due to... by MertsA on Saturday March 10, 2018 @10:14PM (#16561530)
Even the kernel can't modify its own code and persist through a reboot. The kernel only loads signed code that isn't malicious, the bootloader only loads signed kernels that aren't malicious and don't allow you to run malicious code as ring 0, and the BIOS only loads signed bootloaders, etc. There's a root of trust from the hardware on down that makes sure that you cannot run unsigned code as ring 0 and if there's a compromise it can't persist through a reboot. Allowing the kernel to mark certain modules as "signed" like you're suggesting would allow a rootkit to install itself via some exploit. This would render moot the whole point of Secure Boot in the first place.
Re:All of Oculus’s Rift headsets have stopped working due to... by 21 on Wednesday March 07, 2018 @08:11PM (#16541458)
Stuxnet used malicious drivers signed with a stolen Realtek certificate.
Re:All of Oculus’s Rift headsets have stopped working due to... by hesdeadjim on Wednesday March 07, 2018 @07:59PM (#16541382)
Perhaps as a malware defense?
Re:All of Oculus’s Rift headsets have stopped working due to... by kbenson on Wednesday March 07, 2018 @08:04PM (#16541417)
I think that's better handled through a Certificate Revocation List (CRL), especially in this case where's it's fairly easy to enforce and keep up to date.
Re:All of Oculus’s Rift headsets have stopped working due to... by jsmthrowaway on Wednesday March 07, 2018 @08:37PM (#16541580)
CRLs are pretty difficult to scale resiliently, though, for a number of applications. Same problem that led to OCSP stapling after OCSP became a thing. With CRLs you can at least take advantage of a CDN of some kind, but there are tradeoffs with your ability to operate a CRL securely doing that, too.

CRL in the driver install flow implies being online (at some point) to install drivers too. As we move into the future it’s hard to imagine not having Internet access, but we also don’t design Windows. It’s definitely a case they’ve considered, though I did see mention of a timestamp server in this thread (I don’t know much about Windows signing, just X.509 PKI in general).

Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Wednesday March 07, 2018 @11:36PM (#16542311)
Are driver CRLs any more challenging than the virus definitions already distributed through Windows Update?
Re:All of Oculus’s Rift headsets have stopped working due to... by gruez on Wednesday March 07, 2018 @08:48PM (#16541631)
if you by "malware defense" mean preventing stolen expired certificates from being used to sign code, then yes. if you mean by only allowing code to be "signed" for the duration of the certificate, then no.
Re:All of Oculus’s Rift headsets have stopped working due to... by AnimalMuppet on Wednesday March 07, 2018 @08:00PM (#16541385)
Perhaps, but it would be better to trigger that with some knowledge of an attack, rather than at a fixed date.

[Edit: It may not be this simple. See the top-level comment by r1ch about timestamp servers.]

Re:All of Oculus’s Rift headsets have stopped working due to... by anonymfus on Thursday March 08, 2018 @02:29AM (#16542931)
Is there such thing as a driver installation for the kernel, or it's just few filesystem operations?
Re:All of Oculus’s Rift headsets have stopped working due to... by mulmen on Wednesday March 07, 2018 @09:51PM (#16541890)
Is that true though? Could a malicious driver be signed with a compromised key and distributed? Seems like a useful feature to be able to mark drivers as compromised.
Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Wednesday March 07, 2018 @09:58PM (#16541930)
> Seems like a useful feature to be able to mark drivers as compromised.

Putting expiration dates on non-malicious drivers is not a particularly effective way to protect against malicious drivers.

Re:All of Oculus’s Rift headsets have stopped working due to... by mulmen on Wednesday March 07, 2018 @10:45PM (#16542132)
> There's no reason to re-verify the signature every time the driver is used.

I was replying to this part of your comment. It does seem worthwhile to validate the signature of the driver every time the driver is used if that check would reveal when a certificate has been revoked for having been compromised.

Agreed that the expiration time is not particularly useful for this purpose.

Re:All of Oculus’s Rift headsets have stopped working due to... by wtallis on Wednesday March 07, 2018 @11:16PM (#16542243)
> It does seem worthwhile to validate the signature of the driver every time the driver is used if that check would reveal when a certificate has been revoked for having been compromised.

It would be much more efficient to scan the list of installed drivers every time a certificate revocation list is updated, because certificates are revoked much less often than operating systems are booted.

And there's nothing gained by just checking timestamps if you don't have a new certificate revocation list. If the driver is already installed and was trusted and running yesterday, you gain no security by deciding to not load and run that driver today, unless overnight you acquired new information that the driver is insecure or malicious. The ticking of a clock does not convey any such information.

Re:All of Oculus’s Rift headsets have stopped working due to... by booleandilemma on Wednesday March 07, 2018 @08:12PM (#16541463)
This is why I’m reluctant to shift completely to ebooks.
Re:All of Oculus’s Rift headsets have stopped working due to... by bo1024 on Wednesday March 07, 2018 @09:14PM (#16541729)
Not all e-books (or readers) have DRM. I understand and share your concern, but you can shift to only DRM-free e-books with your own backups and under your own control.
Re:All of Oculus’s Rift headsets have stopped working due to... by sohkamyung on Wednesday March 07, 2018 @09:41PM (#16541846)
That's the only kind of ebooks (non-DRM) ones that I buy. Some publishers (like O'Reilly or Tor dot com) exclusively publish non-DRM books.

I politely ask authors or publishers to release non-DRM ebooks when I can. Apart from best-sellers (or time sensitive books), I believe most books are stuck in the long tail of obscurity and releasing them as non-DRM won't affect their sales.

This also means I don't visit pirate websites that claim to have ebooks. It takes two to tango. :-)

Re:All of Oculus’s Rift headsets have stopped working due to... by nerpderp83 on Thursday March 08, 2018 @12:55AM (#16542621)
O'Reilly no longer publishes non-DRM books except via 3rd party agreements.
Re:All of Oculus’s Rift headsets have stopped working due to... by PinkMilkshake on Wednesday March 07, 2018 @08:56PM (#16541653)
My solution is to legally pay for ebooks and keep a [partial ;)] backup of each.
Re:All of Oculus’s Rift headsets have stopped working due to... by nerpderp83 on Thursday March 08, 2018 @12:51AM (#16542605)
You will absolutely love encrypted USB cables.
Re:All of Oculus’s Rift headsets have stopped working due to... by Kenji on Thursday March 08, 2018 @02:43AM (#16542967)
This future worries me.

That's not the future. That's the present! Which is even more worrying.

Re:All of Oculus’s Rift headsets have stopped working due to... by gambler on Wednesday March 07, 2018 @11:09PM (#16542213)
This kind of stuff worries me as well. Security experts generally don't seem to give a fuck about things being unusable due to security systems "Working as Designed". It just doesn't factor into their analysis. As long systems are not "compromised" in some narrowly defined sense, everything is considered fine.

Generally this attitude doesn't backfire, because individual users loosing access to their data, their accounts or their software can be simply dismissed. But in this case it happened to everyone at once, so it's suddenly a big deal.

Re:All of Oculus’s Rift headsets have stopped working due to... by jlgaddis on Thursday March 08, 2018 @01:52AM (#16542811)
This isn't my experience at all. Most "security experts" I know are familiar with the so-called "CIA triad" and understand quite well that the "availability" part is just as important as the "confidentiality" and "integrity" (i.e., the "not compromised") parts.

If one doesn't, well, she isn't much of a "security expert" after all, is she? Firewalling off TCP port 80/443 at your perimeter firewalls isn't a very good solution if you're an e-commerce company selling your product on your web site -- and the "security experts" know this.

Re:All of Oculus’s Rift headsets have stopped working due to... by aphextron on Wednesday March 07, 2018 @07:38PM (#16541303)
>Why is it possible for a device that is basically a display to stop working because a certificate expired?

Because Mark Zuckerberg said so, that’s why.

Re:All of Oculus’s Rift headsets have stopped working due to... by omegaworks on Wednesday March 07, 2018 @07:40PM (#16541308)
Ah, what a world we've made...

More relevant by the day: http://locusmag.com/2018/03/cory-doctorow-lets-get-better-at...