Room1 (E1-4)

15:20~16:10

The challenge of tight window

Tech
#취약점 연구 #리눅스 커널
이창헌UNISTS2Lab Vulnerability Researcher

UNIST S2Lab 소속 취약점 연구원으로써 소프트웨어 시스템에서 취약점 분석을 수행 중입니다. 특히 Linux kernel과 JS engine을 대상으로 하는 Software test automation technique의 적용에 높은 흥미를 지니고 있습니다.

주진호라온시큐어핵심연구팀

저는 라온시큐어 핵심연구팀 소속원으로서 레드팀 업무를 수행 중입니다. 드넓은 "보안"이라는 분야에서 한없이 배울 수 있음에 감사하며 끊임없이 나아가기 위해 정진하고 있습니다.

Race condition 및 Concurrency UAF는 Type confusion, Logic bug 등과 함께 Fuzzing 등의 Software test automation technique을 통한 효과적 검출이 난해한 것으로 알려진 취약점입니다. 특히 이러한 경향은 Linux kernel, Windows Kernel, JS engine, Rendering engine 등 대규모 코드베이스에서 더욱 두드러지게 나타납니다. 더하여 Race condition 및 Concurrency UAF은 Linux kernel에서 발생했던 CVE-2022-2959, V8에서 발생했던 Issue 40055938 등과 같이 권한 상승 및 원격코드실행 등 심각한 수준의 위협성을 지닙니다. 이러한 배경으로 인해 Race condition 및 Concurrency UAF은 취약점 연구자들의 꾸준한 관심사 중 하나로 이어져 오고 있으며, 특히 Linux kernel을 중심으로 하여 DDrace, Razzer 등의 연구는 다수의 신규 취약점을 식별해 내는 등 뛰어난 결과를 보였습니다. 본 발표의 진행은 상술한 경향성과 선행 연구에 대해서 간단하게 살펴보고, 발표자가 Best of the Best 12기에서 진행했던 프로젝트에서 도출된 Linux kernel에서의 Race condition 및 Concurrency UAF에 대한 검출 방법론을 소개할 예정입니다. 해당 방법론은 Linux kernel에서 동시성으로 인한 문제를 검출하기 위한 KCSAN의 3가지 개선 가능 지점인 계측 정밀성, 지연 시간, 검출 효율성을 해결하기 위해 설계되었으며, SVF에 기반한 정적분석과 Syzkaller를 결합한 형태로 구현되었습니다. 이어서 이를 JS engine에 적용하는 것을 목표로 현재 진행 중인 프로젝트에서 타깃의 특성에 따라 새롭게 제기된 문제들과, 이를 해결하기 위한 시도들에 대해 다룰 예정입니다. 본 발표는 동시성 문제에서 기인하는 개별적 취약점에 대한 세부적인 탐구보다는 동시성 문제에서 기인하는 취약점에 대한 검출 방법론의 설계와 각각의 주요한 타깃에 대한 적용 과정에서 식별된 문제, 그리고 이를 해결하기 위한 시도들에 초점을 맞춥니다. 공유자원과 이에 대한 접근의 식별 및 동시성 관련 Sanitizer의 개선 가능 지점의 도출과 개선을 위한 노력의 소개가 .HACK에 참석하는 모두에게 새로운 Insight로 와닿을 수 있길 바랍니다.