News for hackers. Stuff that matters.

zauguin

Can't that just be done by sealing to PCRs? By protecting the unsealing key with PCR which depends on the OS (I usually use the secure boot signing key PCRs since they are different between systems and stable across updates) and some PCR which gets extended by the OS (or for stuff stored in NV making it readlocked during boot). Then any process that launches later can no longer access it and booting another OS also doesn't help.
Re:We Just Unredacted the Epstein Files on Tuesday December 23, 2025 @09:32PM (#46371820)
This seems highly misleading.

> - Remove the data. This is much harder than it sounds. Many PDF tools won't let you change the content of a PDF, not because it isn't possible, but because you'll likely massively screw up the formatting, and the tools don't want to deal with that.

Compared to other formats this is actually relatively easy in a PDF since the way the text drawing operators work they don't influence the state for arbitrary other content. A lot of positioning in a PDF is absolute (or relative to an explicitly defined matrix which has hardcoded values). Usually this makes editing a PDF harder (since when changing text the related text does not adapt automatically), but when removing data it makes it much easier since you can mostly just delete it without affecting anything else. (There are exceptions for text immediately after the removed data, but that's limited and relatively easy to control.)

> - Replace the data. This what what all the "blackout" tools do, find "A" and replace with "🮋". This is effective and doesn't break formatting since it's a 1-to-1 replacement.

That's actually rather tricky in PDFs since they usually contain embedded subset fonts and these usually do not have "🮋" as part of the subset. Also doing this would break the layout since "🮋" has a different width than most letters in a typical font, so it would not lead to less formatting issues than the previous option. Unless the "🮋" is stretched for each letter to have the same dimensions, but then the stretched characters allow to recover the text.

> The problem with "replacing" is that not every PDF tool works the same way, and some, instead, just change the foreground and background color to black; it looks nearly the same, but the power of copy-and-paste still functions.

PDF does not have a concept of a background color. If it looks like a background color in PDF, you have a rectangle drawn in one color and something in the foreground color in front of it. What you usually see in badly redacted PDF files is exactly this, but in opposite color: Someone just draws a black box on top of the characters. You could argue that this is smarter since it would still work even if someone would chnage colors, but of course, PDF is a vector format. If you just add a rectangle, someone else can remove it again. (And also copy & paste doesn't care about your rectangle)

I'm somewhat disturbed by the idea that anyone would think that you shouldn't stop when "driving in even semi-dense traffic in any bigger city" if you can't see. Of course you should slowly come to a halt and put warning slights on to give people time to react, but not coming to a stop in such a situation seems at the very least highly negligent. Sure, stopping in the middle of the road will be annoying to other drivers, but it's generally preferred to annoy people over killing them.
Re:No more boot loader: Please use the kernel instead on Monday July 08, 2024 @05:37PM (#40909994)
This is a step in that direction. What they are proposing is not so much "no bootloader" but using a small Linux as bootloader. I'm using a similar setup for some time and it gives some of these advantages. Especially you get support for all relevant filesystems (you can support everything Linux supports because it is Linux), it can dynamically build a minimal initramfs with only the needed drivers if you want to and understands module dependencies (e.g. it can just dump the list of modules it uses itself) and is generally much more flexible.
This often leads to extremely annoying codebase because languages trying to enforce styleguides without proper options just leads to inconsistency once any code in another language leads to the codebase.

Just have an options file which is checked in with the code and enforce whatever is set in there works much better. You still avoids all the useless discussions about formatting while also allowing to set sensible settings which are consistent with surrounding technology.

Re:Show HN: Encrypt and upload files to IPFS from browser on Friday October 27, 2023 @02:03PM (#38041820)
According to NFTStorage's Terms and Conditions:

> The Service is offered for the creation and storage of NFTs. Use of the Service to store other types of data is not permitted.

Do you have a special agreement with NFTStorage which overrules the general Terms and Conditions?

Re:Show HN: PDF Debugger – Inspect Structure of PDF Files on Saturday September 30, 2023 @05:31AM (#37713910)
Regarding 2.: Most of these objects do not directly correspond to rendered elements. Basically every page has one (typically) content stream which will contain all rendered elements. The biggest rendered thing you see outside of that are annotations (link boxes, form fields, actual annotations, ...).

It's a bit different if you are looking at a tagged PDF, where the tagging structure is in there, but if you want to look at that in detail you are probably better served with e.g. ngPDF (https://ngpdf.com/) which will show the tagging structure including the mapping to rendered elements.

(2017) (?) (Based on referring to the Cortex A73 as "ARM's latest A-Series processor")
Re:B612 Font Family on Friday September 15, 2023 @03:51AM (#37519880)
While there is a glyph like that there's no nice way to access it. There is no font feature to enable slashedzero by default and slashedzero is not mapped to U+0030 U+FE00 (Unicode's standard variant for an explicit slashed zero). Instead it's only accessible using the private use codepoint U+E007 and then typically doesn't get copied as a regular zero.

But more generally the font has an empty GSUB table which would be used for such substitutions. I'm wondering if the cockpit display maybe misses support for that and that's why they tried not to use it for anything.

Re:Accessible Palette: stop using HSL for color systems on Tuesday August 29, 2023 @12:09PM (#37309999)
APCA works great, but it has a very weird and restrictive license. Before you consider it for anything you should probably take a detailed look at that and consider if it's really usable for you.
There's no need to appeal yet. With "punishment order" they probably refer to a german "Strafbefehl" which isn't a full sentence but a simplified system to avoid trials which only requires a bit more than probable cause.

They can now object to it, then there will be a full trial. If they loose there, then they can appeal.

Re:Fixing the TPM: Hardware Security Modules Done Right on Monday August 21, 2023 @01:40PM (#37212826)
Potentially. Last I tried to boot Windows was a Windows 10 which could deal with this, it just disabled some functionalities relying in the TPM (aka. Windows Hello(?)). It might be that Windows 11 will not like it that much.

Then again, if you want to control what runs on your system, you probably don't run Windows in the first place.

Also if you want to stop Windows from booting, it's much more reliable to change the Secure Boot keys (and of course not adding the Microsoft keys afterwards). Then your system is guaranteed Windows free.

Re:Fixing the TPM: Hardware Security Modules Done Right on Monday August 21, 2023 @01:35PM (#37212763)
On Linux with tpm2-tools installed you can run

To set the owner password (mainly for Storage) ``` tpm2_changeauth -c owner file:- ```

To set the endorsement password (e.g. to verify that the TPM is authentic): ``` tpm2_changeauth -c endorsement file:- ```

To set the lockout password (to recover the system without requiring a full reset): ``` tpm2_changeauth -c endorsement file:- ```

Re:Don't Fire Your Illustrator on Monday August 21, 2023 @01:24PM (#37212604)
The site uses [unjustifiable] together with [Hypher].

[unjustifiable]: https://www.npmjs.com/package/unjustifiable?activeTab=readme [Hypher]: https://github.com/bramstein/hypher

Re:Fixing the TPM: Hardware Security Modules Done Right on Friday August 18, 2023 @09:14PM (#37184390)
> or, even better, to prevent the HSM from being used by anything without my overt permission

Can't you already do that with an existing TPM? You just set an owner authentication password and an endorsement authentication password and no application can use it anymore unless you provide the password.

Technically it would still be possible to use it as a very slow cryptographic coprocessor I guess, but that benign and useless. It does still provide access to some platform measurements, but they can't be signed by a authenticated (or even safely stored) key, so they are easy to fake.

In addition to that the OS of course can be used to completely block access to it if needed.

The problem is not that people can't stop applications from using it, it is just that in practice people don't care.

According to the Open Source Definition of the OSI it's not:

> The program must include source code [...] The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor [...] are not allowed.

If all media outlets no longer receive traffic from big tech companies there's actually a decent chance that it will not affect their traffic much. If only some news outlets would be affected the others would profit, but if all are than there is a good chance that people just start accessing news more directly again.
> OTOH if the display is already 2300EUR, I can't see how the OP can possibly make any money on this, especially with free global shipping, returns, etc, etc.

I don't think they are making money out of this. The display is 2300€ without VAT and the OP is selling them with 2783€ with 21% VAT, so it's exactly the same price.

Could you give a few more details on this? While the 32'' screen is a bit too expensive for me, I would probably find interesting usecases for he 16'' version if there weren't the subscription requirement. I don't mind writing my own CMS as long as that's possible.

What are the requirements to make a system work with these? Do you at the end stream bitmaps to the device? Something else? Is there a documented interface?

It's really more an acute mistake.
Usually systems have a KEK (key exchange key) from Microsoft installed, then Microsoft can revoke keys on their own withot involvement of the UEFI forum, board manufacturers or anyone else (Unless the KEK itself is compromised). They usually publish these revocations later on the UEFI website, but that's not necessarily blocking the rollout.

The actual issue is that the revoked key is the key used by Windows, so revoking it makes Windows unbootable.

Seems a bit weird to call this a Secure Boot vulnerability though since Secure Boot still works, it's just that a validly signed binary happens to be vulnerable and boots arbitrary stuff in a later stage. While this circumvents Secure Boot on all systems which allow booting Windows (so all systems where noone explicitly changes the Secure Boot setup), it sounds more like a Windows boot loader vulnerability than a Secure Boot issue.

As far as I understand it Cloudflare's DNS proxy service is for it's authoritative DNS service (and therefore only transfers content of Cloudflare customers), while the parent referred to the DNS resolver (1.1.1.1) where arbitrary sites are looked up.
Re:How to own your own Docker Registry address on Saturday March 18, 2023 @07:43AM (#35208235)
> To dig into this traffic, the easiest option is to use an HTTP-debugging tool (such as HTTP Toolkit) to see the raw interactions, and configure Docker to use this as your HTTP proxy (docs here) and trust the CA certificate (here).

Probably not surprising given that this is the blog of HTTP Toolkit, but instead of debugging the HTTP requests, they could have gotten much of the same information by reading the introduction of the API docs (https://docs.docker.com/registry/spec/api/#overview).

Re:Ask HN: Why are URNs not more popular? on Saturday January 07, 2023 @07:58AM (#34287629)
> and {"scheme": "nin:DE", "id": "..."} for a German citizen. (This is to refer to "a legal entity that can own something and that we have an agreement with")

Off-topic, but there isn't really a general ID number for German citizens. There are some numbers for social security or tax purposes, but most people wouldn't give them to other entities and people wouldn't think of them when asked about a ID number in other context. (There is also a number of the ID card, but that only identifies the card and therefore changes whenever you get a new one) So this example would at least not be self-documenting.

Re:Ask HN: 90s kids happily less connected? on Monday December 26, 2022 @11:57PM (#34145252)
That's not really what we see though given that while in their late 20s / early 30s many people reconsider their view of social media, the older generation of people in their 50s / 60s use social media more and more and highly value the fake online relationships.
Re:Illegal Hashes on Monday November 28, 2022 @07:14PM (#33781826)
> > Because MD5 is a relatively weak algorithm, it is possible to create deliberate hash "collisions". That is, take some data and manipulate it until it has the same MD5 as a different piece of data. > > First sentence is true. Second sentence is false - that's called a preimage attack. MD5 is broken for collisions, not preimage or second preimage. > > > It is somewhat cheap and easy to produce a file with a specific SHA-1 hash. > > No, that's called a second preimage attack. SHA-1 is broken for collision, not preimage or second preimage.

I think that's backwards. Producing a file with a specific SHA-1 hash is a preimage attack while producing a file with the same hash as another file is a second preimage attack.

Not that it matters for SHA-1 where both aren't broken yet.

Re:Your First IPv6 Request on Saturday November 05, 2022 @06:41AM (#33480127)
Sorry, I missed your message. I'm using bird2 (and networkd for the tunnels) but sending the configs here doesn't work that great. Feel free to reach out by mail and I can send you a copy ([email protected]).
Re:Your First IPv6 Request on Monday October 31, 2022 @12:17PM (#33407935)
I currently peer (via tunnels through my IPv4 connection) with securebit (aka tunnelbroker.ch), freetransit.ch and route48.org (but the list varies a bit over time), The original motivation was my frustration about my ISP not offering native IPv6 and general interest in internet routing.
Re:Your First IPv6 Request on Monday October 31, 2022 @09:33AM (#33405461)
I don't know about ARIN, but I got an PI assignment from RIPE for my home lab without issues.
Re:Lambda Operator in LaTeX on Saturday October 22, 2022 @07:18PM (#33303095)
> I do wish LaTeX kernel commands (which I'm assuming these are) were more widely documented. As it stands, it's pretty hard to keep track of what already exists. Is there a nice reference for those?

Not really, the traditional commands are rather messy. Of course you can read source2e, but that's not really documentation. For new stuff it often makes sense to write the more programmy stuff in expl3 which is much better documented in interface3. (It contains these commands as `\use_i:nn` and `\use_ii:nn`)

> > Also the Unicode bytes are already active so setting their catcode is useless. > > This is true for LaTeX and not TeX, correct?

Right, this is LaTeX specific.

> Also redefining the first octet breaks LaTeX's UTF-8 handling... > > How so? (If the else case wasn't broken)

LaTeX's definition of the first byte handles arbitrary valid UTF-8 following bytes by using corresponding definitions or printing correct errors, while even a definition which wouldn't trigger the active character again would just print the two bytes which does not print a useful error message and probably prints two random characters from the font, completely ignoring any potential definition using LaTeX's mechanism for other codepoints starting with this byte.

>...and the else case forms an infinite loop. > > If `\Firstλ` was not an active character, would this still be true? Since I store `\Firstλ` in `\lambda@first@oct` before it's declared an active character.

You are correct, if the first byte wouldn't already be an active character (e.g. in plain TeX) then it wouldn't loop. It wouldn't expand to something particularly useful, but that wouldn't be any worse than without the definition so it would be "correct".

> I suppose I should read up on xparse.

Normally `xparse` is preloaded and not a package anymore, therefore also it's documentation has been moved into usrguide3. In this case you still need the package though since the `d` argument type has not been added to the kernel (and therefore also not to usrguide3) since delimited arguments are not recommended for LaTeX commands. It's still documented in the old `xparse` manual though. Just in case you're wondering about the split.

Older »