• 제목/요약/키워드: jmp instruction

검색결과 3건 처리시간 0.019초

JMP+RAND: 바이너리 난수 삽입을 통한 메모리 공유 기반 부채널 공격 방어 기법 (JMP+RAND: Mitigating Memory Sharing-Based Side-Channel Attack by Embedding Random Values in Binaries)

  • 김태훈;신영주
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제9권5호
    • /
    • pp.101-106
    • /
    • 2020
  • 컴퓨터가 보급된 이래로 정보보안을 달성하기 위해 많은 노력이 이루어졌다. 그중 메모리 보호 기법에 대한 연구가 가장 많이 이루어졌지만, 컴퓨터의 성능 향상으로 기존 메모리 보호 기법의 문제들이 발견되었고 부채널 공격의 등장으로 새로운 방어기법이 필요하게 되었다. 본 논문에서는 JMP+RAND 기법을 이용해 페이지(Page)마다 5-8byte의 난수를 삽입하여 메모리 공유 기반 부채널 공격을 방어하고 기존 메모리 보호 기법도 보완하는 방법을 제안한다. 기존 부채널 공격들의 방어기법과 달리 JMP+RAND 기법은 정적 바이너리 재작성 기법(Static binary rewriting)과 연속된 jmp 명령어, 난수 값을 이용해 사전에 부채널 공격을 방어한다. 우리는 메모리 공유 기반 부채널 공격이 JMP+RAND 기법이 적용된 바이너리를 공격하는 데 걸리는 시간을 정량적으로 계산하였고 현실적인 시간 내에 공격할 수 없다는 것을 보여주었다. 최근 아키텍처는 분기 예측(Branch prediction)을 이용해 jmp 명령어의 분기처리가 매우 빠르고 정확하므로 JMP+RAND 기법의 오버헤드가 매우 낮다. 특히 특정 프로그램에만 난수 삽입이 가능하므로 클라우드 컴퓨팅 환경에서 메모리 중복제거 기능과 함께 사용하면 높은 효율성을 보일 수 있을 것으로 기대한다.

실행 제어 명령어의 목적 주소 검증을 통한 소프트웨어 공격 탐지 기법 (Software Attack Detection Method by Validation of Flow Control Instruction’s Target Address)

  • 최명렬;박상서;박종욱;이균하
    • 정보처리학회논문지C
    • /
    • 제13C권4호
    • /
    • pp.397-404
    • /
    • 2006
  • 소프트웨어 공격이 성공하기 위해서는 공격 코드가 프로그램의 주소 공간에 주입된 후 프로그램의 제어 흐름이 공격 코드 위치로 변경되어야 한다. 프로그램의 주소 공간 중 코드 영역은 실행 중에 변경이 불가능하므로 공격 코드가 주입될 수 있는 곳은 데이터 영역 밖에 없다. 따라서 데이터 영역으로 프로그램의 제어가 변경될 경우 주입된 공격 코드로 제어가 옮겨 가는 공격이 발생한 것으로 판단할 수 있다. 따라서 본 논문에서는 프로그램의 제어 흐름과 관련된 CALL, JMP, RET 명령어의 목적 주소를 검사하여 제어가 옮겨갈 목적 주소가 프로그램의 실행 코드가 저장된 텍스트 영역이 아닌 데이터 영역일 경우 소프트웨어 공격이 발생한 것으로 간주하는 소프트웨어 공격 탐지 기법을 제안하였다. 제안된 방법을 이용하면 함수의 복귀주소뿐만 아니라 함수포인터, longjmp() 버퍼 등 프로그램 제어 흐름과 관련된 모든 데이터가 변경되었는지 점검할 수 있었기 때문에 기존 기법들보다 더 많은 종류의 공격을 탐지할 수 있었다.

Windows API 후킹 기법을 통한 C&C Zeus에 감염된 시스템의 탐지 (Detection of systems infected with C&C Zeus through technique of Windows API hooking)

  • 박철우;손지웅;황현기;김기창
    • 예술인문사회 융합 멀티미디어 논문지
    • /
    • 제5권2호
    • /
    • pp.297-304
    • /
    • 2015
  • Zeus는 전 세계적으로 널리 퍼진 멀웨어 중 하나이다. 일반적으로 인터넷 상에서 특정 바이너리 파일을 다운 받아 실행함으로써 감염이 되며, 감염이 되면 현재 실행 중인 프로세스들의 특정 Windows API에 후킹을 시도하여, 해당 프로세스가 API를 실행하면 Zeus의 특정 코드를 실행하도록 변조가 되어 개인 정보들이 유출되도록 구성되어 있다. 본 논문에서는 Zeus의 기초 버전인 C&C(Command and Control)방식을 중심으로 Zeus가 어떤 방식으로 Windows API를 후킹하는지, 그리고 어떤 방법으로 후킹이 되었는지 탐지할 수 있는지 제시하여 현대의 P2P Zeus 탐지에 도움이 되고자 한다.