Live data from Hacker News

Suicide Linux (2009)

qntm.org

151–160 of 183 posts

Re: Suicide Linux (2009)

#151

Earlier quoted context omitted.

It depends on your threat model. The OP mentions bobby traps and self-destruction, so I assume the threat model here is not a typical model in personal computing, but a different one, which is similar to Dread Pirate Roberts' threat model, as explained below. Self destruction has two advantages, comparing to shutting down the system. First, once the encrypted master key in the header has been wiped, the data is gone,…

No need for a booby trap. Some guy tried to do that akin from the scene in Mr.Robot with limited success using thermix. The only success was using a shape charge inside a desktop, but that is not possible on a laptop. I like the idea of a USB dongle that is attached to the person which immediately locks the computer and erases the drive but the problem is that it takes time and law enforcement can just remove the bat…

> And law enforcement can just remove the battery to stop the erase

This is why full disk encryption should be used.

> Erasing the headers on an encrypted drive seems quick and effective and the way to proceed. But if the technique is to use a USB dongle then we should also be able to modify the source code of Suicide Linux to do the same with the modified default terminal.

Defense-in-depth, you add a bit of countermeasures at every level. For example, the USB self-destruction will immediately kick in (if the law enforcement decides to seize the computer alive, a mouse emulator is likely to be used immediately), erase the header, and halt the computer, even before anyone has a chance to perform any forensics. If the LE was able to take the computer to a lab, it's possible to do a live memory extraction via cold-boot attack while the computer in still running, for example.

Again, the tricky part is balancing the sensitivity of the self-destruction mechanism and the risk of data destruction from an accidental trigger... A possible workaround is adding an "armed" switch - the most sensitive tamper-detection code is only activated after the switch is flipped if the perceived risk is high, for example, before you take your laptop to a coffee shop.

Re: Suicide Linux (2009)

#152

Earlier quoted context omitted.

That's a bit extreme. You should at least allow some error messages. Though those ones should just say "Oops, something went wrong :)"

Seriously speaking, it took me many years to realize that nearly all Windows BSoD messages are non-specific and useless - looking them up is a total waste of time. The only correct way to identify the actual error is analyzing the crashdump in WinDbg. I recently fixed a family computer that crashes randomly after a RAM upgrade. Removing the RAM didn't help, and it was totally a wild goose chase. The BSoD stop codes i…

I can imagine that BSODs are useful-enough if you're writing a Windows kernel driver (or doing internal QA for someone writing a driver), and your new driver is what crashes.

(Which would be pretty likely, since when qualifying a new driver, you'd be stupid to use anything but the most bog-standard hardware and drivers for everything other than the particular device-under-test.)

Re: Suicide Linux (2009)

#153
post #101

Earlier quoted context omitted.

To be clear: comments about "polite" Japanese versus "strict" Germans and "angry" Italians are also bigoted and will make many immigrant coworkers deeply uncomfortable (especially if they are women). Everything about his comment is gross and 100% inappropriate for the workplace, and civilized society in general.

> comments about "polite" Japanese versus "strict" Germans and "angry" Italians are also bigoted As the other commenter mentioned, "bigoted" implies "intolerant". A joke about culture differences isn't intolerant of those cultures; you're just overreacting. And as someone else mentioned, the Japanese, Germans and Italians do not want or need you to save them. Maybe you should dial it back a bit.

I know a German who hates being stereotyped. He likes when other people speak up about it because people call him a typically humorless German when he does.

Re: Suicide Linux (2009)

#154
post #45

Earlier quoted context omitted.

I can one up you: Coworker was trying to remove node so we could install a new version, so he ran: rm -rf /usr/bin node -rf was due to muscle memory, and unfortunately he forgot the space. That was a fun one to clean up. We were able to use nc because that was in /bin and not /usr/bin, so we used that to pipe curl over through a socket and then used curl to install dpkg + apt, then ran apt update to fix everything an…

It always scares me when people automatically add -rf after typing rm no matter what they're doing. How do you even get into that habit in the first place?

If git repositories didn't need a -f to rm I wouldn't, but its a habit from git repos giving errors.

Re: Suicide Linux (2009)

#156
post #150

Earlier quoted context omitted.

This is already what happens. Just like the web (W3C?) was a front for microsoft taking over from Netscape, and now Google taking over from everyone else, the linux foundation et al are just fronts for Google et al to have whatever they want on the kernel and to prevent any and all GPL3 "corruption" of their take-take-take business practices. GNU/Linux is old news, everyone runs BIGCORP/Linux today. You probably have…

My paranoid thoughts about the state of disorganization in organizations like Mozilla and Gnome is that large corporations like Google and Microsoft clandestinely pay agent provocateurs involved in these organizations to derail progress in the projects. Systemd is really just the most blatant of these kinds of efforts.

See https://www.cia.gov/news-information/featured-story-archive/... , starting from page 28

Re: Suicide Linux (2009)

#157

Earlier quoted context omitted.

I've actually wished for something that takes it the other direction: Technically, everything it does is allowed, but it's designed to stress-test your assumptions. So, a distro that replaces half of coreutils with busybox, the other half with toybox or BSD ports or something, the system libc is musl, build tools are patched to randomly switch between using gcc or clang (both of which have `-Werror` enabled by defaul…

Nix with --pure does most of what you want here.

It does about half of what I want, which is to rip away implicit assumptions about where stuff lives, that's true. I don't think nix is inherently going to help with the other half, which is to leave gotchas for what is visible/accessible (i.e. lots of files with spaces in their names, maybe a few files named ex. `-h` or `-rf` sitting in common directories, or for that matter have something available by the same name, but a different version, ex. your PATH contains a grep, but it's from busybox, not GNU).

Re: Suicide Linux (2009)

#158

Earlier quoted context omitted.

Or perhaps the famous ? from ed :)

I like the error messages in some early BASIC interpreters. They must be as short as possible, since the entire interpreter fits in 4 KiB of RAM. For example, in Li-Chen Wang's Palo Alto Tiny BASIC... The only message for all syntax errors, is: WHAT? The only message for all runtime errors, is: HOW? And the only message for legal but unsupported operations (e.g. out of memory) is: SORRY See the source code here: http…

From the Z80ASM users manual (1984):

Syntax Error

This message appears when the assembler is too confused to know what went wrong.

Re: Suicide Linux (2009)

#159
> You know how sometimes if you mistype a filename in Bash, it corrects your spelling and runs the command anyway?

I actually have no idea what this is referring to; what package provides this auto-correct functionality?

Re: Suicide Linux (2009)

#160
post #27

> Perhaps rm -rf / should be replaced with something with more verbose flags set. That way, when you run a bad command, you are told immediately that things are being deleted This gives me an idea: Hell Linux. In Hell Linux, the operating system does its best to pretend that nothing is wrong, so it takes you as long as possible to realize that you've made a mistake. Commands ignore all unrecognized flags. In shell sc…

I've actually wished for something that takes it the other direction: Technically, everything it does is allowed, but it's designed to stress-test your assumptions. So, a distro that replaces half of coreutils with busybox, the other half with toybox or BSD ports or something, the system libc is musl, build tools are patched to randomly switch between using gcc or clang (both of which have `-Werror` enabled by defaul…

IBM's z/OS UNIX System Services is very nearly this. Many UNIX systems have tons of utilities that more resemble BusyBox than GNU coreutils, and AFAIK no C compiler is anywhere near as compatible with GCC as clang (including, notably, slightly older versions of GCC itself).

But AFAIK z/OS is the only UNIX[1] variant that offers a "POSIX" environment

Where no subset of the native character set even resembles ASCII.

Where "everything is a file", but where many of these "files" — including, notably, both shared libraries and executable programs — are mostly inaccessible using anything resembling traditional byte-oriented UNIX utilities, library functions, and system calls.

Where process creation is not only "not cheap", but where it can in fact be so cripplingly expensive vis-à-vis conventional UNIX systems that the z/OS designers have (wisely) not only resurrected something akin to the traditional meaning of the "sticky bit" on executables, but have also made extensive provisions to allow both "subshell" scripts and executable subprocesses to be created within one's own address space, both via system calls and from within the POSIX shell itself[2].

On a related note, I was thinking the other day that an "evil", yet at least minimally standards-compliant filesystem in the spirit of your system might actually useful to have around for testing. Or, if not, would at least be fun to design.

Think a filesystem that imposes random per-directory length limitations on filenames and or file sizes, and occasionally allocates space for files in terms of random, per-file allocation unit sizes just because it can.

Or imagine a filesystem that flushes the overwhelming majority of data to disk promptly, but which also maintains a large "evil cache" containing a few blocks out out of the middle of every few million write calls that is flushed as infrequently as is permissible by the relevant standards.

And why let previously-allocated free space go to waste when, given careful planning, its contents could be used to present stale, yet technically "valid" data to applications that use I/O operations whose ordering with respect to one another is not formally defined for IPC (e.g., POSIX only explicitly defines ordering between its own read() and write() calls, so I/O by any means not passing through particular versions of these functions explicitly designated as POSIX-compliant can, in terms of standards-compliance, be "safely" ignored).

And so on.

[1] https://www.opengroup.org/openbrand/register/ [2] Google "_BPX_SHAREAS" for details.

Post reply on HN