본문 바로가기
HOME> 논문 > 논문 검색상세

논문 상세정보

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

최명렬   (국가보안기술연구소  ); 박상서   (국가보안기술연구소  ); 박종욱   (국가보안기술연구소  ); 이균하   (인하대학교 컴퓨터공학부UU0001092  );
  • 초록

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


    Successful software attacks require both injecting malicious code into a program's address space and altering the program's flow control to the injected code. Code section can not be changed at program's runtime, so malicious code must be injected into data section. Detoured flow control into data section is a signal of software attack. We propose a new software attack detection method which verify the target address of CALL, JMP, RET instructions, which alter program's flow control, and detect a software attack when the address is not in code section. Proposed method can detect all change of flow control related data, not only program's return address but also function pointer, buffer of longjmp() function and old base pointer, so it can detect the more attacks.


  • 주제어

    소프트웨어 공격 탐지 .   실행 제어 명령어 .   목적 주소 검증.  

  • 참고문헌 (17)

    1. AlephOne, Smashing the Stack for Fun and Profit, Phrack, Volume 7, Issue 49, http://www.phrack.org/phrack/49/P49-14, 1996.11 
    2. Matt Conover and w00w00 Security Team, w00w00 on Heap Overflows, http://www.w00w00.org/files/articles/heaptut/txt, 1999.1 
    3. Tim Newsham, Format String Attacks - White Paper, http://www.lava.net/~newsham/format-string-attacks.pdf, Setp., 2000 
    4. Wikipedia, Return-to-libc attack, http://en.wikipedia.org/wiki/Return-to-libc 
    5. CERT Condination Center, http://www.cert.org/advisories 
    6. Crispin Cowan, Perry Wagle, Calton Pu, Steve Beattie and Jonathan Walpole, 'Buffer Overflows: Attack and Defenses for the Vulnerability of the Decade,' DARPA Information Survivability Conference and Exposition (DISCEX 2000), Jan., 2000 
    7. John Wilander and Mariam Kamkar, 'A Comparison of Publicly Available Tools for Dynamic Buffer Overflow Prevention,' Network and Distributed System Security Symposium (NDSS) '03, Feb., 2003 
    8. Crispin Cowan, Calton Pu, Dave Maier, Jonathan Walpole, Peat Bakke, Steve Beattie, Aaron Grier, Perry Wagle, Qian Zhang and Heather Hinton, 'StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks,' 7th USENIX Security Symposium, Jan., 1998 
    9. Vendicator, StakShield: A Stack Smashing Technique Protection Tool for Linux, http://www.angelfire.com/sk/stackshield 
    10. Hiroaki Etoh and Kunikazu Yoda, Protecting from Stacksmashing Attacks, http://www.trl.ibm.com/projects/security/ssp/main.html, Jun., 2000 
    11. 김종의, 이성욱, 홍만표, '버퍼오버플로우 공격 방지를 위한 컴파일러 기법,' 정보처리학회논문지C, 제9-C권 제4호, pp.453-458, 2002     
    12. 김윤삼, 조은선, '이진 코드 변환을 이용한 효과적인 버퍼 오버플로우 방지기법,' 정보처리학회논문지C, 제12-C권 제3호, pp.323-330, 2005     
    13. Microsoft, Microsoft Security Developer Center, http://msdn.microsoft.com/security/ 
    14. Microsoft, Changes to Functionality in Microsoft Windows XP Service Pack 2 - Part 3: Memory Protection Technologies, http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2mempr.mspx 
    15. Intel, Intel Architecture Software Developer's Manual Vol. 2: Instruction Set Reference 
    16. Daniel Bovet and Marco Cesati, Understanding the LINUX Kernel: From I/O Ports to Process Management, 2nd Ed., pp.670-672, Dec., 2002 
    17. Peter Silberman and Richard Johnson, 'A Comparison of Buffer Overflow Prevention Implementations and Their Weaknesses,' Black Hat USA 2004 Briefings and Training, Jun., 2004 

 저자의 다른 논문

  • 이균하 (17)

    1. 1974 "가변조합방식의 문자 display에 관한 연구" 電子工學會誌 = Journal of the Korean Institute of Electronics Engineers 11 (1): 23~33    
    2. 1975 "직류안정전화원의 제어소자에 전력소모의 최소화에 관한 연구" 電子工學會誌 = Journal of the Korean Institute of Electronics Engineers 12 (5): 12~18    
    3. 1988 "OA 기기와 패턴인식 기술" 電子工學會誌 = The journal of Korea Institute of Electronics Engineers 15 (5): 24~30    
    4. 1998 "한국어순을 따르는 인터넷 한글 도메인 네임 시스템" 정보처리논문지 = The transactions of the Korea Information Processing Society 5 (7): 1855~1862    
    5. 1999 "BSHR/2 네트워크에서의 다중 선로 장애 복구에 관한 연구" 정보처리논문지 = The transactions of the Korea Information Processing Society 6 (3): 722~728    
    6. 2001 "멀티 사이트 인터넷 환경에서 효율적인 서버 선택" 한국통신학회논문지. The journal of Korea Information and Communications Society. 무선통신 26 (a10): 1662~1670    
    7. 2001 "QoS경로의 효율적인 선계산을 위한 부하균등 비용산정 방식" 한국통신학회논문지. The Journal of Korea Information and Communications Society. 통신이론 및 시스템 26 (c11): 140~147    
    8. 2001 "CBRP에서 보조헤더를 이용한 라우팅 고장 극복 개선" 컴퓨터산업학회논문지 = Journal of the Korea Computer Industry Society 2 (7): 983~996    
    9. 2002 "QoS 라우팅을 위한 부하균등 비용산정 방식" 정보처리학회논문지. The KIPS transactions. Part C Part C c9 (1): 135~140    
    10. 2002 "계층적 도메인간 부하분산 QoS 라우팅" 정보처리학회논문지. The KIPS transactions. Part C Part C c9 (5): 671~678    

 활용도 분석

  • 상세보기

    amChart 영역
  • 원문보기

    amChart 영역

원문보기

무료다운로드
  • NDSL :
유료다운로드

유료 다운로드의 경우 해당 사이트의 정책에 따라 신규 회원가입, 로그인, 유료 구매 등이 필요할 수 있습니다. 해당 사이트에서 발생하는 귀하의 모든 정보활동은 NDSL의 서비스 정책과 무관합니다.

원문복사신청을 하시면, 일부 해외 인쇄학술지의 경우 외국학술지지원센터(FRIC)에서
무료 원문복사 서비스를 제공합니다.

NDSL에서는 해당 원문을 복사서비스하고 있습니다. 위의 원문복사신청 또는 장바구니 담기를 통하여 원문복사서비스 이용이 가능합니다.

이 논문과 함께 출판된 논문 + 더보기