서지주요정보
소프트웨어 보안을 위한 코드 난독화 도구의 개발 = An implementation of code obfuscator for software protection
서명 / 저자 소프트웨어 보안을 위한 코드 난독화 도구의 개발 = An implementation of code obfuscator for software protection / 채영현.
발행사항 [대전 : 한국과학기술원, 2007].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8018458

소장위치/청구기호

학술문화관(문화관) 보존서고

MCS 07040

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Software engineering technology such as static program analysis and reverse engineering has made a remarkable prograss in software industry, so that it can contribute to enhancing the reliability of programs or the efficiency of their development. However, this same technology can be exploited for illigal purposes, for example looking for vulnerabilities in binaries and stealing intellectual property. Several technical protection of a program from these attacks has been proposed : server-side execution, program encryption, program fragmentation and so on. Among them, code obfuscation is a program transformation technique that makes a transformed program harder to understand and difficult to reverse engineer while maintaining its functionality. In this paper, we introduce the details about binary code obfuscation including the specific techniques and the requirement of executable code to apply obfuscation. With this information, we implement link-time binary code obfuscator, which transforms the object codes into the forms that are difficult or impossible to reverse engineer successfully. And, we evaluate our tool in terms of security and cost. Security is measured with the software complexity metric called cyclomatic complexity and cost is done with code expansion and speed degradation.

프로그램 정적 분석 및 역공학과 같은 소프트웨어 공학 기법은 프로그램의 신뢰성을 개발의 효율성을 향상시킴으로써 소프트웨어 산업 전반의 발전을 가져왔다. 하지만, 불행히도 이러한 기술들이 특정 소프트웨어의 취약성을 발견해내어 불법적인 조작을 가하고 지적재산권을 침해하는 등 악의적인 목적으로 사용될 수 있음은 매우 유감스러운 사실이다. 즉, 이는 소프트웨어 정품의 비밀번호나 트라이얼 버전의 사용 제한 루틴 등의 소프트웨어 보호 장치를 제거할 목적으로 프로그램을 수정하는 소프트웨어 크래킹의 기반 기술로 이용될 수 있다는 것이다. 최근, 서버측 실행, 프로그램 암호화, 단편화 등과 같이 이러한 공격을 막기 위한 노력이 계속되고 있는데, 그 중 코드 난독화는 프로그램의 본래 의미는 보존하되, 공격자가 프로그램을 분석하여 이해하기 어려운 형태로 변환하는 기법으로 소프트웨어 보안상 비용 대비 효과가 큰 것으로 알려져 있다. 본 논문에서는 코드 난독화의 의미와 실행 파일에 난독화를 적용하기 위한 조건이 제시되고, 이 정보를 바탕으로 프로그램 목적 파일에 난독화를 적용하는 링크 시간 바이너리 난독화 도구의 개발 세부 사항을 소개한다. 또한, 개발된 도구는 보안 성능 및 비용의 관점에서 평가가 이루어졌는데, 보안 성능은 사이클로매틱 복잡도를 이용하였고, 비용은 코드 크기 및 실행 속도 변화에 의존하여 측정하였다.

서지기타정보

서지기타정보
청구기호 {MCS 07040
형태사항 vi, 41 p. : 삽화 ; 26 cm
언어 한국어
일반주기 저자명의 영문표기 : Young-Hyun Chai
지도교수의 한글표기 : 최광무
지도교수의 영문표기 : Kwang-Moo Choe
학위논문 학위논문(석사) - 한국과학기술원 : 전산학전공,
서지주기 참고문헌 수록
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서