• 제목/요약/키워드: return-oriented programming

검색결과 9건 처리시간 0.029초

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

  • 김주혁;이요람;오수현
    • 정보보호학회논문지
    • /
    • 제22권5호
    • /
    • pp.1069-1078
    • /
    • 2012
  • 컴퓨터 시스템의 안전성을 위협하는 주요 취약점으로 메모리 관련 취약점이 알려져 있으며, 최근 들어 이러한 메모리 취약점을 이용한 시스템 상에서의 실제 공격 또한 증가하고 있다. 이에 따라 시스템을 보호하기 위해서 다양한 메모리 보호 메커니즘들이 연구되고 운영체제를 통해 구현되어 왔지만, 더불어 이를 우회할 수 있는 공격 기법들 또한 발전하고 있다. 특히 버퍼 오버플로우 공격은 Return to Library, Return-Oriented Programming 등의 공격 기법으로 발전되어왔으며, 최근에는 Return-Oriented Programming 공격 기법에 대한 보호 방법 등의 연구로 인해 이를 우회하는 Jump-Oriented Programming 공격 기법이 등장하였다. 따라서 본 논문에서는 메모리 관련 공격 기법 중 최근 등장한 Jump-Oriented Programming 공격 기법에 대해 살펴보고, 이에 대한 특징을 분석한다. 또한, 분석된 특징을 통한 바이너리 수준에서의 탐지 메커니즘을 제안하고, 실험을 통해 제안하는 방법이 Jump-Oriented Programming 공격에 대한 탐지가 가능함을 검증한다.

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 방어에 관한 연구에 기여를 하고자 한다.

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

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

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 공격을 탐지함을 보인다.

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

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

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

  • 노동렬
    • 한국콘텐츠학회논문지
    • /
    • 제16권11호
    • /
    • pp.731-741
    • /
    • 2016
  • 출범한 지 5년이 지나고 있는 종합편성채널은 생방송 위주의 생산체계를 구축하고 있다. 생방송 비율이 높다는 것은 뉴스와 시사프로그램의 높은 비중을 의미하는데, 특히 시사프로그램의 생방송 생산방식이 지니는 의미는 중요하다. 종합편성채널의 생방송 시사프로그램은 뉴스보다 속보성에서 앞서면서 시청자들을 그 사건에 참여하는 것처럼 느끼게 하는 동시에 해설, 토론, 추론 등이 뒤섞이는 특징을 지닌다. 생방송 비중이 높은 종합편성채널들은 스튜디오 제작 스태프들을 보유하고 있는 자회사를 설립해 뉴스와 시사프로그램을 생산하고 있으며, 연출자들은 자회사에 소속되어 있다. 종합편성채널들은 재방송 전략을 통해 전체 시청률을 향상시키기 위하여 본방송 시기와 관계없이 재방프로그램을 선정하고 있다. 이는 새로운 프로그램을 개발하기보다는 성공한 프로그램들을 장기적으로 제작하는 생산방식에 영향을 미치며, 노출 다양성 제고를 제한하는 요인으로 작용하고 있다.

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

  • 안선우;이영한;방인영;백윤흥
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2017년도 추계학술발표대회
    • /
    • pp.275-278
    • /
    • 2017
  • 과거의 가장 흔한 공격이었던 코드 삽입 공격은 방어 기법이 발전함에 따라 점점 어려워지고 있다. 공격자는 코드를 삽입하지 않고도 공격할 수 있는 방법을 찾기 시작하였고, 공격 대상에 존재하는 코드를 연결하여 원하는 동작을 실행하게 만드는 코드 재사용 공격을 하기 시작했다. 코드 재사용 공격을 막는 방어 기법 역시 제안되었지만, 다시 이를 우회하는 발전된 코드 재사용 공격들도 나오면서 공격과 방어를 거듭하고 있다. 본 논문에서는 코드 재사용 공격의 전신인 return into libc 부터 Data Oriented Programming (DOP)까지의 공격과 방어를 정리하고, 코드 재사용 공격이 발전되는 과정을 살펴보는 것을 목표로 한다.

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

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