markjenkinswpg
Think of bootstrapable builds as a hedge against tyranny.
Is it likely that a future regime could come into being that would be backdooring FLOSS builds and undermining confidence in the entire ecosystem? Not at all likely, as this requires a purge of all the install/boot media already out there.
Though after the passage of decades, the chain of custody starts to weaken. Maybe I'll still believe in the magic of the CD in my retro closet with the three humans holding hands in a circle, but in an environment where children are told to report the thoughtcrimes of their elders, how can my nephews and nieces in turn trust me and my testimony that my copy is the "good stuff" from "the before times".
This is all very far fetched sci-fi material, but think in terms of tail risk, low probability multiplied by a high cost if comes to pass.
Perhaps a regime horrible enough to break FLOSS would be horrible enough to purge all legacy hardware and software sitting in closets, but I do think it is easier to mess up the internet and the social fabric than it is to do house to house cleanouts.
Maybe messing around with untainted FLOSS will be too dangerous in such an environment anyway, but if we can assume a state of liberty eventually returns, having a great bootstrap ready to go can help rebuild society, cyberspace, and trust on an accelerated basis.
All of this hinges on people actually auditing source code, though once you've read enough bootstrapped source to have confidence in the generation of checksums you can at least start to fall back on a social consensus as to the safety of additional source archives that have known checksums and from there also digital signatures once you've built the tools for validating those.
When it comes to "trust, but verify" of other people's source code, there is a new tool in the toolbox: large language models have demonstrated some considerable audit value. Of course almost nobody is training their own models and it's only a slightly larger circle that does inference on their own hardware or attested remote hardware, but all of this is at least something that can increase confidence when working from other folks source code.
-------
As far fetched as full on cyber tyranny sounds, its worth remembering that in North Korea this is actually reality. Folks do not have access to the internet and are handed the state built binary of Red Star OS.
The ballooning of flash drives containing western media is still a thing despite attempts to stop it.
It is unlikely that anyone will ever send in a software bootstrap, that it will get in the hands of someone who can understand it, have the time to read it and build it.
But the scenario does make us think about the value of bootstrapable FLOSS as a tyranny hedge.
Without real internet access, what good does having some freedom on a computer even do? I suppose one can keep a diary encrypted, though possessing an encrypted file is probably more of a liability than any value it provides. Someone may also find encryption helpful for friend to friend networks by sneakernet, though the downsides are considerable.
Someway, somehow the regime may fall. After decades of not trusting the outside world and being governed by a hostile state, perhaps there will be at least one deeply computer literate person to emerge from that place who will appreciate being able to bootstrap their own personal cyber citadel.
If I machine model generated this, it shows a lack of understanding this has on people.
With the level of paranoia culture around the Cold Card, it wouldn't have been too uncommon for folks to take one or more of these additional measures.
How much effective entropy someone adds these ways would vary. When you're told the initial entropy is solid, what's the point of adding too much of your own?
Long passphrases on top of seeds are also seen as a good way to cause a loss by forgetting and also a usability PITA that takes away some of the convenience of a hardware wallet. Some folks no doubt opted for short BIP39 passphrases just as a means of protecting against a situation where someone else in their household stumbles upon a paper or metal backup of a seed but doesn't know anything about the cracking required to try BIP39 passphrases.
Main reason these extra sources of entropy would be grabbed in waves is different bad actors coming along and making the extra effort after the disclosure.
The website cktripwire.com has a nice dashboard of honeypot bitcoin put out there with the extra entropy. So far only low amounts of additional entropy like 1-5 dice rolls or one extra passphrase word have been swept, though this honeypot was published after additional waves. More will certainly swept in the end.
More people would have been harmed had the bug been in production longer.
One unfortunate aspect is that responsible disclosure would have only saved some people, a responsible disclosure would have lead to a notice to migrate seeds and bad actors would have immediately realized seed generation was the root cause and would have swept many folks before they could even see the notice for themselves and get around to migrating.
Case in point, I'm writing on a x86_64 laptop that was a free give away to me about a year ago with a CPU release year that is 2012.
I have personally given away a x86_64 desktop unit years ago that was even older, might have had DDR1 memory.
Circa 2013 my old company was gifted a x86_64 motherboard with DDR2 memory that ended up serving as our in-office server for many years. We maxed the RAM (8GB) and at some point bought a CPU upgrade on ebay that gave us hardware virtualization extensions.
For a Star Wars anology, remember that the most important thing that happened to Anikin at the opera in EP III was what was being said to him while he was there.
On Saturday April 1st we are having our hackerspace festival Hax (https://hax.skullspace.ca).
As part of this, we are seeking one or two more remote speakers to be part of our information security CSides at 4:30pm/16:30 central daylight time (21:30 UTC).
A honorarium is available.
We know this is late notice for a call for presentations, but a talk doesn't need to be long or particularly original. Any live presentation adds value in a new setting. Even 15 minutes including Q&A time would be enjoyed by our diverse attendees.
There's no reasonable expectation of recovery when you launch a balloon calibrated to go globe-trotting.
It's basically no different than the person who abandoned a mattress at my apartment block's dumpster. It's littering. They're giving it away, they're not expecting to be able to come back for it later.
Furthermore, nobody has a right to unregistered, unmanned, long duration balloon flight. Such a right would only exist if a state constructed it for its citizens. (and it would end at their boundaries)
I think it's cool that in practice people have been able to do so, but it seems the cool times are coming to an end.
The AMI UEFI firmware behaves like most UEFI firmwares these days and locks out writes to firmware flash after boot and only allows updates by way of efi files being dropped into place and then updated via reboot with signature check.
The coreboot setup leaves writes to the firmware flash open and root can use flashrom at anytime.
This makes for security trade-offs, a choice between freedom to change your own firmware and know what you're running vs a mechanism to reduce the chance of advanced persistent threat at the firmware level.
Also, their build to order model under additional OSes does include Windows 10 as an option at an additional cost, so I imagine a UEFI firmware is required.
But, this brings to mind that there are places where there once were forests that humans destroyed. Why don't those locations quickly re-forest themselves?
Because, in the process of deforestation, humans destroyed the entire ecosystem that made said forests possible. Nature can't repay that ecosystem debt all that quickly and it's not sped up much by way primates plopping saplings into the soil for money and calling it a day.
Climate change is the mother of all collective action problems and one of our great filters. I dream that one of the descendants of my nieces and nephews will pass through the ensuing population bottleneck.
https://www.youtube.com/watch?v=O_3Xf3gTzEE
I believe this is this is the dependency chain your live-bootstrap works through: https://github.com/oriansj/talk-notes/raw/master/live-bootst...
I'm considering teaching a "intro to hacking -- by way of game mods" course at my hackerspace some day using Endless Sky or NAEV.
Also encourages testing work to be formally coded and just done interactively. If a test is good enough to compile, commit it as work in progress even if it has a bug and/or incomplete if you've reached a good point you'll like to build upon. Make a tweak, compiles, commit it.
If you've spent most of your day writing a test, but it's complicated and will require even more work before you'd even try to compile and run, commit it WIP before going home.
Code injected into the monitor can do the next best thing, a similar program that loads text files with hex into binaries and skips ends of lines after a comment marker starts.
As such, the initial stuff in the stage0 project is further programs that are still in my view blobs, but instead of binary blobs they're plain text hex blobs with comments documenting the assembler equivalent and what's going on.
From there there are iterations of having hex files (hex 1 and hex2) with increasing complexity of symbol tables so references can be made to addresses and relative jumps by symbols.
From there stage0 project makes the leap to "stage1" and there are things like basic editors, file concatenation tools, macro based assembler and so . It all ends with a C-subset (M2-planet) compiler written in assembler.
Work is in progress to rewrite the scheme interpreter mes in M2-planet instead of normal C. The c compiler mescc (written in scheme) can build tcc and onward to gcc.
There's bootstraps along these lines for a fantasy machine called knight and there's x86 versions and maybe some other archs in the works.
My stalled side project is interpreting the knight stuff in python: https://github.com/markjenkins/knightpies
I'm excited by the idea that I could use really old GNU/Linux distro CDs that I trust with python2.3+ as a bootstrap path and eventually with some other work even use old power macs with MacOS X that included python2.3+ as another cool place to bootstrap the free world.
I don't want to live in a world where everything new is an iThing that says I can't help you Dave. That could turn retro-computing from a hobby to an essential life skill to preserve freedom!