인공지능 기반 퍼즈 테스트 도구인 구글의 OSS-Fuzz는 최근 20년 가까이 된 OpenSSL 암호화 라이브러리의 중간 심각도 취약점을 포함해 26개 오픈소스 코드 라이브러리의 취약점을 성공적으로 발견하는 등 놀라운 결과를 얻었습니다. 이 획기적인 발전은 자동화된 취약점 탐지의 새로운 이정표가 되었습니다. AI 생성 퍼즈 테스트 대상은 코드 적용 범위를 개선하고 심각한 취약점을 발견하는 강력한 기능을 보여주었습니다. 이 기사에서는 OSS-Fuzz의 최신 조사 결과, AI 기술의 역할, Google이 코드 보안을 개선하기 위해 취한 조치에 대해 자세히 설명합니다.
최근 Google은 자사의 인공 지능 기반 퍼지 테스트 도구인 OSS-Fuzz가 OpenSSL 암호화 라이브러리의 중간 심각도 취약점을 포함하여 26개의 오픈 소스 코드 라이브러리에서 취약점을 성공적으로 발견했다고 발표했습니다.
구글 오픈소스 보안팀은 공유 블로그 게시물을 통해 "이러한 취약점의 발견은 자동화된 취약점 탐지에 있어 새로운 이정표를 세웠다. 각 취약점은 AI가 생성하고 강화된 퍼즈 테스트 대상을 통해 발견됐다"고 밝혔다.
사진 출처 참고: 사진은 AI가 생성한 것이며, 사진 인증 서비스 제공업체 Midjourney가 제공한 것입니다.
이번에 발견된 OpenSSL 취약점 번호는 CVE-2024-9143(CVSS 점수 4.3)으로, 이는 애플리케이션 충돌이나 원격 코드 실행으로 이어질 수 있는 범위를 벗어난 메모리 쓰기 오류로 나타납니다. 이 문제는 3.3.3, 3.2.4, 3.1.8, 3.0.16, 1.1.1zb 및 1.0.2zl을 포함한 여러 버전의 OpenSSL에서 해결되었습니다. 구글은 이 결함이 거의 20년 동안 코드 베이스에 존재했을 수 있으며, 사람이 작성한 전통적인 퍼즈 테스트 대상에서는 이 문제를 발견하지 못했을 것이라고 지적했습니다.
구글은 또한 AI 생성 퍼즈 테스트 타겟의 도움으로 272개 C/C++ 프로젝트의 코드 적용 범위가 개선되어 370,000줄 이상의 새로운 코드가 추가되었다고 언급했습니다. Google은 많은 버그가 눈에 띄지 않는 이유는 코드 적용 범위가 버그가 없는 기능과 동일하지 않기 때문이라고 설명합니다. 코드 적용 범위만으로는 가능한 모든 코드 경로와 상태를 측정할 수 없습니다. 플래그와 구성이 다르면 동작이 달라지고 그에 따라 취약점이 노출될 수 있기 때문입니다.
이 AI 지원 취약성 발견은 또한 개발자의 퍼즈 테스트 워크플로우를 시뮬레이션하는 데 있어 대규모 언어 모델(LLM)의 탁월한 성능을 활용하여 자동화 수준을 더욱 높입니다. 또한 Google은 이번 달 초 자사의 LLM 기반 프레임워크인 Big Sleep이 SQLite 오픈 소스 데이터베이스 엔진의 제로데이 취약점을 탐지하는 데 도움이 되었다고 밝혔습니다.
Google은 자체 코드 베이스의 보안을 강화하기 위해 Rust와 같은 메모리 안전 언어로 코드를 마이그레이션하고 기존 C++ 프로젝트의 공간 메모리 안전 취약점을 복구하는 것을 추진하고 있습니다. 여기에는 안전한 버퍼로의 마이그레이션과 강화된 libc++ 활성화가 포함됩니다. 이는 표준 C++ 데이터 구조에 경계 검사를 추가하여 공간 보안 취약점의 중요한 클래스를 제거합니다. Google은 이러한 개선 사항 구현으로 인한 성능 저하가 평균 0.30%에 불과해 최소화된다고 말합니다.
Google은 최근 오픈 소스 기여자가 추가한 강화된 libc++가 프로덕션 환경에서 범위를 벗어난 액세스와 같은 취약점을 포착하도록 설계된 일련의 보안 검사를 도입했다는 점을 더욱 강조했습니다. C++ 언어가 메모리 안전성을 완벽하게 구현할 수는 없지만 이러한 개선으로 인해 위험이 줄어들고 소프트웨어가 더욱 안정적이고 안전해졌습니다.
가장 밝은 부분:
Google의 OSS-Fuzz 도구는 거의 20년 된 OpenSSL 취약점을 포함하여 26개의 오픈 소스 프로젝트에서 취약점을 발견했습니다.
AI 생성 퍼즈는 272개 C/C++ 프로젝트의 코드 적용 범위를 개선하여 370,000줄 이상의 새로운 코드를 추가하는 것을 목표로 합니다.
Google은 코드를 메모리 안전 언어로 마이그레이션하고 libc++ 강화와 같은 조치를 통해 C++ 프로젝트의 보안을 향상시키고 있습니다.
전체적으로 Google은 AI 기술을 사용하여 소프트웨어 보안 탐지 기능을 크게 향상시켰으며, 그 경험은 다른 기관에 귀중한 참고 자료가 됩니다. 앞으로 AI는 소프트웨어 보안 분야에서 점점 더 중요한 역할을 담당하여 개발자가 더욱 안전하고 안정적인 소프트웨어 시스템을 구축하는 데 도움을 줄 것입니다.