연구 소식

Agamotto: 디바이스 드라이버 Fuzzing을 가속하는 테크닉
작성일2020-12-04 03:33:31

운영체제 커널 레벨에서 동작하는 디바이스 드라이버의 취약점은 운영체제의 보안을 위협하는 큰 문제 중 하나로 잘 알려져 있다. 최근에 와이파이나 USB와 같은 주변 장치들이 더 발달하고, 또 서로 연결되면서, 이러한 주변 장치들을 이용해서 운영체제의 디바이스 드라이버의 취약점을 공격할 수 있다는 증거들이 지속적으로 보고되고 있다.

 

이러한 문제의식을 가지고, 카이스트 강병훈 교수 및 김종환 박사 (최근 라인 보안 연구소 임용), UC Irvine소속의 Michael Franz교수 및 송도경 박사 (최근 연세대 컴퓨터과학과 조교수 임용) 그리고 TU Berlin연구실이 공동으로 디바이스 드라이버의 취약점들을 어떻게 하면 더 빠르게 찾을 수 있는지에 대한 연구를 수행하였다. 이 연구의 핵심 기술은 VM Checkpointing테크닉으로, 연구진은 어떻게 이 테크닉을 이용해서 여러 가지 디바이스 드라이버 Fuzzing 툴들을 가속할 수 있는지를 보여주고 있다.

 

 

 

 

연구진은 VM Checkpointing 아이디어를 바탕으로Agamotto라는 시스템을 개발하였다. Figure 1에서  보여지는 것처럼, 이 시스템은 하이퍼바이저를 변경해서 Guest VM의 Checkpoint들을 동적으로 만들고 저장한다. 이렇게 만들어진 Checkpoint에 저장된 Guest VM 상태를 빠르게 복구함으로써Fuzzing 과정의 일부를 건너뛸 수 있게 되며, 결국 전체 취약점 발견 프로세스를 가속할 수 있게 된다. 연구진은 Syzkaller라는 Fuzzing 툴에 Agamotto를 적용했을 때, USB 디바이스 드라이버 Fuzzing을 평균 66% 까지 가속할 수 있음을 보여주고 있다.

 

이러한 성과를 인정받아 이 논문은 2020 USENIX Security에 게재되었으며 논문은 이 링크
(https://www.usenix.org/system/files/sec20-song.pdf)를 통해 확인할 수 있다.