292 0

멀티프로세서 시스템의 확정적 리플레이를 위한 커널 레벨 접근 방법

Title
멀티프로세서 시스템의 확정적 리플레이를 위한 커널 레벨 접근 방법
Other Titles
A Kernel-level Approach to Deterministic Replay for Multiprocessor Systems
Author
윤현민
Advisor(s)
유민수
Issue Date
2019-02
Publisher
한양대학교
Degree
Doctor
Abstract
컴퓨팅 시스템은 프로그램 코드로 확정된 명령어 집합들을 순차적으로 실행하지만 비확정적인 다양한 외부 입력들의 영향으로 실제 실행되는 명령어 흐름을 예측할 수 없다. 확정적 리플레이는 이러한 비확정적 요소를 재현함으로써 과거 수행된 소프트웨어의 실행을 동일하게 재현하는 기술이다. 이 기술은 특정 상황에서만 발생하는 프로그램 버그의 탐색, 개발자가 예상하지 못한 시스템 취약점을 이용한 침투 공격에 대한 분석, 과거 특정 시점에서의 프로그램 상태를 분석 또는 복원하는데 용이하여 디버깅, 테스팅, 보안, 성능 분석, 고장 감내 등 다양한 분야에 적용할 수 있다. 본 논문에서 제안하는 확정적 리플레이 방법, 소프트웨어 블랙박스는 사용자 응용 프로그램뿐만 아니라 운영체제와 같은 시스템 소프트웨어의 실행을 재현하는 전시스템 재현 기능을 제공한다. 소프트웨어 블랙박스는 타깃 운영체제 기능의 일부로 구현되는 커널 레벨 접근 방법을 취함으로써 기존 전시스템 재현에 대한 연구와 다르게 재현을 위한 특수한 하드웨어 장치 또는 가상화 기술을 필요로 하지 않는다. 본 논문에서는 Intel이나 ARM 프로세서에서 제공하는 MMU, PMU, 브레이크 포인트와 같은 기능을 이용하여 단일 프로세서 및 멀티프로세서 시스템에서 발생하는 비확정적 이벤트 재현 방법을 상세히 기술하고 커널 레벨 접근법을 취함으로써 발생할 수 있는 관찰자 효과를 어떻게 극복하였는지 보인다. 제안하는 방법을 검증하기 위하여 ARM 멀티프로세서 상에 포팅 된 Linux 커널 기능 중 하나로 소프트웨어 블랙박스 프로토타입을 구현하고, 다양한 워크 로드를 가지는 시스템 실행을 재현함으로써 재현 기능으로 발생되는 성능 오버헤드와 재현의 정확성을 평가하였다. 결과적으로 소프트웨어 블랙박스의 재현 기능은 4% 정도의 성능 오버헤드를 발생시키며, 본 논문에서 제안하는 방법을 통해 시스템 실행 중 발생되는 모든 비확정적 요소를 제거하고 과거 실행된 명령어 흐름을 명령어 수준의 정확도로 재현할 수 있음을 보였다.
URI
https://repository.hanyang.ac.kr/handle/20.500.11754/99730http://hanyang.dcollection.net/common/orgView/200000434985
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > ELECTRONICS AND COMPUTER ENGINEERING(전자컴퓨터통신공학과) > Theses (Ph.D.)
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