Latest
AI’s Black Box Is Getting a Window. Somebody Still Has to Look Through It“It Stars C. Thomas Howell. No.” Why AI Gets Stuck in a LoopShould You Query or Self-Publish Your Memoir If You’re Not Famous?Judge the Writing, Not the Tool: What the AI Pile-Ons Get WrongThiago Ferreira: Thinkers, Not DoersYana Semova: Let AI Do the AdminLisa Hamilton-Smith: Unstoppable, AI AssistedSuperman Day: The $130 Contract Behind the CapeRaymond Chandler Day: The Novelist Who Started at FiftyJohn Steinbeck Day: The Reporter Who Wrote the NovelInternational Translation Day: The Invisible AuthorsMaya Angelou Day: The Dare That Became a MemoirNational Podcast Day: The Interview Is the Raw MaterialKurt Vonnegut Day: The Book That Took Twenty YearsTell a Fairy Tale Day: The Stories Everybody EditedHarry Potter’s Birthday: The Book Twelve Publishers MissedHarper Lee Day: The Draft Her Editor Saw ThroughGene Roddenberry Day: The Pilot Who Pitched the StarsRoald Dahl Day: Six Pencils and a Grudge Against Grown-UpsInternational Literacy Day: The Readers Books LoseJack Kerouac Day: The Scroll and the Last AddressElmore Leonard Day: Leave Out the Part Readers SkipEncourage a Young Writer Day: The Adult Who Read the PagesBack to the Future Day: The Script Where Everything Pays OffNational Library Lovers Month: The Building a Town Pays ForAlice’s Day: The Story Told on a Rowing BoatRobert E. Howard Day: The Texan Who Built ConanStephen King Day: The Daily Two ThousandEmily Dickinson Day: The Poems in the DrawerIan Fleming Day: Two Thousand Words a MorningFyodor Dostoevsky Day: The Novels Written Against the ClockZora Neale Hurston Day: The Ear She TrainedF. Scott Fitzgerald Day: The Masterpiece That FloppedElmore Leonard’s 10 Rules of Writing, and Which Ones I BreakShould Your Novel Have a Prologue? When a Cold Open Earns Its Place“People Who Use AI Deserve to Be Castrated”: When the Sentence Outruns the CrimeHow Famous Memoirs Were Really Written: What the Collaborators DidThe Bell JarOpen: An AutobiographyBeneath a Scarlet SkyFlorida RoadkillCampus BattlefieldLifeThe Phone Book: The Curious History of the Book That Everyone Uses But No One ReadsThe Sage of SagittariusDid I Ever Tell You This?: A MemoirPa’anAmerican SoldierIt Doesn’t Take a HeroMake Your Bed: Little Things That Can Change Your Life…And Maybe the World

The Infection That Kept Coming Back

TL;DR: Cleaning infected machines one at a time inside a connected network is a plan to clean the same machines forever. We lived that loop: disinfect machine A, and while cleaning machine B, machine C reinfects A. The cycle only broke when we stopped treating machines and started treating the network, isolating the workstation population and separating clean systems from dirty ones.

One infection at the retailer taught me more about incident response than any course ever did, because it refused to die. It was a network-propagating piece of malware, and our first response was the obvious one: find an infected machine, clean it, move to the next.

The malware had a different plan. Clean machine A. While you’re cleaning machine B, machine C reinfects machine A. Clean C, and by then the infection has looped back through D and E and is sitting on A and B again. We were playing whack-a-mole against an opponent that never got tired, never went home, and worked every machine at the same time while we worked one at a time.

That incident still looks sloppy to me, mostly because of how long it took us to stop doing the obvious thing. Cleaning machines one at a time feels like progress. Every technician is busy, every desk visit ends with a clean machine, and the effort looks impressive while the infection wins. I’ve come to distrust any incident response that looks productive before anyone has checked whether it’s working.

The arithmetic of losing

The failure was mathematical. Our cleaning rate was serial: one technician, one machine, some number of minutes. The malware’s infection rate was parallel: every infected machine was a transmitter, all the time.

I’ve come to distrust any incident response that looks productive before anyone has checked whether it’s working.

When the propagation rate exceeds the cleaning rate, the infected population grows while you work. You can staff up, and we did, but you’re racing an exponential with a linear tool.

Every IT team that’s fought a network worm knows this feeling, and most learn the answer the same way we did: the hard way. I think that’s a failure in how the field trains people. Nobody should have to burn a week of users’ time rediscovering arithmetic that fits on a napkin.

We tried the obvious countermove first: more hands.

Pull technicians from other work, clean faster. It helped the way bailing helps a holed boat, meaning it changed the numbers without changing the outcome. Parallel infection beats serial cleaning at any staffing level you can afford, because the malware recruits every machine it captures while each technician remains exactly one technician. The staffing response fails mathematically before it fails operationally, and recognizing that early saves you the week we spent proving it.

Pulling technicians off their other work also exposed my biggest complaint about how companies organize this.

At the retailer, security was part of IT, and it caused problems because people put their own IT issues ahead of security. Executives lump the two together, and they shouldn’t. Security belongs in its own department, possibly reporting to the COO while IT usually reports to the CFO, so its judgment about a threat isn’t bent by an IT backlog. IT thinks about IT issues. Security has to think about people.

How do you stop a malware reinfection loop?

The cycle broke when we changed the unit of response. Instead of cleaning machines inside a hostile network, we isolated the workstation network itself, then split the population: a clean segment for disinfected machines, a dirty segment for everything else. Machines moved one direction only, dirty to clean, and only after verification. The transmitters could no longer reach the cured.

Once separation was in place, the numbers flipped. Every cleaned machine was permanently subtracted from the infected population instead of temporarily. The dirty segment shrank monotonically to zero, and the incident, which had run for a long, demoralizing stretch, ended in an orderly march.

I wish we’d done it on day one. Every hour we spent cleaning inside a hostile network was an hour users sat without machines while technicians did work the malware undid behind them. That waste belongs to whoever is running the response, and on that incident it belonged to us.

My take

Isolate the network before you clean a single machine. Machines get reinfected faster than a team can clean them one at a time, at any staffing level you can afford. Split the population into a clean segment and a dirty one, and move machines one way only, after verification. Every cleaned machine then stays clean. More technicians won’t save you. We spent a week proving that, and I’d do the split on day one.

Never fight an infection on ground the infection controls. Take the ground first.
Share on X

Why does malware keep coming back?

Why malware keeps coming back, and the ordering that stops itContainment precedes eradication. That ordering is standard incident-response doctrine, but doctrine reads like a slide until somebody has watched a cleaned machine light up again ninety seconds after they left the desk. The lived version of the rule is simpler: never fight an infection on ground the infection controls, so take the ground first. The same ordering governs modern incidents. Ransomware response starts with isolating segments instead of restoring files. Compromise response starts with cutting attacker access instead of resetting passwords one account at a time while the attacker still holds the mailbox receiving the resets. Every generation of defenders rediscovers the ordering, usually mid-incident.Why it keeps coming backNever fight an infection on ground the infection controls.1You clean the machineThoroughly, correctly, completely2It reinfects in ninety secondsBecause the ground was never taken3Contain firstIsolate the segment before restoring filesCut attacker access before resetting passwords4Then eradicateOn ground you control, where the fixstays fixed after you walk awayResetting passwords one at a time while the attacker holds the mailbox receiving the resets.
Why malware keeps coming back, and the ordering that stops itContainment precedes eradication. That ordering is standard incident-response doctrine, but doctrine reads like a slide until somebody has watched a cleaned machine light up again ninety seconds after they left the desk. The lived version of the rule is simpler: never fight an infection on ground the infection controls, so take the ground first. The same ordering governs modern incidents. Ransomware response starts with isolating segments instead of restoring files. Compromise response starts with cutting attacker access instead of resetting passwords one account at a time while the attacker still holds the mailbox receiving the resets. Every generation of defenders rediscovers the ordering, usually mid-incident.Why it keeps coming backNever fight an infection on ground the infectioncontrols.1You clean the machineThoroughly, correctly, completely2It reinfects in ninety secondsBecause the ground was never taken3Contain firstIsolate the segment before restoring filesCut attacker access before resetting passwords4Then eradicateOn ground you control, where the fixstays fixed after you walk awayResetting passwords one at a time while the attackerholds the mailbox receiving the resets.

Containment precedes eradication. That ordering is now standard incident-response doctrine, but doctrine reads like a slide until you’ve watched a cleaned machine light up again ninety seconds after you left the desk. The lived version of the rule is simpler: never fight an infection on ground the infection controls. Take the ground first.

The same ordering governs modern incidents. Ransomware response starts with isolating segments, and restoring files comes after. Compromise response starts with cutting attacker access. Resetting passwords one account at a time while the attacker still holds the mailbox that receives the resets is serial cleanup all over again. Every generation of defenders rediscovers the ordering, usually mid-incident, and I find that maddening, because it’s been written down for decades.

When executives ask me what makes a security war story worth publishing, this is my example.

The malware wasn’t exotic. The failure mode was serial defense against a parallel attacker, and it’s universal, so a reader who absorbs it will recognize it in incidents that haven’t happened yet. I’d rather read one executive admitting to a week of whack-a-mole than a hundred books pretending their teams got everything right the first time, because the pretending teaches nobody anything.

For more from this series, see The Cybersecurity Hub: breaches, audits, and hard-won security lessons from four decades in the trenches.

Frequently Asked Questions

Why do cleaned machines get reinfected?
I learned this firsthand when we cleaned an infected machine only to watch it get reinfected minutes later. The problem is that a cleaned machine gets returned to a network that still has other infected machines actively spreading the malware. Every infected system is transmitting all the time, so while you clean one machine, another can reinfect the ones you already fixed. Our cleaning rate was serial, one technician working one machine at a time, but the infection rate was parallel, with every infected machine spreading it at the same time. That mismatch meant the infected population kept growing even as we worked.
What is the right order for malware incident response?
Containment first, eradication second. Isolate the affected network segment, separate verified-clean systems from infected ones, then clean the remaining population. Cleaning before containing means cleaning repeatedly.
How do you contain a network worm outbreak?
In our case, the outbreak only stopped once we quit cleaning individual machines and isolated the entire workstation network instead. We split the population into two segments, a clean one for disinfected machines and a dirty one for everything still infected, and only let machines move from dirty to clean after verification. Because the segments were separated, the infected machines could no longer reach the ones we’d already cured. That changed the numbers completely, since every cleaned machine was now permanently removed from the infected population instead of being at risk of reinfection. The dirty segment shrank steadily until it reached zero, and an incident that had dragged on for a long time finally ended in an orderly way.

About the Author
Richard Lowe, professional ghostwriter

Richard Lowe is a professional ghostwriter and author with 113+ books authored and 54+ ghostwritten. Before writing full time he spent 33 years in enterprise technology, including 20 years as Director of Computer Operations and Technical Services at Trader Joe's. He writes nonfiction, fiction and memoir, and works with executives and experts on books that build authority.

More about Richard Lowe →

Disclaimer

The views and opinions expressed in this blog post are solely those of Richard Lowe and are based on personal experience and research. This content is for informational purposes only and should not be construed as professional legal, financial, accounting, or business advice. Always consult with qualified professionals before making important business or legal decisions. Richard Lowe is not a lawyer, accountant, or licensed professional advisor, and this content does not establish any professional relationship.