Google은 DeepMind와 협력하여 AI 모델 "Big Sleep"을 사용하여 SQLite 데이터베이스의 메모리 안전 취약점을 성공적으로 발견하고 수정했습니다. 이는 기존 Fuzz 테스트에서는 발견하지 못했으나 Big Sleep에서는 성공적으로 발견한 스택 버퍼 언더플로우 문제입니다. 이는 AI가 실제 소프트웨어에서 알려진 취약점을 발견한 최초의 사례로, 소프트웨어 보안 분야에 새로운 가능성을 가져오고 AI 지원 소프트웨어 보안 탐지의 향후 개발 방향을 예고합니다. Downcodes의 편집자는 이 획기적인 진행 상황을 자세히 설명할 것입니다.

SQLite는 오픈 소스 데이터베이스 엔진입니다. 이 취약점을 통해 공격자는 SQLite 실행 충돌을 일으키거나 악의적으로 구성된 데이터베이스 또는 SQL 주입을 통해 임의 코드를 실행할 수도 있습니다. 특히 문제는 실수로 배열 인덱스로 사용되는 매직 값 -1에서 비롯되며, 이 문제를 포착하기 위한 코드에 Assert()가 있지만 릴리스 빌드에서는 이 디버그 수준 검사가 제거됩니다.
구글은 이 취약점을 악용하는 것이 간단하지 않지만, 더 중요한 것은 AI가 실제 소프트웨어에서 알려진 취약점을 발견한 것은 이번이 처음이라고 지적했습니다. Google에 따르면 기존의 퍼징 방법으로는 문제를 찾지 못했지만 Big Sleep은 찾아냈습니다. Big Sleep은 프로젝트 소스 코드의 일련의 커밋을 분석한 후 10월 초에 취약점을 봉쇄했고 같은 날 수정되었습니다.
구글은 11월 1일 발표를 통해 이번 연구 결과가 방어 측면에서 엄청난 잠재력을 갖고 있다고 밝혔다. 퍼즈 테스트가 상당한 성과를 거두었지만, 퍼즈 테스트를 통해 발견하기 어려운 취약점을 개발자가 발견할 수 있도록 돕는 새로운 방법이 필요하다고 Google 팀은 믿고 있으며, 이에 대한 AI의 역량에 대한 기대가 가득합니다.
이에 앞서 시애틀에 본사를 둔 Protect AI는 Vulnhuntr라는 오픈 소스 도구도 출시하여 Anthropic의 Claude AI 모델을 사용하여 Python 코드 기반에서 제로데이 취약점을 찾을 수 있다고 주장했습니다. 그러나 구글 팀은 두 도구가 서로 다른 목적으로 사용되며 Big Sleep이 메모리 안전과 관련된 취약점을 발견했다고 강조했습니다.
현재 Big Sleep은 아직 연구 단계에 있으며 알려진 취약점이 있는 소규모 프로그램에서 주로 테스트되었습니다. 실제 환경에서 테스트한 것은 이번이 처음이다. 테스트를 위해 연구팀은 SQLite 코드 베이스의 여러 최신 커밋을 수집하고 분석 후 모델의 프롬프트 내용을 조정하여 최종적으로 취약점을 발견했습니다.
이러한 성과에도 불구하고 Google 팀은 이러한 결과가 여전히 매우 실험적이며 현재 대상별 퍼지 테스트가 취약점을 발견하는 데 똑같이 효과적일 수 있음을 모든 사람에게 상기시킵니다.
소프트웨어 보안 분야에서 Google의 AI 모델인 Big Sleep의 획기적인 발전은 미래의 소프트웨어 보안 탐지를 위한 새로운 아이디어와 방법을 제공합니다. 아직은 실험단계이지만 그 잠재력은 엄청나고 기대해볼 만하다. Downcodes의 편집자는 이 분야의 발전에 계속해서 관심을 기울이고 더욱 흥미로운 보고서를 제공할 것입니다.