구글이 AI 기반 퍼징 도구 ‘OSS-퍼즈’를 오픈소스화하겠다고 밝혔다. 구글은 OSS-퍼즈로 연구자나 개발자는 자체 프롬프트를 사용해 LLM에서 생성한 퍼즈 타겟의 효과를 테스트하고 그 결과를 OSS-퍼즈 C/C++ 프로젝트와 비교하여 측정할 수 있을 것이라 기대했다. 보안 업계 전문가에게 OSS-퍼즈를 보다 효과적으로 사용할 수 있는 팁을 들어보았다.
ⓒ Getty Images Bank
퍼징은 소프트웨어의 제로데이 취약점을 찾아낼 때 쓰는 유용한 도구다. ‘퍼징(‘퍼즈 테스트’라고도 부름)’이란 특정 입력값이나 버그 등을 시스템에 투입해 오류를 식별하는 방식이다. 구글은 개발자와 연구자가 퍼징을 더 많이 활용할 수 있도록 퍼징 솔루션인 ‘OSS-퍼즈(OSS-Fuzz)’을 오픈소스로 개방하겠다고 지난주 발표했다.
구글에 따르면, OSS-퍼즈를 사용하면 대규모 언어 모델(LLM)를 기반으로 퍼징 테스트의 수동 과정을 자동화하면 실질적인 보안 개선 효과를 얻을 수 있다. 구글의 오픈소스팀과 보안팀은 공식 블로그를 “퍼징 범위를 높이고 더 많은 취약점을 찾기 위해 프로젝트별 필요한 코드를 작성할 수 있도록 LLM을 활용했다”라고 설명했다.
또한 구글은 현재 OSS-퍼즈와 LLM를 결합해 퍼징 범위를 확대하며 기존에는 발견하지 못한 2가지 새로운 취약점을 cJSON과 libplist 라이브러리에서 발견할 수 있었다고 언급했다. LLM으로 생성된 코드가 없었다면 해당 취약점은 발견되지 않고 기한 없이 수정되지 않은 채로 남아있을 수 있었다는 것이었다.
퍼징의 장점은 '자동화'된 테스트
데브섹옵스 보안 플랫폼 제공 업체 시높시스 SIG(Software Integrity Group)의 수석 보안 제품 관리자 존 맥셰인은 “퍼징은 수십 년 동안 사용되었으나 이전에 알려지지 않은 취약점이나 제로데이 취약점을 찾는 데 성공하면서 최근 더 인기를 끌고 있다”라며 “실제를 많은 피해를 일으켰던 취약점 ‘하트블리드(Heartbleed)’는 보안 엔지니어가 상용 퍼징 솔루션인 ‘디펜직스(Defensics)’를 활용해 발견했다”라고 밝혔다.
침투 테스트 회사인 코발트랩스(Cobalt Labs)의 사이버 보안 서비스 책임자 지젤라 히노조사는 퍼징은 ‘눈에 잘 띄지 않는 취약점’을 많이 찾아낼 수 있지만 버퍼 오버플로우 공격을 예방하는 데도 유용하다고 설명했다. 히노조사는 “퍼징은 자동화된 테스트이므로 인간의 도움이 상대적으로 덜 필요하다”라며 “그냥 알아서 하니까 걱정할 필요가 없다. 비교적 쉽게 취약점을 찾을 수 있는 방법이다”라고 설명했다.
AI 퍼징, 아직 보안 설계 전술을 대체할 수준은 아니야
하지만 러스트 재단의 고문이자 워싱턴 DC의 국제 문제 및 경제 싱크탱크인 애틀랜틱 카운슬의 선임 연구원 셰인 밀러는 “퍼징과 같은 동적 테스트 도구에 대한 투자가 메모리 안전 프로그래밍 언어 선택 같은 보안 설계 전술을 대체할 수는 없다. 하지만 소프트웨어의 보안을 높이는 강력한 도구임은 분명하다”라고 설명했다.
밀러는 “퍼징은 예기치 못한 값을 입력해 소프트웨어 동작을 탐색하는 도구로 확대되고 있다. 최근 미국 내 수도사업소, 전력망, 석유 및 천연가스 파이프라인, 교통 시스템 등을 겨냥한 국가 주도 사이버 공격을 방어하는 데도 퍼징이 활용되고 있다”라고 밝혔다.
구글은 OSS-퍼즈를 오픈소스화하면서 오픈소스 관리자가 보다 쉽게 프로젝트 보안 취약점을 찾을 것이라 기대했다. 반면에 소프트웨어 공급망 보안 기업 다크스카이 테크놀로지(Dark Sky Technology)의 CEO 마이클 J. 맬버그는 “오픈소스 기여자는 상당수가 자원봉사 성격으로 일하기에 자금이 제한적이거나 아예 없기도 하다. 많은 리소스를 투입해야 이용가능한 퍼징 도구를 위해 시간과 비용을 투자하는 것이 쉽지 않다”이라고 말했다.
또한 맬버그는 “설령 가능하다고 하더라도 퍼징 도구는 단순했던 빌드 환경을 복잡하게 만들고, 많은 오탐을 발생시켜 이미 업무가 과중한 팀에게 검토 및 분석 작업을 유발할 수 있다. 사이버 보안 기술이나 경험이 부족한 조직에서는 적절한 조치를 취하기 어려울 수 있다”라고 조언했다.
패치에서 중요한 것은 ‘자동화’가 아니라 ‘안전’
구글은 개발자와 연구원이 LLM을 사용하여 자동 패치 파이프라인을 구축할 수 있는 지침을 제공하고 있다. 구글 보안팀은 블로그에 “AI 기반 패치 접근 방식을 통해 대상 버그의 15%를 해결하여 엔지니어의 시간을 크게 절약했다”라고 표현했다.
물론 LLM을 사용하여 패치를 자동화하는 것은 흥미로운 아이디어다. 하지만 히노조사는 LLM이 문제를 일으키지 않고 효과적으로 패치를 적용하는 데 필요한 모든 관련 지식을 갖어야 한다고 지적했다. 히노조사는 “자동화된 시스템이 수정 사항을 제안하되, 사람이 수동으로 검토한 후 구현하는 것이 더 좋은 방법이라고 본다”라고 설명했다.
미 퍼듀대학교의 컴퓨터 과학 조교수인 데이브 티안은 “전반적으로 패치 적용에서 가장 중요한 부분은 자동화가 아니라 안전이다. 패치가 제대로 작동했다는 것을 실제로 확인하는 것은 그리 간단한 일이 아니다”라며 “따라서 현재로서는 제한된 수의 패치만 자동으로 주입할 수 있다. 이러한 패치는 변수의 32비트 정수를 64비트 정수로 변경하는 것과 같은 간단한 패치다. 더 복잡한 패치의 경우, AI가 패치를 주입한 후에도 각 도메인 전문가에게 검토를 요청해야 한다”라고 조언했다.
'기타' 카테고리의 다른 글
수면 위로 떠오른 AI 학습 데이터 저작권 분쟁 (3) | 2024.02.07 |
---|---|
취향 저격 AI 서비스가 쏟아진다, GPT 스토어가 바꿀 일상 (0) | 2024.02.06 |
챗GPT가 스스로 운전한다?··· 자율주행과 LLM의 결합 현주소 (0) | 2024.02.05 |
AI가 바꿀 2024년 미리 보기 (0) | 2024.02.02 |
TL드로우, 그림을 코드로 바꾸는 AI 공개…게임 개발 혁신 (0) | 2024.02.01 |