Hi.
EP_X0FF wrote:Long time ago I was researching NOD32 v4.2 self-protection. AFAIR it protects csrss from NtWriteVirtualMemory, likely to avoid injection. Few years ago this was solved by different injection method. How do you make it?
Yes indeed it blocking 'write' to the VA of the csrss, as well as lsass.
The version that I tested, intercepted a lot of important system services, for example NtQueueApcThread (must be again against inject). But as always there exists backdoor, which consists in a trusted process. So I located it and used it impudently ;) Frankly speaking I expected BSoD from Nod32, because their drivers were always subject of suspicion - 4.0 suffered from multiple BSoD's. Few years ago it was possible to uninstall this product by sending specific IO control code to their driver.
Alex wrote:It is a never ending story there will be always a methods to bypass AV's SP even if their are hooking masters.
I believe it is not 100% true. As example see DefenseWall. You can control most of the termination methods, drivers loading, but this affect user experience (multiple allow/disallow popups) and slowdowns system performance. Like any SP it only works for user mode due to obvious axiom for ring0 'rule them all'. ISV developers are mostly aware of quality of their product, what it can do in reality and what it can't. Of course no one will tell this on public.
Even if we consider that the practical benefits of Self-Defense, as well as it bypass is very low and it is doubtful, most of ISV still forced to do it due to marketing reasons. If ISV big and rich it may not pay much attention to this feature as it is mostly marketing like I said. Big corporation like Microsoft for example do not consider SP as something required because they rightly believe that if computer security already compromised and intruder running with supervisor privileges, your computer is no longer yours. Let's say, many things in modern AV's exists only because of marketing power. For example modules called 'Anti-Rootkits'. I hope this tragedy in terms of system programming will be history as soon as most of the computers will be forced to use X64 OS and the operating system will be more or less guarantee protection against the penetration of the unknown code into privileged execution levels.
But this 'terminate me' game is really enjoyable because it forces you to find a non standard approaches for solving trivial tasks ;)
Best Regards,
-rin