threat-modeling

3 개의 포스트

aws3분 읽기큐레이션 요약

AWS Security Agent, 위협 모델링·Kiro 기능·Claude Code 플러그인 등을 추가 | Amazon Web Services

AWS Security Agent는 설계부터 개발, 배포까지 애플리케이션의 전체 생명주기를 보안하는 에이전트형 서비스다. 이번 업데이트에서는 PR·전체 저장소 코드 리뷰, STRIDE 기반 위협 모델링, 규정 준수 팩, GitLab·Bitbucket·Confluence 연동이 추가됐다. 또한 Kiro, Claude Code, MCP를 통해 IDE나 CLI에서 보안 점검과 취약점 수정까지 수행할 수 있다. ## PR 및 전체 저장소 코드 리뷰 강화 - GitHub뿐 아니라 GitLab과 Bitbucket을 지원하며, SaaS 및 자체 호스팅 환경 모두에서 사용할 수 있다. - Confluence 문서를 리뷰 컨텍스트로 연결해 기존 설계·보안 문서를 분석에 활용한다. - 단순 패턴 매칭이 아니라 애플리케이션의 맥락을 이해하는 추론 기반 분석을 수행한다. - PR 변경 사항과 전체 저장소를 대상으로 복잡한 취약점을 탐지한다. - 조직의 보안 요구사항과 일반적인 보안 위험을 함께 검사한다. - 탐지된 결과에 대해 다음 기능을 제공한다. - 수정 커밋 - 구체적인 remediation 가이드 - 시뮬레이션 환경에서의 검증 - 실제 악용 가능성을 보여주는 proof of exploitability - 보안팀은 모니터링할 저장소를 설정하고 중요 이슈에 개입할 수 있다. ## 보안 요구사항과 규정 준수 검토 - 설계 및 코드 리뷰 과정에서 보안 요구사항을 지속적으로 검증한다. - 관리형 컴플라이언스 팩을 제공한다. - AWS WAF - NIST CSF - PCI DSS - AWS 모범 사례 - 조직 내부 문서나 Confluence에서 자체 보안 요구사항을 가져올 수 있다. - 각 탐지 결과를 조직의 컴플라이언스 상태와 연결해 감사 대응과 추적성을 높인다. ## STRIDE 기반 위협 모델링 - 설계 문서나 소스 코드 저장소를 분석해 애플리케이션의 전체 보안 맥락을 구성한다. - 다음 요소를 모델링한다. - 시스템 구성 요소 - 데이터 흐름 - 아키텍처 - 신뢰 경계 - 잠재적 위협 행위자 - 공격 벡터 - STRIDE 프레임워크를 사용해 위협을 분류하고 취약한 지점을 식별한다. - 발견한 위협의 우선순위를 지정해 먼저 해결해야 할 위험을 판단하도록 돕는다. - 콘솔에서 위협 모델 기능과 소스 코드 저장소를 연결해 사용할 수 있다. ## Kiro·Claude Code·MCP 통합 - Kiro용 파워를 제공하며 Claude Code 플러그인도 출시 예정이다. - 공개 MCP 통합을 통해 Kiro, Claude Code, 기타 AI 기반 IDE에서 기능을 호출할 수 있다. - IDE나 CLI 화면 안에서 결과를 확인할 수 있어 별도 콘솔로 이동할 필요가 줄어든다. - Kiro에서 다음과 같은 자연어 명령을 사용할 수 있다. - `Set up AWS Security Agent` - `Run a full security scan on this repo` - `help me remediate my findings` - `Build a threat model for this application` ## 개발 환경에서의 취약점 수정 흐름 - 전체 저장소 보안 스캔으로 누적된 위험을 찾을 수 있다. - Kiro의 Agent Hook을 사용하면 에이전트 작업이 끝난 뒤 PR diff 스캔을 자동으로 시작할 수 있다. - 발견 결과를 로컬 워크스페이스로 가져와 심각도가 가장 높은 문제부터 처리할 수 있다. - 수정 과정에서 버그 수정 명세 세션을 시작하고 기존 IDE 도구, MCP 서버, 자동화 기능을 함께 사용할 수 있다. - 생성된 위협 모델은 `.security-agent/threat_model.md`에 저장된다. - 배포 전에는 CLI에서 침투 테스트를 실행해 일반적인 스캐너가 놓치는 위험까지 확인할 수 있다. ## 생명주기 전체를 아우르는 통합 보안 - 설계 단계: - 설계 리뷰 - 위협 모델링 - 개발 단계: - PR 및 전체 저장소 코드 리뷰 - 자동 수정 및 검증 - 배포 단계: - 온디맨드 침투 테스트 - 하나의 에이전트형 서비스에서 위협 식별, 악용 가능성 검증, 수정 코드 생성까지 연결한다. - 기능은 AWS Security Agent가 제공되는 AWS 상용 리전에서 사용할 수 있으며, 가격과 2개월 무료 체험 여부는 별도 가격 페이지에서 확인해야 한다. AWS Security Agent는 보안 검사를 별도 절차로 분리하기보다 개발 흐름에 직접 삽입하려는 서비스다. AWS 환경과 지원되는 저장소·IDE를 사용한다면 PR 자동 검사, 조직별 보안 요구사항 등록, 위협 모델 파일 생성부터 단계적으로 도입하는 것이 실용적이다.

원문 읽기(새 탭에서 열림)
dropbox3분 읽기큐레이션 요약

Dropbox가 MCP와 Dash를 활용해 디자인에서 코드로 이어지는 보안 격차를 해소하는 방법

Dropbox는 보안 위협 모델과 실제 코드 구현 사이의 단절을 MCP, 기초 언어 모델, Dash를 결합해 해결하고자 했다. 시스템은 코드 리뷰 시 관련 위협 모델을 자동으로 검색하고, 문서에 정의된 보안 요구사항이 코드에 반영됐는지 비교한다. 분석 결과 구현 PR의 12%만 원래 보안 검토와 연결되어 있었으며, 보안 지식을 코드 리뷰 시점에 자동으로 제공하는 것이 핵심 해결책으로 제시된다. ## 설계와 코드 사이의 보안 격차 - 보안 검토에서는 잠재적 위험, 공격 가능성, 필요한 보호 조치를 위협 모델에 기록한다. - 그러나 개발이 시작되면 위협 모델은 위키나 문서 시스템에 남고, 구현 코드는 별도의 PR에서 관리된다. - 명시적인 링크가 없으면 코드 리뷰어가 과거의 보안 요구사항을 확인하기 어렵다. - Dropbox의 분석 결과: - 구현 PR 중 원래 설계 검토 및 위협 모델을 연결한 비율은 **12%**에 불과했다. - 검증된 79개 쌍 중 **54%**는 보안 검토 후 한 달이 지나서야 PR이 생성됐다. - 보안 검토부터 PR 생성까지의 중앙값은 약 **5주**였다. - 일부 지연은 **11개월 이상**이었다. - 검토 후 2주 이내에 생성된 PR은 **29%**뿐이었다. ## 기존 보안 도구의 한계 - 정적 분석 도구는 코드에 특정 보안 제어가 존재하는지 확인할 수 있다. - 하지만 해당 제어가 설계 검토에서 합의한 요구사항과 일치하는지는 판단하기 어렵다. - 정적 분석은 코드의 패턴은 검사하지만, 설계 의도와 이전에 결정된 보안 맥락은 알지 못하기 때문이다. - 개발자에게 설계 문서와 PR을 직접 연결하도록 요구하거나 알림 봇을 사용하는 방식도 지속적인 준수에 의존한다. - 설계 검토의 약 **15%**는 코드가 먼저 작성된 뒤 사후적으로 진행됐다. - 따라서 자동화 시스템은 기존 검토와 코드를 연결하는 것뿐 아니라, 보안 검토가 필요할 가능성이 있는 작업을 개발 중 조기에 식별하는 역할도 할 수 있다. ## Dash와 MCP를 활용한 컨텍스트 연결 - Dash는 여러 연결된 애플리케이션의 문서를 색인하므로, 기존 위협 모델과 엔지니어링 문서를 통합적으로 검색할 수 있다. - Dropbox는 코드가 리뷰에 제출될 때 관련 위협 모델을 자동으로 검색하도록 시스템을 구축했다. - MCP(Model Context Protocol)는 AI 에이전트가 Dash가 색인한 문서에 접근하도록 하는 연결 계층이다. - 보안 검토 에이전트는 Dash의 MCP 서버를 통해 위협 모델과 관련 문서를 검색하고 읽는다. - 별도의 소스 시스템별 맞춤 통합 없이 여러 컨텍스트를 하나의 에이전트 세션에 결합할 수 있다. ## 요구사항과 구현 코드의 비교 - 코드 리뷰가 시작되면 에이전트는 관련 위협 모델과 보조 문서를 가져온다. - 기초 언어 모델은 문서에 기록된 보안 요구사항과 변경된 코드를 함께 분석한다. - 예를 들어 위협 모델이 특정 엔드포인트에 인증을 요구한다면, 실제 코드가 인증을 강제하는지 판단할 수 있다. - 기존 정적 분석과 달리 단순히 취약한 코드 패턴을 찾는 것이 아니라, **설계 단계의 보안 결정이 구현에 반영됐는지**를 검토한다. - 결과를 별도의 보안 절차가 아니라 개발자가 이미 사용하는 코드 리뷰 과정에 제공하는 것이 중요한 설계 원칙이다. ## 실용적인 결론 보안 검토 문서를 별도로 잘 작성하는 것만으로는 충분하지 않다. 해당 문서의 요구사항이 코드가 검토되는 시점에 자동으로 노출되고 구현과 비교되어야 하며, 이를 위해 조직의 기존 문서 검색 시스템과 MCP 기반 AI 에이전트를 코드 리뷰 흐름에 통합하는 접근이 효과적이다.

원문 읽기(새 탭에서 열림)
line원문

AI 제품 개발 중 마주칠 수 있는 보안 위협 사례와 대책 방안 (새 탭에서 열림)

AI 제품 개발은 생산성을 비약적으로 높여주지만, 환각 현상이나 프롬프트 주입과 같은 새로운 형태의 보안 위협을 동반합니다. 이러한 리스크는 단순히 오답을 제공하는 수준을 넘어 악성코드 설치, 원격 코드 실행(RCE), 민감 정보 유출로 이어질 수 있어 기존과는 다른 다각도의 방어 전략이 필요합니다. LY Corporation은 실제 사례 분석을 통해 AI 모델과 외부 도구 간의 접점을 보호하고 보안 검토를 자동화하는 등의 대응 방안을 구축하고 있습니다. ## 슬랍스쿼팅(Slopsquatting)과 패키지 오인 * AI가 존재하지 않는 소프트웨어 패키지 이름을 마치 실제인 것처럼 제안하는 '환각(Hallucination)' 현상을 악용한 공격입니다. * 예를 들어, AI가 `huggingface_hub[cli]` 대신 `huggingface-cli`라는 잘못된 패키지 설치를 권장할 때, 공격자가 미리 해당 이름으로 악성 패키지를 등록해 두면 사용자가 이를 설치하게 됩니다. * 이를 방지하기 위해 AI가 생성한 코드나 설치 지침을 실행하기 전 반드시 공식 문서와 대조하여 검증하는 절차가 필수적입니다. ## 프롬프트 주입을 통한 원격 코드 실행(RCE) * Vanna AI 사례(CVE-2024-5565)와 같이 자연어를 SQL이나 파이썬 코드로 변환하여 직접 실행하는 서비스에서 주로 발생합니다. * 사용자가 입력창에 악의적인 명령을 주입하여 애플리케이션 권한 내에서 임의의 시스템 명령어를 실행하도록 유도할 수 있습니다. * LLM을 전적으로 신뢰하여 코드를 실행하게 두지 말고, 사용자 입력을 엄격히 검증(Sanitize)하며 데이터 생성 용도로만 제한적으로 활용해야 합니다. ## 오피스 AI에서의 간접 프롬프트 주입 * 이메일이나 문서 본문에 숨겨진 악성 지시사항을 AI가 읽고 실행하게 만드는 '간접 주입' 방식의 위협입니다. * 가령, 피싱 사이트로 유도를 하거나 비밀번호 변경을 종용하는 문구가 포함된 이메일을 AI가 요약하는 과정에서 사용자를 속이는 스크립트를 수행하게 될 수 있습니다. * 입력 데이터뿐만 아니라 AI가 내놓는 출력물에 대해서도 가드레일(Guardrails)을 적용하여 이상 징후를 탐지하는 이중 방어 체계가 필요합니다. ## 코딩 에이전트의 권한 남용 및 데이터 노출 * GitHub MCP(Model Context Protocol)와 같이 자동화된 코딩 에이전트가 공개 저장소와 비공개 저장소에 동시에 접근할 때 발생합니다. * 공개 저장소의 이슈나 PR에 포함된 악성 명령어가 에이전트를 통해 실행되면, 에이전트의 권한을 이용해 비공개 저장소에 있는 급여 정보나 개인정보를 외부로 유출할 수 있습니다. * 에이전트가 접근 가능한 데이터 범위를 최소화하고, 작업 단위별로 권한을 분리하는 보안 디자인이 중요합니다. ## 임베딩 인버전(Embedding Inversion)을 통한 정보 복원 * 텍스트 데이터를 수치화한 벡터 임베딩 값으로부터 원본 텍스트를 역으로 추론해내는 공격 기법입니다. * 임베딩 데이터 자체가 유출될 경우, 비식별화되었다고 판단했던 민감한 정보가 다시 복원되어 프라이버시 침해로 이어질 수 있습니다. * 벡터 데이터베이스에 대한 접근 제어를 강화하고 임베딩 데이터의 보안 수준을 원본 데이터와 동일하게 관리해야 합니다. AI 프로덕트의 안전성을 확보하기 위해서는 기획 단계에서의 보안 디자인 리뷰는 물론, 위협 모델링 자동화 도구인 'ConA'나 소스 코드 취약점 분석 자동화 도구인 'LAVA'와 같은 기술적 솔루션을 적극적으로 도입하여 보안 프로세스를 내재화하는 것이 권장됩니다.