Return to Where? You Can’t Exploit What You Can’t Find
نویسندگان
چکیده
So far, no countermeasure has been able to fully prevent sophisticated exploitation techniques such as return-oriented programming (ROP). Recent control-flow integrity (CFI) defenses from Google and Microsoft can be bypassed by constructing a ROP payload that adheres to the control-flow constraints or by exploiting implementation flaws to bypass the control-flow checks. Microsoft’s EMET has less overhead than full CFI but offers less protection in return, and can also be bypassed. Probabilistic countermeasures based on memory layout randomization (such as ASLR) are already in widespread use. As the Pwn2own competitions have repeatedly demonstrated, attackers can use various types of information leaks to bypass code randomization. To reduce the impact of information disclosure vulnerabilities, recent defenses utilize execute-only memory. However, executeonly memory alone is insufficient to prevent disclosure of the code layout. In particular, we show how to determine the code layout by analyzing pointers in the heap, in vtables, and on the stack without ever directly reading the code. This paper presents a comprehensive yet practical defense— Readactor—that counters both direct reading of code and indirect layout disclosure through analysis of code pointers. We employ a thin hypervisor and a kernel patch to enable hardware-enforced execute-only memory which prevents direct reading of code. Code pointers in readable memory are hidden by converting them into direct jumps stored in execute-only memory to prevent indirect disclosure of the code layout. Readactor is efficient because it activates previously unused hardware capabilities in modern x86 processors and is often faster than industry CFI implementations. Our solution is also highly practical; we were able to automatically apply our defense to the Chromium web browser. Finally, our solution is comprehensive; we also protect the dynamically generated code emitted by the V8 JavaScript JIT compiler.
منابع مشابه
Presenting a Hybrid Approach based on Two-stage Data Envelopment Analysis to Evaluating Organization Productivity
Measuring the performance of a production system has been an important task in management for purposes of control, planning, etc. Lord Kelvin said :“When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind.” Hence, manag...
متن کاملYou can’t always get what you want...-QoS in CWS
As Mick Jagger said “You can’t always get what you want but if you try sometimes you might find you get what you need.” This is an attitude that seems to prevail in the provision of web services. The provision of quality of service is seen as a compromise between the customer requirements and the ability of the service providers and the underlying network. However many of the quality of service...
متن کاملWhat is a design? How should we classify them?
If you were to go into a motorcycle-parts department and ask them for a feedback assembly they wouldn’t know what the hell you were talking about. They don’t split it up that way. No two manufacturers ever split it up quite the same way and every mechanic is familiar with the problem of the part you can’t buy because you can’t find it because the manufacturer considers it part of something else...
متن کاملYou Can’t Always Get What You Want∗ Some considerations regarding conditional probabilities
The standard treatment of conditional probability leaves conditional probability undefined when the conditioning proposition has zero probability. Nonetheless, some find the option of extending the scope of conditional probability to include zero-probability conditions attractive or even compelling. This articles reviews some of the pitfalls associated with this move, and concludes that, for th...
متن کاملSecure Computation
Suppose your university department is about to make a job offer, and a friend tells you that their department is also about to make an offer. Are you entering into a bidding war, or are the two departments interested in different people? You open your mouth to ask, “Are you making an offer to X?” then shut it, imagining an answer of, “Actually, we were interested in someone else, but now that y...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015