Hatena
Claude로 코드의 공격 표면 줄이기
보안처음 오른 때 점수 91
Anthropic은 자사 AI 모델 Claude가 공격자는 닿을 수 있지만 프로그램이 굳이 노출할 필요가 없는 코드를 찾을 수 있다고 밝혔습니다. 이런 코드를 없애거나 잠그면, 버그를 하나하나 찾기 전에도 소프트웨어를 공격하기 어렵게 만들 수 있습니다.
무슨 일이 있었나
Anthropic은 '공격 표면 줄이기'에 대한 초기 연구를 공개했습니다. 공격 표면은 공격자가 프로그램에 침투하려고 시도할 수 있는 모든 자리를 말합니다. 연구팀은 Claude를 써서 어떤 코드에 닿을 수 있는지 지도처럼 그려 본 뒤, 프로그램에 필요 없는 코드는 없애거나 접근을 막았습니다. 앞서 Anthropic은 최첨단 AI 모델(가장 발전된 AI 시스템)이 보안 구멍을 찾고 악용할 수 있다는 것을 보여준 적이 있습니다. 이번 연구는 같은 AI가 방어하는 쪽을 어떻게 도울 수 있는지 살펴봅니다.
주요 숫자
- Claude는 오픈소스 프로젝트 25개를 대상으로 실행되었습니다.
- 이 프로젝트들의 코드는 합쳐서 500만 줄이 넘습니다.
- 사용된 언어는 C, C++, Java, PHP, Python 등입니다.
- Claude는 493개의 문제를 찾아냈습니다.
왜 코드가 위험해지나
소프트웨어는 해가 갈수록 복잡해지는 경우가 많습니다. 새 기능, 층, 외부 라이브러리(의존성이라고 부름)가 계속 쌓이기 때문입니다. 그러면 코드가 만든 사람이 계획한 대로 동작하지 않을 수 있습니다. 공격자는 코드가 원래 어떻게 되어 있어야 하는지보다 실제로 어떻게 작동하는지를 자주 살펴봅니다. 그래서 숨겨져 있고 쓰이지 않는 기능이 쉬운 침입 통로가 되기도 합니다.
왜 중요한가
버그를 하나씩 찾아 고치는 방식은 규모가 커지면 잘 통하지 않습니다. 한 버그를 고쳐도 다른 버그에 대해서는 아무것도 알려주지 않기 때문입니다. 닿을 수 있는 코드의 범위를 줄이면, 아직 발견되지 않은 버그, 심지어 공격자가 이미 쓰고 있는 버그의 위험도 낮출 수 있습니다. 버그가 여전히 남아 있더라도 찾기 어렵게 되는 것입니다. 모든 결함을 먼저 찾지 않고도 소프트웨어를 더 안전하게 만들 수 있다는 뜻입니다.
앞으로 지켜볼 점
- 개발자들이 자신의 소프트웨어에서 쓸모없는 코드 경로를 줄이기 위해 AI 도구를 쓰기 시작할지 여부
- 이번 연구에서 찾은 493개의 문제가 어떻게 확인되고 고쳐지는지
- 이 방법이 아주 크고 실제로 쓰이는 시스템에서도 잘 작동하는지 여부
용어 풀이
- Anthropic
- Claude라는 AI 모델을 만드는 회사입니다.
- Claude
- Anthropic이 만든 AI 모델로, 이번 연구에서 코드를 분석하는 데 쓰였습니다.