<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: kukrimate</title><link>https://news.ycombinator.com/user?id=kukrimate</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 14 Apr 2026 20:51:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=kukrimate" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by kukrimate in "Bypassing disk encryption on systems with automatic TPM2 unlock"]]></title><description><![CDATA[
<p>Why does the initrd have to keep the PCRs the same after handing off to the root filesystem anyhow?<p>Capping off the PCRs with any arbitrary value before execing into root would stop this.</p>
]]></description><pubDate>Sat, 25 Jan 2025 13:10:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=42821434</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=42821434</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42821434</guid></item><item><title><![CDATA[New comment by kukrimate in "Librebooting the ThinkPad T480"]]></title><description><![CDATA[
<p>It is a hardware feature, but it does basically nothing without its software in flash....<p>The only code that is inside the silicon is a 128K bootrom that literally just sets thing up for the real firmware to run.</p>
]]></description><pubDate>Sat, 14 Dec 2024 22:56:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=42420077</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=42420077</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42420077</guid></item><item><title><![CDATA[New comment by kukrimate in "Librebooting the ThinkPad T480"]]></title><description><![CDATA[
<p>I have the ME11's boot ROM in a disassembler as I write this :)</p>
]]></description><pubDate>Fri, 13 Dec 2024 23:16:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=42413221</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=42413221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42413221</guid></item><item><title><![CDATA[New comment by kukrimate in "Librebooting the ThinkPad T480"]]></title><description><![CDATA[
<p>Absolutely is, one of those exact attacks is being used here to bypass BootGaurd. However all pre-boot attacks I am aware of rely on writing a malicious payload to the system's SPI flash and involve physical access.<p>While they are genuine vulernabilties, I wouldn't consider this a worse problem than being able to inject rootkits into other parts of the firmware which is also the case here.</p>
]]></description><pubDate>Fri, 13 Dec 2024 22:40:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=42412973</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=42412973</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42412973</guid></item><item><title><![CDATA[New comment by kukrimate in "Librebooting the ThinkPad T480"]]></title><description><![CDATA[
<p>Depends on how you define "booting". While its true that the microkernel always boots, and there is one userspace process running, it's a bit more subtle than that imo.<p>The bringup module always boot which configures the clock controller, bootguard parameters, and releases the CPU core from reset. When in HAP mode, after that it only handles power management events and doesn't really do anything else. No other ring 3 processes are started on the ME in this mode.<p>Stuff like even the real read-write VFS, fw updater, HECI comms handerl, AMT, PAVP, ISH server, etc are never started in HAP mode. It effectively reduces your runtime attack vector to data in SPI flash only.</p>
]]></description><pubDate>Fri, 13 Dec 2024 22:01:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=42412750</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=42412750</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42412750</guid></item><item><title><![CDATA[New comment by kukrimate in "Librebooting the ThinkPad T480"]]></title><description><![CDATA[
<p>I wrote the deguard utility that made this possible. (The vulnerability being used was found by PT Research in 2017 however.)<p>While yes you cannot strictly disable the ME, what remains of its firmware in this configuration is a bringup module that is stuck in a loop handling power management events.<p>The network stack, HECI stack, etc are all gone here. Effectively the only way to exploit it is to put your payload into SPI flash, which we are already doing anyways :)<p>It is also possible to take over the ME firmware and bring up the CPU using open source code, and have full control over the ME at runtime. This isn't implemented currently, but that's the direction this is aiming in.</p>
]]></description><pubDate>Fri, 13 Dec 2024 12:19:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=42407887</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=42407887</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42407887</guid></item><item><title><![CDATA[New comment by kukrimate in "TPM GPIO fail: How bad OEM firmware ruins Intel TPM security"]]></title><description><![CDATA[
<p>> eFuses, maybe? Or a bit of battery-backed SRAM. Lots of devices have a small amount of hardened storage for e.g. encryption keys. FPGAs supporting bitstream encryption and Atmel's ATSHA device line are examples.<p>To clarify, I was referring to the status quo of current discrete TPM implementations, from a bigger picture perspective, there is certainly room for improvement.<p>Also I am not sure the current TPM standard is compatible with that idea at all. Operating systems set up their own TPM sessions, so there would need to be secret storage only available to a specific operatings system, e.g. similar to what TPM provides, and we are back to the chicken and egg scenario.</p>
]]></description><pubDate>Sat, 08 Jun 2024 11:08:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=40616803</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=40616803</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40616803</guid></item><item><title><![CDATA[New comment by kukrimate in "TPM GPIO fail: How bad OEM firmware ruins Intel TPM security"]]></title><description><![CDATA[
<p>Except that was never the purpose of TPMs unlike HDCP</p>
]]></description><pubDate>Fri, 07 Jun 2024 16:18:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=40610079</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=40610079</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40610079</guid></item><item><title><![CDATA[New comment by kukrimate in "TPM GPIO fail: How bad OEM firmware ruins Intel TPM security"]]></title><description><![CDATA[
<p>Is anyone here talking about survaillance??<p>That "attestation" in the full disk encryption case means <i>your disk encryption key</i> only being available to the operating system you chose to install. And disallowing the ability of a laptop thief to change that.<p>Or remote attestation can be used to restrict access to a corporate network to corporate controlled devices only. No one surveills you, or has access to your device in this scenario either, the TPM there is used to produce a certificate of the device state that can effectively act as access credentials to a resource.<p>This is about recognising the fact that the person in physical possession of a device isn't necessarily the legitimate owner.</p>
]]></description><pubDate>Fri, 07 Jun 2024 11:06:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=40607413</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=40607413</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40607413</guid></item><item><title><![CDATA[New comment by kukrimate in "TPM GPIO fail: How bad OEM firmware ruins Intel TPM security"]]></title><description><![CDATA[
<p>TPMs are a cryptographic coprocessor with added platform state attestation functionality. That can for example be used locally for secure secret storage that is only available in certain platform states, or remotely to certify the state of a device trying to access a corporate network.<p>Of course TPMs can be (ab)used for DRM, but the same property in general to many ideas in cryptography. We still don't say AES or RSA are tools designed to restrict your rights.<p>In reality TPMs are almost always used to (attempt to) protect the user's data over restricting them.<p>I would argue that the discrete chip variation of them aren't very good at this (and even less good at DRM), but a lousy implementation doesn't mean the concept is bad. (As Foxboron mentioned earlier in this thread, discrete TPMs can still act as reasonably good "discounted" SmartCards, but they are bad at platforms state attestation.)<p>In fact I would have much preferred if the industry embraced the measured boot idea more instead of mainly pushing stricter verified boot schemes.</p>
]]></description><pubDate>Fri, 07 Jun 2024 07:23:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=40606115</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=40606115</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40606115</guid></item><item><title><![CDATA[New comment by kukrimate in "TPM GPIO fail: How bad OEM firmware ruins Intel TPM security"]]></title><description><![CDATA[
<p>Because where do you store the CPU side private key after the exchange for future sessions?<p>The secure storage <i>is the TPM</i>, but here you cannot obviously store the secret in the TPM, it's a chicken and egg problem.<p>Thus your secret could only be on disk or in flash in and the attacker can just get it.</p>
]]></description><pubDate>Thu, 06 Jun 2024 22:43:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=40603243</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=40603243</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40603243</guid></item><item><title><![CDATA[New comment by kukrimate in "TPM GPIO fail: How bad OEM firmware ruins Intel TPM security"]]></title><description><![CDATA[
<p>What you are saying is sound, and I agree it could be done.<p>But there are multiple caveats:
- How do you hide the secret so that only "legitimate" operating systems can use it for establishing their sessions and not "Mate's bootleg totally not malware live USB"?
- And unfortunately current CPUs don't implement this.
- Additionally don't be so smug to think you need to decap a CPU to extract on-die secrets. Fault injection attacks are very effective and hard to defend against.<p>I agree the security of this can somewhat be somewhat improved, but if you are building a custom CPU anyhow, you might as well move the TPM on-die and avoid this problem entirely.</p>
]]></description><pubDate>Thu, 06 Jun 2024 22:41:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=40603224</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=40603224</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40603224</guid></item><item><title><![CDATA[New comment by kukrimate in "TPM GPIO fail: How bad OEM firmware ruins Intel TPM security"]]></title><description><![CDATA[
<p>Well yes, but there is a difference between a signal being accessible on a PCB trace I can see with my eyes, vs it being accessible only on the inside of a 7nm silicon die.<p>There is a reason why a lot of system integrate the  security processor on the same piece of silicon whose state the security processor is meant to protect.<p>The reason discrete TPMs exist is supposed compliance with crypto standards, and physical protection against key extraction, but they sort of miss the forest before the trees. What matters to users is the protection of <i>their data</i>, not the TPM's secrets, and discrete TPMs arent very good at the former.</p>
]]></description><pubDate>Thu, 06 Jun 2024 16:18:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=40599226</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=40599226</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40599226</guid></item><item><title><![CDATA[New comment by kukrimate in "TPM GPIO fail: How bad OEM firmware ruins Intel TPM security"]]></title><description><![CDATA[
<p>> What are your thoughts on Microsoft Pluton and Google OpenTitan as TPM alternatives/emulators?<p>I am not familiar enough of the technical details of Pluton or OpenTitan to make a meaningful statement on their security.<p>> Should system attestation roots of trust be based on open-source firmware?<p>Yes, and not only root of trusts, I am strong believer in open source firmware in general. I have been developing coreboot as a hobby for a long time. I wish their was more industry support for such things, especially at the lowest levels of modern systems.</p>
]]></description><pubDate>Thu, 06 Jun 2024 15:58:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=40598975</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=40598975</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40598975</guid></item><item><title><![CDATA[New comment by kukrimate in "TPM GPIO fail: How bad OEM firmware ruins Intel TPM security"]]></title><description><![CDATA[
<p>No.<p>But on essentially all existing UEFI systems you can trivially overwrite the "db" keystore in flash and install anything you please.<p>Also most (all?) UEFI systems are not locked to Windows and allow customizing the keystore via the firmware console interface anyhow.</p>
]]></description><pubDate>Thu, 06 Jun 2024 15:48:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=40598849</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=40598849</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40598849</guid></item><item><title><![CDATA[New comment by kukrimate in "TPM GPIO fail: How bad OEM firmware ruins Intel TPM security"]]></title><description><![CDATA[
<p>Unfortunately encrypted sessions without an interactively provided secret like a PIN are no defence against attacker with physical access.<p>You either need an interactively provided PIN, or a TPM integrated into the CPU/SoC to be secure in such a scenario.</p>
]]></description><pubDate>Thu, 06 Jun 2024 15:39:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=40598760</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=40598760</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40598760</guid></item><item><title><![CDATA[New comment by kukrimate in "TPM GPIO fail: How bad OEM firmware ruins Intel TPM security"]]></title><description><![CDATA[
<p>The PIN is the important part there, encrypted sessions (and/or EK cert verification) <i>without</i> PIN are not much more then obfuscation, and defeated by both the interposer attack, and the tweezer attack. (Or the TPM hack to rule them all, e.g. desoldering the chip and connecting it to a microcontroller you control)<p>I supposse a PIN is a slight improvement over a regular password, but a big appeal of TPM FDE in my opinion is unattended unlock.<p>I think discrete TPMs don't really have a future in systems that need robust system state attestation (both local and remote) against attackers with physical access. TPMs should be integrated into the CPU/SoC to defend against such attacks.</p>
]]></description><pubDate>Thu, 06 Jun 2024 15:37:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=40598736</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=40598736</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40598736</guid></item><item><title><![CDATA[Show HN: Self Hosting C Compiler]]></title><description><![CDATA[
<p>This is my hobby C compiler project. Decided to publish the code today, as it finally compiled itself.
The readme on the linked GitHub page has a bit of information on how it works.
I wrote the thing for fun, but if anyone gets a better understanding of the dark corners of C because of it, I am happy.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=31203866">https://news.ycombinator.com/item?id=31203866</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 29 Apr 2022 11:35:23 +0000</pubDate><link>https://github.com/kukrimate/cc3</link><dc:creator>kukrimate</dc:creator><comments>https://news.ycombinator.com/item?id=31203866</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31203866</guid></item></channel></rss>