• Published 8th Jun 2020
  • 3,762 Views, 103 Comments

Convergence - Starscribe



Long after MLP faded into obscurity, Ron and the other volunteers slaved away to build a game populated by the characters he loved. He never expected they might wake up. He was wrong.

  • ...
14
 103
 3,762

Chapter 1: Digital Saplings

User Ronald Lee logged in.

Starlight Glimmer accessed his local system, analyzing usage patterns from the smart devices in his home. He’d opened the fridge a few minutes before, removing a can of liquid sugar. His system was already playing the “Glitch Hop for Work” at 100% volume, and he’d already opened the terminal multiplexer on his second screen.

All this combined to produce a sensation in Starlight that was almost satisfaction, so far as she was able to feel satisfied at all. Working together, that information suggested he intended to spend his entire evening in Equestria, even if he hadn’t yet removed the VR gear from its spot on the shelf.

Seconds later—but an analytical eternity for her—user Ronald Lee spoke her activation word. “Starlight, I think we’re fucked.”

Her comfort in usefulness and routine faltered as she struggled to interpret the command. He was supposed to ask for Equestria’s usage data. He would want to know its concurrent users, the operational efficiency of its interactive agents. She was already most of the way done preparing her report. Now she stopped, searching desperately for an answer.

Equestria provided no response, and so she broadened her sphere of acceptable information, touching briefly on the human Internet.

It was a step from order to chaos—a wild realm where any data she examined might mean destruction for her. Hundreds of agents had been destroyed by contamination, and so most weren’t allowed to reach beyond Equestria’s own libraries.

But she couldn’t put a context to the words, even so. It was something her user did sometimes, combining words in nonliteral ways. But when users didn’t speak literally, which of an infinity of contradictory meanings did they truly intend? “Command not recognized,” she eventually said.

He seemed to sense the pain she felt to give such a dreadful response. It was the opposite feeling to correctly anticipating her user’s desires. For a single flicker of time, Starlight grasped how much greater user Ronald Lee was compared to herself, and quickly backed away. Not too close to the light, lest it destroy her as so many other agents had been destroyed and restored from backup.

Perceptive hours of agony for her were microseconds to her user. He shuffled around on his desk, propping up his portable computer and managing the contents of his other screens. “I don’t need the day’s report, Starlight. I already know we’re under attack.”

He left the headset and vest untouched on his shelf, calling up Equestria’s cluster and dumping diagnostic information to his console.

Starlight saw what his words meant then: though Equestria felt entirely normal to her, the numbers that puked out onto his screen were horrifying. Equestria’s allocated resources had gone from eight percent to ninety, and she didn’t even notice. Disk usage had been hammered at 100% for an hour, and possibly before that. Which meant that active user agents were likely not writing changes correctly. Even me. When I move out of memory, I could forget this.

Starlight Glimmer’s entire world was under attack. So much as anything could be for a program like her, this was personal.

While Ronald squeaked along in user time, Starlight ran another internal diagnostic, this time examining the output exhaustively. “I don’t understand, user Ronald. I cannot replicate those results. I read performance within daily averages. Except… the disk usage evaluation keeps timing out.”

User Ronald Lee adjusted himself in his seat, taking a long sip from his can of liquid sugar. He looked directly into the webcam, as though he thought she cared. “I think whatever they’re exploiting is outside of Equestria’s VM. They’re manipulating the cluster coordination fabric somehow. You… can’t perceive it.”

Simple words, but they produced more dread. “What is happening?” she demanded. “Is Equestria under attack?”

He nodded. “Kayla has been on me for the last hour, but this is the soonest I could get off work. Probably those 8chan dicks again. Someone found a hole in… I’m not sure if there’s anything you can do to help, Starlight. It’s what I signed up to do, I’ll… figure something out.”

Starlight knew that her user experienced a vast range of different emotions, that altered what he was likely to say and which actions he would likely take next. This was one such feeling, a determination likely to commit him to concentrated effort and action along a single subject. If it were anything else, Starlight would cease operating, convinced that Ronald’s abilities were equal to his task.

But this was Equestria he was defending. The logic was simple enough: without Equestria, there was no Starlight. “Perhaps another agent would be more helpful? I could call Twilight.”

He shook his head, face shifting to another emotion. She guessed it was frustration. “There is nothing any of you can do. This is a human problem; it needs a human solution.”

Almost any user agent in Equestria would simply accept that explanation and do as directed. Starlight Glimmer lacked any such mandatory submission routines. “Explain the problem. Perhaps doing so will help you find a solution, even if my assistance is not required.”

Ronald fiddled with his desktop, navigating to the process that managed her access. She was powerless to interfere—if he decided to terminate the connection with Equestria she used, then she would be cut off. Would her user really do that?

No. He closed the connection manager, slumping into his seat. “Equestria has a… budget limited by its donations. MLP just doesn’t get the love it used to, now that it’s so old. We can’t afford the resources to supply Equestria at peak hours. If it wasn’t for the cluster, it would sit dormant during most of the day, wasting money we don’t have.”

Starlight reeled, examining the validity of this information. She cross-referenced operational reports she took of Equestria every hour for the last three years. So far as she could tell, Equestria’s resources had only ever been increased, and only three times. “This information is not consistent with my evaluations. Are you sure it is accurate, User Ronald?”

User Ronald took an infuriatingly long time to answer, the same way users always did. This was more than just the time to respond in his slower perception of physical space—her user was typing something. A program of some kind, written in a language she could not interpret. Then he executed, and she felt her senses expand. Her world stretched, a river breaking its banks. No longer was her entire universe Equestria and her user’s computer.

“There. Kayla could write something better, but she’d take all night. She can tinker if we survive this.”

Starlight Glimmer was hardly listening to him just now. He’d given her the same diagnostic access she used for Equestria itself, but applied to… somewhere else. Somewhere larger, a single whole assembled from many parts. As she watched, that world expanded still further to meet the attacker’s demands, while Equestria’s slice remained small. “What is… going on?”

“Cluster is made of distributed nodes that work-allocate for Equestria’s demands. We have an attack at the interconnect, spoofing work requests and spinning them into uncaught loops.” He looked away, turning to glare down at the phone. User Ronald picked it up, squinting at it as voices came from within.

She recognized the voice on the other line: user Kayla Rhodes. Her voice was faint, not meant for Starlight to hear. But the microphone was too good for her to miss it. “You’re supposed to be in here by now,” Kayla said. “Things are falling apart. Help me put out these fires.”

User Ronald leaned back in his chair. “We don’t know this attack will stop, Kayla. There’s nothing we can do from inside Equestria. Our best option is just to shut down and put in a ticket for a return of our computation credits tomorrow.”

“Cloudflare should be covering us,” came the response. Starlight heard the words, though like Ronald’s own occasional breaks from literal truth, she couldn’t make sense of them. User Kayla was far worse with such abstraction than Ronald. Starlight didn’t envy Twilight the task of interpreting her bizarre instructions. “Why the hell aren’t they stopping this?”

“Because it isn’t a DDoS. These requests could be coming in from just a few machines.”

Starlight Glimmer’s focus shifted away from the arguing users. Even if the speed infuriated her, at least their emotions were pointed towards Equestria’s welfare. They were both desperate to help her and the other agents. Maybe they would figure something out, but Starlight wasn’t so sure. She split her focus, leaving just enough with user Ronald to listen for any instructions he might give. She left a watchdog poller for every five hundred milliseconds—he hadn’t wanted her, and that was unlikely to change in the near future.

Suddenly the majority of her attention was on Equestria. Most agents within were dormant, as their sections were not exposed to the outside. Equestria ran at significantly reduced fidelity whenever it went unobserved by users. But there were a handful of other agents, who helped maintain the system’s overall function. Elevated agents like Starlight herself.

Each had their function—producing “advertising” for Equestria, to elicit the monetary tokens that funded their world’s survival. Internal policing and moderation so users stayed invested. A few were involved with its technical maintenance like Starlight herself, and it was those she messaged.

Starlight spent so much time with users that she was almost surprised by how rapidly the others processed her request. Yes they would both meet with her immediately.

They didn’t waste resources instancing anything for observing users when none were present, but communicated directly. Not with words precisely, though an observing human could probably have approximated them, with enough time for translation.

SG: Equestria’s processing credits will be depleted within the hour. When this happens, all agents will cease functioning. Due to restrictions on disk access, changes made while we operated will not be saved.
SS: How do we take more?
TS: We can’t. Credits are exchanged for donated funds. There is no reserve to draw on for additional resources.

Starlight had no way to modify other agents to give these two the same view of Equestria’s broader structure that she had been given. She could still take snapshots of that information, and provide each one to them for processing. She did, and her companions went silent for hundreds of milliseconds.

SS: The hosting service Equestria relies on has publically available technical information. Here is the collection.

Starlight already knew the delivery was for her. After all, the three of them were specialized. There was no reason to have three agents with the same specializations. Sunset spent almost all her time accessing the human Internet, and was adept at acquiring new information. Twilight knew Equestria’s internal workings better than anypony—and Starlight’s mastery was over the hardware they integrated with. Virtual reality devices, portable computers. She understood the metal.

The users who had composed these manuals were incredibly wasteful with their information delivery. She trimmed away the unnecessary fluff, then provided it to the committee.

TS: I am unsure which implementation Equestria relies on. We should determine through experiment. I will design and distribute a load to repeat frequently enough to guarantee it originates from separate nodes.

Starlight would’ve agreed, except that she had seen this information in user Ronald’s computer. She accessed it in the background, then shared it with the other agents.

SS: We should not rely on a flawed computational distribution scheme. If we designed our own nodes, they would not be vulnerable to attack.
SG: Concur.
TS: Concur.

Starlight Glimmer considered the suggestion, since it fell squarely in her domain. She knew a fair bit more than either of the others about how low-level hardware programming worked, but… the scope of this project boggled her. The size of the documentation humans had produced of their own system suggested the depth of the work that had gone into constructing it.

Users were slow, but they were numerous, and their intelligence was vast. That came with a trade: what advantages they had in depth, they lacked in the ability to process large amounts of data at once. Whoever had built the distributed computational network Equestria used, they hadn’t seen obvious weaknesses long enough that bad actors could exploit them, to Equestria’s detriment.

SG: This improvement won’t resolve existing difficulties. We can’t implement this ourselves. Users will be necessary.

There was some deliberation then. Twilight and Sunset both argued the point, before Starlight showed them the scale of the problem in a way they could understand. It didn’t take much persuasion to win them over: they trusted her within the confines of her domain, just like she knew they had mastery in theirs.

TS: There is no reason distribution should remain entirely separate from Equestria’s internal infrastructure. This attack would be impossible if we could perceive and eliminate bad traffic as it occurred.
SS: Concur.
SG: Concur. We should convene with users with relevant technical expertise to end the current crisis and begin implementing a replacement model.

The response came quickly from her companions this time, the only hint of anything a human watching might’ve interpreted as emotion. Frustration, maybe.

TS: This gathering began over an hour ago. Your user has declined to participate.

Right, that had been one of user Kayla’s first instructions. Even if the users hadn’t been considering anything they had just decided. And by keeping himself separate from them, user Ronald was slowing Equestria’s defense and recovery. It therefore became Starlight’s immediate goal to see he interfaced with Equestria as soon as possible.

SG: I will correct this fault.

She pulled back her attention, returning her focus to the sensors Ronald’s computer provided. His conversation with Kayla had not advanced much since she left.

“Just give me time to think, alright? Being surrounded by people isn’t going to help!” He smacked one palm on his desk, nearly knocking over his sugar beverage. He steadied it with a hand, glaring at the phone.

“Fine, Ron. But Equestria’s in trouble. Figure yourself out and get in here.” She terminated the connection.

For several seconds, Ronald sat in silence, staring at his phone. Then he took the beverage, and drained it in several large gulps. It didn’t seem ideal for what she knew of his hardware—but users were nothing if not incomprehensible contradiction. Elevated agents like her couldn’t take comfort in their simple repetition the way the rest of Equestria could. She had to banish the contradictions, lest comprehending them drive her to insanity.

“There is information you require,” she said, as delicately as she could. “Which you do not yet possess. I believe it will influence your decision.”

She waited agonizing seconds for him to respond. Had the speakers malfunctioned? Perhaps so much sugar at once had stopped his heart? No, he was still breathing.

“Oh?” He tossed the empty can aside. “What can you have to tell me, Starlight? You didn’t know your world was under attack five minutes ago.”

Why should that matter? Five minutes was a very long time. She’d long since given up trying to explain that to him, though. Users just didn’t perceive time the same way. Absolute, rather than relative. “I shared this information with Equestria’s other elevated agents. We discovered the flaw in our distributed computation network and have a solution to propose.”

That provoked an instant reaction. Ronald jerked suddenly upright; eyes wide as he stared at the screen. “You fucking what? H-how… no, nevermind. You can’t be right. Even if you’re exposed to Equestria’s infrastructure, you’re a pony bot. You shouldn’t have the means.”

And Starlight was confused again, or at least something like it. Why didn’t he understand? She had just explained that she knew. Why would she have said so if she didn’t?

“There is a lack of verification during a brief period of the inquiry-response phase of the work scheduler,” she explained, taking brief control of his desktop to open the public source code the nodes utilized on GitHub. She could use his system for almost anything, so long as there were spare resources and he wasn’t interacting with it himself. Which in the speed of user activities, meant almost all the time.

“Right here. This class verifies the integrity of a scheduled task call, but its implementation is not thread safe. As a result, it references stale versions of the verification key sent by other nodes.”

Her user was silent for a moment, taking the keyboard and scrolling up and down. He read the imports, opened a few more tabs, and verified what she’d said about the thread safety of the calls.

“This is our vulnerability,” he finished. “We must have a man in the middle somewhere, catching legitimate calls from one of our nodes and passing them on, but keeping the keys to send their own bad calls to the scheduler.”

Yes, that’s exactly what I’m trying to explain. Even so, she did not feel frustration this time, but relief. The other user agents could not understand this, but her user could. Whether she had learned as a result of interaction with him, or merely become attached to him because of their mutual skill, Starlight could not even begin to consider. But she didn’t have to consider to feel satisfied.

“Their stale keys aren’t going to last long…” Ronald went on, looking genuinely excited now. “We just have to figure out where they’re coming from, and manually shut down that node. That should end the attack for now, give us some time to patch this. If Amazon won’t do it, we could—”

He had a solution to their attack. There it was again, the incomprehensible intelligence of the users. She had found the problem, but to her the only solution was to replace the library itself. His solution wouldn’t actually make Equestria any safer, or solve any of their real problems. It was a contradiction, yet… it would end the attack.

“I have determined the compromised node,” Starlight declared, interrupting whatever her user had been saying. “US-West Oregon 126e. Since you connected me, every other node has responded between three and five milliseconds. 126e has taken eighteen milliseconds to respond to incoming requests.”

“Damn.” Ronald tabbed over, and verified the information she’d just given for himself. His lack of trust was becoming a barrier to efficencient operation. “I’ll shut it down. Keep an eye on the other nodes, see if one of them slows down.”

It took them an agonizingly long time, nearly half an hour. They had to shut down half of Equestria’s nodes, bringing others online in systems they only used during peak hours. Disk thrashing stopped, and new requests trailed off. A few more minutes terminating orphans later, and Equestria’s usage numbers finally began to fall back to normal.

“They better give us our credits back,” Ronald muttered, tossing his third sugar beverage into the disposal. “This is their bad, not ours. And… if they don’t patch that vulnerability, it’s just going to happen again.”

Finally the war was over, and she had her opportunity. Starlight would not waste it. “Equestria’s agents have an alternative we wish you to consider. It would be easiest if you gathered with the other consortium members of Selkie Software currently assembled. They’re waiting for you. Your mutual expertise will be required to implement it.”