아마존웹서비스(Amazon Web Services, 이하 AWS)가 AI를 활용해 코드 취약점을 찾아 검증하고 수정안까지 제공하는 보안 서비스 '코드 취약점용 AWS 컨티뉴엄(AWS Continuum for code vulnerabilities, 이하 AWS 컨티뉴엄)'을 정식 출시했다.
AWS 컨티뉴엄은 고객 환경에서 실제로 악용 가능한 탐지 결과를 확인하고, 이를 비즈니스 영향도에 따라 순위를 매긴 뒤 각 문제에 대한 수정안을 제시한다. 수정안은 자동화할 수 있는 패치나 고객 저장소의 풀 리퀘스트(pull request; 코드 변경 검토 요청) 형태로 제공된다.
모든 수정 작업은 AWS 컨티뉴엄이 수정안을 제안하고 담당자가 이를 승인한 뒤 반영하는 방식으로 진행된다. AWS는 향후 고객이 정의한 가드레일 범위 안에서 AWS 컨티뉴엄이 스스로 수행할 작업을 고객이 직접 정할 수 있도록 지원할 계획이다.
수 시간 조사와 수일 조율이 필요하던 취약점 대응 과정 단축
위협 행위자는 프런티어 AI 모델을 활용해 취약점이 공개된 지 몇 분 만에 실제로 작동하는 익스플로잇(exploit; 취약점 공격) 코드를 만들 수 있다. 개발 속도를 높이는 도구 사용의 증가로 인해 조직이 처리해야 하는 탐지 결과도 늘어나고 있다.
대규모 애플리케이션을 운영하는 조직에서는 스캐너가 하루 수천 건의 탐지 결과를 생성할 수 있으며, 이 가운데 상당수는 별도 조치가 필요하지 않다. 해당 취약점에 접근할 수 없거나, 악용이 불가능하거나, 런타임 통제로 이미 위험이 완화된 경우가 있기 때문이다.
일반적인 심각도 점수만으로는 위협 행위자가 실제로 접근할 수 있는 리소스를 판단하기 어렵다. 개발 전용 유틸리티에 매겨진 '심각' 등급과 결제 데이터베이스에 바로 인접한 서비스에 매겨진 '중간' 등급이 같은 무게로 보이는 것이다.
기존에는 탐지 결과가 실제로 악용 가능한지 확인하는 데 수작업 조사로 수 시간이 걸렸다. 또한 비즈니스 맥락 없이는 변경이 미치는 영향 범위(blast radius)를 판단하기 어려워, 수정안을 확신을 갖고 배포하기까지 보안•인프라•애플리케이션 팀 간 조율에 수일이 소요됐다. AWS 컨티뉴엄은 어떤 탐지 결과가 악용 가능한지 입증하고, 제안하는 각 수정안의 위험 범위를 한정함으로써 이 공백을 해소한다.
컨텍스트 그래프 기반으로 핵심 시스템에 가까운 위협부터 우선 처리
AWS 컨티뉴엄은 고객의 코드 저장소와 AWS 환경을 기반으로 컨텍스트 그래프(context graph)를 구축한다. 고객이 코드가 실행되는 계정과 리전에 수집기(collector)를 설정하면, 수집기는 AWS 컨피그(AWS Config) 리소스와 네트워크 구성 등 리소스 정보를 수집한다. AWS 컨티뉴엄은 이 정보로 취약점이 네트워크를 거쳐 접근 가능한지, 위협 행위자가 해당 취약점에서 어디까지 도달할 수 있는지 판단한다.
AWS 컨티뉴엄은 컨텍스트 그래프에서 비즈니스 핵심 시스템과 시스템별 소유자, 서비스 간 의존 관계, 각 서비스가 다루는 데이터를 파악한다. 이를 토대로 고객 데이터 저장소, 결제 파이프라인, 인증 서비스 등 가치가 가장 높은 시스템을 식별하고, 각 문제의 공격 경로가 해당 시스템에 얼마나 가까운지에 따라 우선순위를 정한다.
샌드박스 재현과 증거 수준으로 악용 가능성 검증
AWS 컨티뉴엄은 각 탐지 결과를 코드와 환경 맥락에 비추어 분석하고, 취약한 코드 경로에 대한 정적 분석으로 입증된 판정 등 증거 수준을 부여한다. 재현할 수 있는 탐지 결과는 격리된 샌드박스에서 익스플로잇을 실행한 뒤, 재현 절차와 함께 개념 증명(proof-of-concept, PoC) 코드를 첨부한다.
AWS 컨티뉴엄은 위험 점수만 제시하는 대신 공격 경로와 근거가 되는 소스 분석, 영향 범위 평가를 함께 제공한다. 또한 고객의 기존 방어 체계가 검증된 공격 경로를 탐지하고 차단할 수 있는지도 평가한다.
수정안은 풀 리퀘스트로 제공, 최종 결정은 고객 팀에
AWS 컨티뉴엄은 확인된 문제마다 코드 패치, 종속성 업그레이드, 구성 변경 등의 수정안을 생성하고, 이를 연결된 저장소에 검토 가능한 풀 리퀘스트로 등록한다. 모든 수정안은 담당자의 승인이 필요하다. 담당자가 풀 리퀘스트를 검토하고 병합(merge)하는 구조이므로 최종 결정권은 고객 팀에 있다.
AWS는 향후 고객이 특정 수정 유형에 대한 신뢰를 쌓은 뒤, 테스트 커버리지나 적용 범위 제한, 과거 성공률 등 신뢰 기준을 충족하면 AWS 컨티뉴엄이 해당 수정안을 자동으로 적용하도록 할 수 있게 지원할 계획이다.
스캐너 원본 결과 대신 검증된 문제 중심으로 검토
고객은 AWS 컨티뉴엄 콘솔에서 깃허브(GitHub) 연동이나 아마존 S3(Amazon S3) 버킷을 코드 소스로 연결하고, 원하는 일정에 따라 코드를 스캔하는 환경을 생성할 수 있다. 아마존 S3를 소스로 사용하는 경우 버킷이 AWS 컨티뉴엄을 활성화한 계정•리전과 같아야 하며, AWS 컨티뉴엄이 사용하는 AWS IAM(AWS Identity and Access Management) 역할로 접근 권한을 부여해야 한다. 코드가 실행되는 계정과 리전에 AWS 컨티뉴엄 수집기를 설정하면 AWS 인프라 맥락도 선택적으로 추가할 수 있다.
콘솔의 이슈 탭은 스캐너가 생성한 원본 결과 대신 검증되고 우선순위가 지정된 문제를 심각도와 상태, 생성 시점과 함께 보여준다. 각 문제에는 악용 가능성과 발생 가능성, 영향도로 구성된 위험 평가와 판정 근거가 되는 소스 분석이 제공된다.
수정안은 깃허브 풀 리퀘스트로 전달되며, 풀 리퀘스트 설명에도 콘솔과 동일한 위험 평가와 수정 요약, 근거가 담긴다. 검토자는 작업 흐름을 벗어나지 않고 깃허브에서 바로 근거를 확인할 수 있다. 패치가 생성됐다고 해서 문제가 해결된 것은 아니며, 담당자가 직접 검토하고 병합해야 수정이 반영된다.
이 밖에 고객은 콘솔에서 스캐너 원본 탐지 결과를 확인하고, 스캔 주기를 설정하거나 필요할 때 스캔을 즉시 실행할 수 있다. 수정 패치 생성 여부와 코드•맥락 소스, 사용할 수집기 등 환경 설정도 콘솔에서 관리한다.
|