Judy Carmody's legs ached. It was three in the freaking morning, and here she was, still staring at some stupid computer screen in an office hellhole. The room left a sourness in her mouth. Not enough air circulation in this dump.
Certainly not enough for the beefcake hardware that controlled the money of half the population in Laguna Beach. This kind of beefcake required sterile living quarters.
Not dust on the tiled floors.
Not gray fabric walls enclosing it in a ten-by-ten prison.
She stroked the top of the monitor. Warm, too much heat. Beneath the desk, the disk drives whirred, emitting a nice low technothrum that rose to a whine. A sonata played on a broken instrument.
"These babies are at risk." Her voice came out scratchy, the words all frazzed.
"Could be," José said, "but you know management, they won't spring for better digs unless I'm a grade fourteen. Like that'll be the day."
José Ferrents. Senior security programmer at Laguna Savings Bank. One of Judy's best customers. She was stuck here until he was satisfied that she'd thoroughly checked the computer for security leaks. New passwords had been granted to marketing guys the day before. Like passwords would matter to some hacker. José was one paranoid quack.
He leaned back in his chair, waiting for her to finish the job. Thick black hair streaked with green Etch-o-Oil. Red lines painted beneath bloodshot blue eyes. José went in for the Dracula look.
The monitor flipped to the screen saver: swarms of infinitely regressing cubes and triangles, a neon blaze set against black. Dracula got off on the forever realm of fractals.
"Look, can we finish up? I'm really tired, José." It was creepy being cramped next to José in his lair, the gray walls plastered with posters of microchip circuits and lanky blondes in goth bikinis--like he really knew anything about circuits or bikinis. Duh...
"Sure. I have more important things to do, too." José graced her with a little smirk. She knew better. José never had anything more important to do than play with computers.
Judy shut her eyes, brushed her long, auburn hair out of the way, rubbed her neck. Damn, she was getting cranky. It was just too late to have to deal with José. She'd had one hell of a long day, grinding Internet security code for Steve Sanchez, fielding hysterical E-mails from that programmer at Widescreen DVD. But as a computer security specialist hanging five hundred dollars an hour, Judy could cope with a stiff neck a little longer and put up with Dracula.
He touched the screen. The fractals disappeared, replaced by the log of Internet transactions that had been executed by the bank's corporate customers.
José had done a good job on the bank's World Wide Web site. A customer entered a password, then processed debits and credits against authorized accounts. All transactions were encrypted before transmission, then decrypted at the bank. Crypto chips and digital cash. When José had first installed the system back in '02, Laguna Savings had quickly become one of the top Internet banks in the country.
José rolled his chair across the room to the other computer server. The clanking of rollers on tile cut into the disk drive whine and made Judy's body jerk. If only her nerves would settle, if only she could stay awake, if only she could find a method other than coffee, which she'd given up five years ago, or Methamorph, which she'd given up in high school.
But there'd be no drugs for Judy; not like José, twitching in his chair over there, nerves atwanging like snapped guitar strings, body gaunt, hollow eyes a million miles deep--tubular twin tunnels to nowhere.
No. She'd finish this job, then sack out for a few hours before facing another long day tomorrow--no, today.
She checked the first Internet transaction in the log, a withdrawal made by a small investment firm down by Laguna Beach. José checked the firm's account on the other server and confirmed that the withdrawal had been correctly subtracted.
They moved to the second transaction, and on down the list, until finally José said, "Two more transactions and we're done."
Her eyes shifted from the screen to the shelves over José's head. Micro Utility Corp--now a subsidiary of Sony--double-reinforced units, part number 3B12G14, the screws holding them together, part numbers 3B75I28 and 3C72I25. The shelves were crammed with Ethernet boxes and punchdown blocks.
Just two more transactions--crank 'em and get out.
One more.
"What the hell is this?" José's shoulders quivered more than usual.
The Methamorph freak. Jumping at ghosts. "Cut it out, José. It's late, and I want to go home."
"Penetration." One word, tight and low.
"Cut it out, José."
"I said, penetration. Big one. A half-million-dollar withdrawal from each of ten accounts, all made by Hirama Electronics."
What? Was he, like ... serious?
She pushed herself from the desk, cringed as the chair rollers ground across tile, then stood and peered past José's shoulder. "That's a lot of money, but doesn't necessarily imply penetration," she said.
"Hirama transactions never come across the Net. They're always made in person by some top management guy in an Italian pinstriped suit."
He redisplayed the Hirama bank accounts. All ten had zero balances.
In the middle of the night, someone was wiping millions of dollars from Hirama's accounts. Penetration: a hacker. Judy grasped the back of José's chair. She was too close to the Dracula green-streaked head, too close to the new-plastic reek of Etch-o-Oil.
José massaged his right fingers with his left hand. His pupils were wider than Metha-normal, his forehead creased, his mouth trembling. "Fingers, can't move 'em."
Judy crouched beneath the blinking red Ethernet lights, the multicolored spaghetti wires dripping off the punchdowns. Her chin brushed against the Etch-o-hair. It was stiff, like scouring pad bristles. Mercifully, he rolled his chair to the side to give her space.
She closed the Hirama file, then accessed it again to see if the changes remained.
The accounts no longer had zero balances.
She had to be losing her grip. It was late; she was tired. Try again. She redisplayed the Internet transaction log. This time, it showed a huge transaction that had deleted several million dollars in Hirama funds.
A freaking break-in hacker at play in the black void of the Internet.
"A superhacker," she whispered.
Hot damn.
She hardly felt her legs move as she returned to the first computer, on the other side of the room. She was only faintly conscious of her socks padding across the tiles. Faintly conscious of the screen saver fractals. She touched the screen, kind of like touching God or something. Her whole body was numb. Brain in high gear. Ice-cold focus.
On the Laguna Savings Internet transaction page, real-time, right here and now, some freakzoid was deleting Hirama funds, then replacing them. What if this was no kid, out for a computer joyride? Breaking through a bank's firewalls was a federal offense and came with a mandatory jail sentence.
"Do a trace." José was behind her now, his breath hot on her neck. She hadn't even heard him cross the room.
She squinted and started typing.
powerman.finger -gA short list of all system users scrolled down the screen. It showed no intruders.
powerman.netstat -aA quick status check of all system sockets, every low-level software device feeding into the system. Nothing.
"Do it again," José said.
powerman.netstat -aThis time, the screen showed an established Internet connection coming from a foreign address called Helraze.
"I'd better call Naresh." José sounded scared. Naresh was his boss. José never called Naresh, who was a grade fifteen in the bank hierarchy. A grade fifteen who lived in a swanky house and reigned from a swanky cubicle on management row.
She'd spare José the agony. She'd handle Helraze herself. "Naresh lives fifteen minutes away. He can't get here in time."
"Yeah, guess you're right. Jesus, how the hell will I explain this to him? The bank's laying off people again. Next week."
The netstat command displayed its results again. This time, no connection from Helraze.
"Maybe you won't have to explain anything," Judy said. "The hacker's popping in and out of the system, removing cash, but replacing it. Could be he won't do any real damage."
"But why's he doing it?"
Damned if she knew.
One thing to do. Track the sucker. Discover the route he'd taken through the millions of Internet computer nodes to get to Laguna Savings.
powerman.traceroute helrazeHe was far away, this Helraze, routing transmission packets through forty-seven other computers. Who the hell was this guy, and what did he want?
"Try tracing it again," José said.
This time, Helraze disappeared, simply disappeared as if he had never existed.
"The main password file," José said, "that's gotta be it." He pushed past Judy, touched an icon in the lower corner of the screen.
She scanned the encrypted MD6 file digest, which contained the main passwords, for security breaches. "Clean, all access codes in place and valid," she said.
"The syslogs are all clean, too, no breaches," José confirmed. "Hey, what's this? Fake syslog messages, Judy, as if dozens of superusers logged in tonight."
"Let me see." She gently nudged him aside, giving herself room again.
Superuser access was critical. It meant the hacker could get into all protected system files. He could bring the bank to its knees, destroy everything, transfer any amount of money, anything he wanted. So why wasn't he doing it, and quickly?
Both
lastlog and
umtp showed no indication of the hacker. She checked the syslogs again. They were wiped clean; all fake syslog messages had been removed.
Hopefully, their mystery hacker had screwed up. Rather than delete log entries that could be used to trace his system penetration, maybe he'd been in a hurry and had just replaced the entries with null characters. Blank lines, filled with nulls, would prove penetration--and right now, with all logs wiped clean and all accounts restored, there was no proof of a break-in. Judy's neck ached from the tension. Bank officials always demanded proof.
"Nothing," José said. "This guy knows exactly what he's doing. No authorization failures in /var/adm/messages. Nothing strange in the superuser log. No shell history. There's nothing to trace. It's as if the guy's never been here."
"If we don't get to the bottom of this, and soon," Judy said, "we'll have to notify top management. They may have to close the bank this morning."
"No proof. My God, Naresh will kill me."
José was right. Naresh would kill him. And management would never close the bank based on the statements by two programmers who thought they had discovered a weird system anomaly. Management never understood anything about computer systems anyway, even when there was proof.
"We're running out of time," José said.
Judy glanced at her watch; it was already four o'clock in the morning. In a few hours, bank customers all over the city would be turning on their computers and processing transactions over the Net. By the time management showed up, Net business would be at its peak.
"This hacker must have been sniffing the bank's Web page for weeks," Judy said, "just waiting for an opportunity to crack into the server. He got that opportunity when you sent the new password file to marketing."
Tap into a cable, intercept transmissions, pick up the new password file as it went from the central computer site to the downtown office. Simple enough. She said, "He hacked into the password file, added himself with privileged access to everything we have. Then he screwed with the Hirama accounts, deleted his fake password, erased all trace files. He's fast."
"And he may not be done," José said.
Judy trembled, hit by a sudden rush of fear. What if this guy had entered through the Web itself? José had coded some of the Web site using ControlFreak. What if the guy had hacked into the low-level software I/O routines, the system sockets? If so, he could be accessing bank files right now, writing to them, wiping them clean of money.
Judy stared at the monster machine: six parallel processors, all cranking with more than 400 megabytes of memory and tons of terabyte disk muscle. The latest crypto chips. All known Internet browser hacks plugged. From the Net, there was no way into Laguna accounts.
"He's doing something new, José. ControlFreak's clean at this bank. Remember, I'm the one who plugged all the holes. This hacker's cracked into the system using some method we've never seen before."
"We could rip out the wires leading to the punchdown blocks, cut his connection."
"That would fry the system. And if we just shut everything down, we'll never know who this guy is, or what harm he's done. Besides, if he wants to, he'll come back."
"I'm launching the agents," José said, touching the computer screen. The agents appeared, jiggling animations of bugs, real cute, but--
"Worthless," Judy said.
"Nothing else to do, not that I can think of." José touched the execute icon. The agents jiggled and the directory structure scrolled down the screen. The agents, artificially intelligent digital creatures mainly used for Net searches, were scouring José's Net files, seeking clues about the intruder.
System clean
Nothing.
"Waste of time," Judy said. Lack of sleep combined with tension had her head pounding. She stretched her back, raised her arms, tried to unknot her muscles.
The agents jiggled again. Then in metallic blue letters:
System compromised
Judy froze, arms still above her head. "What the--"
But, as her arms came down, the status changed:
System clean
José was quiet. He was staring at System clean, his eyes narrowed, his hair damp with sweat.
"Look."
The screen displayed all running computer processes. The hacker was back on the server. He was sending a terminate signal to the operating system:
powerman.kill -TERM 1
"He's shutting us down," José whispered. "He's deadlocking all programs, running in s mode."
"He's operating as the system console," Judy said. "He's taking over."
She stared at the screen, her heart racing, half from excitement, half from fear. In all her years of hacking, she'd never encountered anyone this bold and this well hidden. There was no way to trace him, no way to stop him.
The system knocked down to single-user mode, the single user being the hacker from Helraze.
"He'll destroy system memory." José's voice was thick with fright. "He'll destroy the operating system."
Then a new thought struck him.
"All my money's in there," he said, his voice practically a whisper. "How will I pay the rent? Landlord pulls it electronically from my Laguna account. How will I prove my digicard had five thousand dollars on it when--"
Judy cut him off. "Look--all of my consulting money's tied up in the bank, too. If this guy wipes out the system, thousands of people are going to be flat-dead broke."
Backups? Were the computer's backup systems sufficient to handle such a nightmare?
No. They'd restore only the transactions and accounts that existed as of last night. Better than nothing, but hours' worth of transactions would be lost.
And it would take forever to unravel the mess.
The screen flickered. A fireball appeared, followed by the large red letters DNS, then ... nothing. Black.
Judy blinked. She shook her head, suddenly feeling dizzy. "He's gone."
The hacker had disappeared. Instantly, the system rolled over and rebooted back to multiuser mode. Soon the fractals glimmered into view, a forever wonderland of infinite penetration.
José stared at Judy. He had to be thinking the same thing she was: No proof. There had been no financial losses. No hard evidence of what had just taken place. Bank management would never believe them. The attack, the takeover, made no sense.
Unless, it had been ... practice.