Sophos

23 May 2008 03:00 GMT

Broken Sality keeps on giving

Since its initial appearance back in 2003 the Sality (aka KuKu) parasitic virus has come and gone from the radar as its authors continue to re-release updates but none has caused more interest than the W32/Sality-AM variant due to its propensity to damage files upon infection.

Upon analysis of the most recent samples it was evident that there is a major bug in the infection routine causing files to be incorrectly modified during infection. So called ‘broken infections’ have been observed in a number of states ranging from ‘viable infection, broken host’ to ‘broken infection, broken host’, but unfortunately as far as the customer is concerned they simply want the infection gone and their files fixed.

      ;; a very broken sample - should we detect ??? .text:0100739D 60                   pusha .text:0100739E E8 00 00 00 00       call $+5 .text:010073A3 01 E8                add  eax, ebp .text:010073A5 BF 01 00 00 33       mov  edi, 33000001h .text:010073AA DB 53 8B             fist dword ptr [ebx-75h] .text:010073AD 3D CC 10 00 01       cmp  eax, offset GetModuleHandleA .text:010073B2 FF D7                call edi  ;; goes to la-la land !!!              ;; hrm...the rest of the host i wonder ??? .text:010073B4 66 81 38 4D 5A       cmp  word ptr [eax], 5A4Dh .text:010073B9 75 1F                jnz  short loc_10073DA .text:010073BB 8B 48 3C             mov  ecx, [eax+3Ch] .text:010073BE 03 C8                add  ecx, eax .text:010073C0 81 39 50 45 00 00    cmp  dword ptr [ecx], 4550h

From a malware author’s perspective such bugs are a non-issue as long as the virus replicates. However, for an anti-malware vendor this is much more of a problem, not only because disinfection (recovery of the host) may no longer be possible but because some infected files are so corrupt that they avoid detection.

Different anti-malware products use varied techniques to identify an infected file they may not all report broken samples as infectious. This is often difficult to explain to customers who run multiple anti-virus products, and although neither response is wrong, neither is entirely correct.

Traditionally, anti-virus vendors have used four different methods to detect broken replicants:-

Customers seem to understand detection of broken samples however they have some difficulty comprehending non-detection (often requiring support to assure them that the sample is not only not viable but beyond repair.)

Pete, SophosLabs AU