• 제목/요약/키워드: ROP(Return-Oriented Programming)

검색결과 6건 처리시간 0.023초

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

  • 박수현;김선일
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제2권5호
    • /
    • pp.217-222
    • /
    • 2013
  • Return-Oriented Programming(ROP)는 기존 return-to-libc의 발전된 형태로 프로그램의 코드 영역에 있는 가젯을 조합하여 공격자가 원하는 모든 기능을 수행할 수 있는 코드 재사용 공격 기법이다. ROP 공격을 방어하는 기존 방어 기법들은 동적 실행 흐름 분석으로 인한 높은 성능 부하를 보이거나 ROP 공격에 대한 부분적인 방어만 가능하였다. 본 논문에서 제시하는 간접 분기 목적 주소 검증 기법(Indirect Branch Target Address Verification)은 간접 분기문의 목적 주소가 유효한지 검사해서 ROP 공격을 탐지하며, ROP 공격의 대부분을 방어할 수 있다. 또한 동적 실행 흐름 분석이 필요 없기 때문에 낮은 성능 부담을 보인다. SPEC CPU 2006 벤치마크를 대상으로 한 성능평가에서 15%보다 적은 성능 부하를 보였다.

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

  • 배효빈;민재원;박민우;정태명
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2012년도 추계학술발표대회
    • /
    • pp.1064-1067
    • /
    • 2012
  • Return-Oriented Programming(ROP) 공격은 버퍼 오버플로우 공격, Return-into libc 공격의 계보를 이어 소프트웨어의 취약점을 공격하는 대표적인 기술 중 하나이다. 이 공격은 윈도우 운영체제 상에서의 Exploitation, iOS DEP 우회 및 코드 사이닝과 같은 기술을 무력화하기 위해 사용되고 있는 취약점 공격법이다. 그렇기 때문에 ROP 공격이 소개된 이후부터 현재까지 탐지법 및 방어법에 대한 논의가 활발하게 이루어지고 있다. 본 논문에서는 이러한 ROP 공격을 막기 위한 방법들을 특징에 따라 세 가지 종류로 분류하여 소개하고, 각각의 방법들의 장점과 단점을 비교 분석하여 향후 ROP 방어에 관한 연구에 기여를 하고자 한다.

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

  • 김진섭;문종섭
    • 인터넷정보학회논문지
    • /
    • 제19권3호
    • /
    • pp.15-23
    • /
    • 2018
  • 코드 재사용 공격은 프로그램 메모리상에 존재하는 실행 가능한 코드 조각을 조합하고, 이를 연속적으로 실행함으로써 스택에 직접 코드를 주입하지 않고도 임의의 코드를 실행시킬 수 있는 공격 기법이다. 코드 재사용 공격의 대표적인 종류로는 ROP(Return-Oriented Programming) 공격이 있으며, ROP 공격에 대응하기 위한 여러 방어기법들이 제시되어왔다. 그러나 기존의 방법들은 특정 규칙을 기반으로 공격을 탐지하는 Rule-base 방식을 사용하기 때문에 사전에 정의한 규칙에 해당되지 않는 ROP 공격은 탐지할 수 없다는 한계점이 존재한다. 본 논문에서는 RNN(Recurrent Neural Network)을 사용하여 ROP 공격 코드에 사용되는 명령어 패턴을 학습하고, 이를 통해 ROP 공격을 탐지하는 방법을 소개한다. 또한 정상 코드와 ROP 공격 코드 판별에 대한 False Positive Ratio, False Negative Ratio, Accuracy를 측정함으로써 제안한 방법이 효과적으로 ROP 공격을 탐지함을 보인다.

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

  • 김주혁;오수현
    • 한국산학기술학회논문지
    • /
    • 제15권5호
    • /
    • pp.3121-3131
    • /
    • 2014
  • 메모리 관련 취약점은 컴퓨터 시스템 상에서의 가장 위협적인 공격이며 메모리 취약점을 이용한 실제 공격의 또한 증가하고 있다. 따라서 다양한 메모리 보호 메커니즘이 연구되고 운영체제 상에서 구현되었지만, 보호 시스템들을 우회하기 위한 새로운 공격 기법들이 함께 발전하고 있다. 특히, 메모리 관련 공격 기법 중 버퍼 오버플로우 공격은 코드 재사용 공격이라 불리는 Return-Oriented Programming(ROP), Jump-Oriented Programming(JOP)등으로 발전하여 운영체제가 포함하는 메모리 보호 메커니즘을 우회하고 있다. 본 논문에서는 코드 재사용 공격 기법의 특징을 분석하고, 분석된 결과를 이용하여 바이너리 수준에서의 코드 재사용 공격을 탐지할 수 있는 메커니즘을 제안하며, 실험을 통해 제안하는 메커니즘이 코드 재사용 공격을 효율적으로 탐지할 수 있음을 증명한다.

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

  • 김지홍;김인혁;민창우;엄영익
    • 정보과학회 논문지
    • /
    • 제41권12호
    • /
    • pp.1018-1025
    • /
    • 2014
  • 반환 지향 프로그래밍 공격(ROP)은 프로그램에 존재하는 반환 명령어로 끝나는 코드 조각들을 조합하여 가젯을 만들고, 연속적으로 실행하여 스택의 내용을 조작함으로써 프로그램의 제어권을 가져오는 공격이다. 이에 대한 기존 방어기법은 높은 실행 오버헤드와 바이너리 증가 오버헤드를 갖거나, 적용 범위의 제한이 있는 문제점이 있다. 본 논문에서는 기존 기법의 문제점을 갖지 않으면서 성능 및 바이너리 크기 증가 측면에서 효율적인 방어 기법인 zero-sum defender를 제안한다. 반환 지향 프로그래밍 공격은 정상적인 프로그램의 흐름과 다르게, 함수 호출 명령어가 실행되지 않고 여러 반환 명령어가 실행되는 실행 특성을 가진다. 제안 기법은 이러한 특성을 이용하여 프로그램 실행 흐름이 반환 지향 프로그래밍 공격에 의해 오용되는지 모니터링하여 방어 기능을 수행한다. 실제 공격 모델에 대한 실험을 통해 방어 기법의 효용성을 확인하였고, 벤치마크 실험을 통해 약 2%의 성능 오버헤드와 약 1%의 바이너리 크기 증가만으로 방어가 이루어짐을 확인하였다.

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

  • 김태우;석상기;박종혁
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2020년도 춘계학술발표대회
    • /
    • pp.238-241
    • /
    • 2020
  • 클라우드 컴퓨팅 (Cloud Computing)은 언제 어디서든 인터넷을 통하여 필요한 컴퓨팅 자원을 원하는 시간만큼 활용할 수 있는 최신 컴퓨팅 방식으로 사용자에게 효율적인 컴퓨팅 자원을 제공한다. 또한 빅데이터 및 인공지능 분야에서의 활용도가 높아 4차 산업혁명의 기초 인프라로 부각되고 있다. 클라우드의 독립적인 컴퓨팅 자원을 하이퍼바이저 (Hypervisor)를 통해 효율적으로 관리한다. 본 논문에서는 클라우드 하이퍼바이저에 대한 공격 기법인 커널 기반 루트킷, 캐시 기반 부 채널 공격, ROP (Return oriented Programming) 공격의 공격 방법과 대응 방안을 분석한다. 이후 기존에 연구된 하이퍼바이저 보안을 위한 클라우드 컴퓨팅 아키텍처를 소개하고, 하이퍼바이저 구조의 취약점에 대해 고찰한다. 마지막으로 하이퍼바이저 기반 클라우드 컴퓨팅 아키텍처의 문제점과 해결방안을 고찰한다.