• 4 Posts
  • 363 Comments
Joined 2 years ago
cake
Cake day: August 4th, 2023

help-circle






  • Most games were never made to be modded. The communities are hacking mods into these games, many of which were even designed to make modding harder. (Because mods compete against sequels or something? I dunno. Intellectual property is a mental illness.) It’s not terribly surprising that games that weren’t meant to be modded have confusingly inconsistent methods for loading mods. Because those mods work fundamentally differently from game to game. If a mod happens to be easy-ish to install, chances are it’s either quite a simple mod (a model/texture replacement or some such, or just something that’s not terribly hard to mod) or a lot of work has been put into making it easier.



  • Aside from what everyone else is saying, don’t use dependencies that you don’t have to. Particularly don’t use big “frameworks”. If you use any dependencies, use tiny, focused ones that do one thing. The more code there is underneath what you’re writing, the more likely it will cause problems that you will internalize. I’ve seen it many times. Spring (Java), for instance, will do something not as advertised, and devs will think they’re bad coders because they “can’t write code that works as it’s supposed to.” Avoiding that vicious cycle will make you a better coder in the long run.

    Also, when things aren’t working with your dependencies, do google for fixes, but don’t google too long. If you haven’t got a solution after an hour of no progress, look at your dependencies’ source code until you understand why and how to fix it.



  • I wasn’t saying anything about who bears “fault”. My aim with that post (and honestly all the posts I’ve made in this thread) was about understanding the details of the vulnerability well enough for folks to be able to ascertain a) whether they’re affected and b) how to remediate.

    About “fault”, I’m not sure I really agree that’s the best way to talk about these things in general unless they did them purposefully. (WEI, for instance, was malicious bullshit. But I don’t have any particular reason to think in this specific situation Microsoft didn’t handle responsible disclosure properly or anything.)

    Clearly Microsoft made a boo boo in choosing to trust the vulnerable tools in the first place, but vulnerabilities are inevitable.

    I’ll definitely say I don’t consider Microsoft “trustworthy” enough to protect my stuff. If only because Microsoft stuff is bloated and has a huge amount of attack surface. But also because their history make it clear they’ll perpetrate really shitty things against their users on purpose. The former could only really be addressed by them slimming down their technology stack. The latter by abolishing the profit motive.

    And also, in general UEFI is apparently a cluster fuck of poor, buggy implementations. So there’s that.

    In all, this is one doesn’t strike me as terribly high on the “blameworthy” meter unless you just consider it a symptom of Microsoft being assholes, which is undeniably true.



  • They don’t even have to be signed…

    Yeah. My understanding is that Microsoft has signed several tools made by other companies that boot as UEFI PE executables and aren’t supposed to allow loading arbitrary (including unsigned and malicious) UEFI PE binaries, but due to security vulnerabilities in the tool, they’ll load any old UEFI PE binary you give them.

    The payload/malicious UEFI PE binaries don’t have to be signed. But the third-party tools that contain the vulnerabilities have to be signed by a signer your UEFI firmware trusts. (And the tools are signed by Microsoft, which your UEFI firmware almost definitely trusts, unless you’ve already applied a fix).

    (And I don’t know exactly what sort of tools they are. Maybe they’re like UEFI Shell software or something? Not sure. Not sure it matters that much for purposes of understanding the impact or remediation strategy for this vulnerability.)

    The fix, I’d imagine is:

    • Everyone should untrust the certificates used to sign those vulnerable tools. (And by “untrust”, I really mean they need to apply the revocations.)
    • Microsoft needs to issue new certificates to replace the ones with which they signed the vulnerable tools.
    • The companies who made those tools need to release new, fixed, not-vulnerable versions of the same tools.
    • …and get Microsoft to sign those new versions with the replacement keys.
    • And users need to migrate from the vulnerable versions to the new versions of the tools in question.

    Now, I’m not 100% sure if there needs to be yet another step in there where individual users explicitly install/trust the replacement certs. Those replacement certs are signed by Microsoft’s root certificate, right? As long as all the certificates in the chain from the root certifcate down to the signature are included with the UEFI PE binary, the firmware should be able to verify the new binary? Or maybe having chains of certs is not how UEFI PE binaries work. Not sure.

    Here is an example of something similar that disables Windows Platform Binary Table…(I’m not advocating that anybody actually use this).

    Yuck. Thanks for letting me know of that. I’m still firmly in the “learning” phase when it comes to this UEFI stuff. It’s good to be aware of this.






  • I… doubt it?

    I took the liberty of looking in the developer tools as it failed, and there was a 500 response. The connection to Hulu’s servers was all over HTTPS and I didn’t get any certificate warning, so unless my ISP managed to get Hulu’s private key or got with a corrupt registrar willing to issue a valid replacement certificate, no ISP should be able to change response codes on a man-in-the-middle basis or a redirecting-traffic-to-a-hostile-server basis.

    And given how many people have reported issues, I doubt it’s specific to any particular ISPs.

    Net neutrality being dead is a huge bummer, but I don’t think this can be blamed on that.