The Win32k kernel-mode driver

CVE-2014-4113 is also known by its Microsoft Security Bulletin designation, MS14-058. It is an Elevation of Privilege (EoP) vulnerability in the kernel-mode driver Win32k.sys. I don't know if the name Win32k.sys makes this apparent, but a bug in this particular driver is very bad news for a Windows system.

The Win32k.sys driver is the kernel side of some core parts of the Windows subsystem. Its main functionality is the GUI of Windows; it's responsible for window management. Any program that needs to display something doesn't talk to graphics hardware directly; instead, it interfaces via the graphics device interface (GDI), which is managed by Win32k.sys. User mode window management talks to Win32k.sys through User32 DLLs from the user-side service Client/Server Runtime Subsystem (CSRSS). Drivers provide access for entities to their functionality via entry points, and Win32k.sys has about 600 of them. This highly complex interaction and core functionality makes security a bit of a nightmare for something like Win32k.sys.

This is a highly simplified depiction of the place of Win32k.sys in the Windows kernel and its relationship to user land: 

Note that this depiction also physically relates to memory, as user land is the lower portion of memory (at the top of the image), and kernel land occupies the upper portion. 0x00000000 to 0x7FFFFFFF is user space, and application virtual memory spaces occupy certain regions within it; the remainder, 0x80000000 to 0xFFFFFFFF, is the almighty kernel. Windows design is not dumb – you can't just arbitrarily execute something in kernel land. What we hope to accomplish is tricking code running in kernel mode to execute our payload within user space. We don't need to trespass in the kernel's backyard to get something running with the kernel's high privileges:

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.147.215