When Developers API Simplify User-mode Rootkits Developing
User mode rootkits involve system hooking in the user or application space. Whenever an application makes asystem call, the execution of that system call follows apredetermined path and after that rootkit can interceptit. One of the most common user mode techniques isthe one in memory modification of system libraries.That’s why applications run in their own memoryspace and the rootkit needs to patch the memoryspace of every running application to provide self-control. Moreover, the rootkits have to monitor for new applications to patch those programs’ memoryspace too (need to explain the security rings if they arereferenced).User-mode rootkits run in Ring 3, along with other applications as user, rather than low-level systemprocesses. They have a number of possible installationvectors to intercept and modify the standard behaviour of
application programming interfaces
(APIs). Someinject a dynamically-linked library like a. DLL file onWindows into processes, and are thereby able toexecute inside any target process to spoof it. Injectionmechanisms include:• Use of vendor-supplied application extensions. For example, Windows Explorer as well as any mobileplatform like BlackBerry has public interfaces thatallow third parties to extend its functionality.• Interception of messages.• Exploitation of security vulnerabilities.• Function hooking or patching of commonly used APIs, for example, to mask a running process or filethat resides on a file system.Windows-based rootkits are modifying paths andsystem structures these methods are used to masknetwork activity, registry keys, and processes Rootkitsmodify all the things which could alert a user to thefact that a malicious program is active in the system.Implementation in user mode rootkits is relatively easy.Most often, a method based on hooking API functionsis used to modify the path to executables.Many of rootkits techniques are well documented anduse
applications. Example: a desktop firewallprogram may use similar hooking things to watch andalert the user to any outgoing network connectionswhile a rootkit will use it to hide their backdoor activities. The legitimizing effect of commercial rootkitsoftware is leading away from user-mode and towardkernel-mode techniques at first glance. However, user-mode rootkits still have the ability to bypass securityapplications Non-official market places are now widelyavailable on the Internet therefore malware writersdon’t even ponder over how to spread it. It’s very easyto integrate several technologies into one malwareattack.be installed. Unfortunately, BlackBerry suffers from thesame problem.Mobile environments makevery attractive targets toattackers. Important personal and financial informationcan easily be compromised because phone usage is apart of day-to-day user activities. For example, mobiledevices are being used for chatting, email, storingpersonal data even financial data, pictures, videos,GPS tracks and audio notes. A rootkit is a stealth type of malicious software – designed to keep itself, other files, or networkconnections hidden from detection. A rootkit typicallyintercepts common API calls to modify or filter information from the operating system to keep itself hidden. For example, it can intercept requests to fileexplorer and cause it to keep certain files hidden fromdisplay, even reporting false file counts and sizesto the user. There are legitimate uses for rootkits bylaw enforcement, parents or employers wishing toretain remote command and control and/or the abilityto monitor activity on their employee’s or children’scomputer systems. Another example, rootkits are commonly used toconceal keyloggers, which steal sensitive user data,such as passwords and credit card numbers, by silentlylogging keystrokes. Rootkits are design to maintainaccess to targeted computers. Rootkits can also disablethe firewall/antivirus tools by replacing files, changingsettings or modifying what the antivirus application cansee. None of these activities are directly visible to theuser because the rootkit conceals its presence.There are several kinds of rootkits. They are bootkits,firmware user-mode kernel and hypervisor. A further discussion needs to compare kernel mode with user-mode rootkits.Kernel mode rootkits involve system hooking or modification in kernel space which is the ideal placebecause it is at the lowest level, highest level of securityand thus, is the most reliable and robust method of system hooking. As a system call’s execution path leaves user modeand enters kernel mode, it must pass through a gate.This gate must be able to recognize the purpose of the incoming system call and initiate the execution of code inside the kernel space and then return resultsback to the incoming user mode system call. It’s somekind of a proxy between user mode and kernel mode.One of the rootkit techniques is to simply modify thedata structures in kernel memory. For example, kernelmemory must keep a list of all running processes anda rootkit can simply remove themselves and other malicious processes they wish to hide from this list.Rootkits do this by inserting or patching the process thatlist running processes and then filter what processesare reported as running.