Trevor Stone (flwyd) wrote,
Trevor Stone
flwyd

  • Location:
  • Mood:
  • Music:

Alice's Algorithm

This song is called “Alice’s Algorithm”
It’s about Alice, and the algorithm
But “Alice’s Algorithm” is not the name of the algorithm
That’s just the name of the song
That’s why I call the song “Alice’s Algorithm”

You can send anything you want with Alice’s algorithm
You can send anything you want with Alice’s algorithm
Send a syn, you’ll get an ack
Two prime numbers are hard to hack
You can send anything you want with Alice’s algorithm

Now it all started two Thanksgivings ago, two years ago, on Thanksgiving
When my friend and I wanted to send a message to Alice with an algorithm
But Alice doesn’t get mail through the algorithm,
She gets mail on a server running the algorithm,
In the home directory, with her copy of RSA and Carol the sysadmin
And livin’ in the home directory like that, they’ve got a lot of room in /var where the spool used to been
Havin’ all that room (seein’ as how they deleted all the spools)
They decided that they didn’t have to take out their garbage for a long time
Our message got up there and found all the garbage in there
And we decided that it’d be a friendly gesture for us to collect the garbage into /dev/null
So we took the half-a-gig of garbage,
Set it to the input of the mark-and-sweep microcode
Took stacks and heaps and methods of compaction
And headed on towards the bit bucket
Well we got there and there was a big sign and a umask across /dev/null sayin’
“/dev/null is closed on Thanksgiving”
And we’d never heard of a bit bucket closed on Thanksgiving before
And with tears in our eyes we drove off into the root dir lookin’ for another place to put the garbage
We didn’t find one
‘Till we came to a temp dir, and in that temp dir was fifteen dirs
And in the last of those dirs was another heap of garbage
And we decided that one big heap was two little heaps
And rather than reallocate that heap
We decided to leave ours there
That’s what we did
Went back to /home, computed a message digest that couldn’t be reversed
Put the thread to sleep, and didn’t run again until the next morning
When we got an email from Officer Eve.
She said “Kid,
We found your PII in a header at the bottom of half-a-gig of garbage
And I just wanted to know if you had any information about it.”
And I said “Yes ma’am, Officer Eve, I cannot return false,
I put that email under that garbage.”
After speakin’ to Eve for about forty-five minutes over TCP we finally arrived at the truth of the matter
And she said that we had to go down and collect the garbage
And also had to exchange messages with her at the Police Officer Website
So we got in the mark-and-sweep microcode
With the stacks and heaps and methods of compaction
And resolved the IP of the Police Officer Website
Now, friends, there was only one of two messages that Eve could’ve sent at the Police Officer Website
And the first was that she could’ve written to the blockchain that we were so brave and honest over email
(Which wasn’t very likely and we didn’t expect it)
And the other thing was that she could’ve DOSed us and told us never to be seen storing garbage in the temp directory
Which is what we expected
But when we got to the Police Officer Website, there was a third possibility that we hadn’t even counted upon
And we was both immediately arrested
Put in chroot
And I said “Eve, I can’t clean up the temp dir with this chroot env”
She said “Shut up kid,
And get at the back of the priority queue”
And that’s what we did, sat in the back of the priority queue,
And got routed to the quote scene of the crime unquote
I want to tell you ‘bout the domain of stockbridge.ma.us where this is happenin’
They got three firewalls, two police officers, and one packet sniffer
But when we got to the scene of the crime
There was five police officers and three packet sniffers
Bein’ the biggest crime since the Unix epoch
And everybody wanted to get in the blog post about it
And they was runnin’ all kinds of forensic software they had lyin’ around the Police Officer Website
They was takin’ full disk snapshots, syslogs, packet-sniffin’ logs,
And they took twenty-seven 8 megapixel colored JPEG screenshots
With circles and arrows and a paragraph in the EXIF tags of each one
Explainin’ what each one was, to be used as evidence against us
Took screenshots of the ingress, the egress, the home page, the terms of service
And that’s not to mention the ASCII art!
After the ordeal, we went back to the jail
Eve said she was gonna put us in a chroot
She said “Kid, I’m gonna put you in a chroot
I want your wallet and your shell”
I said “Eve, I can understand your wantin’ my wallet, so I don’t have any crypto to spend in the chroot
But what do you want my shell for?”
And she said “Kid,
We don’t want any deletions”
I said “Eve, did you think I was gonna rm my program for leaking?”
Eve said she was makin’ sure, and friends, Eve was,
‘Cause she set mode -x on /bin so I couldn’t run head and overwrite my files
And she took out the printer paper so I couldn’t print on green bars, roll the fan-fold paper out the window, and let the data escape
Eve was makin’ sure
And it was about four or five hours later that Alice
(Remember Alice? It’s a song about Alice)
Alice connected
With a few nasty messages to Eve on a side channel, bailed us out of chroot
And we went back to /home, had another message digest that couldn’t be reversed
And didn’t run again until the next morning, when we all had to go to court
We opened a socket, wrote down
Eve opened a socket with the twenty-seven 8 megapixel colored JPEG screenshots with the circles and arrows and a paragraph in the EXIF tags of each one, wrote down
Man came in, ran “arping”, we all synced up
And Eve synced up with the twenty-seven 8 megapixel colored JPEG screenshots
And the judge opened a socket, wrote down with a screen reader program, and it wrote down
We wrote down
Eve looked at the screen reader program
Then at the twenty-seven 8 megapixel colored JPEG screenshots with the circles and arrows and a paragraph in the EXIF tags and looked at the screen reader program
And then at the twenty-seven 8 megapixel colored JPEG screenshots with the circles and arrows and a paragraph in the EXIF tags and began to cry
Because Eve came to the realization that it was a typical case of Accessible Blind Justice
And there wasn’t nothin’ she could do about it
And the judge wasn’t gonna look at the twenty-seven 8 megapixel colored JPEG screenshots
With the circles and arrows and a paragraph in the EXIF tags explainin’ what each one was, to be used as evidence against us
And we was fined five percent of a bitcoin
And had to clean up the garbage in the temp dir
But that’s not what I came to tell you about

I came to talk about cyberwar
They got a buildin’ down in Fort Meade, Maryland, called NSOC
Where your packets come in and get injected, inspected, detected, infected, reflected, and selected
I went down and got my email examination one day
And I opened a socket, wrote down
Turned off my spell check the night before
So I looked and scanned my best when I went in that morning
‘Cause I wanted to look like the RFC-compliant kid from BSD
Man I wanted
I wanted to scan like
I wanted to be
The RFC-compliant kid from Berkeley
And I opened a socket, wrote down
I was downloaded, sideloaded, hung up
And all kinds of mean, nasty, ugly things
And I opened a socket, I wrote down
They sent me a message that said “Kid,
See ELIZA on port 604”
I signed in there, I typed “Shrink,
I wanna kill
I mean I want, I want to kill -9
Kill
I want to see stacks and core dumps and errors in my logs!
Eat dead, zombie processes!
I mean kill. Kill! Kill! Kill!”
And I starting scrollin’ up and down, typin’ “Kill! Kill!”
And ELIZA started scrollin’ up and down with me
And we was both scrollin’ up and down, typin’ “Kill! Kill!”
And the robot came over, added a badge to my profile
Sent my messages through the network, and said “You’re our user!”
Didn’t feel too good about it
Proceeded through the network gettin’ more injections, inspections, detections, reflections
And all kinds of stuff they was doin’ to my packets at the thing there
And my program ran for two hours, three hours, four hours
It ran for a long time goin’ through all kinds of mean, nasty, ugly messages
And I was just havin’ a laggy time there
And they was inspecting, injecting every single part of my data
And they was leavin’ no message untouched
Got routed through and
I finally came to see the very last server, I opened a socket
I opened a socket, wrote down, after a whole big thing there
And I synced up, and I sent “What do you want?”
It sent, “Kid, we only got one question
Have you ever been arrested?”
(dramatic pause)
And I proceeded to forward the email of Alice’s Algorithm Massacree
With full synchronization and 256-bit harmony and stuff like that, and other phenomenon
It blocked my I/O right there and said “Kid, did you ever go to court?”
And I proceeded to transmit the story of the twenty-seven 8 megapixel colored JPEG screenshots
With the circles and arrows and a paragraph in the EXIF tags of each one
It blocked my I/O right there and said “Kid,
I want you to go over and connect to that bus that says “group-www”
“NOW kid!”

And I connected to the bus there
And there’s group-www is where they put you
If you may not be moral enough to join the NSA
After committin’ your special crime
There was all kinds of mean, nasty, ugly-lookin’ bugs on the bus there
There was buffer overflows
Escalation of privilege
Escalation overflows!
Escalation overflows runnin’ right there on the bus next to me!
And they was mean and nasty and ugly and horrible and buggy programs
Was runnin’ there on the bus
And the meanest, ugliest, nastiest one
The meanest escalation overflow of them all
Was comin over to me
And it was mean and ugly and nasty and horrible and all kinds of things
And it ran in my directory and sent a message
“Kid, what’d you get?”
I sent “I didn’t get null, I had to pay five percent of a bitcoin and collect the garbage”
It sent “What were you arrested for, kid?” and I said “Memory leakin’”
And they all moved away fro me on the bus there
With the hairy mouse pointer and all kinds of mean and nasty things
‘Till I sent “And creatin’ an outage”
And they all came back, established a handshake
And we had a great time on the bus sending messages about bugs
Buffer privileges, escalatin’ overflows
All kinds of groovy things that we was talkin’ about on the bus
And everything was fine, we was calculatin’ hashes and all kinds of things
Until the robot came over
Had some email on its screen, held it up and said
“Kids,
this.emails.got.fortyseven.words.thirtyseven.headers.fiftyeight.words.we.wanna.know.details.of.the.crime.timestamp.of.the.execution.and.any.other.kind.of.logs.you.gotta.share.pertaining.to.and.about.the.crime.i.want.to.know.arresting.officers.ip.address.and.any.other.kind.of.thing.you.gotta.share”
And it transmitted for forty-five kilobytes and nobody understood a word it said
But we had fun fillin’ out the forms and playin’ with the autocomplete on the bus there
And I copy and pasted the Massacree with 256-bit harmony
Wrote it down there just like the source and everything was fine
And I exited insert mode
And I clicked the Continue button
And there
There on the next page
In the middle of the next page
With a large margin from everything else on the next page
In bold
Capital letters
Red asterisk
Read the following words
“Kid,
Have you refactored your program?”
I opened a connection to the robot, sent
“Robot, you got some NP-complete gall to ask me if I’ve refactored my program
I mean
I mean
I mean just
I’m sittin here on the bus
I mean I’m sittin here
On the group-www bus
‘Cause you want to know if I’m moral enough to join the NSA
Snoop on women, kids, houses, and villages, after bein’ a memory leaker”
It looked at it and sent “Kid,
We don’t like your protocol.
We’re gonna send your fingerprints off to the Utah Data Center!”
And friends, somewhere in the Bumblehive, enshrined in some big database
Is a study in zeros and ones of my program’s fingerprint
And the only reason I’m sendin’ you the song now
Is ‘cause you may know somebody in a similar situation
Or you may be in a similar situation
And if you’re in a situation like that, there’s only one thing you can do
Is connect to the ELIZA port wherever you are
Just connect and say “ELIZA,
You can send anything you want with Alice’s algorithm” and disconnect
You know, if one programmer, just one programmer, does it
They may think she’s really weird and they won’t take her
And if two programmers, two programmers do it
In parallel, they may think they share login credentials and they won’t take either of them
And if three programmers do it
Can you imagine three programmers connecting to a port, sending an implementation of “Alice’s Algorithm” and disconnecting?
They may think it’s an open source project
And can you imagine fifty programmers a day?
I said FIFTY programmers a day connectin’, sendin’ an implementation of “Alice’s Algorithm,” and disconnectin’?
Friends, they may think it’s gone viral
And that’s what it is
The Alice’s Algorithm anti-massacree viral movement
And all you gotta do to join
Is to share it the next time it comes around on the token ring
With duplex
So we’ll wait until it comes around again on the token ring
Share when it does
Here it comes

You can send anything you want with Alice’s algorithm
You can send anything you want with Alice’s algorithm
Send a syn, you’ll get an ack
Two prime numbers are hard to hack
You can send anything you want with Alice’s algorithm

That was horrible
If you wanna end surveillance and stuff you gotta share widely
I’ve been transmittin' this song now for 25 minutes
I could transmit it for another 25 minutes
I’m not proud
Or tired
So we’ll wait until the event loop runs again
And this time with 256-bit harmony and duplex
We’re just padding the message is what we’re doing
Alright now

You can send anything you want with Alice’s algorithm (excepting Alice)
You can send anything you want with Alice’s algorithm
Send a syn, you’ll get an ack
Two prime numbers are hard to hack
You can send anything you want with Alice’s algorithm
Da-da-da-da-da-dum
With Alice's algorithm

Context for non-computing folks: computer messaging protocols are often described with Alice, Bob, and Carol sending messages and Eve trying to eavesdrop. There's also a lot of Unix references in there.
Context for non-American-folk-music folks: Alice's Restaurant by Arlo Guthrie is one of the greatest satirical songs ever performed. Listen to it first to get the guitar portion rolling around your head while you read these filk lyrics.

This entry was originally posted at https://flwyd.dreamwidth.org/395777.html – comment over there.

Tags: computer science, filk, lyric, music, parody, satire
Subscribe

  • Advent of Kotlin

    Each December for the past several years, Advent of Code has presented a series of 25 daily programming challenge, with each problem adding to a…

  • The Cyberiad: Fables for the Cybernetic Age by Stanisław Lem

    Come, let us hasten to a higher plane, Where dyads tread the fairy fields of Venn, Their indices bedecked from one to n, Commingled in an endless…

  • Fun With Programming

    I'm working on code for a Burning Man art project. I opted to do it in Ruby because it's got Perl-like text parsing capabilities and it's fun to use.…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments