Researchers can't identify programming language used in Duqu, ask for help

The programming language used to write parts of the Duqu malware remains a mystery despite countless hours of analysis

Malware experts from Kaspersky Lab have asked the programming community for help identifying the programming language, compiler or framework that was used to write an important part of the Duqu Trojan, in the hope that it could reveal clues about who created it or why.

"When we checked Duqu it looked totally unknown and that was very curious, because it's unclear why something very custom was developed and used," said Vitaly Kamluk, chief malware expert with Kaspersky Lab's global research & analysis team.

Understanding how a piece of malware was created can offer clues about where to look for it next or the level of resources required for its development, the security expert said.

Some parts of the Duqu payload DLL, the component responsible for interacting with the command and control servers, downloading and executing additional modules, and performing other tasks, were written in standard C++, but a big chunk of it was not.

"This slice is different from others, because it was not compiled from C++ sources. It contains no references to any standard or user-written C++ functions, but is definitely object-oriented," said Kaspersky Lab expert Igor Soumenkov in a blog post that describes the particularities of the unfamiliar code.

Kaspersky researchers refer to this portion of the Trojan as "The Duqu Framework" and believe that it might have been created by a different programming team. The unusual code is also particular to Duqu and doesn't exist in Stuxnet, unlike some other parts that were directly borrowed from the infamous industrial sabotage malware.

"The mysterious programming language is definitively NOT C++, Objective C, Java, Python, Ada, Lua and many other languages we have checked," Soumenkov said, adding that Kaspersky's research team has spent countless hours analyzing the code.

The company's researchers even discussed it with third-party experts, but didn't get any closer to solving the mystery. "It looks absolutely alien," Kamluk said.

Finally, Kaspersky Lab appealed to the entire programming community in the hope that someone might recognize the code constructions and figure out what was framework, toolkit or language was used.

The company has received various suggestions in comments on its blog, that range from F, D, Iron Python, High-Level Assembly, Common LISP, Forth, Erlang, Vala, to more exotic tools like RoseRT, which one user claims was used in secure government projects.

"It took us several weeks to check commonly used programming languages and various compilers," Kamluk said. "So, I guess it may also take some time to check other suggestions."

Join the CSO newsletter!

Error: Please check your email address.

More about KasperskyKaspersky

Show Comments

Featured Whitepapers

Editor's Recommendations

Solution Centres

Stories by Lucian Constantin

Latest Videos

  • 150x50

    CSO Webinar: The Human Factor - Your people are your biggest security weakness

    ​Speakers: David Lacey, Researcher and former CISO Royal Mail David Turner - Global Risk Management Expert Mark Guntrip - Group Manager, Email Protection, Proofpoint

    Play Video

  • 150x50

    CSO Webinar: Current ransomware defences are failing – but machine learning can drive a more proactive solution

    Speakers • Ty Miller, Director, Threat Intelligence • Mark Gregory, Leader, Network Engineering Research Group, RMIT • Jeff Lanza, Retired FBI Agent (USA) • Andy Solterbeck, VP Asia Pacific, Cylance • David Braue, CSO MC/Moderator What to expect: ​Hear from industry experts on the local and global ransomware threat landscape. Explore a new approach to dealing with ransomware using machine-learning techniques and by thinking about the problem in a fundamentally different way. Apply techniques for gathering insight into ransomware behaviour and find out what elements must go into a truly effective ransomware defence. Get a first-hand look at how ransomware actually works in practice, and how machine-learning techniques can pick up on its activities long before your employees do.

    Play Video

  • 150x50

    CSO Webinar: Get real about metadata to avoid a false sense of security

    Speakers: • Anthony Caruana – CSO MC and moderator • Ian Farquhar, Worldwide Virtual Security Team Lead, Gigamon • John Lindsay, Former CTO, iiNet • Skeeve Stevens, Futurist, Future Sumo • David Vaile - Vice chair of APF, Co-Convenor of the Cyberspace Law And Policy Community, UNSW Law Faculty This webinar covers: - A 101 on metadata - what it is and how to use it - Insight into a typical attack, what happens and what we would find when looking into the metadata - How to collect metadata, use this to detect attacks and get greater insight into how you can use this to protect your organisation - Learn how much raw data and metadata to retain and how long for - Get a reality check on how you're using your metadata and if this is enough to secure your organisation

    Play Video

  • 150x50

    CSO Webinar: How banking trojans work and how you can stop them

    CSO Webinar: How banking trojans work and how you can stop them Featuring: • John Baird, Director of Global Technology Production, Deutsche Bank • Samantha Macleod, GM Cyber Security, ME Bank • Sherrod DeGrippo, Director of Emerging Threats, Proofpoint (USA)

    Play Video

  • 150x50

    IDG Live Webinar:The right collaboration strategy will help your business take flight

    Speakers - Mike Harris, Engineering Services Manager, Jetstar - Christopher Johnson, IT Director APAC, 20th Century Fox - Brent Maxwell, Director of Information Systems, THE ICONIC - IDG MC/Moderator Anthony Caruana

    Play Video

More videos

Blog Posts