RISS 학술연구정보서비스

검색
다국어 입력

http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.

변환된 중국어를 복사하여 사용하시면 됩니다.

예시)
  • 中文 을 입력하시려면 zhongwen을 입력하시고 space를누르시면됩니다.
  • 北京 을 입력하시려면 beijing을 입력하시고 space를 누르시면 됩니다.
닫기
    인기검색어 순위 펼치기

    RISS 인기검색어

      BinTyper : type confusion detection for C++ Binaries

      한글로보기

      https://www.riss.kr/link?id=T15943842

      • 0

        상세조회
      • 0

        다운로드
      서지정보 열기
      • 내보내기
      • 내책장담기
      • 공유하기
      • 오류접수

      부가정보

      국문 초록 (Abstract)

      타입 컨퓨전 버그는 C++로 개발된 소프트웨어를 공격하기 위해 사용되는 인기 있는 취약점 클래스 중 하나이다. 이 버그는 프로그램이 오브젝트를 호환되지 않는 클래스 타입으로 형변환(타...

      타입 컨퓨전 버그는 C++로 개발된 소프트웨어를 공격하기 위해 사용되는 인기 있는 취약점 클래스 중 하나이다. 이 버그는 프로그램이 오브젝트를 호환되지 않는 클래스 타입으로 형변환(타입캐스팅)하여 발생한다. 공격자는 이 취약점(버그)을 악용해 대상 소프트웨어에서 악성 코드를 실행할 수 있다. 유형 혼동 버그를 탐지하기 위한 기존 연구들은 모두 소스 코드 수준에서 제안되었다. 이들은 소스 코드의 컴파일 과정에서 타입캐스팅 연산자에 타입 호환성을 검증하기 위한 추가적인 코드를 삽입하여 런타임에서 타입 컨퓨전 버그를 탐지한다. 그러나 이러한 방법들은 바이너리 수준에서 적용될 수 없다. 컴파일된 바이너리에는 클래스 정보와 타입캐스팅 연산자 등의 고수준 정보가 존재하지 않기 때문이다.
      본 논문은 바이너리 수준에서 타입 컨퓨전 버그를 탐지할 수 있는 최초의 도구인 BinTyper를 제안한다. BinTyper는 정적 분석을 통해 클래스 오브젝트를 클래스 상속 구조에 따라 여러 영역으로 나눈다. 이후 동적 분석을 수행해 타입 컨퓨전 버그를 유발하지 않고 프로그램이 실행되기 위해 오브젝트에 필요한 조건들을 추론한다. 마지막으로, 추론된 조건들을 바탕으로 타입 호환성을 검증하여 타입 컨퓨전 버그를 탐지한다. 우리는 제안된 방법을 Google PDFium과 LibSass에 적용해 바이너리 수준에서 타입 컨퓨전 버그를 성공적으로 탐지하였다.

      더보기

      다국어 초록 (Multilingual Abstract)

      Type confusion bug is a popular vulnerability class used to attack C++-based software. This bug occurs when a program typecasts an object to an incompatible class type. An attacker can exploit this vulnerability to execute malicious code on the target...

      Type confusion bug is a popular vulnerability class used to attack C++-based software. This bug occurs when a program typecasts an object to an incompatible class type. An attacker can exploit this vulnerability to execute malicious code on the target software. Existing researches to detect type confusion bugs have been proposed at the source level. They perform detection at runtime by adding extra code that verifies type compatibility to the typecasting operator. However, this approach is not applicable at the binary level, because high-level information such as class information and the typecasting operator does not exist in the compiled binary.
      In this paper, we propose BinTyper, a tool that detects type confusion bugs at the binary level for the first time. BinTyper divides the object into several areas according to the class hierarchy by static analysis. After that, BinTyper performs dynamic analysis to infer the condition of the object for the program to be executed without causing a type confusion bug. Finally, based on the inferred condition, type compatibility is verified to detect a type confusion bug. We actually applied our proposed method to Google PDFium and LibSass, which confirmed that our proposed method successfully detects a type confusion bug at the binary level.

      더보기

      목차 (Table of Contents)

      • 1. Introduction 1
      • 2. Background and Problem Analysis 3
      • 2.1. C++ type system 3
      • 2.2. Assembly representation of C++ codes 5
      • 2.3. Problem analysis 7
      • 1. Introduction 1
      • 2. Background and Problem Analysis 3
      • 2.1. C++ type system 3
      • 2.2. Assembly representation of C++ codes 5
      • 2.3. Problem analysis 7
      • 3. Solution Overview 10
      • 3.1. Threat model and assumptions 10
      • 3.2. Key ideas 10
      • 4. Methodology 14
      • 4.1. Class hierarchy inference 15
      • 4.2. Area layout analysis 16
      • 4.3. Runtime area analysis 17
      • 4.4. Optimization 18
      • 4.5. Verification 19
      • 5. Implementation and Evaluation 20
      • 5.1. Bug detection 20
      • 5.2. Applicability 22
      • 5.3. Performance overhead 25
      • 6. Related work 27
      • 6.1. Type confusion detection 27
      • 6.2. Sanitizer 28
      • 6.3. Class hierarchy recovery 28
      • 6.4. Virtual call integrity 29
      • 7. Conclusion and Future Work 30
      • 7.1. Conclusion 30
      • 7.2. Future work 30
      • References 33
      • Appendix 36
      더보기

      분석정보

      View

      상세정보조회

      0

      Usage

      원문다운로드

      0

      대출신청

      0

      복사신청

      0

      EDDS신청

      0

      동일 주제 내 활용도 TOP

      더보기

      주제

      연도별 연구동향

      연도별 활용동향

      연관논문

      연구자 네트워크맵

      공동연구자 (7)

      유사연구자 (20) 활용도상위20명

      이 자료와 함께 이용한 RISS 자료

      나만을 위한 추천자료

      해외이동버튼