Improved Kernel Security Through Code Validation, Diversification, and Minimization

نویسندگان

  • Dannie Michael Stanley
  • Eugene H. Spafford
  • Dongyan Xu
  • Samuel Liles
  • Sonia Fahmy
  • Sunil Prabhakar
چکیده

Stanley, Dannie M. Ph.D., Purdue University, December 2013. Improved Kernel Security Through Code Validation, Diversification, and Minimization. Major Professors: Eugene H. Spafford and Dongyan Xu. The vast majority of hosts on the Internet, including mobile clients, are running one of three commodity, general-purpose operating system families. In such operating systems the kernel software executes at the highest processor privilege level. If an adversary is able to hijack the kernel software then by extension he has full control of the system. This control includes the ability to disable protection mechanisms and hide evidence of compromise. The lack of diversity in commodity, general-purpose operating systems enables attackers to craft a single kernel exploit that has the potential to infect millions of hosts. If enough variants of the vulnerable software exist, then mass exploitation is much more difficult to achieve. We introduce novel kernel diversification techniques to improve kernel security. Many modern kernels are self-patching; they modify themselves at run-time. Selfpatching kernels must therefore allow kernel code to be modified at run-time. To prevent code injection attacks, some operating systems and security mechanisms enforce a W ⊕ X memory protection policy for kernel code. This protection policy prevents self-patching kernels from applying patches at run-time. We introduce a novel run-time kernel instruction-level validation technique to validate the integrity of patches at run-time. Kernels shipped with general-purpose operating systems often contain extraneous code. The code may contain exploitable vulnerabilities or may be pieced together using return/jump-oriented programming to attack the system. Code-injection pre-

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Code Validation for Modern OS Kernels

The proliferation of kernel mode malware and rootkits over the last decade is one of the most critical challenges the security industry is facing. While mechanisms such as UEFI secure boot in conjunction with signed driver loading effectively verify the integrity of the kernel at load time, runtime verification is still an open problem. Various security systems have been proposed solutions to p...

متن کامل

Validation and Validation of Testimony of Anonymous Instances in the Criminal Procedure Code of Iran and Statute of the International Criminal Court

One of the measures taken to protect witnesses in the Statute of the International Criminal Court and the Code of Judicial Procedure of our country is to keep their identities secret. Both the defendant is important and the defendant's right can not be ignored for the sake of witness testimony or the defendant's defense rights were endangered and threatened without regard to witness safety. Reg...

متن کامل

Real-Time Linux Kernel Design, Minimization and Optimization

ion: This paper presented a general discussion about real-time Linux kernel design, minimization and optimization. A specific example of a real-time Linux kernel was discussed in details. Specifically, it covered the following topics: real-time operating system requirements; why the general Linux can not meet those real-time requirements; RTOS implementation approaches; mechanisms used in Real-...

متن کامل

Code Formal Verification of Operation System

with the increasing pressure on non-function attributes (security, safety and reliability) requirements of an operation system, high–confidence operation system is becoming more important. Formal verification is the only known way to guarantee that a system is free of programming errors. We research on formal verification of operation system kernel in system code level and take theorem proving ...

متن کامل

Dwarf Frankenstein is still in your memory: tiny code reuse attacks

Code reuse attacks such as return oriented programming and jump oriented programming are the most popular exploitation methods among attackers. A large number of practical and non-practical defenses are proposed that differ in their overhead, the source code requirement, detection rate and implementation dependencies. However, a usual aspect among these methods is consideration of the common be...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013