서지주요정보
TRACER : signature-based static analysis for detecting recurring vulnerabilities = TRACER: 반복되는 오류를 탐지하기 위한 시그니처 기반 정적 분석 시스템
서명 / 저자 TRACER : signature-based static analysis for detecting recurring vulnerabilities = TRACER: 반복되는 오류를 탐지하기 위한 시그니처 기반 정적 분석 시스템 / Wooseok Kang.
발행사항 [대전 : 한국과학기술원, 2023].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8040855

소장위치/청구기호

학술문화관(도서관)2층 학위논문

MIS 23001

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Similar software vulnerabilities recur because developers reuse existing vulnerable code, or make similar mistakes when implementing the same logic. Recently, various analysis techniques have been proposed to find syntactically recurring vulnerabilities via code reuse. However, limited attention has been devoted to semantically recurring ones that share the same vulnerable behavior in different code structures. In this paper, we present a general analysis framework, called TRACER, for detecting such recurring vulnerabilities. The main idea is to represent vulnerability signatures as traces over interprocedural data dependencies. TRACER is based on a taint analysis that can detect various types of vulnerabilities. For a given set of known vulnerabilities, the taint analysis extracts vulnerable traces and establishes a signature database of them. When a new unseen program is analyzed, TRACER compares all potentially vulnerable traces reported by the analysis with the known vulnerability signatures. Then, TRACER reports a list of potential vulnerabilities ranked by the similarity score. We evaluate TRACER on 273 Debian packages in C/C++. Our experiment results demonstrate that TRACER is able to find 112 previously unknown vulnerabilities with 6 CVE identifiers assigned.

비슷한 패턴의 소프트웨어 오류가 반복적으로 나타나는 현상은 다양한 원인으로 인해 발생할 수 있다. 대표적으로는 기존 소스 코드 재사용이나, 구현 과정에서 생기는 개발자들의 유사한 실수가 있다. 최근 다양한 분석 기술들이 이런 반복되는 오류를 탐지하기 위해 등장했지만, 대부분은 코드의 구문적 특성만을 비교한다는 한계가 있다. 본 논문에서는 구문적 특성뿐만 아니라 프로그램의 의미적 특성도 고려하여 반복되는 오류를 탐지할 수 있는 시스템, 트레이서를 소개한다. 트레이서의 핵심 아이디어는 값 의존성에 기반하여 프로그램의 실행흐름을 추출하는 것이다. 우선 오염 분석을 이용해 이미 알려진 취약점 정보들의 실행 경로를 추출한다. 그리고 그것들을 모아 시그니처 데이터베이스로 사용한다. 만약 우리가 분석할 프로그램이 입력으로 주어지면, 그 프로그램에서 잠재적으로 취약할 가능성이 있다고 의심되는 모든 실행 경로를 추출한 뒤, 그것들을 데이터베이스에 있는 실행 경로와 비교하여 얼마나 유사한지 계산한다. 그러면 최종적으로 이 유사도 점수에 기반해 순위를 매긴 알람들을 사용자에게 보고할 수 있다. 우리는 트레이서를 273개의 데비안 패키지를 대상으로 실험하여, 총 112개의 새로운 취약점을 발견하였다.

서지기타정보

서지기타정보
청구기호 {MIS 23001
형태사항 iv, 35 p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 강우석
지도교수의 영문표기 : Kihong Heo
지도교수의 한글표기 : 허기홍
학위논문 학위논문(석사) - 한국과학기술원 : 정보보호대학원,
서지주기 References : p. 32-35
주제 software security
program analysis
software engineering
소프트웨어 보안
프로그램 분석
소프트웨어 공학
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서