메인 콘텐츠로 건너뛰기AWS Startups

생성형 AI 애플리케이션의 보안 유지를 위한 7단계 체크리스트

이 콘텐츠는 어떠셨나요?

최근 몇 년간 생성형 AI는 폭발적인 성장세를 보이며, 스타트업이 콘텐츠를 만들고 데이터를 분석하고 중요한 결정을 내리는 방식을 혁신적으로 바꾸고 있습니다. 이에 따라 점점 더 많은 조직에서 생성형 AI 모델의 강력한 기능을 활용해 맞춤형 애플리케이션을 구축하고 있으므로, 생성형 AI를 실험하고 실제로 적용 중인 스타트업은 보안과 책임 있는 사용을 최우선 과제로 삼아야 합니다.

이번 게시물에서는 생성형 AI 기반 애플리케이션을 실험에서 프로덕션으로 전환할 때 고려해야 할 필수 보안 및 규정 준수 조치를 7가지 항목으로 정리한 체크리스트를 소개합니다.

1. 거버넌스 프레임워크 및 규정 준수 프로세스 수립

2. 대규모 언어 모델(LLM) 제공업체의 최종 사용자 사용권 계약(EULA) 및 데이터 사용 정책 검토 및 준수

3. 포괄적인 액세스 제어 구현

4. 입력 및 출력 위험 완화

5. 데이터 보호

6. 경계 보안 강화

7. 포괄적인 모니터링 및 사고 대응 체계 구축

이 체크리스트를 구현하면 스타트업이 위험을 완화하고 데이터를 보호하며 사용자 신뢰를 유지하는 데 도움이 됩니다. 항목을 더 많이 충족할수록 보안 수준은 높아지지만, 모든 항목을 반드시 완료할 필요는 없습니다. 어떤 항목이 필요한지는 애플리케이션의 요구 사항에 따라 달라지기 때문입니다.

애플리케이션 구축에 사용하는 모델의 유형(사전 학습 모델, 미세 조정 모델, 맞춤형 모델)에 따라 요구되는 보안 제어가 다를 수 있습니다. 본 가이드에서는 대다수 고객의 사용 사례를 포괄하는 사전 학습 모델 기반 애플리케이션에 초점을 맞춰 설명합니다.

1. 거버넌스 프레임워크 및 규정 준수 프로세스 수립

책임 있는 AI 배포를 위해서는 포괄적인 거버넌스 및 규정 준수 프레임워크를 구축하는 것이 기본입니다. 이때 핵심은 사람과 프로세스입니다. 따라서 법무, IT 보안 및 관련 사업 부문 등 각 분야 전문가로 구성된 AI 거버넌스 위원회를 먼저 구성해야 합니다. 이 위원회는 데이터 처리, 모델 선택, 사용 지침을 포괄하여 생성형 AI 애플리케이션에 대한 구체적인 정책을 수립하고 적용해야 합니다.

다음으로, GDPR, PCI DSS 등 귀사의 업종 규제를 반영한 맞춤형 규정 준수 체크리스트를 마련해야 합니다. 이 체크리스트에는 데이터 프라이버시 조치, 동의 관리, 투명성 요건 등이 포함되어야 하며, 분기별 감사와 같은 정기적인 규정 준수 검토 절차를 통해 변화하는 규제 기준에 지속적으로 부합하는지 점검하는 것이 중요합니다. 더 자세한 지침은 블로그 게시글 Scaling a governance, risk, and compliance program for the cloud, emerging technologies, and innovationSecuring generative AI: data, compliance, and privacy considerations에서 확인할 수 있습니다.

마지막으로, 생성형 AI 애플리케이션의 의사 결정, 변경 사항 및 규정 준수 현황을 체계적으로 관리할 수 있는 문서화 시스템을 구축해야 합니다. 정책에 대한 버전 관리, 모델 변경에 대한 감사 로그, 규정 준수 상태를 한눈에 볼 수 있는 대시보드 등의 기능을 포함해야 합니다. 이러한 시스템은 규정 준수 유지에 도움이 될 뿐 아니라 외부 감사 시 필요한 증빙 자료로도 활용할 수 있습니다.

2. LLM 제공업체의 EULA 및 데이터 사용 정책 검토 및 준수

규정 준수를 유지하고 잠재적 법적 문제를 방지하기 위해서는 구체적인 제한 사항 및 요구 사항을 이해하는 것이 매우 중요합니다. 사전 학습 모델을 애플리케이션에 통합하기 전에, 선택한 LLM 제공업체의 EULA 및 데이터 사용 정책을 검토하고, 데이터 처리, 모델 출력, 상업적 사용 제한 조항 등을 특히 주의하여 살펴보아야 합니다. Amazon Bedrock 사용자의 경우, Amazon Bedrock 파운데이션 모델 이용을 참고하고, Amazon SageMaker에서 직접 배포하는 경우에는 모델 상세 페이지의 모델 소스를 검토하시기 바랍니다.

규정 준수를 보장하고 새로운 업데이트를 주시하면 좋은 기회를 얻을 수 있습니다. 예를 들어, Meta Llama 3.1 라이선스는 이전 버전보다 더 관대한 조건을 제공하여 긴 문서 분석이나 글로벌 사용을 위한 고급 다국어 챗봇 구축과 같은 새로운 사용 사례를 가능하게 합니다. 사용 중인 모델과 관계없이 이러한 사항을 정기적으로 검토하면 애플리케이션에서 새로운 기회를 적극적으로 활용할 수 있습니다.

3. 포괄적인 액세스 제어 구현

생성형 AI 애플리케이션을 개발하고 배포할 때는 시스템과 데이터를 보호하기 위해 강력한 액세스 제어가 필요합니다. 여기에는 사용자 인증, 권한 부여, 데이터 액세스 정책 설정이 포함되며, 모두 최소 권한 원칙(PoLP)을 준수해야 합니다. PoLP는 사용자와 서비스가 업무 수행에 필요한 최소한의 권한만 갖는다는 개념입니다. PoLP를 준수함으로써 팀은 보안 위험을 줄이고, 공격자가 침투할 수 있는 경로를 어렵게 만들 수 있습니다.

먼저 Amazon Cognito 또는 Amazon Verified Permissions와 같은 서비스를 통해 사용자 인증을 구현하고, PoLP를 준수할 수 있도록 권한 부여 제어를 설정하세요. 예를 들어, Amazon Cognito의 JWT 토큰을 사용하여 ID 전파와 세분화된 권한 부여를 수행하는 방법은 다음과 같습니다.

생성형 AI 애플리케이션의 모든 구성 요소, 즉 LLM, 데이터베이스, 스토리지 시스템, 그리고 커넥티드 서비스나 API에 대해 액세스 제어를 설정하세요. Amazon Bedrock 또는 Amazon SageMaker와 같이 단기간 유효한 임시 자격 증명을 통해 액세스할 수 있는 모델을 사용하면, 액세스 보안을 강화하고 관리도 용이해집니다. Amazon Bedrock은 누가 어떤 모델에 액세스할 수 있는지 정확하게 제어할 수 있도록 지원하므로, 필요에 따라 액세스를 차단할 수도 있습니다.

다음으로, 사용자 세션과 대화 컨텍스트를 서로 격리하여 사용자가 다른 사용자의 콘텐츠, 세션 기록 또는 대화 정보를 볼 수 없도록 해야 합니다. 이를 위해 각 사용자에게 고유한 세션 식별자를 부여하고, 사용자가 시스템에 액세스할 때마다 이를 검증하세요. 서버 측 세션 관리를 구현하면 사용자별로 격리된 데이터 저장소에 대화 기록과 컨텍스트를 안전하게 기록할 수 있습니다.

검색 증강 생성(RAG)을 구현할 때는 LLM 응답을 보강하는 데 사용되는 지식 베이스에 대한 액세스 권한을 철저하게 관리하는 것이 매우 중요합니다. 이를 간소화하려면, 내장된 액세스 제어 기능을 제공하는 Amazon Bedrock Knowledge Bases메타데이터 필터링을 사용하여 사용자가 액세스 권한이 있는 정보만 검색할 수 있도록 하세요. 자체적으로 RAG를 관리하는 경우에는 Amazon Kendra를 활용해 사용자 권한에 따라 응답을 필터링할 수 있습니다. 메타데이터 필터링 작동 방식을 이해하려면 위의 다이어그램(5단계)을 참고하세요.

4. 입력 및 출력 위험 완화

액세스 제어를 구현한 후에는 생성형 AI 애플리케이션에서 사용자 입력 및 모델 출력과 관련된 위험을 평가하고 완화하기 위한 메커니즘에 집중할 수 있습니다. 이를 통해 프롬프트 인젝션 공격, 부적절한 콘텐츠 생성 또는 할루시네이션(허위 정보)과 같은 취약성으로부터 보호할 수 있습니다.

이 과정을 간소화하려면 Amazon Bedrock Guardrails를 활용할 수 있습니다. Guardrails는 미세 조정 모델과 Amazon Bedrock 외부의 생성형 AI 애플리케이션을 포함하여 Amazon Bedrock의 LLM에 대해 프롬프트 입력 및 모델 출력에 대한 방어를 구성할 수 있도록 지원합니다.

추가 예방 조치로, Amazon Bedrock Prompt Management를 활용해 검증된 프롬프트 카탈로그(일반 작업에 대해 사전 승인된 프롬프트 집합)를 구현함으로써 프롬프트를 효과적으로 관리하고 LLM이 악의적인 지시에 노출되는 것을 방지할 수 있습니다.

출력 검증도 매우 중요합니다. LLM 응답은 신중하게 다뤄야 하며, 만약 모델이 (다른 구성 요소로 전달할) 코드나 데이터베이스 쿼리를 생성하는 경우, 그 출력을 신뢰할 수 없는 사용자로부터 온 것처럼 취급해야 합니다. 다른 시스템과 상호작용하기 전에 항상 권한을 확인하고 보안 검사를 실행해야 합니다. 데이터베이스의 경우, 파라미터화된 쿼리와 같은 안전한 방법을 사용하고, 생성된 SQL의 구조를 검토한 후에 사용하는 것이 좋습니다. 또한 시스템 프롬프트 내에서 프롬프트 템플릿을 활용해 모델 응답의 형식을 제어함으로써 위험을 최소화할 수 있습니다.

LLM이 시스템 명령이나 코드를 생성한다면, 강력한 보안 조치를 적용해야 합니다. 우선 허용 목록 사용, 구문 검사, 코드가 수행하려는 작업 이해 등을 비롯한 엄격한 검증 절차를 거쳐야 합니다. JavaScript 또는 Markdown과 같은 언어의 경우, 사용자에게 보여주기 전에 항상 출력을 인코딩하여 잠재적 취약성으로부터 보호해야 합니다. AI가 생성한 코드를 실행해야 할 경우에는 문제가 발생해도 메인 시스템에 영향을 미치지 않도록 샌드박스(격리된 환경) 내에서 실행해야 합니다.

5. 데이터 보호

다음으로, 암호화를 통해 모델이 사용하는 데이터와 이에 대한 응답(예: 사용자 쿼리, 추가 컨텍스트, RAG 시스템에서 사용하는 기술 자료 등)을 보호해야 합니다.

이는 AWS Key Management Service(AWS KMS)와 같은 서비스를 활용하면 쉽게 구현할 수 있습니다. AWS KMS는 암호화 키의 안전한 관리, 저장 및 교체를 지원하며, AWS Identity and Access Management(IAM)는 액세스 제어 기능을 제공합니다. 또한 기술 자료 스토리지(예: S3 버전 관리)에 버전 관리를 활성화하여 변경 사항을 추적하고 데이터의 신뢰성과 안전성을 보장할 수 있습니다.

민감한 데이터를 다루는 경우, Bedrock Guardrail의 민감한 정보 필터를 사용하여 데이터 마스킹이나 차단 기능을 구현할 수도 있습니다.

6. 경계 보안 강화

데이터 보안을 확보했다면, 이제 생성형 AI 인프라를 보호하는 데 집중할 차례입니다. 독점 데이터를 사용할 때는 공개 인터넷에 노출되지 않도록 안전한 경계를 설정해야 합니다. Amazon Bedrock VPC 엔드포인트는 가상 프라이빗 클라우드(VPC)와 Amazon Bedrock 계정 간에 프라이빗 연결을 생성하여 데이터와 모델 상호작용의 보안을 강화합니다.

LLM은 상당한 컴퓨팅 성능을 사용하기 때문에 남용 대상이 되기 쉽습니다. 이를 방지하기 위해 사용자별 애플리케이션 접근량에 제한을 설정할 수 있습니다. AWS Web Application Firewall(AWS WAF)을 통해 이러한 제한을 설정하고, Amazon API Gateway를 통해 애플리케이션으로의 요청 속도를 제어하세요. 이러한 조치는 인프라를 보호하는 동시에 시스템의 안정적이고 원활한 운영을 보장합니다.

7. 포괄적인 모니터링 및 사고 대응 체계 구축

설정과 데이터를 안전하게 구축한 후에는 시스템 모니터링 보안에 집중해야 합니다. 여기에는 보안 문제를 신속하게 탐지하고 대응할 수 있는 메커니즘 구현이 포함됩니다. 요청량, 지연 시간, 오류율 등 LLM 사용 지표를 모니터링하여 시스템 성능을 파악하고 이상 징후를 감지하세요. Amazon CloudWatch를 활용하면 이러한 지표가 설정한 수준을 초과할 때 알림을 받을 수 있습니다.

이와 더불어 프롬프트 인젝션, 예기치 않은 모델 출력, 데이터 유출과 같은 상황에 대응하기 위한 사고 대응 계획을 수립해야 합니다. 시나리오별로 에스컬레이션 절차를 명확히 정의하고, 주요 도구와 팀원 및 그들의 책무를 지정하세요. 마지막으로, 문제가 발생할 경우 모델을 신속히 중단하거나 이전 버전으로 롤백하거나 안전 모드로 전환할 수 있는 Andon 코드와 같은 시스템을 구축하세요. 이러한 명확한 대응 절차를 마련하면 보안 문제 발생 시 빠르게 대응하여 AI 애플리케이션을 안전하고 안정적으로 유지하는 데 도움이 됩니다.

결론

이 7단계 체크리스트는 생성형 AI 애플리케이션을 프로토타입에서 프로덕션으로 전환하기 위한 필수 가이드입니다. 각 항목을 꼼꼼히 점검하고 실행하면 책임감 있는 개발 및 배포를 통해 조직과 사용자를 모두 보호할 수 있습니다. 생성형 AI는 빠르게 진화하고 있으므로, 최신 AI 보안 동향을 꾸준히 따라가 애플리케이션과 스타트업이 혁신과 신뢰의 최전선에 설 수 있도록 하는 것이 중요합니다. 최신 소식을 접하고 싶다면 AWS 커뮤니티 – 생성형 AI를 확인해 보세요!

이 게시글에서는 사전 학습 모델을 사용하는 애플리케이션의 보안 제어에 대해 다룹니다. 미세 조정 모델 또는 맞춤형 모델을 사용해 보고자 하는 경우, 생성형 AI 보안 범위 지정 매트릭스를 통해 모델 유형에 따른 다양한 위험과 완화 조치를 확인하세요. 추가 지원이 필요한 경우 생성형 AI에 대한 안전한 접근법을 참조하거나 담당 계정 팀에 문의하실 수 있습니다.

Riza Saputra

Riza Saputra

Riza는 AWS의 Senior Solutions Architect로, 모든 단계의 스타트업과 협력하여 스타트업이 안전하게 성장하고, 효율적으로 확장하고, 더 빠르게 혁신할 수 있도록 지원합니다. Riza는 현재 조직이 AI 솔루션을 안전하고 효율적으로 구축하고 확장하도록 안내하는 생성형 AI에 초점을 맞추고 있습니다. 또한 직무, 산업, 회사 규모 전반에 걸친 경험을 바탕으로 기술 및 비즈니스 과제를 해결하는 데 다양한 관점을 제시합니다. Riza는 대중 연설과 콘텐츠를 통해 지식을 공유하여 광범위한 기술 커뮤니티를 지원하기도 합니다.

Glendon Thaiw

Glendon Thaiw

Glendon은 싱가포르, 말레이시아, 인도네시아, 필리핀 전역의 스타트업 솔루션 아키텍트 팀을 이끌며 동남아시아의 스타트업 생태계 성장을 지원하고 있습니다. 그는 SaaS 및 FinTech 스타트업과 긴밀하게 협력하여 확장 가능하고 안전한 클라우드 솔루션을 설계하여 AWS에서 가치를 극대화할 수 있도록 지원합니다. Kubernetes 및 EKS와 같은 컨테이너 기술에 대한 전문 지식을 갖춘 Glendon은 기술 및 규정 준수 문제를 해결할 수 있도록 스타트업을 안내합니다. 또한 지식을 공유하고, 이벤트에서 정기적으로 강연을 하고, 지역의 스타트업 커뮤니티에 힘을 실어주는 콘텐츠를 제작하는 일에도 전념하고 있습니다.

Ying Ting Ng

Ying Ting Ng

Ying Ting은 AWS의 Associate Security Solutions Architect로, ASEAN의 성장 고객이 클라우드에서 안전하게 확장할 수 있도록 지원합니다. 생성형 AI 보안에 대한 전문 지식을 갖추고 있어 생성형 AI 워크로드를 안전하고 빠르게 확장하기 위한 아키텍처 모범 사례에 대한 지침을 제공합니다. Amazon Women in Security의 정회원인 Ying Ting은 사이버 보안 분야의 초기 경력 전문가로서 영향력을 행사하는 방법에 대한 인사이트를 공유합니다.

이 콘텐츠는 어떠셨나요?