Homeland
I had searched for the words. “Please, God,” is what came out. “Please, God, please don’t kill us. Please make us happy and healthy. Please tell Darryl’s dad to let him have a sleepover with me this weekend. Please help me do good on my history assignment—” Once I started going, it turned out that there was a whole litany of stuff I hadn’t known that I was worried about, things that I wanted some invisible, all-powerful sky-daddy to solve for me. It came pouring out. I started out in a low conversational tone, but I dropped to a whisper, and then just moved my lips, the way I did when making a birthday-candle wish.
And then, after I’d run out and said, “Amen,” I opened my eyes. My knees hurt. It had felt good to unburden myself of all those worries, and it had been surprising to discover them there, but at the same time, I couldn’t help but feel absolutely, totally ridiculous. If there was a God, why would He care about whether I had a sleepover that weekend?
But what cinched it was the absence of any feeling of a reply. I’d spoken all my secret fears and worries, words so secret I hadn’t even known they were inside me. I’d sent them into the air and into the sky, and the words had floated away, but no words had come back. No feeling of presence. No feeling of being listened to, or heard, or understood. I had spoken to the universe, and the universe hadn’t given a damn. I stopped worrying about my “insurance premiums” that night, lost the nagging worry that I was meant to be praying to Allah or preparing for my bar mitzvah or joining the Hare Krishnas. In the space of an hour, I went from an anxious agnostic to a carefree atheist, and I’d stayed that way forever after.
That night, in Joe’s office, I spoke words again into the air, sent them out to the universe.
That night, the universe answered.
> ooohhh busted
Unseen hands had dragged my computer’s mouse pointer to the dock and clicked on the LibreOffice icon, making a new text document window appear on my screen with an inaudible mouse click. It was so spooky that the hairs on the back of my neck actually all stood up, and I shivered down my spine. I tried to keep a poker face, staring into the eye of the camera over my screen as one of my biggest fears in the world came to life before me.
I tried to think of something to say or do, but my mouth felt like it was full of ashes and my hands were trembling on the desk in front of me.
> you worry too much dude
With a deliberate effort, I got my arms to move, got my hands onto the lid of my laptop. I slammed it down, then I stood up so fast that my chair went over backwards. I found myself standing in the middle of Joe’s office, shaking and goosepimply, and all I could see were the other screens in the room, with their webcam eyes, and imagine the ghostly, distant eyes staring out of them.
Willing myself not to run, I brisk-walked back to the wiring closet, seized with an animalistic need to tear the building’s Internet connection out of the physical router, to turn us into a little lightless island of no-man’s-land in the great glowing spiderweb of the planetary network. But once I got back into the humming, air-conditioned room with its server rack and its router and network switches and blocky uninterruptable power supplies, I found myself calming down, catching my breath. This room was full of computers, sure, but they didn’t have cameras and mics. There was only one keyboard, a little clickety number that sounded like machine gun fire when you rattled out commands on it for checking or rebooting routers. There was one screen, a nine-inch flat panel with burned-in text from the password prompt for one of the routers. Everything in this room was familiar, and safe, and reassuringly technological. In this room, I was invisible to webcams, and in this room, I could program my routers to generate enormous, voluminous logs, whole libraries’ worth of data about every packet in or out of the building. From this room, I might be able to set a trap.
* * *
The laptop sat back on my desk, the document window staring me in the face:
> you worry too much dude
“Are you there?”
Are you there, God? It’s me, Marcus. A hysterical giggle welled up in my throat and I swallowed it.
Nothing. The air-conditioning hummed. Back in the wiring closet, the router was streaming a few extra million bits into its solid-state storage, the work of it all creating a tiny bit more heat than usual, making the air conditioner work just a tiny little bit harder. A puff of extra carbon wafted into the atmosphere.
I stared into the beady glass eye of the webcam, thinking of the unknown party or parties who may or may not be watching on the other end. I wondered how the bug worked. Did it phone home every time I signed onto a network, telling the snoops that I was online and available for watching and spying? Did it store up pictures of me and logs of my keystrokes when I was offline, waiting for an opportune moment to dump all this stuff?
Did someone’s phone just get a discreet SMS? “MARCUS ONLINE NOW” and a cheerful ringtone? Maybe “La Cucaracha”?
“Hello? Anyone home?”
Nothing.
“Come on, you chickenshits, I know you’re out there.” Now I had the paranoid sensation that I was being recorded, that anything I said or did might end up on YouTube in ten minutes. I tried to butch it up, be as tough and cool as a superspy so that I’d be able to stand tall when the world saw how I reacted to the news that I was on candid webcam. “There’s no point in hiding now. I know you’ve got root. I’ll be shutting down this machine and reinstalling the OS just as soon as I’m done. Last chance to chat before I patch your back door.”
I stared at the screen. It stared back.
“Fine,” I said, and reached up to close the lid. For a second, I felt like I might be insane, like I might have hallucinated the whole thing. Just as my hand reached the lid, a word appeared on the screen:
> wait
I sat back.
“Nice to see you again. Do you have something you’d like to say?”
> were on ur side dude
“You’ve been spying on me,” I said. I heard the tremor in my voice.
> privacys dead get over it
I felt the tremor now. These bastards had been spying on me and they had the nerve to tell me to “get over it”?
“You’re not—” My voice caught. I swallowed and took a couple of breaths. “You’re not on my side if you believe that. Do you have any idea how totally evil it is to do what you’re doing?”
> what a homo
> shut up
> felch me dickcheese
> ur sister said you like that
I started to get offended, and then I noticed something. This wasn’t a string of insults directed at me. Two or more people were arguing in my text window. One was a much faster typist than the other, and smoother.
“Are you like twelve years old or something?” I said. “That’s it, isn’t it? You’re children, right?”
> born same year as you marcus edward yallow 1320 rhode island drive san francisco ca 94107............. hey were both aquariuses........... fish in tha hizouse”
Hizouse was right up there with ending sentences with yo on my list of linguistic crimes. These were kids, even if Mr. Aquarius wasn’t lying about his age. Emotionally, at least, these guys were children.
“I just want you to know that there’s two people who might die because of what you’ve done. Those docs were given to me by someone who’s been kidnapped since. You might have gotten some lulz out of it, but you’ve seriously screwed up the work we were doing to help our friends.”
> we did it 4 zeb/masha you fag////// got tired of waiting around for you
For a second I thought they must be part of Masha’s group, maybe her multicolored-hair friends. But then—Occam’s Razor—I figured they must have learned about Masha and Zeb by eavesdropping on me.
“That wasn’t your call to make.”
> no? oppps. our bad. now what?
“What do you mean?”
> now what are you going to do? the docs are getting out there. you can’t change that. are you going 2
help or wot?
“Am I going to help? What do you think I’ve been doing all this time? I mean, when I wasn’t running around trying to figure out how all the leaks got out. When I wasn’t wasting time on you pindicks.”
> flattery will get you nowhere
> sorry d00d it needed doing
> you r soooooooooooooooo slow
> what u waiting 4? carrie johnstone is pure evil
> btw u shld c wot we got on johnstone
> shes a very naughty girl
> worse than youd imagine from ur little docs diving
> the kind of person makes you want to believe in 92nd term abortion
> she will be fun to destroy
> bet she goes total apeshirt
> apeshirt
> apeshirt
> eff you eff ay gee ess
> marcus
“Yes?” I’d been watching the typing. I thought there were three of them. Maybe four.
> u need 2 dump everything now now now what u waiting for a rainy day? What you think masha/zeb are doing right now? enjoying a beach holiday? smokin fatties in a hot club? more like experiencing batteries strapped to their nipples
With normal chat, you get the whole message in a blip—there’s a pause, then some text. But this was different. I could watch the typist on the other end typing, the hesitations and the backspaces, even a couple spots where another mysterious typist broke in and tried to interrupt, only to be furiously deleted. There was a lot of texture in this text, and it made it somehow less spooky. These were squabbling people, not all-powerful gods, and the fact that they’d pwned me wasn’t an indication of their omnipotence or their moral superiority.
“I want to dump it all, but I don’t want to go to jail. And I want it to make a difference, to put it into stories that people can make sense out of and care about. You’ve been watching what we’re doing, you know why we’re doing it.” My fear was turning into anger. “What’s more, we’d be a lot further along if we weren’t screwing around trying to do damage control after you decided to start posting without talking to us.”
> srsly? yr pissed that we leaked yr leaks? weak
> masha trusted u, u didnt have da stones. we do. suck it.
“So, what, you just happened to root my computer just in time to get on this little campaign? You only started spying on me at the very second that I started doing something you disapprove of?”
> when we pwned u is irrelevant. stop changing the subject. u r 2 scared 2 do what needs doing. time 2 man up
“Or what? I make one call and all the darknet passwords’ll be changed. Give me an hour, I’ll have my computers cleaned off. You’ve got nothing, you little pricks, and without my cooperation, you’ll have nothing.”
> thats what you think.
I kept my face as still and expressionless as I could. Of course they didn’t have “nothing”—in some sense, they had everything. Depending on how much they’d been logging, they’d have my passwords, my email, video of me, audio … and they’d have Ange, too—her name, her discussing the leaks with me, our makeout sessions.
“Yeah, you could ruin my life, but then no one will be in a position to help Masha. Is that what you want?”
I had the sense that there was just one person typing now, someone I started to think of as Final Boss, the über-snoop in this little posse.
“We’re going nowhere with this. I’m going now, going to rebuild everything, change all the passwords. You want to talk to me like people instead of stalkers, you know where I am.”
> we certainly do
* * *
It took two hours to rebuild Lurching Abomination, almost all of it consisting of painfully slow file transfers from my backups and tedious verification of checksums as I downloaded my OS and all my apps all over again, making sure each time that I had clean copies that hadn’t had a single byte changed.
I dragged a chair into the wiring closet and did the rebuild there. That gave me direct access to the router and its voluminous, verbose logs. I’d grabbed every packet going in and out of the building’s network, a senseless tsunami, a packetstorm, a flood. Trying to make sense of the raw feed would be as pointless and brutal as trying to make sense of every mote of dust floating in the air. But dust is analog, and packets are digital. The router couldn’t do much by way of large-scale statistical analysis, but it didn’t need to—that wasn’t its job.
VMWare had a fine catalog of virtual machines, preconfigured for heavy data crunching. With two clicks, I loaded one onto a cloud VM loaded on Amazon S3, ticking off the “private/encrypted” box. I booted the VM with another click, then switched to VNC, a screen-sharing app, and now I was looking at the desktop of my virtual machine on that little flatscreen with its burned-in ghost characters. I had the router throw its monster logfile at the machine, and in about two minutes, I had all the pretty charts and graphs you could ever want, courtesy of hadoop, a free data-munging package that did to large blobs of data what Photoshop did to graphics.
I knew just enough hadoop to be a danger to myself and those around me, but by mousing around a lot, I managed to pare away all the traffic except for the streams that were being used to snoop on my laptop. It was hard to tell from a single session, but it looked like the spyware waited a short interval after the machine found a new network, then sent out a little encrypted blip that I figured meant “Here I am.” A few milliseconds later, my computer got some bits back (“I see you”). Then, blam, an encrypted stream erupted from the machine. It was encrypted, so I didn’t know what it was, technically, though I was moderately certain it was a feed from my screen, my camera, and my mic.
Hadoop had a handy traffic-analysis library that went further, hazarding a guess that some of the packets were from Kphone, a free Skype-style phone app that did video, and the rest were from VNC, the same program I was using. Which all made sense: if you were going to put together a trojan to take over peoples’ computers, your fastest and most reliable method would be to just smush together a bunch of highly reliable, well-tested, best-of-breed apps. You could even keep it up to date with the bug fixes the apps released, piggybacking on their development, leaving you with more time to get on with invading peoples’ privacy. I’d be willing to bet that the lawful intercept stuff detailed in the darknet dumps did exactly the same thing. Cops and robbers all using the same screwdrivers, and civilians in the middle, getting screwed.
Then I noticed something I should have seen from the start: the “I see you” message, the screen grabs, and the camera feed were all going to different IP addresses. I punched each one into Google and, of course, they were Tor exit nodes. My snoops weren’t just encrypting the traffic from my machine, they were bouncing it all over the Internet so that I couldn’t see where it was going. Somewhere out there was a server like our darknet dump except it had buttons labeled “View from Marcus’s camera” and “Sound from Marcus’s mic” and “Marcus’s screen” and “Marcus’s hard drive.”
In other words, they’d taken the technology I used to protect my privacy on the net and used it to protect their privacy while they snooped on me. The irony, it burns.
That wasn’t going to get me anywhere. Meanwhile, Lurch was back up to nominal. I’d even nuked its BIOS, the part of the computer that tells the rest of the computer how to turn on; a tedious process, but I felt like I’d be nuts not to do it. It was considered insanely hard to poison a computer’s BIOS remotely, but if I was going to rebuild a computer that had been fatally pwned, ignoring the BIOS would be like changing all your house locks after losing your keys but leaving all the windows unlocked.
BIOS flashed, computer restored, trolls locked out, I shut off all the lights at Joe for Senate, shrugged on my jacket, set the burglar alarm, and stepped out into the cool night of the Mission.
And straight into the arms of the goons who’d been waiting for me in the parked car across the street.
* * *
I’ve been snatched twice. This was not t
he roughest of the lot (that would be when the DHS grabbed us off Market Street the day the Bay Bridge blew and clubbed us in the head when we asked what the hell was going on), nor was it the scariest (that would be when I puked into the bag Carrie Johnstone’s squad cinched around my neck, convinced I was going to choke to death on Dumpster-dived pizza). It was so smooth and professional, I would have given them a customer service award if I wasn’t so busy freaking out.
They stepped out of the car in perfect synchrony just as I came through the door. Two guys, big and beefy, with the “cop” vibe that always made my neck muscles go as tight as a tennis racket. One of them stood at the curb, covering me and watching who was around with a regular, predatory head swivel. The other closed the distance between me and him in three quick steps, coming right into my personal space, flipping a laminated DHS ID out of his pocket. Before I could look at it, he’d put it back in his pocket, as neat as a magician vanishing a card.
“Marcus,” he said. “We’d like to talk to you for a moment.”
When in trouble or in doubt …
“I’d like to have a lawyer present,” I said.
“You won’t need a lawyer, it’s just an informal chat.” He smelled like Axe body spray. It was the perfect gag-worthy aroma for a huge, looming goon.
“I would like to see your badge again,” I said.
“You don’t need to see my badge again. Let’s go.”
Run in circles …
I took one step up Mission Street, away from the goon, already looking around for passersby to call out to. A hand like a bar of iron wrapped itself around my bicep and lifted, and I felt like my shoulder might separate as my toes dangled over the pavement.
Scream and shout …
“FIRE!” I screamed. No one in the Mission is going to come running if you scream “Help!” but everyone likes to get a good look at a fire. That was the theory, anyway—what they told you in self-defense classes. “FIRE!” I screamed again.
The goon’s other hand covered my mouth and nose with an airtight seal, his thumb hooked under my chin, clamping my jaw shut.
Maybe I should have tried “HELP!”