구글의 AI 기반 OSS-Fuzz 도구: 오픈 소스 프로젝트에서 발견된 취약점
구글의 AI 기반 OSS-Fuzz 도구: 오픈 소스 프로젝트에서 발견된 취약점
최근 구글의 AI 기술을 이용한 OSS-Fuzz 도구가 오픈 소스 프로젝트에서 26개의 취약점을 발견했습니다. 이번 성과는 오토메이션된 버그 탐지에 있어서 중요한 이정표로 여겨집니다. 이 블로그 포스트에서는 OSS-Fuzz가 어떻게 발전해왔고, 어떤 주요 취약점을 발견했는지, 그리고 이러한 성과가 오픈 소스 안전성에 어떤 의미를 가지는지 알아보겠습니다.
OSS-Fuzz란?
OSS-Fuzz는 구글의 오픈 소스 소프트웨어의 취약점을 찾기 위해 개발된 도구입니다. 이 도구는 주로 '퍼징(fuzzing)' 기법을 사용하여 소프트웨어의 취약점을 찾아냅니다. 퍼징은 소프트웨어에 무작위 데이터를 입력하고, 오류나 예외 상황이 발생하는지 감시하는 방법입니다. 이러한 과정에서 발견된 취약점을 통해 소프트웨어의 안정성과 보안을 향상시킬 수 있습니다.
AI 기반 퍼징의 도입
구글은 2023년 8월에 대형 언어 모델(LLM)을 기반으로 한 프레임워크를 OSS-Fuzz에 도입했습니다. 2024년 1월에 오픈 소스로 공개된 이 프레임워크는 퍼징 자동화의 첫 두 단계를 성공적으로 구현했습니다. 첫 단계는 초기 퍼징 목표를 설계하는 것이고, 두 번째 단계는 컴파일 문제를 해결하는 것입니다. 이를 통해 소프트웨어의 다양한 부분을 효과적으로 테스트할 수 있게 되었습니다.
주요 발견된 취약점
가장 주목할 만한 발견 중 하나는 OpenSSL 라이브러리에서 발견된 CVE-2024-9143 취약점입니다. 이 취약점은 원격 코드 실행(RCE) 공격을 허용할 수 있는 중등도 보안 결함으로, 이제는 다양한 버전의 OpenSSL에서 수정되었습니다. 이 취약점은 약 20년 동안 존재했으나, 기존의 인간이 작성한 퍼징 목표로는 발견할 수 없었습니다.
구글의 연구팀은 또한 여러 오픈 소스 프로젝트에서 비슷한 방식으로 26개의 취약점을 발견했습니다. 이러한 발견은 AI가 생성하고 향상한 퍼징 목표를 사용해 이루어졌습니다.
AI의 기여와 향후 전망
AI는 개발자의 전체 퍼징 워크플로를 모방할 수 있는 능력을 통해 추가적인 자동화를 가능하게 했습니다. 구글은 LLM을 활용한 퍼징 워크플로가 272개 이상의 C/C++ 프로젝트에서 코드 커버리지를 높였으며, 370,000줄 이상의 새 코드를 추가했다고 밝혔습니다.
또한 구글의 Project Zero팀에서는 Big Sleep이라는 프레임워크를 통해 SQLite에서 제로-데이 취약점을 발견했습니다. 이는 퍼징을 보완하는 방식으로 인간 연구자의 작업흐름을 모방하는 AI 에이전트를 중심으로 구축된 접근 방식입니다.
결론
구글의 AI 기반 OSS-Fuzz 도구는 오픈 소스 소프트웨어의 안전성을 높이는 데 큰 기여를 하고 있습니다. AI를 활용한 자동화된 퍼징은 더 많은 취약점을 발견하고, 이를 통해 소프트웨어의 보안을 더욱 강화할 수 있습니다. 앞으로 이러한 기술의 발전이 기대되며, 더 안전한 소프트웨어 환경을 만들어나가는 데 중요한 역할을 할 것입니다.
참고
Google’s AI-Powered OSS-Fuzz Tool Finds 26 Vulnerabilities in Open-Source Projects Google
OSS-Fuzz Harnesses AI to Expose 26 Security Vulnerabilities Google's AI-powered bug hunting tool finds a host of concerning open source security flaws