• Title/Summary/Keyword: return-oriented programming

Search Result 9, Processing Time 0.033 seconds

A detection mechanism for Jump-Oriented Programming at binary level (바이너리 수준에서의 Jump-Oriented Programming에 대한 탐지 메커니즘)

  • Kim, Ju-Hyuk;Lee, Yo-Ram;Oh, Soo-Hyun
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.22 no.5
    • /
    • pp.1069-1078
    • /
    • 2012
  • It is known that memory has been frequently a target threatening the computer system's security while attacks on the system utilizing the memory's weakness are actually increasing. Accordingly, various memory protection mechanisms have been studied on OS while new attack techniques bypassing the protection systems have been developed. Especially, buffer overflow attacks have been developed as attacks of Return to Library or Return-Oriented Programing and recently, a technique bypassing the countermeasure against Return-Oriented Programming proposed. Therefore, this paper is intended to suggest a detection mechanism at binary level by analyzing the procedure and features of Jump-Oriented Programming. In addition, we have implemented the proposed detection mechanism and experimented it may efficiently detect Jump-Oriented Programming attack.

Indirect Branch Target Address Verification for Defense against Return-Oriented Programming Attacks (Return-Oriented Programming 공격 방어를 위한 간접 분기 목적 주소 검증 기법)

  • Park, Soohyun;Kim, Sunil
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.2 no.5
    • /
    • pp.217-222
    • /
    • 2013
  • Return-Oriented Programming(ROP) is an advanced code-reuse attack like a return-to-libc attack. ROP attacks combine gadgets in program code area and make functions like a Turing-complete language. Some of previous defense methods against ROP attacks show high performance overhead because of dynamic execution flow analysis and can defend against only certain types of ROP attacks. In this paper, we propose Indirect Branch Target Address Verification (IBTAV). IBTAV detects ROP attacks by checking if target addresses of indirect branches are valid. IBTAV can defends against almost all ROP attacks because it verifies a target address of every indirect branch instruction. Since IBTAV does not require dynamic execution flow analysis, the performance overhead of IBTAV is relatively low. Our evaluation of IBTAV on SPEC CPU 2006 shows less than 15% performance overhead.

Survey of Return-Oriented Programming(ROP) Detection and Prevention Methods (Return-Oriented Programming(ROP) 탐지 및 방지 기술 분석)

  • Bae, Hyo-Bin;Min, Jae-Won;Park, Min-Woo;Chung, Tai-Myoung
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.11a
    • /
    • pp.1064-1067
    • /
    • 2012
  • Return-Oriented Programming(ROP) 공격은 버퍼 오버플로우 공격, Return-into libc 공격의 계보를 이어 소프트웨어의 취약점을 공격하는 대표적인 기술 중 하나이다. 이 공격은 윈도우 운영체제 상에서의 Exploitation, iOS DEP 우회 및 코드 사이닝과 같은 기술을 무력화하기 위해 사용되고 있는 취약점 공격법이다. 그렇기 때문에 ROP 공격이 소개된 이후부터 현재까지 탐지법 및 방어법에 대한 논의가 활발하게 이루어지고 있다. 본 논문에서는 이러한 ROP 공격을 막기 위한 방법들을 특징에 따라 세 가지 종류로 분류하여 소개하고, 각각의 방법들의 장점과 단점을 비교 분석하여 향후 ROP 방어에 관한 연구에 기여를 하고자 한다.

Detection Mechanism against Code Re-use Attack in Stack region (스택 영역에서의 코드 재사용 공격 탐지 메커니즘)

  • Kim, Ju-Hyuk;Oh, Soo-Hyun
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.15 no.5
    • /
    • pp.3121-3131
    • /
    • 2014
  • Vulnerabilities related to memory have been known as major threats to the security of a computer system. Actually, the number of attacks using memory vulnerability has been increased. Accordingly, various memory protection mechanisms have been studied and implemented on operating system while new attack techniques bypassing the protection systems have been developed. Especially, buffer overflow attacks have been developed as Return-Oriented Programing(ROP) and Jump-Oriented Programming(JOP) called Code Re-used attack to bypass the memory protection mechanism. Thus, in this paper, I analyzed code re-use attack techniques emerged recently among attacks related to memory, as well as analyzed various detection mechanisms proposed previously. Based on the results of the analyses, a mechanism that could detect various code re-use attacks on a binary level was proposed. In addition, it was verified through experiments that the proposed mechanism could detect code re-use attacks effectively.

Detecting code reuse attack using RNN (RNN을 이용한 코드 재사용 공격 탐지 방법 연구)

  • Kim, Jin-sub;Moon, Jong-sub
    • Journal of Internet Computing and Services
    • /
    • v.19 no.3
    • /
    • pp.15-23
    • /
    • 2018
  • A code reuse attack is an attack technique that can execute arbitrary code without injecting code directly into the stack by combining executable code fragments existing in program memory and executing them continuously. ROP(Return-Oriented Programming) attack is typical type of code reuse attack and serveral defense techniques have been proposed to deal with this. However, since existing methods use Rule-based method to detect attacks based on specific rules, there is a limitation that ROP attacks that do not correspond to previously defined rules can not be detected. In this paper, we introduce a method to detect ROP attack by learning command pattern used in ROP attack code using RNN(Recurrent Neural Network). We also show that the proposed method effectively detects ROP attacks by measuring False Positive Ratio, False Negative Ratio, and Accuracy for normal code and ROP attack code discrimination.

Design and Implementation of Efficient Mitigation against Return-oriented Programming (반환 지향 프로그래밍 공격에 대한 효율적인 방어 기법 설계 및 구현)

  • Kim, Jeehong;Kim, Inhyeok;Min, Changwoo;Eom, Young Ik
    • Journal of KIISE
    • /
    • v.41 no.12
    • /
    • pp.1018-1025
    • /
    • 2014
  • An ROP attack creates gadget sequences which consist of existing code snippets in a program, and hijacks the control flow of a program by chaining and executing gadget sequences consecutively. Existing defense schemes have limitations in that they cause high execution overhead, an increase in the binary size overhead, and a low applicability. In this paper, we solve these problems by introducing zero-sum defender, which is a fast and space-efficient mitigation scheme against ROP attacks. We find a fundamental property of gadget execution in which control flow starts in the middle of a function without a call instruction and ends with a return instruction. So, we exploit this property by monitoring whether the execution is abused by ROP attacks. We achieve a very low runtime overhead with a very small increase in the binary size. In our experimental results, we verified that our defense scheme prevents real world ROP attacks, and we showed that there is only a 2% performance overhead and a 1% binary size increase overhead in several benchmarks.

The Character of Contents Production System in the Comprehensive Programming Channels (종합편성채널의 콘텐츠 생산 방식의 특성)

  • Roh, Dong-Ryul
    • The Journal of the Korea Contents Association
    • /
    • v.16 no.11
    • /
    • pp.731-741
    • /
    • 2016
  • It has become five years since comprehensive programming licenses were rendered in Korea. Allocating a lion's share of their air time on live news and news commentaries, those channels have established a unique live production system or a broadcasting system which is heavily live production-oriented, to be exact. The live commentaries are filled with a mixture of news flashes, conventional news commentaries, and debates. Those channels get their news and commentary programs made through subsidiaries' where production directors and studio staffs belong. They, being very sensitive about viewer rating, tend to be aggressive about reruns of highly rated programs and they do not even seem to care when the regular programs actually went out. This kind of reckless strategy to pursue a higher viewer rating could limit not only new programming attempts but also exposure diversity.

A Study on Development of Code Reuse Attacks and Defenses (코드 재사용 공격과 방어의 발전에 관한 연구)

  • Ahn, Sunwoo;Lee, Younghan;Bang, Inyoung;Paek, Yunheung
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2017.11a
    • /
    • pp.275-278
    • /
    • 2017
  • 과거의 가장 흔한 공격이었던 코드 삽입 공격은 방어 기법이 발전함에 따라 점점 어려워지고 있다. 공격자는 코드를 삽입하지 않고도 공격할 수 있는 방법을 찾기 시작하였고, 공격 대상에 존재하는 코드를 연결하여 원하는 동작을 실행하게 만드는 코드 재사용 공격을 하기 시작했다. 코드 재사용 공격을 막는 방어 기법 역시 제안되었지만, 다시 이를 우회하는 발전된 코드 재사용 공격들도 나오면서 공격과 방어를 거듭하고 있다. 본 논문에서는 코드 재사용 공격의 전신인 return into libc 부터 Data Oriented Programming (DOP)까지의 공격과 방어를 정리하고, 코드 재사용 공격이 발전되는 과정을 살펴보는 것을 목표로 한다.

Consideration for Improving the Vulnerability of the Cloud Hypervisor Architecture (클라우드 하이퍼바이저 구조의 취약점 개선을 위한 고찰)

  • Kim, Tae Woo;Suk, Sang Kee;Park, Jong Hyuk
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2020.05a
    • /
    • pp.238-241
    • /
    • 2020
  • 클라우드 컴퓨팅 (Cloud Computing)은 언제 어디서든 인터넷을 통하여 필요한 컴퓨팅 자원을 원하는 시간만큼 활용할 수 있는 최신 컴퓨팅 방식으로 사용자에게 효율적인 컴퓨팅 자원을 제공한다. 또한 빅데이터 및 인공지능 분야에서의 활용도가 높아 4차 산업혁명의 기초 인프라로 부각되고 있다. 클라우드의 독립적인 컴퓨팅 자원을 하이퍼바이저 (Hypervisor)를 통해 효율적으로 관리한다. 본 논문에서는 클라우드 하이퍼바이저에 대한 공격 기법인 커널 기반 루트킷, 캐시 기반 부 채널 공격, ROP (Return oriented Programming) 공격의 공격 방법과 대응 방안을 분석한다. 이후 기존에 연구된 하이퍼바이저 보안을 위한 클라우드 컴퓨팅 아키텍처를 소개하고, 하이퍼바이저 구조의 취약점에 대해 고찰한다. 마지막으로 하이퍼바이저 기반 클라우드 컴퓨팅 아키텍처의 문제점과 해결방안을 고찰한다.