Shadowplay
Page 31
“See you soon,” she whispered, hitting the Go key with a sharp little tap.
She blew through the Cheyenne Matrix, danced across the datalines until she saw the LTG node high above the surreal city below her. Rocketed toward it, into it. Then the jump to the RTG, the universe folding around itself like an origami figure.
And, all too soon, she was hurtling toward the satellite link, the blue radio telescope construct on the dark plane. Instinctively, she looked around her for Theresa Smeland’s armadillo icon. Laughed wryly at her reaction. I’m alone this time, she reminded herself. No back-up. Just me.
She saw the beads of ice sliding back and forth along the structural members of the satlink construct. Saw them pick up their tempo as she approached. Okay, she thought, let’s see how wiz these utilities really are. . . .
Her samurai icon reached into a pouch on his belt, pulled out a tiny mask—like a harlequin’s mask—and slapped it to her face. A tingle went through her virtual body as the masking utility activated. For an instant she thought it had worked. The beads slowed down again, back to their normal level of activity. But then, as she came within contact range of the satlink construct, the beads flashed again to high-speed, alert mode. Before she had time to try another utility, a dozen of the beads burst free from the construct, slamming into her icon. Nothingness engulfed her.
And then she was in the office once more, the perfectly rendered corner of the Matrix created by the UCAS military. No doubt some node running on hideously powerful military mainframes.
Jurgensen the decker was sitting at the desk. He looked up with an expression of surprise as her icon materialized in front of him.
“Waiting for me, Jurgensen?” she asked. And then she hit the army decker with everything she had. Triggered a frame—an autonomous program construct—and hurled it at him. In keeping with her own icon, it was a low-resolution Japanese ronin, armed with a tetsubo glowing the brilliant red of a C02 laser. As the frame leaped forward, swinging its studded mace, she triggered a “hog” virus—appearing in this node like a viciously barbed dart. She tossed it underhand at Jurgensen.
The army decker had responded quickly to the frame—too quickly!—holding a macroplast riot shield up before him, blocking the ronin’s tetsubo blow. But that meant his attention wasn’t focused on Sly herself for a critical instant. The virus dart flew true, slipped past the riot shield, bit deep into the icon’s chest. Jurgensen howled in outrage as the virus code began to replicate in his cyberdeck, allocating the deck’s operating memory to itself, preventing it from being used for anything else. Unless the decker didn't act fast to eliminate the virus, soon it would take over all unused memory, then start on the memory containing his own utilities, flushing them from the deck and eventually dumping him.
Of course, she knew, Jurgensen would act fast. She couldn’t trust to something as simple as a hog utility to take him down. But, at least, for a couple of clock ticks he’d be occupied. Clock ticks she could use herself.
She fired up her first attack utility, and a heavy crossbow appeared in the samurai’s hand. Aiming carefully, she triggered the bow, watched the bolt whistle past her autonomous frame, saw it slam into Jurgensen’s chest. A frag of a good hit. For an instant, the decker’s icon quivered, losing resolution. Keep on him, she told himself, don’t give him a chance to use a medic program. And don’t let him deal with the hog. The crossbow re-cocked itself, and she pumped another bolt into her opponent. Again his icon lost some of its resolution, but this time it didn’t return to its previous, pristine state. Hurt you bad! she crowed inwardly.
Jurgensen snarled in anger. His riot shield vanished, a snub-nosed submachine gun taking its place in his hands. He triggered a burst into the frame that was still attacking him, blowing gaping holes through the ronin. The frame attacked again, slamming its tetsubo into the decker’s head. But then, with a despairing, electronic screech, it pixelated and vanished. The SMG muzzle swung toward Sly.
She flung herself aside as bullets stitched the wall behind her. Simultaneously triggered one of the highest-rated utilities in her deck—a cutting-edge mirrors utility. As the code executed, her icon split in two—two identical samurai. The new icon—the mirror image—jinked right, while she flung herself low into the shelter of Jurgensen’s own desk.
The army decker hesitated for a tick, trying to guess which was the real icon and which the image. Guessed wrong, and sprayed a long burst into the mirror construct. Giving Sly time to pop up and blast another crossbow bolt into him at point-blank range. Jurgensen howled, his icon pixelating like the frame ronin. Then he vanished—jacked out or dumped, Sly neither knew nor cared. She caught her breath, tried to slow her racing heart.
Just for an instant. And then what she’d been dreading—but, deep down, expecting—happened. Two nightmare figures, night-black and twisted out of true, loomed over her.
The golems. Golem-class black IC—according to Jurgensen, driven by a high-level expert system code. Smart—maybe as smart as a decker—fast and lethal. With brain-splitting roars, they lunged at her.
Sly backpedaled wildly. Her mirror image was still visible, but the golems were ignoring it, converging on her from two directions. She brought up her crossbow, pumped a bolt into the belly of the closest monster. No visible reaction.
What the frag do I do now? her mind gibbered wildly. Jack out, while I’ve got the chance? Give it up as a bad job? But that wasn’t even an option, was it? If she ever wanted a normal life, she had to win now, once and for all.
She danced back another step as the nearest golem swung at her with a fist bigger than her head. So sophisticated was the ice code that she “felt” the wind of the fist’s passage a centimeter from her face.
Another step back. Trigger a utility. Another step. Another utility.
The first—a modified “smoke” utility—filled the room with coruscating blue-white light, sheets and curtains of it, like heat lightning. Sly could still see the advancing golems clearly, but knew that the display was interfering with their perception of her. Not much help against something this sophisticated, but a whole lot better than nothing. The second utility surrounded her icon with another construct—a full suit of late-medieval plate mail.
And not an instant too soon. The golems were quicker than they looked. One had managed to close with her, slamming a massive fist into her chest. In the real world, the impact would have collapsed her rib cage, ruptured internal organs, possibly smashed her spine. But here, in the virtual reality of the Matrix, the blow crashed into her armor, making the metal ring like a gong. Still, the force was enough to stagger her, make her head ring like the armor. In the real world, she knew, her body had probably spasmed as the IC code had momentarily overridden control of her cyberdeck, dumping a damaging over-voltage through her datajack. Would Mary jack her out, or would she judge the damage minor and let Sly be?
The office didn't vanish from around her, so Mary had obviously decided to hang back. One of the golems was confused by the “smoke” display, swinging wildly at the sheets of light that surrounded it. Not so the second. It advanced on Sly, more slowly now, as though taking time to analyze her armor and find its weak spots. She tried to dodge to the left, but a sweeping arm blocked that move. She backed up again, felt the office wall behind her. No more retreat. No more options.
There was only one thing she could do. A big risk— but what part of this run wasn’t a risk? She still had one utility left—a rating-eleven attack program. Maybe beefy enough to crash the golems, maybe not. But even pulling it out was a terrifying risk. It was experimental code, Mary had told her, nowhere near as “plug-and-play” as the other programs Sly had used up till now. Not only did it need almost all her deck’s resources—so much so that she’d have to abort everything she was already running to give the program what it needed—but she’d have to do some on-the-fly programming to tailor the code to its target and “lock it on.” Which meant she wouldn’t even have the option of maneuve
ring, of dodging the golems’ blows; she’d just have to hang tough and take it.
And she wouldn’t have the option of jacking out if things got nasty.
An all-or-nothing play. Did she have the guts to go through with it?
Do I have any choice?
Before she could think about it any further, paralyze herself with indecision, Sly aborted the other utilities she had running. The mirror image, the heat lightning, even the suit of plate mail—all vanished. With a growl of triumph, the two golems converged on her.
The construct of the attack program appeared in her hands. A bulbous, space-opera laser rifle. She swung the barrel up, pointed it at the nearest golem. It was cumbersome. clumsy, incredibly difficult to aim. (Sly knew that, in reality, her meat body was slumped on a couch in the back room of a cavern, her fingers flying across the keys of her cyberdeck. The clumsiness of the laser rifle represented the difficulty she was having in tailoring the code of a virus program, tweaking it so it’d crash the code of the intrusion countermeasures that were trying to coopt control of her deck. But, like any decker, she’d buried that reality deep. It was so much faster, much more efficient, to think symbolically. But also much more terrifying.)
She squeezed the rifle’s trigger. With a loud pah of discharging capacitors, the weapon fired. A yellow-white bolt of energy burst from the muzzle, slammed into the torso of the nearest golem, punching a hole clean through it the size of Sly’s fist. The thing staggered back, howling. She squeezed the trigger again.
Nothing. The weapon had a recycle time—representing the time it took to modify the code for another assault on the ice. The high-pitched whine of recharging filled her ears.
The golem was hurt—maybe seriously—but it wasn’t going to back off. It lunged at her again while its comrade shambled to the side, trying to flank her.
The laser rifle beeped, and she triggered it again. The bolt took the attacking golem clean in its lack of face, tearing the head from its neck. The massive body collapsed to the ground, flickered, then vanished.
The second golem snarled, leaped at her. She couldn’t move, couldn’t do anything while the rifle recycled. A black fist slammed into the side of her head, smashing her to the ground. Her scream of pain seemed unimaginably distant in her own ears. The world blurred around her.
Through the crushing pain, she heard a beep. For an instant didn’t realize its significance. Then, just as the golem swung another blow—a killing blow, this time— she squeezed the trigger.
The energy bolt plowed into the monster’s belly, knocking it backward. It screamed its agony, flailing wildly at the hole torn in its torso.
But it didn’t go down.
Crumpled on the floor, the rifle—useless until it recharged—in her hands. Sly watched death approach. Looming three meters above her, the golem snarled down at her. Enjoying itself. Slowly raised a foot high, ready to slam it down and crush her skull.
Too slowly. The rifle beeped. Sly clamped down on the trigger.
The energy bolt ripped upward into the construct at a steep angle. Blasted into its groin, tearing up through its torso, exiting from the back of its neck. It teetered there for a moment, then toppled toward her. Pixelated and vanished an instant before it struck her.
Sly just lay there, gasping. The laser rifle felt crushingly heavy in her hands—meaning that the programming effort of keeping the utility code running was becoming too much. She let it deactivate, saw the construct flicker and disintegrate.
I did it. . . . The metabolic poisons of fear and exhaustion were flowing through her body, making her muscles feel leaden, and giving her a sick headache. With an Olympian effort, she forced herself to her feet. Looked around her. The office was empty.
But maybe not for long. She had to get out of here now.
She took a moment to run a medic program, to restore at least some of the damage the ice had inflicted on her persona programs. She ran the construct—a complex science-fictional “scanner”—over her body, felt at least a portion of her energy returning. Some of the damage she’d suffered had been real, she knew, affecting her meat body directly—surges in blood pressure had probably burst capillaries, strained heart valves. But she also knew that those things would heal with time.
Which, of course, she didn’t have now. She had to get out of this node—somehow—relocate back to the satlink. But how?
She started to initiate an analyze utility—hosed it the first time, had to try again. The utility’s construct appeared as a pair of goggles, which she slipped over her icon’s eyes. She started to scan the walls of the “office.”
There it was, what she knew she had to find. A concealed “door,” a rectangle of wall that shimmered when viewed through the goggles—a dataline leading out of this node. Another utility told her there was no security on the “door”—nothing to stop her from using it—but couldn’t tell her what was on the other side. Apparently, there was some kind of discontinuity that blocked the utility’s scan.
That was reassuring. She’d certainly experienced a discontinuity when she’d been shunted here. If she was lucky, this dataline would lead her back to the satlink. She took a deep breath, readied herself. And plunged through the doorway.
A moment of blackness, of vertigo and disorientation. And then the virtual reality reestablished itself around her.
Luck was with her. She was back at the satlink node. Actually within the construct this time. The blue structural elements formed a lattice around her. The beads of ice still shuttled up and down along the elements. Fear twisted her belly for an instant, but then she realized they weren’t paying any attention whatsoever to her icon. Why should they? she reasoned. I’m inside now; they’re looking for intruders coming from outside.
She looked around. The lattice-work parabolic dish of the satlink was above her, pointing up into the sky. When viewing the construct from without, she hadn’t seen anything extending from the dish, anything that could have been the dataline to Zurich-Orbital. Now, from her new vantage point, she couldn’t miss it. A faint, shimmering tube of sky-blue light, lancing into the heavens.
Z-O, here I come, she thought, then plunged into the dataline.
* * *
There was something . . . not right . . . about how Sly felt as she sped up the dataline. Some sense of . . . disconnection, though that didn’t quite describe it either. At first she thought it was a mental artifact, some kind of aftereffect of her combat with Jurgensen, with the golems. But then she realized it had to be the time delay that T. S. had mentioned. Depending on the geometry of the link—the number of sidelinks necessary to communicate with the Zurich-Orbital habitat—the light-speed lag could be three-quarters of a second, an eternity at computer speeds. She tried to imagine what it would be like without the compensator chip that T. S. said was installed in the deck, then gave up; this disconnected feeling was disturbing enough.
She’d expected there to be something distinctive about the system access node leading into the Zurich-Orbital system—something that reflected its importance. But there was nothing out of the ordinary. It was just another SAN, following the Universal Matrix Specification standards, appearing as a simple door in a shining silver wall.
Sly stopped outside the SAN, ran a selection of analyze programs on it. As she expected, the door was a glacier—almost solid ice. Nothing lethal that the utilities could detect, but enough barrier and trace ice to overload a less powerful node.
Nothing that Mary Windsong’s slick utilities—backed by the punch of Theresa Smeland’s deck—couldn’t sleaze their way past. The ice accepted Sly’s forged passcodes, and the door swung open. She slipped silently into the heart of the Zurich-Orbital computer system.
Through an SPU—a sub-processor unit—and into a CPU. Probably one of many, she guessed. Most modern systems were “massively parallel”—the term currently in vogue—with multiple CPUs, sharing the processing overhead of the system. Cloaked, so that any ice or deckers in the CPU wouldn’t
spot her, she called up a system map.
Then, with stunning clarity she realized she’d reached her destination. She didn’t have to go any further. There was a public bulletin board system—well, “public” with respect to people who had access to the Corporate Court’s computer—to which all multinational corporations contributed. It comprised a single datastore connected to a dedicated SPU—which was, in turn, linked with the subordinate CPU where Sly was. All she had to do was upload Louis’ stolen datafile from her cyberdeck to the CPU. Order the CPU to transfer it to the SPU, along with an instruction to post it in a read-only section of the datastore. Simple.
Too simple, part of her mind yammered. But no. It took just a couple of clock ticks to write the appropriate code, to feed it into the CPU’s command stack. She watched an execution trace of the CPU’s activity, saw her command get processed normally. Saw the creation of the data packets containing the paydata plus the appropriate instructions to the SPU, A few cycles later, she ran a listing of new postings on the BBS and saw the still-encrypted data appear, with file attributes of readonly and PROTECTED.
It would still be possible, but incredibly difficult, for someone to delete the file. The subordinate CPU where Sly was had the ability to post entries to the BBS data-store. But it didn't have the authority to delete a posting or even change its attributes or status. If somebody wanted to do that, they’d have to penetrate a lot deeper into the Zurich-Orbital system.
How difficult would that be? To find out, Sly ordered the subordinate CPU to display the security ratings of the nodes surrounding the central CPU cluster. Reading the lines of data, she had to suppress a shudder. Not a chance, she told herself. Any decker even thinking about penetrating the central CPU cluster might as well just shoot himself in the head. The result would be no less certain, and it'd probably hurt less.
I can't believe it. I’m out from under. . . .