Project Ire identifies a new LOTUSLITE malware variant using advanced behavioral analysis.

Project Ire identifies a new LOTUSLITE malware variant using advanced behavioral analysis.

Concept 1: What is Malware and Why Detection is Hard

The Basic Problem

Malware is malicious software designed to harm, spy on, or gain unauthorized access to computer systems.

Two Main Ways to Detect Malware

MethodHow It WorksWeakness
Signature-basedMatches known file hashes or stringsMisses new variants with different hashes
BehavioralLooks at what the software doesMore complex, requires deeper analysis

The Core Challenge This Article Addresses

A malware variant can share the same behaviors as a known threat but have completely different file hashes and strings — making it invisible to signature scanners.

This is exactly what happened here: the sample had different indicators but identical behaviors to a known malware family.


Concept 2: Key Terminology — IOCs vs. TTPs

These two terms are central to the entire article.

IOCs — Indicators of Compromise

  • What they are: Specific, observable artifacts left by malware
  • Examples:
    • File hashes (SHA-256)
    • IP addresses
    • Domain names
    • File paths
    • Registry key names
  • Limitation: Change easily between variants — a new compile produces a new hash

TTPs — Tools, Tactics, and Procedures

  • What they are: The behavioral patterns and methods an attacker uses
  • Examples:
    • How the malware installs itself
    • How it communicates with its controller
    • How it hides from detection
  • Strength: Much harder to change — they reflect how the attacker thinks and operates

Why This Distinction Matters Here

Known LOTUSLITE sample:
  IOCs: hash = ABC123, path = C:\ProgramData\Technology360NB\
  TTPs: DLL sideloading, HTTPS C2, registry persistence

New sample (this article):
  IOCs: hash = 47e51e82... (DIFFERENT — not on any list)
  TTPs: DLL sideloading, HTTPS C2, registry persistence (SAME)

The sample evaded detection because defenders were checking IOCs, not TTPs.


Concept 3: What is a DLL Backdoor and How Sideloading Works

What is a DLL?

A DLL (Dynamic Link Library) is a file containing code that other programs can load and use. Windows programs routinely load DLLs to access shared functionality.

What is a Backdoor?

A backdoor is malware that gives an attacker secret, persistent access to a system — like a hidden door into a building.

DLL Sideloading — The Delivery Trick

This is a clever technique that abuses how Windows loads DLLs.

Normal behavior:

Legitimate App (e.g., KuGou music player)
  → loads legitimate helper.dll
  → runs normally

Sideloading attack:

Legitimate App (renamed, trusted)
  → loads MALICIOUS.dll (placed in same folder)
  → malicious code runs under trusted process

Why it works:

  • The legitimate EXE is trusted by security tools
  • The malicious DLL "hides" behind the trusted process
  • Many security products don't scrutinize DLLs loaded by trusted applications

In This Sample Specifically

SmartPrintScreen.exe (legitimate-looking loader)
  → sideloads AMPV.dll (the malicious backdoor)
  → AMPV.dll contains all the malicious functionality

Concept 4: Persistence Mechanisms — How Malware Survives Reboots

The Problem Malware Faces

When a computer restarts, running programs stop. Malware needs a way to automatically restart without the user noticing.

The Registry Run Key

Windows has a special registry location that automatically launches programs at login:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Any program listed here runs automatically when the user logs in.

How This Sample Uses It

Step 1: AMPV.dll copies files to C:\ProgramData\SmartPrint\
         - SmartPrintScreen.exe (the loader)
         - AMPV.dll (itself)

Step 2: Writes registry Run key:
         "DadaBank" = C:\ProgramData\SmartPrint\SmartPrintScreen.exe --DaDaBar

Step 3: On next login:
         Windows reads Run key → launches SmartPrintScreen.exe
         SmartPrintScreen.exe → sideloads AMPV.dll
         Malware is running again

Comparison with Known LOTUSLITE

DetailAcronis SampleThis Sample
Install pathC:\ProgramData\Technology360NB\C:\ProgramData\SmartPrint\
Run key nameLite360DadaBank
Launch argument--DATA--DaDaBar

Different IOCs, identical mechanism — this is the TTP match in action.


Concept 5: Command and Control (C2) Communication

What is C2?

Command and Control (C2) is the communication channel between malware on a victim's machine and the attacker's server. Through C2, attackers can:

  • Send commands to the malware
  • Receive stolen data
  • Update the malware's behavior

How This Malware Hides Its C2 Traffic

Traffic camouflage: The malware disguises its network traffic to look like normal communication with Google and Microsoft services — making it blend into legitimate network traffic.

The Magic DWORD — A Protocol Fingerprint

A DWORD is a 4-byte (32-bit) value. Malware families often use a specific "magic" value at the start of their custom network packets — like a secret handshake.

Acronis sample magic value:  0x8899AABB
This sample's magic value:   0xB2EBCFDF

Both use the same structure (custom binary protocol over HTTPS) but with different magic values — again, same TTP, different IOC.

What the Backdoor Can Do (C2 Commands)

The article mentions several capabilities identified through analysis:

  • Interactive shell — attacker can run commands
  • Directory enumeration — list files and folders
  • File primitives — read, write, delete files
  • Chunked upload — send stolen files back in pieces

Concept 6: Obfuscation and Deceptive Exports

What is Obfuscation?

Obfuscation means deliberately making code confusing or misleading to slow down analysis.

The Fake Export Table

A DLL's export table lists functions that other programs can call. This malware exports a long list of banking and QR-code themed function names:

Query_Bank
BankSepah_Iran
BankToman_BMI
BankofChina
qrBankInit
JpgSymbolToBMP
... and others

The trick: Most of these functions do nothing useful — they just show a message box or exit. They exist to make the DLL look like a legitimate banking/QR SDK.

The real purpose: The loader calls one of these exports via GetProcAddress, which eventually reaches the actual malicious entry point.

Loader calls: GetProcAddress(dll, "BankofChina")
Appears to be: legitimate banking SDK function
Actually does: launches LOTUSLITE backdoor functionality

This is like a building with 50 labeled doors, but only one actually opens — and it leads somewhere dangerous.


Concept 7: What is Project Ire and Agentic Analysis

The Traditional Approach

Human malware analysts:

  1. Receive a suspicious file
  2. Manually decompile it
  3. Read through thousands of lines of code
  4. Build a picture of what it does
  5. Write a report

This is slow, expensive, and doesn't scale to the volume of new malware variants.

What Project Ire Does Differently

Project Ire is Microsoft's autonomous malware-classification agent — an AI system that performs this analysis automatically.

Key Properties of Ire

PropertyMeaning
AutonomousNo human interaction required
BlindNo prior context, metadata, or analyst hints
Tool-usingInvokes decompilers and binary analysis tools
AuditableBuilds a chain of evidence, not just a verdict
BehavioralAnalyzes what code does, not just what it looks like

What "Agentic" Means

An agent in AI is a system that:

  1. Receives a goal ("analyze this file")
  2. Decides what tools to use
  3. Takes actions (runs decompiler, examines functions)
  4. Interprets results
  5. Takes further actions based on findings
  6. Reaches a conclusion

Ire is not just running a script — it's making decisions about how to investigate, similar to how a human analyst would.

What Ire Produced

From a single tool call (one decompiler run), Ire produced:

  • Function-by-function behavioral report
  • Install routine description
  • C2 packet layout
  • Command IDs
  • Persistence mechanism
  • Obfuscation techniques
  • Final verdict: malicious

Concept 8: Reverse Engineering and Decompilation

What is Reverse Engineering?

Reverse engineering means taking a compiled binary (machine code) and working backwards to understand what it does — without having the original source code.

What is Decompilation?

Source code (human-readable) 
    → [compiler] → 
Binary/machine code (what runs on CPU)
    → [decompiler] → 
Pseudo-code (approximate human-readable reconstruction)

A decompiler attempts to reconstruct something resembling the original source code from the compiled binary.

Why This Matters for Malware Analysis

Malware authors don't share their source code. Analysts must:

  1. Take the compiled .dll or .exe
  2. Decompile it into readable pseudo-code
  3. Read through functions to understand behavior
  4. Build a picture of malicious intent

Ire automates this entire process using LLM (Large Language Model) reasoning over decompiled output.


Concept 9: LLM Calibration — The Risk of Misleading Strings

The Problem

LLMs (like the one powering Ire) can be misled by suggestive names in code — just like a human analyst might be.

The Specific Example from the Article

The malware contained a function referencing:

nfapi::nf_unRegisterDriver
NetFilter

What these names suggest: Kernel-level network driver operations — very serious, sophisticated capability.

What the function actually does: Writes a registry Run key — basic persistence, nothing to do with network drivers.

Why This is Dangerous

A poorly calibrated agent might:

See: nf_unRegisterDriver
Conclude: "This malware intercepts network packets at kernel level"
Result: Defenders build detection rules for kernel driver activity
        → Chasing a phantom that doesn't exist

What Ire Did Correctly

Ire:

  1. Flagged the suspicious naming
  2. Analyzed the actual behavior of the function
  3. Did not claim active packet interception
  4. Used it as one piece of evidence among many

This demonstrates the difference between string matching (naive) and behavioral analysis (robust).

The Broader Lesson

This also applies to the string "BelievemeIamMustang-Panda" found in the binary:

  • A naive system might immediately attribute the malware to Mustang Panda
  • Ire declined to make attribution based on a string alone
  • The string could be: a developer artifact, a trophy, or a deliberate plant to mislead analysts

Concept 10: Threat Attribution — Why It's Complicated

What is Threat Attribution?

Attribution means identifying who created or deployed a piece of malware — typically a nation-state, criminal group, or specific threat actor.

The Evidence Hierarchy

Strong evidence:
  ✓ Infrastructure overlap (same servers, IPs)
  ✓ Code reuse across confirmed samples
  ✓ Operational patterns over time
  ✓ Human intelligence

Weak evidence:
  ✗ A string in the binary saying who wrote it
  ✗ Similar techniques (many groups copy each other)

The Mustang Panda Situation

Acronis's attribution: Based on infrastructure overlap and TTP analysis → moderate confidence → Mustang Panda

This sample's "evidence": Contains the literal string BelievemeIamMustang-Panda

Why the String is Not Proof

PossibilityExplanation
Developer artifactA programmer left a debug string
TrophyAttacker bragging internally
False flagDeliberately planted to mislead attribution
Adversarial inputDesigned to bias AI analysis tools

The article explicitly does not make an attribution call — it notes the string exists and leaves the question open.


Concept 11: The Significance — Why This All Matters

The Detection Gap Problem

Timeline of this sample:

May 28: Discovered on VirusTotal
         → 1 of 72 vendors detect it

June 4:  One week later
         → 7 of 70 vendors detect it
         → CrowdStrike, SentinelOne, Sophos, Trellix, 
           Palo Alto, ESET still miss it

During that gap — and potentially for much longer — this malware could operate undetected on systems protected by major security products.

What Behavioral Analysis Solves

Signature approach:
  "Does this file match known bad files?" → NO → passes through

Behavioral approach:
  "Does this file behave like malware?" → YES → flagged

The Key Insight

Ire never knew it was looking at LOTUSLITE. It:

  1. Analyzed the binary's behavior
  2. Described what it does precisely
  3. Reached a malicious verdict

The family mapping (connecting it to LOTUSLITE) was done afterward by humans comparing Ire's report to Acronis's report.

This means Ire can catch unknown variants of known families and potentially entirely novel malware — because it reasons about behavior, not identity.


Summary: How All Concepts Connect

PROBLEM: New malware variant
         ↓
         Different IOCs (hash, paths, keys) → evades signatures
         Same TTPs (install, C2, persistence) → behavioral match
         
SOLUTION: Project Ire
         ↓
         Decompiles binary (reverse engineering)
         Analyzes function behaviors (not strings)
         Builds evidence chain (auditable)
         Avoids misleading strings (calibration)
         Declines false attribution (rigor)
         Produces verdict: MALICIOUS
         
RESULT:  Caught what 65+ security vendors missed
         Described behavior precisely enough to map to LOTUSLITE
         Without ever being told what to look for

The article demonstrates that agentic, behavioral analysis represents a meaningful advance over signature-based detection — particularly for the hardest case: variants that share methods but not markers.

More to study