김문주 교수
MoonJoo Kim
KAIST 전산학부 · 공학
연구실 소개
김문주 교수의 연구실은 내장형 시스템과 운영체제 커널의 신뢰성 향상을 위해 모델 기반 테스팅 및 바이너리 정적·동적 분석 기법을 연구하고 있습니다. 특히, 커널의 동시성 오류를 효과적으로 검출하기 위한 MOKERT 프레임워크 개발과 함께, 소스코드 없이도 실세계 응용 프로그램의 버그를 탐지할 수 있는 바이너리 기반 심볼릭 실행 엔진 개발에 주력하고 있습니다. 이는 시스템 소프트웨어의 안정성과 보안성을 높이는 데 기여합니다.
연구 현황
연구 성과 추이
표시된 성과는 수집된 데이터 기준으로 산출되며, 일부 차이가 있을 수 있습니다.
주요 논문
4최근 내장형 시스템이 점점 많은 분야에 사용되며, 시스템에 특화된 운영체제 커널에 대한 필요성이 커지고 있다. 하지만, 커널 개발은 코드의 복잡성 등의 이유로 말미암아 테스팅에 큰 비용이 소요됨에도 불구하고, 높은 신뢰성을 달성하기가 어려운 실정이다. 이러한 커널 개발 및 테스팅의 어려움을 극복하기 위해, 운영체제 커널의 동시성 오류 검출을 지원하는 모델 기반의 커널 테스팅 (MOKERT) 프레임워크를 제안한다. MOKERT 프레임워크는 주어진 C 프로그램을 Promela 정형 명세 모델로 변환하고 나서 Spin 모델검증기를 사용하여 검증하고, 검증반례가 생성된 경우, 이 검증반례를 실제 커널 코드에서 실행을 시켜서 진위를 확인한다. 본 연구에서는 MOKERT 프레임워크를 리눅스 proc파일시스템에 적용하여, ChangeLog에 보고된 오류가 실제로 자원경쟁문제를 일으킴을 확인하였을 뿐만 아니라, 커널 패닉을 일으키는 새로운 오류도 발견하였다.
Analyzing binary programs is necessary in many situations when we do not have the programs source code. In recent years, many binary analysis tools have been developed such as CodeSurfer/x86, BitBlaze and S2E. In this paper we developed a binary symbolic execution engine based on BitBlaze. We applied the engine to generate hundreds of test cases for a real-world application on Windows: Acrobat Reader. Besides, we also discussed lessons learned from applying dynamic symbolic execution on real-wor
대표 연구 분야
김문주 교수의 연구를 Nubint에서 더 깊이 살펴보세요
이 연구실의 논문을 앱에서 열어 AI와 함께 읽고, 핵심을 요약하고, 내 글에 인용하세요.