A lot of DDR initialization code is heavily patented and often considered a “trade secret” which is why it’s rarely released and publicized. It’s not that complicated if you know hardware and work with the official internal data sheet. I’ve seen those as part of partnership between CPU vendors and my workplace. You get to read them on a special Remote Desktop so you don’t copy them. Same for ME. Once you know what’s actually in the code the conspiracy theories do seem funny :)
The conspiracy theories are funny, but the bullshit situation of being locked out of things you yourself OWN isn't. I think that's what most of us hate about things like ME or PSP.
ME/PSP isn't that offensive in terms of "locking you out", it's just a coprocessor that's there. Intel Boot Guard on the other hand can actually prevent custom firmware from running.
Being a TPM is one of the Intel ME and PSP’s functionalities. Making a TPM that’d be secure against custom firmware is possible, but isn’t very implemented across the industry.
It’d need measuring the hash of the loaded firmware itself to hardware managed PCRs that affect the hardware crypto engines. Something that’s done on the Secure Enclave for Apple A13 onwards AFAIK.
(also… managing DRM systems, they’ll have to be put on a coprocessor somewhere.)
It's not a wild conspiracy theory that there's an unlabelled "High Assurance Platform" bit on Intel platforms to disable the Management Engine. The same sources that identify the bit as "HAP" control claim it was requested by three letter agencies. I set it, and it does disable/debilitate the ME, so that much is true. That the option exists at least suggests that the ME is an attack surface worth worrying about for someone, i.e. state level actors, even if it's not known to be exploitable.
I assume you meant to be a help by assuring people their computers aren't backdoored, but I don't think you have the certainty to claim ME is sound and secure. It just reminds me of how well-meaning people insisted the USG wasn't interested in capturing everyone's communications, back before it was accepted fact, pre-Snowden.
Disabling ME is part of its functionality. You’re just not given the API to do it. To the best of my knowledge this functionality has been in there from the beginning.
Yeah, I would expect it was there from the beginning, it's just never exposed as user configurable on standard firmware. Being in there from the beginning doesn't
really invalidate the claim by others it was requested by DoD or some agency therein. They are obviously a big client with leverage to have a say in chip features. Even if that part is made up, the off toggles existence still implies security concerns, since the coprocessor shouldn't have any effect on performance.
It's either patented or a secret, it can't be both. Patents must by definition be public.
...and hardware manufacturers make money selling hardware, so why keep the details of how to use it secret? In the days of SDRAM and DDR(1) a lot of companies, including Intel, were far more open about documentation than today.
I've analysed the init code from BIOSes and it is indeed not that complicated.
Depending on the code and vendor it is either patented or a trade secret. Most of the time the code is protected because it is required by the patent law. Remember that a lot of chip companies you know from today, started their life as memory companies.
There are also a lot of businesses that act as patent trolls , e.g. RAMBUS and stifle memory innovation by suing everyone left and right and enforcing their patents. Part of licensing agreement is to keep stuff secret and proprietary. Otherwise if you give something of value away for free, you can’t make money off of it anymore , can you?
Yes, it’s a huge pain to the point where you don’t want to be stuck fielding support calls from enthusiasts tweaking things on their own. Huge pain in debugging this code
> Once you know what’s actually in the code the conspiracy theories do seem funny
Perhaps funny, but inevitable due to the lack of knowledge. Why don't you do us a solid and get us some documentation for our hardware using a cell camera?