클라우드 정책 자동 복구: LLM과 형식 검증의 결합
초록
본 논문은 AWS IAM 정책을 대상으로, 형식 기반 결함 위치 파악(Fault Localization)과 대형 언어 모델(LLM)을 연계한 자동 정책 복구 프레임워크 CloudFix를 제안한다. 정책‑요청 사양을 SMT로 인코딩해 오류 진단 후, LLM에게 구체적인 프롬프트를 제공해 후보 수정을 생성하고, SMT 솔버로 검증한다. 282개의 실제 정책 데이터셋을 구축해 실험했으며, 기존 베이스라인 대비 복구 정확도가 크게 향상됨을 보였다.
상세 분석
CloudFix는 전통적인 정적 분석과 최신 생성형 AI를 통합한 하이브리드 접근법이다. 먼저 Goal Validator가 정책과 허용·거부 요청 집합을 SMT(주로 Z3)로 변환해 전체 정확도를 평가한다. 오류가 발견되면 Fault Localizer가 각 오분류 요청을 분석해 세 가지 결함 유형(허용이 잘못된 명시적 Allow, 거부가 잘못된 명시적 Deny, 암묵적 Deny)을 식별하고, 해당 정책 문장을 매핑한다. 이 과정은 Quacky 인코더와 SMT 솔버를 활용해 최소 정책 조각 수준에서 충족 여부를 판단함으로써, 기존의 블랙박스 LLM 활용보다 훨씬 구체적인 원인 정보를 제공한다.
프롬프트 생성 단계에서는 두 종류의 입력을 설계한다. Baseline 프롬프트는 정책과 요청만을 나열해 LLM에게 “수정해라”라는 일반적인 지시를 내리는 반면, Fault Localization Guided 프롬프트는 위에서 도출한 결함 보고서(오류 유형, 관련 요청, 책임 문장)를 함께 삽입한다. 이는 LLM이 “어디를 고쳐야 하는가”를 명시적으로 알게 하여, 보다 정확하고 최소한의 변경을 유도한다.
Repair Synthesizer는 GPT‑4와 같은 최신 LLM을 호출해 후보 정책을 생성한다. 생성된 정책은 다시 Goal Validator에 투입돼 전체 요청 집합에 대해 검증된다. 검증에 실패하면 후보 정책이 현재 정책의 “베스트”로 저장되고, 반복 횟수(I)까지 재시도한다. 이 iterative loop은 정책 수정이 한 번에 완전하지 않을 경우에도 점진적 개선을 가능하게 한다.
실험에서는 282개의 실제 AWS IAM 정책을 포럼에서 수집하고, 실제 사용 시나리오를 반영한 합성 요청 집합을 자동 생성했다. Baseline(프롬프트 없이 단순 LLM)와 비교했을 때, Fault Localization Guided 프롬프트를 사용한 CloudFix는 평균 복구 정확도가 23%p 상승했으며, 특히 복잡한 다중 조건 정책에서 큰 이득을 보였다. 또한, SMT 기반 검증을 통해 LLM이 생성한 정책이 형식적 일관성을 유지함을 보장한다.
한계점으로는 (1) LLM의 출력이 항상 SMT‑검증을 통과하지 않아 반복 횟수가 늘어날 수 있음, (2) 현재 AWS IAM에 특화된 파싱·인코딩 로직이 다른 클라우드 제공자 정책에 바로 적용되기 어려움, (3) 합성된 요청 집합이 실제 운영 환경을 완전히 대변하지 못할 가능성이 있다. 향후 연구에서는 멀티‑클라우드 정책 언어 지원, LLM‑SMT 통합을 통한 실시간 피드백 루프, 그리고 인간‑인-루프(HITL) 인터페이스를 통한 수정 제안 검증을 고려한다.
전반적으로 CloudFix는 “정형 검증 + 비정형 생성”이라는 새로운 패러다임을 제시하며, 클라우드 보안 운영자의 부담을 크게 경감시킬 수 있는 실용적 솔루션으로 평가된다.
댓글 및 학술 토론
Loading comments...
의견 남기기