• 제목/요약/키워드: 버퍼 오버플로

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

DSLR을 이용한 효율적인 스택스매싱 공격탐지 방법 (Efficient Stack Smashing Attack Detection Method Using DSLR)

  • 황도영;유동영
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제12권9호
    • /
    • pp.283-290
    • /
    • 2023
  • 최근 IoT 기술이 꾸준하게 발전되면서 의료 시스템, 스마트 TV 시계 등에서 많이 활용되고 있다. 소프트웨어 개발의 66%가 메모리 공격에 취약한 C 언어를 통해 개발되고 C 언어를 사용하는 IoT 기기에 위협적으로 작용한다. 스택스매싱 오버플로 공격은 사용자가 정의한 버퍼 크기보다 큰 값을 삽입하여 반환 주소가 저장된 영역을 덮어쓰게 하여 프로그램이 정상적으로 동작하지 못하게 한다. 메모리 가용량이 적은 IoT 기기는 스택스매싱 오버플로 공격에 취약하다. 또한, 기존의 백신 프로그램을 그대로 적용하게 되면 IoT 기기가 정상적으로 동작하지 못한다. 연구에서는 IoT 기기에 대한 스택스매싱 오버플로 공격을 방어하기 위해 여러 탐지 방법 중 카나리아를 사용하여 각각 무작위 값, 체크썸, DSLR(무작위 저장 위치)로 조건을 설정했다. 2개의 카나리아를 버퍼 내에 배치하여 하나는 버퍼의 끝인 반환 주소 앞에 배치하고 나머지 하나는 버퍼 내 무작위 위치에 저장했다. 이는 고정된 위치에 저장된 카나리아 값은 공격자가 위치를 예측하기 쉬우므로 무작위한 위치에 카나리아를 저장하여 공격자가 카나리아의 위치를 예측하기 어렵게 했다. 탐지 프로그램 실행 후 스택스매싱 오버플로 공격이 발생 후 각 조건을 만족하게 되면 프로그램이 종료된다. 설정한 조건을 각각 조합하여 8가지 경우의 수를 만들었고 이를 테스트했다. 이를 통해 IoT 기기에는 다중 조건을 사용한 탐지 방법보다 DSLR을 이용한 탐지 방법을 사용하는 것이 더 효율적이라는 결과를 얻었다.

신뢰와 평판 기반의 소프트웨어 보증 시스템 구현 (Implementation of Software Assurance System Based on Trust and Reputation)

  • 박대명;이석민;유대훈;최웅철
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2010년도 한국컴퓨터종합학술대회논문집 Vol.37 No.1(D)
    • /
    • pp.61-66
    • /
    • 2010
  • 소프트웨어 보증은 소프트웨어의 신뢰성, 예측 가능한 실행으로 정의할 수 있다. 신뢰성은 악의적인 의도로 발생할 수 있는 버퍼 오버플로, 메모리 릭 등의 보안 취약점이 존재하지 않아야 한다는 것이고, 예측 가능한 실행은 소프트웨어가 개발 시 의도한대로 실행되어야 한다는 것 이다. 소프트웨어 보증을 위한 작업은 소프트웨어 개발 생명 주기의 개발과 유지보수 단계 모두에서 수행되어야 한다. 국외 기관인 NIST, SANS 등은 개발 단계에서의 보증을 위해 필요한 툴, 프로그래밍 가이드라인, 오류 식별 문서 등을 공개하고 관련 프로젝트를 지원하였다. 본 논문에서는 상대적으로 연구가 부족한 유지보수 단계에서의 소프트웨어 보증을 위해 신뢰와 평판 기반의 소프트웨어 보증 시스템을 구현하였다. 본 시스템은 사용자에게 해당 소프트웨어에 대한 다른 사용자의 평판과 다양한 의견을 제공하고, 이에 따른 신뢰도를 함께 제공한다. 이는 사용자가 안전한 소프트웨어를 선별하고 사용하는데 도움을 준다.

  • PDF

Multi-Variant Execution Environment의 레플리카 생성 기법에 대한 연구 (A Study on Replica Generation Techniques for Multi-Variant Execution Environment)

  • 황동일;신장섭;정선화;백세현;백윤흥
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2017년도 추계학술발표대회
    • /
    • pp.322-325
    • /
    • 2017
  • C와 C++는 컴파일된 결과물의 실행 속도가 타 프로그래밍 언어로 작성된 것보다 빠르고 기존의 시스템과 호환성이 좋다는 점 등의 장점을 갖고 있기 때문에 많은 프로그래머들로부터 여전히 사랑받는 프로그래밍 언어이다. 하지만 C와 C++로 생성된 프로그램은 버퍼 오버플로 취약점과 같은 다양한 메모리 커럽션 취약점을 갖고 있기 때문에 쉽게 외부의 공격자들에게 노출된다. 따라서 사용자가 이와 같은 언어로 생성된 프로그램을 안전하게 실행하기 위해서는 시스템에 신뢰할 수 있는 방어 기법이 미리 적용되어 있어야만 한다. 본 연구에서는 메모리 커럽션 취약점을 이용한 공격을 탐지하기 위한 기법 중 하나인 Multi-variant Execution Environment (MVEE)를 소개하고, MVEE의 핵심 요소 기술인 레플리카 생성 기법들에 대하여 설명하고 비교 분석하고자 한다.