동적오염분석과 SMT 해석기를 이용한 소프트웨어 보안 취약점 분석 연구

Title
동적오염분석과 SMT 해석기를 이용한 소프트웨어 보안 취약점 분석 연구
Other Titles
Analyzing Vulnerable Software Code Using Dynamic Taint and SMT Solver
Authors
박용수
Keywords
동적오염분석; 소프트웨어 취약점; 리버스 엔지니어링; SMT 해석기; 컨컬릭 실행; dynamic taint analysis; software vulnerability; reverse engineering; SMT solver; concolic execution
Issue Date
2015-03
Publisher
한국정보과학회
Citation
정보과학회 컴퓨팅의 실제 논문지, v. 21, NO 3, Page. 257-262
Abstract
소프트웨어가 복잡해짐에 따라 개발자가 인지하지 못하는 버그가 증가하고 있다. 공격자들은 시스템을 공격하거나 악성코드를 유포하기 위해 이와 같은 소프트웨어 버그 중 보안에 취약한 버그를 이용한다. 대표적인 방법으로 문서, 멀티미디어 등의 파일을 조작하여 보안에 취약한 버그를 발생시키는 방법으로 최근 지능적 지속 공격 빈번하게 사용되었다. 이에, 본 논문에서는 소프트웨어의 보안 취약점을 찾기 위한 프로그램 자동 분석 방법을 제안한다. 제안 방법은 문서, 멀티미디어 등 입력 값에 의해 발생되는 소프트웨어의 보안에 취약한 버그를 찾는 것을 목표로 한다. 먼저, 동적 오염 분석을 통해 입력 데이터가 취약 코드 지점까지 전파되는 과정을 추적하고 입력데이터 전파와 관련이 있는 명령어를 추출한다. 추출된 연관 명렁어를 수식화하고 이를 SMT 해석기를 이용하여 보안 취약점이 발생할 수 있는 입력 값을 찾는다. 제안 방법을 통해 아래아 한글, 곰 플레이어에서 크래시가 발생할 수 있는 입력값과 취약 코드 6개를 찾았다. As software grows more complex, it contains more bugs that are not recognized by developers. Attackers can then use exploitable bugs to penetrate systems or spread malicious code. As a representative method, attackers manipulated documents or multimedia files in order to make the software engage in unanticipated behavior. Recently, this method has gained frequent use in A.P.T. In this paper, an automatic analysis method to find software security bugs was proposed. This approach aimed at finding security bugs in the software which can arise from input data such as documents or multimedia. Through dynamic taint analysis, how input data propagation to vulnerable code occurred was tracked, and relevant instructions in relation to input data were found. Next, the relevant instructions were translated to a formula and vulnerable input data were found via the formula using an SMT solver. Using this approach, 6 vulnerable codes were found, and data were input to crash applications such as HWP and Gomplayer.
URI
http://www.dbpia.co.kr/Journal/ArticleDetail/NODE06204191http://hdl.handle.net/20.500.11754/22907
ISSN
2383-6318; 2383-6326
DOI
http://dx.doi.org/10.5626/KTCP.2015.21.3.257
Appears in Collections:
COLLEGE OF ENGINEERING[S](공과대학) > DIVISION OF COMPUTER SCIENCES AND ENGINEERING(컴퓨터공학부) > Articles
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE