Kill Process (12 page)

Read Kill Process Online

Authors: William Hertling

Tags: #Computers, #abuse victims, #William Hertling, #Science Fiction

BOOK: Kill Process
13.68Mb size Format: txt, pdf, ePub

When it’s finally set, I visit the restroom and examine myself in the mirror. I’ll pass for a two-armed being today.

Downstairs, I wind my way toward Trask’s desk.

“Andy, how are you? You’re looking so good!” I do my best impression of Emily as I imagine her at her kids’ school auction, but it comes off more Valley Girl. Impersonating moms isn’t really my thing.

He looks up from his screen, a blank gaze as his eyes settle on me.

“Oh God, you don’t recognize me!” I do my best giggle. I’m not really a giggler either. “From A Bowl of Cherries.”

He shakes his head.

“My son, Jerry. Goes to school with your Thomas. They did the planting together, the cherry trees.”

Andy smiles. “Of course, I’m sorry.” He points toward his screen. “You know how it is.”

“Yeah, of course. I didn’t even realize you worked here, but your wife mentioned it at the potluck. I looked you up in the directory, because I had some photos of the kids, from the planting.” I nod.

He nods along with me.

“Anyhow, I probably should have emailed them, but I wanted to say hi in person. You don’t drop off the kids very often do you?”

“Only on Fridays.”

“Well, of course. That’s when my husband takes them. I’m Monday, Tuesday, Wednesday. Anyhow, you’re waiting for the photos. I’m sorry, you’re being so patient with me.”

I dig into my pocket and grab both USB sticks.

He reaches out a hand, and I clumsily fumble the drives, dropping them both on his side of the desk.

“I’m such a klutz. I’m so sorry.”

He digs down and picks them up. They’re identical.

“Which one?” he asks.

“Uh . . . I don’t know. One is the photos, and the other is my presentation. Could you check which one is which?” I try to look worried. This is why I brought and “dropped” two drives, so he’d be forced to plug one in on the spot.

He glances at his computer and then back at me. Corporate security has sent out at least three memos this year about the danger of plugging unknown USB devices into your computer.

To refuse now would be an act of wimpiness, demonstrating he was afraid of a tiny USB drive, in a woman’s presence, no less.

I smile warmly at him. “Maybe it’s the one on the left? Try that one.”

He opens the secure drawer where his laptop is protected during the day from theft or random drive-by USB insertions and plugs the USB drive in. He clicks the icon and photos of his kids pop up on the display.

“That’s the one!” I say. “The other one must be my presentation.”

He dutifully hands it back.

I wait. “Uh, my USB drive. I was only bringing the photos. I kind of wanted the drive back.”

“Oh, yeah.” He copies the photos to his desktop, ejects the drive, and hands it to me.

“Thanks. I hope you enjoy them. Say hi to your wife for me.”

I leave and board the elevator. When the doors close I take a deep breath and let a wide smile spread across my face.

Andy’s computer is totally fucked. And I own it.

*     *     *

The USB virus I’ve installed in Andy’s computer lets me control it remotely, which I do, examining the drive to see what projects he’s been working on. In the ideal case, I’d find a snippet of code that includes a hardcoded password for an account with write access to the database. If I found that, I could simply log in, delete a row, and be done. Unfortunately for me, I don’t find any passwords.

I read through dozens of scripts, looking for anything that executes database deletions against the employee records database. There isn’t a single delete anywhere, which puzzles me at first. As I keep digging, I discover employee records can be marked as archived but never out-and-out deleted. Makes sense. It enforces the audit trail and protects the company.

By the middle of the afternoon, I’m an expert on HR’s technology stack, and I have new levels of respect for whoever is working computer security on their team. They’re good. I try a couple of zero day exploits I can be reasonably sure won’t be detected by any active countermeasures, but all the holes are buttoned up. I manage to log into one of the machines with ssh, and, as I expect, the account lacks sufficient permissions to do anything useful.

Almost ready to give up, I force myself to make one more pass through their source code repositories. I’m staring at a deployment script that sets up load balancing when an idea comes to me. It might work.

At some point I head down to a food truck to grab dinner and come back to my desk with a Cuban plate. Everyone’s gone now. It’s after seven. In the early days of Tomo, when the employees were young college graduates (or dropouts), people worked until all hours of the night. Now the average employee age is thirty-six, half have kids, and everyone I can see from my desk is gone.

When my modified scripts are finished and I’ve run all the local tests I can on my machine, I remotely connect back to Andy’s computer. I copy the new code over, commit it, and push to their git server.

The build computer sees the change, runs tests, and deploys code.

When it’s done, there’s a new server added to the database cluster, a collection of computers working together to share the database load. The new server has a duplicate of the existing database, with two changes: the row delete permission is turned on for all users, and I’ve given myself a login to this machine.

In fifteen minutes, Tripwire will check that this server’s policies are in compliance with expectations, which they aren’t. When Tripwire discovers this, it’ll notify router management safeguards, which will isolate this machine at the network level. So I’ve got that long to do what I need.

Database coherence is a tricky thing, and it takes several long minutes before my wolf in sheep’s clothing is ready to accept database requests. The database engine finally responds to my pings. I enter one simple command.

DELETE FROM EmployeeContracts

WHERE employee_id = “000048” AND
body LIKE “%noncompete%”

I run a few more SQL commands, querying for and deleting all agreements I think might affect me from my employee records. I say a silent prayer to Ted Codd in thanks that Tomo only has digital records and manages our own backups. I can’t imagine what I’d need to do if there was actual paper sequestered in archival storage.

I connect to another server in the cluster to see if my change has propagated. There’s a constant stream of traffic between the servers in this cluster as they share data to keep the database synchronized. Fortunately, the new server only has a small set of deletes it needs to propagate out to the others.

It takes two minutes before the records are updated everywhere.

I run a new set of deployment scripts to remove my temporary server from the cluster cleanly. If I were to simply kill it, failover scripts would alert on-duty engineers.

I copy files to Andy’s machine, git commit and push, and wait for the build machine.

The clock is ticking. Six minutes before the next Tripwire scan.

With three minutes to go, the machine vanishes, reclaimed by the cloud as though it never existed.

For now, I’ve done what I came here to do. I’ve wiped out any record of the noncompete clause I signed when I started, and destroyed the NDA that might have restricted my future work. There’s no way I’m waiting three years to build a new social network.

Now for cleanup. A bit of surgery on the git repo and a final deploy from Andy’s machine, and all history of my deployment script changes disappear. I don’t bother deleting the SQL logs on the rest of the database cluster because they roll over after 24 hours, and I don’t expect anyone to look at this for a while.

The provisioning service is something I’ve had my hand in for a while, and I’ve left a few backdoors. I log in, remove the record of the provisioned machine being attached to the database cluster. Then I remove the log of my removing the record. Always layers, so many layers.

I find the actual hardware I provisioned by virtue of the non-changing MAC address and do a secure wipe of the hard drive.

I’m done cleaning up. It’s 2:15 A.M., and I’ve been at work since 7 A.M. yesterday. A twenty-hour hacking session. My forearm is cramped and my shoulder so tight it might as well be frozen in place. Script kiddies give the impression penetration is easy, and maybe it is when your only approach is to try every known exploit against a soft target in the hopes of bringing it down. True hacks, where the target is security-conscious and can’t know the intrusion ever happened, and the goal is a specific, controlled change: that’s a whole other ballgame.

I sling my backpack over my shoulder and walk back to the elevator. I wince at a cramp in my lower back, and roll my neck to work out the kinks. For all that, there’s still a little saunter to my step. Nothing compares to pulling off an attack like this.

*     *     *

By Wednesday it’s been more than twenty-four hours since my alteration of the HR records database, and any last records of my exploit were removed by the scripts automatically deleting day-old logs.

I try to add a meeting to Daniel’s calendar. Like most managers, his calendar shows he is busy all day and tomorrow’s availability is the same. I message him instead, saying I need fifteen minutes of his time. He tells me to come at 1 P.M.

Butterflies in my stomach annoy me all through lunch. It’s only a job, I remind myself. I can work anywhere if my new venture doesn’t work out.

At 1 P.M. I walk in, and Daniel, without saying anything, points me toward the guest chair with one hand as he gestures to the headset he’s wearing with the other.

I leave the door open. My escape path.

He’s on the phone for another five minutes, and hangs up, ripping the headset off.

“I’ve got another meeting, but I can be a few minutes late.” He gets up to close the door.

“Don’t

” Don’t bother, I want to say, but it’s too late, and already the temperature seems to be skyrocketing. Why can’t he stay on his own side of the desk, where we’d have a barrier between us?

“What’s up?” He goes back to his side of the desk and sits with a squeak from his pneumatic chair.

I swallow deeply, my throat tight. “I’m giving my two-weeks’ notice. I’m leaving Tomo.”

Daniel blanches at this, and for a few long seconds, he’s too stunned to speak. I’m the strongest engineer he has by far, and to a certain extent, his reputation to make things happen is due to my contributions.

He clears his throat. “I thought you were happy here.”

“I am, or was, although something’s come up, and I need to leave.”

“I . . . you . . . you’re the best employee I’ve got.”

I shake my head at him. I lean down, pick up his badge from the floor.

He glances down at his waist, sees his badge is missing, and takes the one I hand him.

“It is a personal thing?” he asks. “You could take a leave of absence. No need to quit. Take three or six months off. Come back when you’re ready.”

“It’s okay, Daniel. My mind is made up. I’d like my last day to be in two weeks. I have some work to transition to the rest of the team. I can be finished before then.”

We go back and forth a few more times, and I leave an in-shock Daniel in his office.

*     *     *

It’s been five days since the dinner when I promised Emily I’d find someone to talk to. I’ve put it off as long as I could. Now I’m out of excuses and spend Thursday morning investigating support groups.

There are many in Portland, and, as I normally do, I over-research everything about them. Time, methodology, location, outcomes, duration, leaders and their educational background.

I don’t want one near home or work, afraid I’ll run into someone I know and ashamed of what I see as a weakness in myself. The logical half of my brain argues anyone there is in the same boat as me. The emotional side counters that I’m better than those people, and have more to lose.

Which is it? Am I weak, and therefore should be ashamed? Or better, and too proud? It doesn’t make sense it could be both. But then my emotions usually don’t make sense to me.

Late Thursday morning, Emily texts me from outside Big Pink, and I take the elevator down to meet her. She’s waiting in the lobby with two coffee drinks. People are streaming around us, coming to and from the massive elevator banks behind me.

“Quad shot mocha,” she says, holding one out. “Let’s walk.”

“I like my coffee black,” I say.

“The chocolate increases happiness and the sugar elevates energy. The milk is for your bones. It’s good for you. Drink up.”

“This from the woman who eats salad without dressing? Besides, they debunked that bit about milk.”

“My coffee is black. The dessert drink is for you.”

I sigh and accept the cup, and Emily walks away without waiting, her heels seemingly no impediment to her quick pace.

I chase after her, trying to sip my coffee on the run. The sweetness is sickening.

“Have you set something up yet?” she asks, when we’re half a block away. The sidewalk is crowded with workers from the surrounding office buildings.

“Set what up?”

“You know, a thing,” she’s almost whispering, which might be a first for Emily. I realize she has no idea who my coworkers are, and this is her idea of discreet. They’re only my coworkers for another thirteen days.

“No, I’m still researching support groups.”

She looks up at me. “Oh God, you’ll take forever. Here.” She digs into a pocket and holds out a slip of paper.

I unfurl two fingers from my cup and take the paper between them. I try to read the paper from around the cup, but can’t make it out. Emily grabs the coffee back from me.

“Thanks.”

The half sheet flyer is for a domestic violence support group that meets early tomorrow morning.

“No way. It’s in a church.”

“It’s good. My friend went there for several years. She says it helped a lot.”

I glance up from the paper, check out Emily’s face. People don’t walk around volunteering their domestic violence support groups unsolicited. She’s been asking around. Nothing terrifies me more, but if Emily can do this for me, I can go for her.

Other books

Arkwright by Allen Steele
Muriel Pulls It Off by Susanna Johnston
Loving Miss Libby by Naramore, Rosemarie
Billionaire Decoded by Nella Tyler
Prince Charming by Julie Garwood
Juliet Immortal by Stacey Jay