메뉴 건너뛰기
.. 내서재 .. 알림
소속 기관/학교 인증
인증하면 논문, 학술자료 등을  무료로 열람할 수 있어요.
한국대학교, 누리자동차, 시립도서관 등 나의 기관을 확인해보세요
(국내 대학 90% 이상 구독 중)
로그인 회원가입 고객센터 ENG
주제분류

추천
검색

논문 기본 정보

자료유형
학위논문
저자정보

강상용 (전남대학교, 전남대학교 대학원)

지도교수
노봉남
발행연도
2016
저작권
전남대학교 논문은 저작권에 의해 보호받습니다.

이용수10

표지
AI에게 요청하기
추천
검색

이 논문의 연구 히스토리 (4)

초록· 키워드

오류제보하기
이미 우리 생활에 깊숙이 침투해 있는 각종 소프트웨어들은 지금도 빠르게 그 영역을 확대해 나가고 있다. 최근 클라우드, 모바일, 빅데이터, IoT 등에 대한 관심이 급증하면서 소프트웨어 산업이 시장 변화를 주도하고 있다.

다양한 영역에서 우리의 삶과 맞닿아 있는 소프트웨어의 신뢰도는 매우 중요한 요소이다. 최근 소프트웨어 산업의 발달에 따른 사회적 보안 문제가 지속적으로 발생하고 있다. 이와 관련해 소프트웨어의 신뢰도를 향상시키기 위한 테스팅의 필요성은 날이 갈수록 증가하고 있으며, 그 기술 역시 계속해서 발전을 거듭하고 있다.

소포트웨어의 활용 영역과 규모가 커짐에 따라 자동화된 소프트웨어 테스팅 방법에 관한 연구가 활발히 진행되고 있다. 퍼즈 테스팅(Fuzz Testing) 혹은 퍼징(Fuzzing)이라 불리는 소프트웨어 테스팅 기법은 소프트웨어에 유효한, 예상치 않은 또는 무작위 데이터를 입력하는 것이다. 이후 소프트웨어의 충돌이나 빌트인 코드 검증의 실패, 잠재적인 메모리 누수 발견 등과 같은 예외에 대한 검증이 이루어진다. 하지만 퍼즈 테스팅은 무작위 테스팅이라는 형식의 한계로 인해 낮은 코드 커버리지를 가진다. 이러한 단점을 극복하기 위해 고안된 Dynamic Symbolic Execution(이하 DSE)은 소프트웨어의 입력 데이터를 심볼릭 변수로 정의함으로써 실행 가능한 모든 경로를 빠르게 탐색하는 것이 가능하다. 하지만 DSE는 가능한 모든 경로를 탐색하기 때문에 소프트웨어의 복잡도에 따라 많은 오버헤드를 발생시킨다. 이러한 이유로 실제 소프트웨어 테스팅 기법에 적용시키기에 한계가 있다는 점이 단점으로 꼽힌다.

본 논문에서는 DSE를 이용해 윈도우 시스템 콜을 대상으로 Use-After-Free 취약점 자동 탐지 방법을 제안한다. 먼저 테스팅을 수행하기 위한 목표 지점을 선정한다. 정적 분석을 기반으로 해당 취약점 패턴을 탐색한 후 후보 목표 지점을 추출한다. 그리고 추출된 후보 지점을 바탕으로 관심 밖의 영역으로의 분기를 차단하는 과정을 거친다. 이러한 과정을 통해 DSE 기술의 단점인 오버헤드 발생을 극복하고, 해당 기술을 실제 윈도우 시스템 콜 테스팅에 활용하는 방법을 제안한다.

제안한 방법을 이용해 최근 윈도우 시스템 콜에서 발생한 취약점 재연 실험을 수행했다. 실험을 통해 취약한 지점까지 도달 가능한 함수 호출 체인을 얻을 수 있었고, 해당 경로를 따르는 테스트 케이스 집합 추출이 가능하다는 것을 증명했다. 또한 Use-After-Free 취약점을 트리거하는 경로를 방문할 경우 BSOD를 띄우고, 해당 지점까지의 함수 호출 스택과 테스트 케이스를 자동으로 출력하는 기능을 추가했다.

본 연구의 결과로 윈도우 시스템 콜에서 발생하는 Use-After-Free 취약점 자동 탐지에 DSE 기술을 활용할 수 있게 되었고, 나아가 운영체제 커널 안정성 검증의 자동화에 기여할 수 있기를 기대한다.

목차

1. 서론 1
가. 연구 배경 1
나. 연구 목적 2
다. 기여한 점 4
1) 정적 분석 기반 Use-After-Free 취약점 탐색 모델 개발 4
2) DSE를 이용한 커널 크래시 재생산 방법 제안 4
3) DSE를 이용한 커널 안정성 검증 자동화 방법 제안 4
2. 관련 연구 5
가. 동적 심볼릭 수행(Dynamic Symbolic Execution) 5
1) 개요 5
2) 동적 심볼릭 수행의 효율성 5
나. KLEE 8
1) 개요 8
2) 기능 및 특징 9
3) 문제점 및 한계점 10
다. S2E 11
1) 개요 11
2) 기능 및 특징 11
3) 문제점 및 한계점 13
라. S2E-CBTT 14
1) 개요 14
2) 기능 및 특징 14
3) 문제점 및 한계점 18
마. Kernel Attacks through User-Mode Callbacks 19
1) 개요 19
2) win32k.sys 19
3) Kernel Attacks through User-Mode Callbacks 21
바. 최근 윈도우 시스템 콜 취약점 22
1) CVE-2015-0057 22
2) CVE-2015-2360 26
3. DSE 기반 윈도우 시스템 콜 UAF 취약점 탐지 기법 30
가. 개요 30
나. DSE 기반 윈도우 시스템콜 취약점 탐지 기법 30
1) Step1 : 목표 지점 탐색 전략 30
2) Step2 : 심볼릭 도메인 정의 33
3) Step3 : Dynamic Symbolic Execution 수행 38
4. 실험 43
가. 개요 43
나. CVE-2015-0057 취약점 재연 43
1) 타겟 지점 탐색 43
2) 심볼릭 도메인 정의 44
3) DSE 수행 47
다. CVE-2015-2360 취약점 재연 49
1) 타겟 지점 탐색 49
2) 심볼릭 도메인 정의 51
3) DSE 수행 54
5. 결론 57
가. 기대 효과 57
나. 향후 연구 57
참 고 문 헌 58
영 문 초 록 61

최근 본 자료

전체보기

댓글(0)

0