120989.fb2
David tried very hard to ignore everyone watching him. If he could just concentrate, he could figure out a solution to this problem. He needed to shutdown ELOPe and somehow not lose his job and preferably not lose the project. He focused on the trees in Forest Park, sending the hum of the ventilation system, and everyone’s breathing into the background. He watched the wind waving the tops of Douglas Fir trees in the far off distance.
Gene uncomfortably cleared his throat, and snapped David back into the present.
“I think,” David began. He turned to look at everyone, and the pressure of their intense gazes made him halt. “I think we need to understand what ELOPe is doing. If we see the source code, maybe some log files, we could get a better sense of what ELOPe is capable of.”
Mike sighed and Gene cleared his throat again.
“What?” David said defensively.
“That’s not enough,” Gene said, spreading his hands wide. “This situation is too big, too out of hand to start analyzing source code. We need to shut it down.”
“I agree,” Mike said. “We need to get it off the servers.”
Christine nodded enthusiastically.
“If we could restore our access to the servers, we could do a live patch, and remove the software that way,” David offered.
“You’re still thinking of this as damage control, as though you are going to keep it hidden somehow,” Gene said roughly. He threw his stack of expense reports down on the table. “We’re talking about millions of dollars that have to be accounted for, never mind that we have a ghost in the machine.”
David and Christine laughed at the song reference, but Gene was stony faced. David sighed. Apparently that wasn’t a pop culture reference.
“What do you want to do?” David asked, resigned to whatever outcome Gene wanted.
“I’m going to escalate this to my management chain. We have an emergency situation. The Controls and Compliance organization has the authority to supersede business management. I’ll get the authority to shutdown the AvoMail servers.” Gene’s voice was firm.
“If you can get the servers shutdown, we can remove ELOPe,” Mike offered. “We’ll work with Ops to restore the servers from safe backups, some snapshot that was taken before any of this started.” He looked at David, who nodded affirmatively.
“Meanwhile,” Mike continued, “I think there is some merit to what David was suggesting. I do think we should figure out how our access was removed, because that’s going to give us some clue of what ELOPe is capable of. Because right at the moment, I’m scared to do anything. In theory, I could go into Melanie’s office down the hall, and ask her to do the live-patch and remove ELOPe that way.”
At this idea David’s face brightened up.
“But I doubt it will work,” Mike continued, watching David’s face fall again. “I think the most likely thing is that ELOPe will detect what Melanie is doing, and then remove her access too.”
David nodded sadly.
“Well, while you boys clean up the mess you created, I am going home,” Christine interjected. “I can’t do anything here to help you.”
“Take my car,” Mike offered, and threw Christine his keys. “We’ll take the streetcar home.”
David nodded, and got up to hug Christine.
She stretched up to whisper in his ear. “Just get ELOPe removed. Don’t try to hide it. If they fire you, my gaming company will hire you to write gaming AI, alright?” She smiled and kissed him, then turned to leave.
David felt adrift, unsure of anything. He looked at Mike. “What now?”
“We go find the IT department that handled access controls.”
“Not so fast,” Gene said. “Look, we’ve got to avoid any use of emails, or ELOPe will intercept them. Frankly, I’d consider any use of computers or phones suspect at this point as well.”
“That’s absurd!” David said. “There’s no way ELOPe can monitor a phone conversation.”
“Really?” Gene said. He waved a sheaf of papers in front of David. “What did more than twenty contractors do over the holiday? Can you guarantee that no one created a voice-to-text bridge?”
“Fuck.” David’s shoulders slumped in defeat.
“OK, we get the message,” Mike said. “No emails, no computer use, and no phones if possible. Can we meet back here in, say, two hours?”
“Yeah, sure, kid. Two hours.” Gene packed up his bag and left.
Without a computer to look up a campus map, David and Mike spent forty minutes wandering the buildings of the Avogadro campus.
“Come on, let’s just look up the address,” David said.
“No dude, we just said we wouldn’t use any computers.”
“What harm can come from looking up one thing in the directory?”
Mike didn’t answer, and instead accosted the next person that came down the hallway. “Excuse me, I’m looking for the IT department that handles access controls?”
She gave him a strange look. “Just look it up in the directory.” She turned and went on.
“You just picked her because she was cute and blonde,” David said, laughing.
Mike just smiled back.
David tried with the next person who walked down the hall, an older man with a two day beard and a pot belly. “Do you know where we can find the IT department that handles access controls?”
“Sure, that’s the Internal Tools department. They’re in the basement somewhere.”
“Which basement?” Mike asked. “We have twelve buildings.”
The man shrugged. “It’s dark and dingy, that’s all I remember,” he answered as he walked away.
“They’ll all dark and dingy,” David complained.
“Don’t worry about it, it’s our first useful clue.”
Fifteen minutes and four basements later, they found the Internal Tools IT department in the basement of one of the original converted factory buildings.
The first person they found refused to help them at all on the grounds that if their access had been removed, it had to have been done legitimately. But they argued for so long and at such volume that it attracted the attention of a nearby engineer.
“I’m Pete Wong,” he said, introducing himself. “I’m in the Internal Tools department. I implemented the Control Access and Permissions application. On the off chance there really is a problem, I’d be interested in investigating it.”
Pete led them back over to his work area.
“Let me see who authorized these access changes,” Pete said, as he took a seat behind his desk. “The only way any changes can be made is using the Control Access and Permissions app, or CAP. If someone removed your access inappropriately, I can find out who, and we can contact them.”
David and Mike looked at each other in relief, glad to finally find someone who seemed helpful and knowledgeable. They took side by side chairs in front of Pete’s desk.
“It’s odd,” Pete said after working on his computer for a minute. “CAP should log information for two users. The first user would be the person who actually logged on and was using CAP, and the second user is the person who authorized the work. We need the two because sometimes a manager has their admin make changes for them. We need to track that the admin modified access rights, but the executive authorized it. According to this, Gary Mitchell authorized the removal of your access rights to the ELOPe project, but there is no record of the user who made the change.” Pete paused, and poked at his mouse, clearly frustrated. He looked up at them.
“It’s almost as if it wasn’t a person, but another application,” Pete said thoughtfully after a minute.
“Can you tell us more?” David asked. “We’re both programmers. Can you explain it to us?”
“Well, I was going to say that it was almost as if CAP was being called by another web app, rather than a person directly. Most of the web apps we write have service level interfaces so that we can have one application interact with another.”
“That makes sense. Some kind of XML interface?” Mike suggested, interested in the technical details.
“Exactly, but CAP is, for obvious reasons, a sensitive application from a security perspective. We didn’t write a service level interface for it.” Pete thumped his fingers on his desk, and stared off into the distance. “Now that I think about, I received a request to write a service level interface for CAP just before the holiday break, but I denied the request.”
“Who asked you to?” Mike asked.
“Let me check. We have an Internal Tools request database where it would be logged.” Pete typed for a minute. “Huh. The request came from Gary Mitchell. What the hell is Gary up to?”
“I can’t stand Gary, and I definitely don’t trust him,” David said, “but in this case, I don’t think Gary is up to anything at all.” He paused. “Look, is there any way that someone could have emailed in an access change? Or emailed in a request to change CAP so that it would accept email inputs?”
“By email? No, of course not. They would have to submit their requests via the appropriate web application…” Pete said, and then trailed off. “Hmm… It is really funny that you ask that question.”
“Yes?” Mike prompted, with a meaningful glance at David.
“A couple of weeks before the Christmas break there was a really odd request. From a guy named John Anderson in Procurement. He asked me to write an email to web bridge so that people could submit their Procurement requests via email. And it turned out to be really easy to write a generic bridge that did just that. In fact, I remember testing it against our Internal Tools Request app, and it worked just fine.”
“But that wouldn’t allow someone to make unauthorized changes would it? I mean, they would still have to provide a login name and password to a secure system, would they?” Mike asked, his voice going up a notch.
“Not exactly.” Pete said. “See, the Procurement system wanted to know the authorized user. I figured that AvoMail is secure right? I mean, you interact with AvoMail over a secure HTTP connection, so nobody can see your password, nobody can pretend to be you. I wrote the web service layer so that when it saw the email bridge, it would automatically use the sender of the email as the authorized user. The email system seemed as secure or better than a username or login.”
Mike and David nodded rapidly, showing they understood, and encouraging Pete with his explanation. David felt gratified that there just might be an explanation behind how ELOPe was accomplishing so much. It took the events of the past few weeks out of the realm of the supernatural, and back into the realm of the technical. Technical problems could be solved.
“So you’re saying that someone who has access to email can hit pretty much any web page inside Avogadro? If they somehow hacked the email system, they could get uncontrolled access to any web application? Didn’t that seem a little risky to you? Didn’t it have to go through some kind of security review?” Mike asked the questions rapid fire.
Pete visibly wilted under the onslaught of questions.
“Sorry,” Mike started again. “I’m just trying to understand. I’m not judging anything.”
Pete nodded in acceptance. “Well, I feel embarrassed saying this. Sean Leonov had asked me to do it. I thought that if it was for Sean, well, I should pull out all the stops and get it done. I mean, I’m stuck down here in Infernal Tools.” He gestured at the cinderblock basement wall behind him, in stark contrast to Mike and David’s wall-to-wall windowed offices. “How often do I get to impress someone?” Pete shook his head. “So, no, I didn’t get it reviewed. It’s totally off the radar.”
“Sean Leonov actually asked you, in person?” Mike asked.
“Well, no, not exactly,” Pete said. “I think John, from the Procurement Department, said in his email that Sean had asked for it.”
“Yeah, well I got an email saying my father was in the hospital. Don’t believe everything you read in an email anymore.” Mike jumped up from his seat, furious. He stalked back and forth in the tiny office. “Look, I’m not mad at you. But ELOPe is playing us all for fools.” He looked pointedly at David, as though he expected David to solve everything immediately.
“Let’s stay calm and focus on what’s important right now.” David tried to keep his voice level and reasonable to calm Mike down. He rarely saw Mike angry, and at least one of them had to stay levelheaded. Turning to Pete, he explained, “I know this is going to sound strange, but we believe that the email system is no longer secure. Someone, or something has hacked the email system. Can you shut down this email to web bridge?”
Pete had an uncomfortable expression on his face, and looked as if he was able to say no.
“Look, we need you to trust us on this.” David leaned forward, closer to Pete. “If we’re wrong, you’ve just inconvenienced a couple of guys in procurement for a day or two, right? If we’re right, you’re going to help save the company from a major security breach.”
Pete looked at them for a moment, and then nodded. “It should be easy. The bridge app is running on our Internal Tools servers,” he said. “I can kill the application from my console.”
Pete turned back to his computer, and turned the display sideways so Mike and David could watch. He ran through various command line tools to log into the servers, query the status of running processes, and then kill the relevant program. “OK, I stopped the bridge. I also changed the permissions on the directory, so it can’t be run again until we’ve gotten to the bottom of this.”
“OK, now please do me one more favor,” David said. “Can you test it? Send an email, and verify that it’s off?”
“Sure, that’s easy. I still have the test suite I wrote. It will send an email to make a procurement request, and then check the procurement database to look for the request. Since the bridge is off, it should report that the database didn’t change.”
Pete worked his keyboard and mouse for another minute, then paused, a puzzled look on his face. He typed again, faster and more furiously.
“What is it?” Mike asked, perched on Pete’s desk, watching him work.
“Well, this is even more odd. I ran the test, and even though the bridge is down, the database was still changed. So I checked again, and the bridge is definitely down. But something took the email and routed it to the procurement app, and it was accepted. That can only mean there is some other email to web bridge somewhere in the company.”
Mike and David glanced at each other again. More puzzles.
Pete thought for a minute. “There were some subcontractors in here over the holidays. I thought they were here doing some routine maintenance, but now I guess I don’t know what they touched. Maybe they mistakenly propagated the bridge onto some other servers in the company.”
“We need to figure out which ones, and get them shut down,” David said. “Pete, you’re the only one with access right now. Can you write a program that would check every server to see which ones are running the email to bridge web?”
“Holy cow. We have over a million servers. That’s one heck of a search you want me to do.”
“Do you even have the access to do it? Do you have administrative rights on those machines?” asked Mike.
“Sure, as part of Internal Tools, we can utilize administrative accounts that have full root access, so we can run maintenance checks on all the servers.”
“Alright, then we have one other thing for you to look for. There’s a program called ELOPe, and we need to know what servers it is running on.” Mike gave Pete a USB drive. “Here is a list of checksums for the files, so you know what to look for. We developed ELOPe. It’s an add-on to the AvoMail server. I know this sounds crazy, but we think ELOPe is acting independently.”
“Independently?” Pete asked.
“Yes, an AI that is acting independently. Making decisions and buying things and manipulating people.”
Pete looked doubtful, but he stuck his hand out and took the USB drive.
“Now just one thing,” Mike said. “Whatever you do, don’t email anyone about this, and don’t trust any suspicious emails. We’ll check in with you in-person.”
Pete’s eyes went wide. “But…”
“Can you do it?” David asked, drawing himself upright, forestalling Pete’s objections.
“I’ll do it,” Pete said, gripping the USB drive tightly in his fist.
Gene Keyes ground his teeth. He forced himself to stop.
He had tried to meet Gary Mitchell’s manager, but her admin claimed she was traveling on business and couldn’t be reached, even for an emergency.
So Gene had gone to his own manager, Brett Grove, to get the issue escalated. Brett hadn’t believed the evidence Gene presented. Every time that Gene thought back to the meeting, he felt his blood begin to boil and his vision cloud over.
They had been in Brett’s office, just a half hour ago. Naturally, Brett’s office had windows, a spotless desk, and a single large screen monitor. A fancy Mont Blanc pen stood in the center of the desk, an obvious show piece since not a single piece of paper, not even a sticky note, was to be seen anywhere.
After Gene had explained what he found, he had expected Brett to understand and endorse the line of investigation. A word or two of praise would not have been out of order either. Instead, his arguments were met with disbelief, even disregard.
“Look Gene, I can see you think you’ve found something here. However, you’re not even coherent. You’ve been raving for years about not trusting computers, and now you come to me with some kind of story about an artificial intelligence in the computer. Do you really expect me to believe that?”
“Are you going to look at these print outs?” asked Gene, who had come carefully prepared with the same meticulous collection of paper based data he had used to present his evidence to Maggie Reynolds in Finance, and then later with Mike and David.
“No, I am not going to wade through hundreds of pages of print outs.” He sat back, waving his hand dismissively at the accordion folder. If you want to convince me, summarize the evidence you have, put together a presentation that explains it, and present it in the staff meeting on Friday. That’s just the way we do things here.”
“Fuck you Brett. Listen to me son, there is a god damn monster in the fucking machine!” Gene snarled, leaping to his feet. “This thing is buying machine guns and torpedos. We don’t have time to put together a fucking Powerpoint presentation. We’ll be lucky to still be alive on Friday!” He held himself back, but he wanted to reach across the desk and grab the kid by the shirt collar.
“No, you listen to me Gene. This is typical of you. You think because I’m thirty years old that makes me an idiot. You’re an incompetent bastard.” Brett stood up on his own side of the desk, leaning forward and punctuating his every point with a jab of his finger. “You ignore your emails, you don’t follow the processes you’re supposed to follow. We’re the number one Internet company in the world, and the only thing you even use a computer for is to print stuff out. My grandmother is more computer literate, and she’d have more credibility around here. You would have been out of here, but I promised my predecessor I’d keep you around. He made me swear I’d keep you on my staff before he would give me this job. I don’t know what the hell he saw in you, but I don’t see it. Now why don’t you go take a shower, shave yourself, and put on some clean clothes for God’s sake, and then put together a fucking Powerpoint presentation if you have to buy a book to learn how to use it.”
Gene came back to the present moment in his office, shaking his head. He opened the bottom desk drawer, and poured himself an inch of whiskey. On second thought, he poured two inches. Then he swigged the whole cup. He shouldn’t have cursed at the kid, he realized that now, but he was just so damn infuriating. Jesus, he was going to give himself a heart attack if he replayed that conversation in his head again. He looked down at his rumpled, slept-in clothes, and rubbed a hand over his face, feeling his multiple day stubble. Fuck. He was a mess, that was true. Damn it though, competence wasn’t a matter of clothes and fancy presentation. Competence was looking at data, whether out there in the real world, or on his sheets of paper, and drawing insights. Goddamn-it-all, he was still competent and relevant.
Gene shook his head again. He had to focus on something productive. It was time to meet back up with Mike and David. He dragged himself out of his chair, locked his office door on the way out, and began the journey back to the R&D building.
Bill Larry jostled along on yet another helicopter ride out to the coast. In this case, it was because he had gotten a call from Maggie Reynolds in the Finance department asking him to verify delivery of purchases. Bill sighed, thinking about the confusing call.
Maggie had a hard time understanding that Facility location code ODC0004 was not just a walk down the hallway for Bill, but was instead a floating platform ten miles off the shore of the United States, and required Bill to make a helicopter reservation and two hours of driving and flying to get to.
If it was confusing to Maggie, it was doubly so for Bill, because Maggie went through a litany of items that didn’t make sense. He had not ordered backup satellite communication hardware or microwave communication equipment. Yes, they had ordered equipment from iRobot, but that was before the holiday break, and no, there wasn’t a second round of deliveries to all the ODCs from iRobot. In any case, there could be no visits to install anything on the ODCs without approval from Bill. It simply wasn’t possible to have installed all the items Maggie described, because only Bill, Jake, and a handful of employees that Bill was in day to day contact with, had the authority to stand down the iRobot defenses. Bill would have been personally advised if anyone authorized a stand-down. He shook his head. From Maggie’s inventory of purchase orders, it made the ODCs sound like virtual beehives of activity. Impossible.
However, it was clear that the shit had hit the fan back in the main office, because Maggie said she had folks from the Controls and Compliance office doing some kind of internal investigation. She sounded worried but trying to hide it, and Bill had felt sorry for her. Bill reluctantly reserved a helicopter, packed a bag with his satellite phone, access key cards, and headed for the heliport.
That’s how Bill ended up thirty minutes out from ODC #4 on one of the company’s Bell helicopters to do a hands on inspection and lay to rest the question of exactly what equipment was or was not installed. With a sudden jolt, he realized that in the rush, he had forgotten to schedule the deactivation for the defense robots.
Bill nervously struggled to plug his satellite phone into the helicopter headset, a clumsy, insulated thing. Fuck, he could have gotten himself killed. He placed the call to the iRobot system administrators.
“Hello, this is Bill Larry at Avogadro. My deactivation passcode is O-S-T-F-V-3-9-4-1.” Bill had to speak up over the helicopter noise. “I need to shutdown the robots at ODC4.
“I’m sorry, but can you please repeat that passcode.”
“O-S-T-F-V-3-9-4-1. I’m Bill Larry at Avogadro. I need to shutdown the defense robots so I can land at my facility.
“I’m sorry sir, but I don’t have any records with that passcode. Can you please give us your vendor ID?”
Bill sighed in exasperation, and wondered what more could go wrong with his day. He provided their vendor ID, and waited.
“I’m sorry sir, but I don’t have a listing for your vendor ID. Are you sure you have a contract with us?”
After more unhelpful back and forth discussion in this vein with the phone agent, Bill asked for a supervisor, and was shortly transferred over to a Ms. Nancy Claire.
“I’m sorry Mr. Larry,” Ms. Claire explained after a few minutes of research, “but we’re no longer under contract to administer your iRobot defenses. Of course we provided the hardware, and we were administering it up through December thirty-first, but as of the first of this year, we turned administration over to you.”
“That’s not possible,” Bill objected.
It took another fifteen minutes on the phone with Ms. Claire for Bill to gradually puzzle out that iRobot thought someone at Avogadro had renegotiated the iRobot contract. Bill was sure this couldn’t be the case, but he couldn’t help wracking his head wondering if someone had gone around him. They had just put the contract in place a few weeks earlier. It didn’t make any sense. Bill had to figure all this out while yelling over the sound of the helicopter. He was getting one hell of a headache. The pilot asked him whether it was OK to proceed, and he shook his head no.
Then Bill checked his phone and found the number for a vice president, Bob O’Day, at iRobot, one of the guys that he and Jake had spoken to when negotiating the contract. Bill hung up with Nancy Claire, and called Bob. Bill remembered Bob as being intensely focused and wickedly smart. Bob would get this issue resolved. Bob’s administrative assistant said Bob was already on an urgent call, but offered that Bob could call Bill back within 10 minutes.
So Bill waited over the Pacific ocean, a thousand feet up, a hundred and five decibel engine a few feet above his head, burning a gallon a minute of high performance aviation fuel.
Seven minutes later, the phone rang, and Bill punched the button to answer. It was Bob, the iRobot VP. Bill struggled to keep his voice under control as he demanded to know what was going on. While the pilot had the helicopter circling around ODC #4 in gentle circles, Bob confirmed that indeed, iRobot had installed additional defenses, and then turned the administration of those defenses over to Avogadro.
Craning his head to look at the floating barge, Bill could see additional satellite communication and microwave communication antennas, and what looked like some kind of turrets. Bill wondered why he hadn’t brought binoculars. While the pilot circled (and why the hell couldn’t he keep the damn helicopter stable?), Bill yelled over the noise of the helicopter to ask if there was any kind of override that iRobot could still execute. Bob assured him that for security reasons, of course, there wasn’t any kind of override. The point of handing off administration to Avogadro was to insure that full security resided in the hands of Avogadro. The control over the robots now rested with the computer software that iRobot had provided to Avogadro.
As Bill argued with the folks at iRobot in the back seat of the helicopter, George “Punch” Gonzales, today’s helicopter pilot, continued to circle around. He did it more out of boredom than anything else, since he could have just as easily engaged the auto-hover, which would have maintained them at a given location. After twenty years of flying helicopters for the Marines, George wasn’t inclined to engage the auto-hover and tune out. He liked to keep his hands on the stick. On one of these slow rotations around the ODC, George came a little closer to the platform than he had before. He also happened to glance again at the fuel gauge, and noted that they were coming up on their halfway point. George turned to ask Bill how much longer they planned to stay. While he was glancing backwards, the helicopter came just a few dozen feet closer to the platform than it had before. Since he wasn’t looking out the windshield, George, who just might have recognized them for what they were, missed the flash of anti-aircraft missiles launching. Bill was stooped, head down, struggling to hear to the other end of the line, to understand what happened, and how the administration of the robots could have been bungled so badly in the first month of operation.
Within seconds the two heat seeking missiles transited the distance to the helicopter, focusing in on the hot helicopter exhaust. When the first missile detonated, the engine and copter blades exploded apart. The second missile impacted the passenger compartment, bursting the thin shell. Bits of shrapnel screamed through the air in all directions, falling sizzling into the water.