CyberForge: Verified Vulnerability Injection at Repository Level for Cybersecurity Agent Training
CyberForge는 실제 C/C++ 프로젝트에 취약점을 주입함으로써 실행 가능한 레포지토리 수준의 보안 학습 데이터를 합성하고 동적으로 검증하는 프레임워크로, 다양한 모델 규모와 프로그래밍 언어에 걸쳐 사이버 보안 에이전트의 취약점 발견 및 패치 능력을 크게 향상시킵니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
디지털 세계를 코드로 이루어진 거대하고 북적이는 도시라고 상상해 보십시오. 이 도시에서 소프트웨어 프로그램은 건물이며, 이를 작성하는 사람들은 설계자입니다. 오랫동안 이 설계자들은 힘든 일을 해왔습니다. 누군가 몰래 들어와 보물을 훔치지 못하도록 고층 빌딩의 모든 벽돌, 창문, 문을 하나하나 확인해야 했기 때문입니다. 한편, "나쁜 사람들"(해커)은 침입하기 위해 단 하나의 작은 틈만 찾아내면 됩니다. 이는 불공평한 싸움입니다.
선한 사람들을 돕기 위해, 우리는 "AI 에이전트"라는 디지털 탐정을 만들었습니다. 이들은 그 작은 틈을 찾아내도록 훈련된 똑똑한 컴퓨터 프로그램입니다. 하지만 여기에 문제가 있습니다. 탐정에게 진짜 침입을 포착하는 법을 가르치려면, 보통 실제 침입 사례를 보여주어야 합니다. 문제는 실제 침입(이를 "취약점" 또는 "버그"라고 부릅니다)은 드물고, 찾기 어려우며, 수정될 때까지 종종 비밀로 유지된다는 점입니다. 이는 마치 도시의 건축 법규가 계속 바뀌고 있는데, 소방관에게 10년 전에 발생했던 화재 사진만을 보여주며 불을 끄는 법을 가르치려는 것과 같습니다. 우리는 AI가 학습할 수 있는 새롭고 현실적인 "연습용 화재"를 실제로 아무것도 태우지 않고도 만들어낼 방법이 필요합니다.
여기서 CyberForge라고 불리는 새로운 프레임워크가 등장합니다. CyberForge를 단순히 과거의 범죄를 복제하는 것이 아니라, 즉석에서 새로운 범죄를 발명해 내는 매우 똑똑하고 자동화된 "악당 공장"이라고 생각해 보십시오. CyberForge를 개발한 연구진은 80개의 실제 소프트웨어 프로젝트(실제 건물의 설계도와 같은 것들)를 가져와 AI를 사용하여 그 안에 아주 작고 보이지 않는 약점들을 몰래 심어 넣었습니다. 하지만 그들은 거기서 멈추지 않았습니다. 그들은 이 새로운 약점들이 실제로 존재하는지 확인하기 위해 엄격한 "안전 검사관" 시스템을 구축했습니다. 검사관은 두 가지를 확인합니다. 첫째, 건물은 모든 정상적인 테스트를 통과하여 여전히 서 있어야 합니다(즉, 버그가 숨겨져 있고 프로그램이 즉시 충돌하지 않아야 함). 둘째, 특정 "취약점 증명"(특별한 열쇠)이 안전한 건물에는 작동하지 않고 오직 결함이 있는 건물에서만 문을 열 수 있어야 합니다.
그 결과, 1,034개의 검증된 현실적인 보안 함정 라이브러리가 만들어졌습니다. 연구진이 이 라이브 라이브러리를 사용하여 AI 탐정을 훈련시켰을 때, 결과는 인상적이었습니다. AI 에이전트들은 이러한 구멍을 찾아내고 수정하는 능력이 눈에 띄게 향 향상되었습니다. 사실, 이 훈련은 매우 효과적이어서, 더 작은 AI 모델이 이 라이브러리를 공부한 후 훨씬 더 크고 비싼 "교사" 모델만큼이나 뛰어난 성능을 보여주었습니다. 더욱 놀라운 점은, 이 훈련이 라이브러리가 전적으로 C와 C++ 코드로 만들어졌음에도 불구하고, AI가 완전히 다른 유형의 소프트웨어(예: Python 또는 JavaScript)의 구멍을 고치는 법을 이해하는 데 도움을 주었다는 것입니다. 이는 마치 벽돌 벽의 균열을 찾아내는 법을 배우는 것이 갑자기 유리창의 균열을 찾아내는 데 도움이 된 것과 같습니다.
CyberForge는 우리가 방어자를 훈련시키기 위해 해커들이 실수를 찾아낼 때까지 기다릴 필요가 없다는 것을 증명합니다. 합성적으로 이러한 보안 과제들을 생성하고 엄격하게 검증함으로써, 우리는 확장 가능하고 무궁무한한 훈련 데이터를 공급할 수 있습니다. 이는 균형을 방어자 쪽으로 다시 기울게 하여, 나쁜 사람들이 나타나기도 전에 더 강력하고 안전한 소프트웨어를 구축할 수 있는 도구를 제공합니다. 이 논문은 이러한 "주입"과 "검증" 방식이 사이버 보안 훈련을 확장하는 강력한 새로운 방법임을 시사하며, AI를 단순히 오래된 교과서만 보는 학생에서 수천 가지의 현실적인 시나리오를 연습한 탐정으로 변화시킵니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.