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

추천
검색

논문 기본 정보

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

이석원 (한양대학교, 한양대학교 대학원)

지도교수
오희국
발행연도
2021
저작권
한양대학교 논문은 저작권에 의해 보호받습니다.

이용수7

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

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

초록· 키워드

오류제보하기
현대 사회에서 소프트웨어에 대한 의존도는 점점 증가하고 있다. 일반적인 사무 업무에서부터 정밀 기계 공정이나 의료 기기, 금융 서비스와 같은 핵심적인 기반 서비스까지 크고 복잡한 소프트웨어 시스템들은 널리 사용되고 있다. 이에 따라 다양한 소프트웨어들이 생산되고 있지만, 소프트웨어의 품질은 이와 같은 규모에 미치지 못하는 경우가 종종 있다.
소프트웨어의 품질에 영향을 미치는 것은 크게 두 가지로 결함(fault)과 취약점(vulnerability)이다. 특히, 취약점은 개발자들의 실수로 인해 소프트웨어에 발생할 수 있는 버그로 공격자가 악의적으로 이용할 수 있다. 취약점의 사례로는 버퍼 오버플로우, Race Condition 등이 있으며, 취약점은 소프트웨어의 품질을 저해시키고 사용자로 하여금 소프트웨어에 대한 안전성과 신뢰도가 떨어지게 되며, 개발 측에서는 유지 관리 비용을 증가시키는 요인이 된다.
Race Condition은 둘 이상의 프로세스가 하나의 공통 자원에 대해 입력이나 조작이 동시에 일어나 의도치 않은 결과를 가져오는 취약점이다. 해당 취약점은 서비스 거부 또는 권한 상승과 같은 문제를 초래할 수 있다. 일반적으로 소프트웨어에서 취약점이 발생하면 관련된 정보를 문서화하지만 종종 취약점의 발생 원인을 밝히지 않거나 소스코드를 공개하지 않는 경우가 있다. 이런 경우, 취약점을 탐지하기 위해서는 바이너리 레벨에서의 분석이 필요하다.
본 논문은 UNIX 커널 기반 File System의 Time-Of-Check Time-Of-Use Race Condition 취약점을 바이너리 레벨에서 탐지하는 것을 목표로 한다. 지금까지 해당 취약점에 대해 정적/동적 분석 기법을 포함하여 다양한 탐지 기법이 연구되었다. 동적 분석은 실행 정보를 통해 정확한 탐지가 가능하며, 잘 알려져 있지 않거나 아직 발견되지 않은 취약점을 탐지하는 데에 적합하다. 모든 경로를 분석하기 위해서는 정적 분석을 이용하며, 널리 알려져 있는 취약점 발생 패턴을 이용한 탐지에 적합하다. 기존의 정적 분석 도구는 소스코드를 이용하여 탐지하며, 바이너리 레벨에서 수행한 연구는 현재 거의 전무하다. 본 논문은 Control Flow Graph, Call Graph를 이용하여 탐지하는 방법을 제안하며 취약점 탐지 기술에 있어 도움이 될 것으로 기대한다.

목차

제 1 장 서론 1
제 2 장 배경지식 4
2.1 TOCTOU(Time-Of-Check Time-Of-Use) Race Condition 4
2.2 ELF와 Mach-O 바이너리 6
2.2.1 ELF (Executable and Linkable Format) 6
2.2.2 Mach-O (Mach-Object) 7
2.3 중간 표현과 바이너리 분석 도구 7
2.3.1 중간 표현 (Intermediate-Representation) 7
2.3.2 바이너리 분석 도구 8
제 3 장 관련 연구 10
3.1 Checking for race conditions in file accesses 10
3.2 MOPS: an infrastructure for examining security properties of software 10
3.3 Improving computer security using extended static checking 10
3.4 TOCTTOU Vulnerabilities in UNIX-Style File Systems: An Anatomical Study 11
3.5 CWE-Checker 11
제 4 장 바이너리 분석을 통한 탐지 방법 제안 13
4.1 Check-Use Pair 시그니처 13
4.2 XNU 커널 바이너리 분석 15
4.3 취약점 탐지 전략 16
4.3.1 단일 함수 내에서의 취약점 탐지 16
4.3.2 서로 다른 함수 간의 취약점 탐지 17
제 5 장 실험 및 평가 19
5.1 실험환경 19
5.2 실험 결과 및 평가 23
제 6 장 결론 25
참고문헌 26
ABSTRACT 28

최근 본 자료

전체보기

댓글(0)

0