HNHacker News
TopNewBestAskShowJobs

zahllos

1,137 karma · joined June 5, 2016

submissionscomments
zahllos··on Using Cloudflare on your website could be blocking RSS users
SQL injection?

Get parameters can be abused like any parameter. This could be sql, could be directory traversal attempts, brute force username attempts, you name it.

zahllos··on Google is preparing to let you run Linux apps on Android, just like Chrome OS
Not being standards compliant does not surprise me at all.

I've never looked at the cost, but I was told switching to teams is being done to save money. So perhaps not as much money as hoped...

zahllos··on In SSRI withdrawal, brain zaps go from overlooked symptom to center stage (2023)
That's what I thought as well. On the medication I was on afterwards it only inhibited serotonin reuptake and the dose was lower. I imagine a really high dose would do the same thing as well.
zahllos··on Google is preparing to let you run Linux apps on Android, just like Chrome OS
This is going to depend on the market. If you consider enterprise I'd argue Microsoft are very much still a monopoly. A client of mine is in the process of removing their existing telephony solution, which has many more features than teams, for teams, because teams is bundled with the necessary Microsoft 365 to get all the Azure controls needed for regulatory compliance.
zahllos··on In SSRI withdrawal, brain zaps go from overlooked symptom to center stage (2023)
I can also confirm brain zaps both when I tapered down and if I missed a dose. It was unpleasant but I put up with it when reducing my dose. I changed from it because it caused insomnia as a side effect badly enough that it was worse than the problem.

My understanding (which may be incorrect, not a doctor) is that you need a higher dose to achieve the N part of the SNRI. I wonder if this somehow linked to the experience. On lower doses of SSRIs I never had any such experiences.

zahllos··on The Republic of Palau Becomes ITU's 194th Member State
They had an idea that the internet would be based on a system of federated directories, which would be used to find X.400 addresses for people and send them messages on the information superhighway.

This never happened, but parts of X.500 are everywhere. X.509 was one of the requirements for secure access to the directory which was recycled into certificates for the web by Netscape. LDAP is another offshoot, designed for organizations to have their own internal directory internally without needing all the other parts of X.500, and it shares some aspects of the data model with X.500 and so certificates. Active Directory builds on LDAP.

Fun fact: Microsoft Exchange Server had X.400 messaging support up to I think 2016 edition and I have sent an X.400 message even. However the format is pretty cumbersome: C=CH;L=Zürich;O=Zahllos;OU=Zahllos Internet Commentary Division;G=Zahllos is not a nice way to present a contact address. If the C=CH,L=Zürich look a lot like LDAP attributes and/or fields in a certificate, they are.

The ITU do many other things around telephony and communication, and the most obvious one is looking after country codes for phone numbers. If you decided to make a country tomorrow, the ITU would be where you'd go to get your country code delegation. E.164 is their standard for international numbers beginning with a +.

zahllos··on EUCLEAK Side-Channel Attack on the YubiKey 5 Series
HSMs support these kinds of scenario (high availability clusters, wrapped keys etc) but I agree. For enterprise use there's no interest or need, and for end users the feature would potentially be confusing.

I just use multiple tokens, and I knew that the infineon sle78 was an intel 80251 derivative before this report ;)

zahllos··on NSA releases 1982 Grace Hopper lecture
The proposal is to do exactly this (hybrid schemes using a pre and a post quantum scheme).

However in this context the debate is just over the PQ scheme (not the overall system). Also, NSA are not planning to mandate a hybrid system for government use. Others may do the same.

zahllos··on What is an SBAT and why does everyone suddenly care
At the time of opening this page this was the top-ranked comment and that is a bit depressing. If you read Matthew Garrett's blog in full, you can learn quite a lot about what went into the process of building out secure boot for Linux.

* The UEFI Consortium via their spec mandates nothing, but Microsoft (not mentioned here, but to stick Windows stickers on your boxes and get WHQL for your hardware) requires carrying their db keys: https://mjg59.dreamwidth.org/9844.html

* You can take control of the process yourself and evict Microsoft's keys: https://mjg59.dreamwidth.org/16280.html the details are sort of in here, but let me summarize it for you: by default the platform key is provided by your manufacturer, which signs a key-signing-key, which itself signs updates to the DB (what you can boot) and DBX (what won't boot even with valid signatures). As the article says, x86 specifications explicitly require that this database be modifiable, so you can always install your own keys. I did this for a while, and on my laptop I evicted Microsoft's keys entirely. Ultimately you can bypass this if you can bypass the BIOS password simply by resetting the database or disabling secure boot and... well, https://bios-pw.org/ .

* The whole thing was built so that you can re-sign your own kernels and other bits if you want (you could just sign your distribution's db keys with your KEK, which will make OS upgrades smoother): https://mjg59.dreamwidth.org/12368.html

* Here is an article on secure versus restricted boot: https://mjg59.dreamwidth.org/23817.html - I said above that the x86 specifications explicitly allow the key database to be modified (Microsoft's ARM devices were the inverse).

Now some non-Garrett points:

* To be affected by Windows Update, you need to run Windows. Tautological and true!

* If you update your firmware via, say, LVFS (https://fwupd.org/) and your distribution via its standard tools you get updates to things like dbx all the time. All from your hardware vendor and friendly FOSS folk, no Microsoft involved. You might even be using SBAT right now.

* Those Talos II boards people like? They also have secure boot. It is entirely optional and since Microsoft only implemented a "kinda" version of NT for PowerPC, they're definitely not involved. It is not UEFI, since there's no UEFI for POWER (there is for ARM and RISCV though). You also aren't getting anything from LVFS and barely anything from your distro, but, secure boot is there. You can turn it on.

Personally, providing I can control the keys and decide what is and is not trusted and whether I use it, I am fine with it. Depending on what you want to achieve, secure boot is not always unreasonable, and neither are TPMs - small example, software exploits won't be able to successfully modify the boot chain if you have good key management (i.e. you sign elsewhere). They also have their limitations - as usual, physical access is hard to defend against and remote attestation is a hard problem all around.

zahllos··on Safe curves for Elliptic Curve Cryptography [pdf]
This is a bit misinformed.

NSA required the use of "Suite B Cryptography" for commercial vendors of government systems, which in its latest revision meant ECC. However, vendors were (and are) slow to adopt ECC from the previously used RSA. If you want public evidence of how slow such transitions can be, check any other commercial crypto like certificate authorities and see which trust chains are entirely elliptic curve. Mostly people are stuck on RSA, even though elliptic curves broadly offer better speed and smaller keys/signatures for the same or better levels of security. There's also still plenty of deployed DES and SHA-1, even though the former is inadvisable and the latter inexcusable. In fact, from what I read in the response to the NSA proposing to drop SHA-3 in favour of SHA-2 in the new PQ standards, vendors were a bit frustrated at the change because of the short timescale involved in the migration. I interpret the demanding schedule for adoption of PQC as a deliberate choice by NSA - a somewhat passive aggressive response to vendors to tell them to get their acts together, based on their experience of trying to roll out ECC.

What NSA said is "if you haven't migrated to elliptic curve cryptography, you should now wait for post quantum and then start on that". You can read that message here: https://web.archive.org/web/20151123081120/https://www.nsa.g... and here is the exact quote:

> For those partners and vendors that have not yet made the transition to Suite B elliptic curve algorithms, we recommend not making a significant expenditure to do so at this point but instead to prepare for the upcoming quantum resistant algorithm transition.

I don't think there's much mystery here - basically it amounts to a bunch of procurement rules and guidelines.

zahllos··on The Gervais Principle, or the Office According to “The Office” (2009)
It depends where you draw the line of "enough to get by". There are two cases: case A is where the expectations exceed what you're really being paid for, i.e. those cases you mention where the company culture is long hours. This isn't what I'm on about, but for completeness, these places are awful to work at and I definitely agree escaping them is the most rational thing to do.

Case B is different. Case B is where you work somewhere with reasonable work-life balance, but where you have a colleague who persistently under-performs. They won't do the essential documentation, follow the process correctly and they will quite happily sit through meetings and not volunteer a solution they know the answer to unless explicitly asked in just the right way and they happen to feel like it that day. This can take a few different forms - my list is not exclusive but it boils down to "quiet quitting" - but, as you say we are all adults, and we know who these people are.

zahllos··on The Gervais Principle, or the Office According to “The Office” (2009)
I agree with the parent poster, the author sounds very bitter. Might not be true, they might be trying at humour and I haven't got it.

But I think doing the minimum you can get away with is playing with fire.

Your colleagues will resent you. You're also sending a signal to everyone that will be remembered. Maybe a colleague will start a business or move to another place one day. Are they going to employ the minimum effort person they used to work with? No.

zahllos··on How to talk to your parents about hardware memory safety
Correct. In fact since memory access must be aligned (I think Linux uses 4 byte alignment, which is the alignment of instructions) the lower bits of every code pointer can be used for this purpose.

ARM as in 32-bit arm already does this. If the lowest bit of the pointer is set to one when control jumps there it is treated as thumb (2 byte) instructions rather than A32 (4 byte) - that lower bit is still masked away of course.

The QARMA block cipher ARM proposes for PAC (but does not mandate, any can be used) "signs" (it isn't really signing, more like a mac but whatever) pointers with an authentication code as small as 3 bits.

That might sound nuts but a 3 bit code means you have 1/8 chance of bruteforcing correctly. Raise to the power of the number of required forged pointers and you can see how an exploit can be made very unreliable. E.g. if you need 4 forged pointers you now have (1/8)^4 chance of succeeding.

zahllos··on Techniques used by developers to bypass App Store review
I have a possible workaround for the "how can I pay for things" part: don't use Goopple wallet, carry a card (and maybe some cash)?

Tap to pay is your phone emulating an iso14443 smart card, which is what a contactless bank card is. Carrying a card is of course another thing to carry, but on the plus side they don't need charging every 24h and they won't be old tech next year when the iPhoxel n+1 incrementally better edition is released.

zahllos··on "Any sufficiently bad software update is indistinguishable from a cyberattack"
There are indeed many cases where errors need to be recovered from and the subject of one angle in secure rust code training was quite literally "don't just panic, don't blindly unwrap or leave errors unhandled because that'll kill your thread/process on failure, you should still code for failure cases". If you do, you are coding denial of service bugs.

But, in the incident in question, the code is fundamentally not correct. Spatial memory safety violations, or in plain English "trying to call functions or use data that isn't at addresses your code or data lives at" fundamentally is an error. There's a missing part of the state machine to detect and stop before just exploding. In userspace this is a segfault and your process dies. In kernel, you get a bugcheck and the whole system reboots.

There are scary alternatives. The first, in kernel, is that you suppress all invalid writes and allow the errant code to keep writing, until it hits some other data. The system stays up, but you have out of control data writes so who knows what that's doing.

The second is that the execution flow of the process can be hijacked, i.e. Sergey Bratus' weird machines, or in plainer language, owning kernels in critical infrastructure. This is usually undesirable.

zahllos··on "Any sufficiently bad software update is indistinguishable from a cyberattack"
A blue screen of death as caused in this case is also a controlled crash, in fact. The processor has fired an interrupt indicating invalid memory access and piece of windows code does some emergency logic, namely, dump memory so you can maybe diagnose it later, and reboot.

The reboot part happens because the system is assumed to be in a bad state and allowing it to continue would possibly corrupt data, or in the worst possible case execute exploit code.

This panic handler runs in the same privilege as the faulty driver and can itself be prevented from running correctly. Notably file system drivers are required to function correctly to write the memory dump. If they, or filter drivers attached to them, also fault, well, fun times.

You can have faults in an interrupt handler too, for example trying to access paged memory in a page fault handler. That'll trigger a double fault handler and if you fault in that, the processor will perform a reset and not bother even notifying software. Luckily the double fault handlers and other such cases are usually solely the preserve of OS vendors.

I have no particular point except to illumate what's going on and that processors (in this case x86 terminology is used) and that actually recognizing and aborting from an invalid state is exactly what's happening here and what rust memory safety does. In spite of the disruption that's better than silently corrupting data.

zahllos··on How we communicate
I've gone the other way in my life (native English speaker learning several other languages. I speak one fluently, and two others at a basic level. I live in continental Europe and the country I'm in has 3 official and 4 national languages).

One of my language teachers said babies learn listening first, then speaking, then reading and finally writing, whereas adults it is the other way around: adults find it easiest to deal with writing because they control the context and it is in their own time, then reading because although there might be unexpected constructions, it is again in their own time. Then speaking for the same reason as writing, except timing is more real time, and finally listening is the hardest challenge, because it requires real time understanding of the context.

So I agree that I would expect written communication to be easier to deal with for many non natives of any language.

zahllos··on Experienced engineers are struggling to get hired
Even in Switzerland, one of the most expensive places in Europe, I would consider 150k USD to be a good deal - and I'd have to pay all the tax and social insurance parts out of that too (I have a company).

For 125k in almost any other country on the continent you'd be extremely competitive, if not beating, any local offer.

zahllos··on Future of 32-bit platform support in FreeBSD
Do you ever boot your machine only into 32-bit mode? Most UEFI firmware I've seen is launching /EFI/BOOT/BOOTX64.EFI, which means your bootloader is in long mode even if you then switch back to 32-bit mode (and UEFI is likely already there). I don't know if emulating a traditional bios avoids this or not, never thought about it. But I'd take a guess that the vast majority of people are passing through long mode and then back again if they installed a 32-bit OS.

I'm not saying remove the possibility of 32-bit userspace and nor are, it seems, freebsd. I am saying don't bother with a 32-bit kernel. Otherwise you're limited to a 4GB address space and hacks like PAE. No harm in running 32-bit binaries if you want and, I think Solaris actually left userspace as 32-bit only even on their 64-bit OS, unless the application really benefited from a 64-bit setup. Not sure what they do now, been a while since I used it.

It's arguable ASLR only works well in a 64-bit mode, as well.

zahllos··on Future of 32-bit platform support in FreeBSD
For the modern server/desktop and even laptop, that's also no bad thing. It is somewhat ridiculous that UEFI bioses, internally, still boot in 16-bit real mode and have to do all the steps your bios bootloader used to do to set up a 64-bit environment ready to go: https://github.com/tianocore/edk2/blob/edc6681206c1a8791981a..., https://github.com/tianocore/edk2/blob/edc6681206c1a8791981a..., https://github.com/tianocore/edk2/blob/edc6681206c1a8791981a...

Why not just start the CPU in "long mode", which is what everyone is using it for, in the first place?

These newer ARM processors support 32-bit code at EL0 only (userspace). That seems like a reasonable approach for x86 as well and the freebsd announcement has this to say:

> There is currently no plan to remove support for 32-bit binaries on 64-bit kernels.

So for the moment, you can run 32-bit applications just fine.

zahllos··on Inside the proton, the ‘most complicated thing you could possibly imagine’
Exactly this. Or to put it another way we don't actually know how the rules of the universe work. So we can't follow a process of deductive reasoning that "why" follows from this or that implication.

Take quantum mechanics. This came out of observations that particles exhibited wave-like behaviour. Mathematics predicts certain things when you start to apply the wave equation. These are then experimentally verified and the model is shown to be pretty good, although it has some deficiencies like not fully linking up with relativity. There are some doubts in some areas of what it predicts as well from what I understand from talking to researchers.

As the article says the original model was that protons were fundamental particles: nothing smaller. This model held up for quite some time but then observational data demonstrated it was insufficient. Same with the three quark model. Knowing the various deficiencies we might go so far as to say "the model that a proton is a +1 charge is good enough" and use that because that works for many situations and that's as much as we need. Although of course, there are always scientists looking to complete the picture.

Science is the incremental acquisition of knowledge through observation and experimentation - and there's an awful lot we haven't figured out.

zahllos··on I applied for a software role at FedEx and was asked to take a personality test
I didn't quite know how to answer but you've hit the nail on the head. Thanks!

I agree. In Switzerland employment law is governed by the code des obligations, or for the parent poster who asked in the first place, Obligationenrecht. There are various notice periods, 1 week in the first 3 months, 1 month for the first year and so on. An employer isn't required to give a reason for dismissing someone either.

I think it is entirely a people issue.

zahllos··on I applied for a software role at FedEx and was asked to take a personality test
This is very common where I am (Switzerland) and I agree entirely with your conclusion. It's not uncommon to see posts open for over 6 months and it often seems like this is because no candidate is good enough.

In the intervening time, a candidate not quite ticking all the boxes but with motivation and energy could have learned what they needed to and moved whatever the project is forward.

zahllos··on Microsoft seeks Rust developers to rewrite core C# code
I'm a Rust convert, but that needs to be put into context: I do stuff in in cryptography, often on embedded. Prior to Rust I did C and C++ for most of my work. There's also Ada... and it has SPARK, but Ada has never had the level of exposure that Rust has achieved.

But there's all manner of "business systems", e.g. Java/RHEL shops, ".net shops", where GC pauses don't matter, the code is something other than CPU/memory bound anyway,the GC/JIT are mature, and a human writing C++ likely can't do better and will probably do worse. I've seen this with a write-heavy log-ingesting system where the developers used smart pointers everywhere - which internally use atomic reference counting, which implies sync barriers for otherwise entirely unrelated data. I agree, these kinds of places are unlikely to move to Rust - the code writes faster in anything else and runs well. There's also Go, which has a GC but compiles natively, GraalVM, which is AOT compiled Java etc. I definitely agree GC'd languages are not going anywhere.

I'm not sure I agree with C# becoming more important because of ARM, though. I don't think it'll change much - I think shops already invested in certain stacks will mostly stick to them and for all Rust's popularity, it doesn't make sense to implement your CRM in it really. It does, however, make sense to reimplement the C++ parts of the .net runtime and miscellaneous other C and C++ parts of Windows that can benefit from the borrow checker, because it vastly reduces spatial memory safety bugs. There's a massive cost to this, but it's no longer just about about on-prem patching but Azure.

zahllos··on Culture Change at Google
Yes and probably, but then Google is in the US.
zahllos··on Ask HN: Does airport fingerprinting compromise my biometric security?
Just want to point out that foreign nationals are apparently sometimes fingerprinted and their DNA swabbed too on entry (according to the travel advice of several governments) - and electronic devices are sometimes searched at the border too. Biometrics are routinely taken for longer stays according to: https://www.themoscowtimes.com/2021/07/01/russia-imposes-bio...
zahllos··on Microsoft Outlook Blocking All Email from Tutanota.com Domain as Spam
Disagree. They can do what they want with the email once it is in their queue but bouncing 'unknown' IPs is an extreme choice especially when they have SPF/dkim/dmarc/mta-sts/... all set up, and are not on any spam lists, and are hosted in a reputable data centre.

SMTP 550 means the email bounces. The sender knows but unless they're also the admin they can't do anything about it. The recipient knows nothing. In the most recent case that happened to me, it happened when I sent a reply to an @outlook I had just received a message from (and was regularly receiving emails from, but only rarely needed to reply).

zahllos··on Microsoft Outlook Blocking All Email from Tutanota.com Domain as Spam
Outlook are a pain. If you don't regularly send email to outlook.com they forget your IP and start responding with 550s.

I have a daily message sent out from my server to a test account at outlook.com for two reasons: to try to work around this behaviour and to know immediately when there is a delivery issue.

zahllos··on Firefox on the brink?
Slight nitpick but you can get edge on both Mac and Linux. They package both a deb and an rpm here: https://www.microsoft.com/en-us/edge/business/download?form=... and it is also available on Mac.

The main reason for using this is to run edge on windows subsystem for Linux on windows and wonder if anyone would have predicted that in the year 2000.

(I actually have edge installed on some Linux machines as well, but it isn't my main browser except when I need to teams).

zahllos··on Choose the browser that best suits your privacy needs
I'm not a 6 figure HN/SV engineer, don't live in the US.

But that's not the problem. YouTube premium simply isn't worth €168/year to me (I don't use it enough) and they'll still track me anyway wherever other people are using google analytics. I have a newspaper subscription to support local journalism and it is the same deal: the site is full of ads and just as bad as the free stuff, except I can see all the articles.

I use Firefox, though.

← PreviousPage 3 of 11Next →