About Past Issues Editorial Board

KAIST
BREAKTHROUGHS

Research Webzine of the KAIST College of Engineering since 2014

Spring 2025 Vol. 24
Computing

A new bug-finding system to Identify Kernel Out-of-Order Concurrency Bugs

March 4, 2025   hit 380

권영진신인식 교수 연구팀은 세계 최초로 Apple M3 processor과 같이 비순차적 실행 기반의 CPU에서 발생가능한 동시성 버그를 찾는 기술 개발하였다. 비순차적 실행에 의한 동시성 버그는 개발자들이 발견하기 매우 어려운 버그이다. 따라서 이를 자동화하여 찾아내는 기술을 운영체제 시스템의 안정성 향상에 크게 기여할 수 있다. 본 연구팀은 개발한 기술을 이용하여 서버용 운영체제인 Linux 커널에서 시스템에 치명적인 손상을 일으킬 수 있는 버그들을 다수 포함하여 총 11개의 버그를 발견하였고, 보고 버그들은 Linux 개발자들에 의해서 패치되었다.


 

권영진신인식 교수 연구팀은 애플(Apple)의 프로세서를 탑재한 모든 장치를 비롯하여 ARM 서버에서 발생가능한 비순차적 실행에 의한 동시성버그를 실제 물리적인 CPU장치 없이도 발견하고 그 원인 규명하도록 돕는 운영체제 버그 탐지 프레임워크를 개발하였다.

 

비순차적 실행에 의한 동시성 버그는 전문 개발자가 몇 년이 지나도 찾지 못할 정도로 개발자의 직관이나 단순 테스팅을 통해 발견하기는 매우 어려운 버그임. 이러한 버그를 공격자가 악용할 경우 시스템이 해킹당하거나 작동을 멈출 수 있는 결과를 초래할 수 있다. 본 연구팀은 개발자들의 노력없이 자동화된 테스팅을 통해 버그를 발견하는 시스템을 설계하고 구현하였다.

 

특히 개발된 버그 탐지 기술은 실제 물리적인 CPU 없이도 정확하고 빠르게 소프트웨어만으로 에뮬레이션하는 방법을 사용한다. 따라서 애플 프로세서나 ARM 서버 없이도 흔히 사용하는 IntelCPU로 구성된 서버도 에뮬레이션 환경에 운영체제를 구동하고 해당 버그를 탐지할 수 있게된다.

 

또한 연구팀은 해당 기법을 커널에서 동시성 버그를 찾는 퍼징 (fuzzing)기법과 결합하여 사용가능하도록 설계하였다. 퍼징기법은 입력값을 무작위로 대입하여 그 과정에서 발생하는 버그나 에러를 발견하는 기법으로 Google과 같은 기업이 운영체제 버그를 탐지하기 위해 널리 사용되고 있다.

 

본 연구팀이 발견한 기술을 통해 실제 최신 리눅스 운영체제에서 11개의 새로운 동시성 버그를 발견하여 보고하였고, 리눅스 개발자들에게 패치를 제공하였다. 발견된 버그들은 암호화된 네트워크에 사용하는 TLS 코드를 비롯하여 보안에 위협이 되는 중요한 커널 요소에서 곳곳에서 발견되었다. 별견된 버그들은 다음과 같다.
본 연구팀이 개발한 기술은 리눅스뿐만 아니라 핸드폰에 사용되는 안드로이드 운영체제나 윈도우에도 적용할 수 있는 기술로, 앞으로 그 응용 사례가 계속 확대될 전망이다. 연구 결과물은 오픈소스로 공개돼 있다.