Skip to main content
QUICK REVIEW

[논문 리뷰] SyzScope: Revealing High-Risk Security Impacts of Fuzzer-Exposed Bugs in Linux kernel

Xiaochen Zou, Guoren Li|arXiv (Cornell University)|2021. 11. 11.
Advanced Malware Detection Techniques참고 문헌 21인용 수 12
한 줄 요약

SyzScope는 Linux 커널 퍼저가 보고한 것으로 보이는 저위험도 버그 내에 숨겨진 고위험 보안 영향(예: 임의의 코드 실행, 메모리 손상)을 자동으로 드러내는 시스템이다. 정적 분석, 기호 실행, 퍼징을 조합하여 syzbot의 1,000건 이상의 저위험 보고서 중에서 기존에 발견되지 않은 183개의 고위험 버그를 식별했으며, 이는 취약성 분류 및 패치 우선순위 설정을 크게 향상시켰다.

ABSTRACT

Fuzzing has become one of the most effective bug finding approach for software. In recent years, 24*7 continuous fuzzing platforms have emerged to test critical pieces of software, e.g., Linux kernel. Though capable of discovering many bugs and providing reproducers (e.g., proof-of-concepts), a major problem is that they neglect a critical function that should have been built-in, i.e., evaluation of a bug's security impact. It is well-known that the lack of understanding of security impact can lead to delayed bug fixes as well as patch propagation. In this paper, we develop SyzScope, a system that can automatically uncover new "high-risk" impacts given a bug with seemingly "low-risk" impacts. From analyzing over a thousand low-risk bugs on syzbot, SyzScope successfully determined that 183 low-risk bugs (more than 15%) in fact contain high-risk impacts, e.g., control flow hijack and arbitrary memory write, some of which still do not have patches available yet.

연구 동기 및 목표

  • syzbot과 같은 지속적 퍼징 플랫폼이 버그를 보고하지만 자동화된 보안 영향 분석이 부족한 심각한 격차를 해결하기 위해.
  • 예를 들어, 단정 실패나 읽기 전용 액세스와 같은 보기에 저위험도인 버그가 실제로 제어 흐름 조작이나 임의의 메모리 쓰기와 같은 고위험 악용으로 이어질 수 있는지 확인하기 위해.
  • 초기 버그 보고서에서 명백하지 않은 악용 가능한 프리미티브를 자동으로 탐지함으로써 패치 우선순위 설정 및 후속 시스템으로의 패치 배포를 향상시키기 위해.
  • 기존의 악용 생성 및 패치 분석 도구와 보완되는 스케일러블하고 자동화된 솔루션을 제공하기 위해.

제안 방법

  • SyzScope는 퍼저가 생성한 재현 코드와 관련 버그 보고서를 입력으로 받아, 초기 충돌을 넘어서는 더 깊은 보안 영향을 탐지하기 위해 코드 경로를 분석한다.
  • 정적 분석을 사용해 잠재적 메모리 액세스 패tern을 식별하고, 기호 실행을 통해 고위험 행동으로 이어질 수 있는 대체 실행 경로를 탐색한다.
  • 시스템은 제어 흐름과 데이터 종속성을 탐색하기 위해 기호 실행 엔진을 활용하여 함수 포인터 역참조나 쓰기 프리미티브와 같은 위험한 동작을 탐지한다.
  • 고정밀 모드에서는 새로 발견된 고위험 영향이 실제로 트리거되고 악용 가능한지 검증하기 위해 퍼징 컴ponent를 통합한다.
  • 정의된 위험도 분류 체계를 사용해 악용 가능성 기반(예: 쓰기 vs. 읽기 프리미티브, 함수 포인터 역참조)으로 고위험도와 저위험도 영향을 구분한다.
  • 이 파이프라인은 syzbot과 같은 플랫폼에 통합되어 신규로 보고된 버그에 대한 지속적 분석을 가능하게 한다.

실험 결과

연구 질문

  • RQ1퍼저가 보고한 것으로 보이는 저위험도 Linux 커널 버그가 실제로는 임의의 코드 실행이나 메모리 손상과 같은 고위험 보안 영향으로 이어질 수 있는가?
  • RQ2현재의 퍼저 플랫폼인 syzbot과 같은 플랫폼이 영향 보고가 불완전하여 보고된 버그의 진정한 악용 가능성(exploitability)을 드러내지 못하는 정도는 어느 정도인가?
  • RQ3정적 분석, 기호 실행, 퍼징을 조합한 자동화된 분석이 실제 커널 취약성에서 숨겨진 고위험 영향을 효과적으로 드러낼 수 있는가?
  • RQ4버그의 위험도 분류(예: 쓰기 vs. 읽기 프리미티브)는 실제 악용 가능성과 패치 지연 시간과 어떻게 관련이 있는가?
  • RQ5SyzScope의 접근 방식은 버그 수정의 우선순위를 향상시키고 Android와 같은 후속 시스템으로의 패치 배포를 가속화할 수 있는가?

주요 결과

  • SyzScope는 syzbot에 보고된 1,000건 이상의 저위험도 버그 중에서 183개의 고위험 보안 영향을 식별했으며, 분석 대상의 15% 이상을 차지한다.
  • 이 중 많은 고위험 영향은 사용 후 할당 해제(Use-after-free), 범위를 초월한 메모리 쓰기, 함수 포인터 역참조와 같은 핵심 프리미티브를 포함했으며, 이는 권한 상승이나 임의의 코드 실행을 가능하게 할 수 있다.
  • 시스템은 초기에 무해하다고 보고된 버그(예: 단정 실패 또는 읽기 전용 액세스)가 실제로 커널 전체의 제어를 얻는 데 악용될 수 있음을 드러냈다.
  • 고위험도 버그의 평균 수정 소요 시간은 저위험도 버그보다 유의미하게 짧았으며, 이는 영향도 인식이 빠른 해결을 이끌 수 있음을 시사한다.
  • OOB 쓰기와 같은 고위험도 버그의 패치는 WARNING 수준의 버그보다 평균 24일 빠르게 Ubuntu Bionic 등 후속 시스템으로 배포된 것으로 확인되었다.
  • SyzScope의 결과는 현재의 퍼저 플랫폼이 간과하는 악용 가능한 취약점을 자동으로 영향 분석을 통해 드러낼 수 있음을 입증하며, 패치 우선순위 설정과 보안 강화에 실질적인 영향을 미칠 수 있음을 보여준다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.