thaddeus e. grugq thegrugq@infosec.exchange Profile picture
Mar 31 12 tweets 2 min read Read on X
The xz backdoor was the final part of a campaign that spanned two years of operations. These operations were predominantly HUMINT style agent operations. There was an approach that lasted months before the Jia Tan persona was well positioned to be given a trusted role.
The trigger for this “Quest for Maintainer” operation was a very long patch which was exactly the sort of thing that the maintainer was not able to process particularly well. New personas appeared to push on this issue. Jigar Kumar was the spearhead for this op.
The JK persona hounds Lasse (the maintainer) over multiple threads for many months. Fortunately for Lasse, his new friend and star developer is there, and even more fortunately, JT has the time available to help out with maintenance tasks. What luck!
This is exactly the style of operation a HUMINT organisation will run to get an agent in place. They will
position someone and then create a crisis for the target, one which the agent is able to solve.
Every intelligence agency in the world could run this campaign, design and execute these operations. There is a serious level of technical acumen on display as well, the Jia Tan persona has to be able to do the work and talk the talk, but the core of this campaign is HUMINT.
The real treasure in the GitHub repository was the pull request comments. This is where the tradecraft of agent interactions could be observed. The PR threads and the xz mailing list reveal the tradecraft used by this group. Including some revealing errors in their persona covers
The xz campaign was patient, but it wasn’t slow. Jia Tan introduces himself around March 2022, and by January 2023 he is announcing an xz release. In March 2023 he takes over signing release tarballs.
12 months to go from zero to maintainer. That is not slow, that’s fast af
In 2023 the operation to get the ifunc hook added to xz takes up the latter half of the year. They aren’t merged until October of 2023. There are cover operations that happen during this time as well, including an operation to lend credibility to the ifunc patch.
The entire campaign is very reasonably paced for an intelligence agency. They approach, get an agent in place, move the pieces into location, and then pull the trigger. Every stage is accomplished smoothly and with sufficient cover for action.
The way the campaign is falling apart under scrutiny is to be expected. They did not build a campaign to resist investigation, they built a campaign to avoid investigation. And they were successful. At no point in the campaign did they raise suspicion. It was just their bad luck.
Briefly, I want to address the issue of who is to blame. Easy — the people behind the attack. Lasse, the maintainer of xz, was the target of a patient intelligence campaign that invested more resources into subverting him than anyone invested into his project.
It is important to remember that Lasse is blameless in this. There is no individual, and very very few organisations, able to detect, let alone resist!, the directed interest of an intelligence agency.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with thaddeus e. grugq thegrugq@infosec.exchange

thaddeus e. grugq thegrugq@infosec.exchange Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @thegrugq

Mar 29
On the .xz backdoor.

It is hard to see how the developer Jia Tan is innocent. The backdoor was added in 5.6.0 by his account. He contacted Fedora to push them to move to 5.6.0. There was a problem with valgrind, they worked with hi to resolve it. He commits the fix in 5.6.1.
If Jia Tan did not commit the backdoor in 5.6.0, and his account was hijacked, it strains credulity that he worked on fixing an issue introduced from a fraudulent commit in his name without noticing. Instead, he worked with Fedora to resolve the issue and committed a fix.
Read 5 tweets
Dec 13, 2023
@ravirockks @onixIT “The cyber will get through”

Seriously though, these sorts of attacks have been categorised as counter value operations (the Douhet strategy). And I’m willing to believe that is the Kremlin strategy here.

I just wonder if the mid level commanders believe it will work?
@ravirockks @onixIT Or, are they just doing what they get told to do / what they know their bosses expect them to do?

If you spent a couple months gaining access to Kyivstar and then destroy everything just because “it’s Monday” wouldn’t you feel like you’ve wasted your time?
@ravirockks @onixIT It’s totally pointless to spend so many resources to cause so little strategic change.

Of course, this seems to be the Russian theory of victory — waste massive resources, achieve nothing of strategic value.
Read 4 tweets
Mar 19, 2018
Cambridge Analytica is Goebbles 2.0

See if you can match the Goebbles rules for propaganda to the CA talking points! Its fun :)



psywarrior.com/Goebbels.html
1. Propagandist must have access to intelligence concerning events and public opinion.

.. yup, looks like CA does that. ✅
2. Propaganda must be planned and executed by only one authority.
a. It must issue all the propaganda directives.

... "we wrote the speeches [for Kenya]".. CA's on a roll.. ✅
Read 12 tweets
Feb 3, 2018
A critical security feature is self cleansing (this is one of the reasons you cannot have secure email). The next critical component is strong encryption with PFS. The third leg of the “actually secure” tripod is anonymous + disposable accounts. Nothing ticks all the boxes.
Signal: self cleansing, strong encryption, accounts are linked to a smartcard

Wickr: self cleansing, unknown encryption, moderate unlinking¹

Threema: 👎, no PFS, moderate unlinking¹

Telegram: self cleansing, 😂, smartcard

Confide: self cleansing, 😂, smartcard
__
¹ GCM/APN
Possibly the only safe option is a self hosted Signal service with customized apps, but there’s no documentation or Docker for setting one up. And it wouldn’t scale to a large enough population to provide cover traffic. Maybe XMPP + OMEMO, but that’s a different set of problems.
Read 4 tweets
Sep 28, 2017
Ha, that thing you tweeted about, is like OverSec for browsers. OverSec works on Android, has some awesome features
In particular you can send the encrypted text encoded into non visible glyphs, and then write a cover message that is displayed instead
So your WhatsApp doesn’t look like it is full of encrypted chatter, but just normal messages. Of course, forensics would find it, but…
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(