Em alguns produtos de segurança o domínio dos “anéis” do sistema operacional é fundamental e para alguns malwares, conquistar o poder do “anel” é torná-lo quase invencível.
Tá, anel pode ser um termo muito sinistro para você, no fundo para mim também, por isto que prefiro utilizar o termo “ring”. Há um tipo de malware (considerado advanced) que costuma render bastante trabalho que são os Rootkits; principalmente aqueles que sabem explorar o poder destes rings, OS Internals, processors internals ou até instruction sets bugadas e ou desconhecidas como Likhachev Nikolay encontrou em alguns rootkits (e trojans) em 2007 e revelou no paper “Remote Code Execution through Intel CPU Bugs“.
Rootkits podem ser de Ring 3 (User Land), de Ring 0 (Kernel Land), Ring -1 (Hypervisor), Ring -2 (SMM) e até de Ring -3, estando em iminência os de EFI que tem sucesso apenas em firmwares que não empregam algumas boas práticas de segurança, mas em tempos onde malwares já estão utilizando ataques desconhecidos de colisão de hash para forjar certificados digitais, muitos princípios começam a entrar em xeque.
Para muitos o desenvolvimento de rootkits é uma arte negra, até porque há várias técnicas relacionadas a eles que não são muito simples mesmo. Por isto outro dia fiquei admirado com um post no blog de uma empresa de segurança que tem produtos anti-malware, mostrando como realizar by-pass via kernel rootkit (ring 0) de um dos pilares da monitoração real-time por endpoint protections no Windows. Obviamente, esta empresa não é afetada por tal técnica, visto que seus engines de captura são de in-network e o conteúdo do tal post era direcionado para bypass de kernel mode driver callback, enfim outra categoria de AVs.
O post pareceu-me mais FUD (Fear, Uncertainty and Doubt) e uma peça de marketing, e isto levou-me a fazer uma série de questionamentos e deixou-me muito pensativo.