RISS 학술연구정보서비스

검색
다국어 입력

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

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

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

    RISS 인기검색어

      검색결과 좁혀 보기

      선택해제

      오늘 본 자료

      • 오늘 본 자료가 없습니다.
      더보기
      • BinTyper : type confusion detection for C++ Binaries

        김동주 Graduate School of Cybersecurity, Korea University 2021 국내석사

        RANK : 231948

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

      연관 검색어 추천

      이 검색어로 많이 본 자료

      활용도 높은 자료

      해외이동버튼