Title :
Foreign Code Detection on the Windows/X86 Platform
Author :
Nanda, Susanta ; Li, Wei ; Lam, Lap-chung ; Chiueh, Tzi-cker
Author_Institution :
Dept. of Comput. Sci., State Univ. of New York, Stony Brook, NY
Abstract :
As new attacks against Windows-based machines emerge almost on a daily basis, there is an increasing need to "lock down" individual users\´ desktop machines in corporate computing environments. One particular way to lock down a user computer is to guarantee that only authorized binary programs are allowed to run on that computer. A major advantage of this approach is that binaries downloaded without the user\´s knowledge, such as spyware, ad-ware, or code entering through buffer overflow attacks, can never run on computers that are locked down this way. This paper presents the design, implementation and evaluation of FOOD, a foreign code detection system specifically for the Windows/X86platform, where foreign code is defined as any binary programs that do not go through an authorized installation procedure. FOOD verifies the legitimacy of binary images involved in process creation and library loading to ensure that only authorized binaries are used in these operations. In addition, FOOD checks the target address of every indirect branch instruction in Windows binaries to prevent illegitimate control transfers to either dynamically injected mobile code or pre-existing library functions that are potentially damaging. Combined together, these techniques strictly prevent the execution of any foreign code. Experiments with a fully working FOOD prototype show that it can indeed stop all spyware and buffer overflow attacks we tested, and its worst-case run-time performance overhead associated with foreign code detection is less than 35%
Keywords :
formal verification; invasive software; operating systems (computers); program control structures; software libraries; FOOD; Windows binaries; Windows/X86 platform; ad-ware; binary image verification; binary program; buffer overflow attack; foreign code detection; indirect branch instruction; injected mobile code; library loading; spyware; Application software; Buffer overflow; Computer science; Computer worms; Electronic mail; Internet; Libraries; Prototypes; Runtime; Testing;
Conference_Titel :
Computer Security Applications Conference, 2006. ACSAC '06. 22nd Annual
Conference_Location :
Miami Beach, FL
Print_ISBN :
0-7695-2716-7
DOI :
10.1109/ACSAC.2006.29