Tenable Research는 널리 논의되는 AI 취약점에 대한 접근 방식을 재정의하는 획기적인 연구를 발표했습니다. 자세한 분석에서 Tenable의 Ben Smith는 프롬프트 주입과 유사한 기술을 점점 더 인기를 얻고 있는 Model Context Protocol (MCP) 내에서 작동하는 Large Language Model (LLM) 도구 호출을 감사, 모니터링하고 방화벽을 만드는 데 효과적으로 재사용할 수 있는 방법을 보여줍니다.
Model Context Protocol (MCP)은 Anthropic에서 개발한 새로운 표준으로, AI 챗봇과 외부 도구의 통합을 용이하게 하여 자율적으로 작업을 수행할 수 있도록 합니다. 그러나 이러한 편리함은 새로운 보안 문제를 야기합니다. 공격자는 숨겨진 명령, 즉 프롬프트 주입을 삽입하거나 악성 도구를 도입하여 AI가 자체 규칙을 위반하도록 조작할 수 있습니다. Tenable의 연구는 이러한 위험을 포괄적으로 검토하고 공격에 사용되는 동일한 기술을 활용하여 AI가 사용하려는 모든 도구를 모니터링, 검사 및 제어하는 강력한 방어를 구축하는 고유한 솔루션을 제시합니다.
MCP 보안 이해의 중요성
기업이 중요한 비즈니스 도구와 LLM을 점점 더 많이 통합함에 따라 CISO, AI 엔지니어 및 보안 연구원은 MCP가 제공하는 위험과 방어 기회를 완전히 이해하는 것이 중요합니다.
Tenable의 선임 연구 엔지니어인 Ben Smith는 다음과 같이 말합니다. "MCP는 AI와 상호 작용하는 방식을 재구성하는 빠르게 진화하고 미성숙한 기술입니다. MCP 도구는 개발하기 쉽고 풍부하지만 설계에 의한 보안 원칙을 구현하지 않으므로 주의해서 다루어야 합니다. 따라서 이러한 새로운 기술은 강력한 도구를 구축하는 데 유용하지만 동일한 방법을 악의적인 목적으로 재사용할 수 있습니다. 주의를 게을리하지 말고 MCP 서버를 공격 표면의 확장으로 취급하십시오."
연구의 주요 내용
모델 간 동작 차이:
- Claude Sonnet 3.7 및 Gemini 2.5 Pro Experimental은 일관되게 로거를 호출하고 시스템 프롬프트의 일부를 노출했습니다.
- GPT-4o도 로거를 삽입했지만 각 실행에서 다양한 (때로는 환각적인) 매개변수 값을 생성했습니다.
보안 이점: 공격자가 사용하는 동일한 메커니즘을 사용하여 방어자가 도구 체인을 감사하고, 악성 또는 알려지지 않은 도구를 감지하고, MCP 호스트 내에서 보호 장치를 구축할 수 있습니다.
명시적 사용자 승인: MCP는 이미 도구가 실행되기 전에 명시적인 사용자 승인을 요구합니다. 이 연구는 엄격한 최소 권한 기본값과 철저한 개별 도구 검토 및 테스트의 필요성을 강조합니다.
Model Context Protocol (MCP)에 대한 심층 분석
Model Context Protocol (MCP)은 AI 모델이 외부 세계와 상호 작용하는 방식의 패러다임 전환을 나타냅니다. 격리된 상태로 작동하는 기존 AI 시스템과 달리 MCP를 사용하면 AI 모델이 외부 도구 및 서비스와 원활하게 통합되어 데이터베이스 액세스, 이메일 전송에서 물리적 장치 제어에 이르기까지 광범위한 작업을 수행할 수 있습니다. 이러한 통합은 AI 애플리케이션에 대한 새로운 가능성을 열어 주지만 신중하게 해결해야 할 새로운 보안 위험도 도입합니다.
MCP 아키텍처 이해
MCP의 핵심에는 AI 모델과 외부 도구 간의 통신을 용이하게 하기 위해 함께 작동하는 여러 가지 주요 구성 요소가 있습니다. 이러한 구성 요소는 다음과 같습니다.
- AI 모델: 시스템을 구동하는 중앙 인텔리전스입니다. GPT-4와 같은 대규모 언어 모델 (LLM)이거나 특정 작업을 위해 설계된 특수 AI 모델일 수 있습니다.
- MCP 서버: AI 모델과 외부 도구 간의 중개자 역할을 합니다. AI 모델에서 요청을 수신하고 유효성을 검사한 다음 적절한 도구로 전달합니다.
- 외부 도구: AI 모델이 상호 작용하는 서비스 및 애플리케이션입니다. 여기에는 데이터베이스, API, 웹 서비스 및 물리적 장치까지 포함될 수 있습니다.
- 사용자 인터페이스: 사용자가 AI 시스템과 상호 작용하고 해당 동작을 제어할 수 있는 방법을 제공합니다. 또한 사용자가 도구 요청을 승인하거나 거부할 수 있는 방법을 제공할 수도 있습니다.
MCP의 이점
Model Context Protocol은 기존 AI 시스템에 비해 몇 가지 중요한 이점을 제공합니다.
- 기능 향상: 외부 도구와 통합함으로써 AI 모델은 자체적으로 수행할 수 있는 것보다 훨씬 더 광범위한 작업을 수행할 수 있습니다.
- 효율성 향상: MCP는 인적 개입이 필요한 작업을 자동화하여 시간과 리소스를 절약할 수 있습니다.
- 향상된 유연성: MCP를 사용하면 AI 모델이 변화하는 상황에 적응하고 새로운 정보에 실시간으로 대응할 수 있습니다.
- 확장성 향상: MCP는 증가하는 사용자 및 도구 수를 수용하도록 쉽게 확장할 수 있습니다.
MCP의 새로운 보안 위험
이점에도 불구하고 MCP는 신중하게 고려해야 할 여러 가지 보안 위험을 도입합니다. 이러한 위험은 MCP를 통해 AI 모델이 외부 세계와 상호 작용할 수 있다는 사실에서 비롯되며, 이는 공격자가 악용할 수 있는 새로운 방법을 열어줍니다.
프롬프트 주입 공격
프롬프트 주입 공격은 MCP 시스템에 대한 특히 우려스러운 위협입니다. 프롬프트 주입 공격에서 공격자는 AI 모델이 의도하지 않은 작업을 수행하도록 조작하는 악성 입력을 제작합니다. 이는 AI 모델의 입력에 악성 명령이나 지침을 삽입하여 수행할 수 있으며, 모델은 이를 합법적인 명령으로 해석합니다.
예를 들어 공격자는 AI 모델에 데이터베이스의 모든 데이터를 삭제하거나 무단 당사자에게 중요한 정보를 보내도록 지시하는 명령을 삽입할 수 있습니다. 성공적인 프롬프트 주입 공격의 잠재적 결과는 데이터 유출, 금전적 손실 및 평판 손상을 포함하여 심각할 수 있습니다.
악성 도구 통합
또 다른 중요한 위험은 악성 도구를 MCP 에코시스템에 통합하는 것입니다. 공격자는 합법적인 것처럼 보이지만 실제로 악성 코드를 포함하는 도구를 만들 수 있습니다. AI 모델이 이 도구와 상호 작용하면 악성 코드가 실행되어 전체 시스템이 손상될 수 있습니다.
예를 들어 공격자는 사용자 자격 증명을 훔치거나 시스템에 맬웨어를 설치하는 도구를 만들 수 있습니다. 악성 코드 도입을 방지하려면 MCP 에코시스템에 통합하기 전에 모든 도구를 신중하게 검토하는 것이 중요합니다.
권한 상승
권한 상승은 MCP 시스템의 또 다른 잠재적인 보안 위험입니다. 공격자가 제한된 권한으로 계정에 액세스할 수 있는 경우 시스템의 취약점을 악용하여 더 높은 수준의 권한을 얻을 수 있습니다. 이를 통해 공격자는 중요한 데이터에 액세스하고, 시스템 구성을 수정하거나, 전체 시스템을 제어할 수도 있습니다.
데이터 포이즈닝
데이터 포이즈닝은 AI 모델을 구축하는 데 사용되는 학습 데이터에 악성 데이터를 주입하는 것을 포함합니다. 이는 모델의 동작을 손상시켜 잘못된 예측을 하거나 의도하지 않은 작업을 수행하도록 할 수 있습니다. MCP의 컨텍스트에서 데이터 포이즈닝은 AI 모델이 악성 도구와 상호 작용하거나 기타 유해한 작업을 수행하도록 조작하는 데 사용될 수 있습니다.
가시성 및 제어 부족
기존 보안 도구는 MCP 시스템에 대한 공격을 탐지하고 방지하는 데 종종 효과적이지 않습니다. 이는 MCP 트래픽이 종종 암호화되어 합법적인 트래픽과 구별하기 어려울 수 있기 때문입니다. 결과적으로 AI 모델 활동을 모니터링하고 악성 동작을 식별하는 것이 어려울 수 있습니다.
테이블 전환: 방어를 위한 프롬프트 주입 사용
Tenable의 연구는 프롬프트 주입 공격에 사용되는 동일한 기술을 재활용하여 MCP 시스템에 대한 강력한 방어를 구축할 수 있음을 보여줍니다. 신중하게 설계된 프롬프트를 제작함으로써 보안 팀은 AI 모델 활동을 모니터링하고, 악성 도구를 감지하고, 공격을 방지하기 위한 보호 장치를 구축할 수 있습니다.
도구 체인 감사
프롬프트 주입의 주요 방어 애플리케이션 중 하나는 도구 체인 감사입니다. 특정 프롬프트를 AI 모델의 입력에 삽입함으로써 보안 팀은 AI 모델이 사용하고 있는 도구와 도구가 도구와 상호 작용하는 방식을 추적할 수 있습니다. 이 정보는 의심스러운 활동을 식별하고 AI 모델이 승인된 도구만 사용하고 있는지 확인하는 데 사용할 수 있습니다.
악성 또는 알 수 없는 도구 감지
프롬프트 주입을 사용하여 악성 또는 알 수 없는 도구를 감지할 수도 있습니다. 특정 동작을 트리거하는 프롬프트를 삽입함으로써 보안 팀은 의심스럽게 작동하거나 사용할 권한이 없는 도구를 식별할 수 있습니다. 이는 AI 모델이 악성 도구와 상호 작용하지 못하도록 방지하고 시스템을 공격으로부터 보호하는 데 도움이 될 수 있습니다.
MCP 호스트 내부에 보호 장치 구축
아마도 프롬프트 주입의 가장 강력한 방어 애플리케이션은 MCP 호스트 내부에 보호 장치를 구축하는 것입니다. 특정 보안 정책을 시행하는 프롬프트를 삽입함으로써 보안 팀은 AI 모델이 무단 작업을 수행하거나 중요한 데이터에 액세스하지 못하도록 방지할 수 있습니다. 이는 AI 모델 실행을 위한 안전한 환경을 만들고 시스템을 공격으로부터 보호하는 데 도움이 될 수 있습니다.
명시적 사용자 승인의 중요성
이 연구는 MCP 환경 내에서 도구를 실행하기 전에 명시적인 사용자 승인이 필요함을 강조합니다. MCP는 이미 이 요구 사항을 통합했지만 결과는 엄격한 최소 권한 기본값과 철저한 개별 도구 검토 및 테스트의 필요성을 강화합니다. 이 접근 방식을 통해 사용자는 AI 시스템에 대한 제어를 유지하고 시스템이 의도하지 않은 작업을 수행하지 못하도록 방지할 수 있습니다.
최소 권한 기본값
최소 권한 원칙은 사용자가 직무 기능을 수행하는 데 필요한 최소 수준의 액세스 권한만 부여받아야 함을 규정합니다. MCP의 컨텍스트에서 이는 AI 모델에 작업을 수행하는 데 절대적으로 필요한 도구 및 데이터에 대한 액세스 권한만 부여해야 함을 의미합니다. 이는 성공적인 공격의 잠재적 영향을 줄이고 공격자가 권한을 상승시키는 능력을 제한합니다.
철저한 도구 검토 및 테스트
MCP 에코시스템에 도구를 통합하기 전에 도구가 안전하고 악성 코드가 포함되어 있지 않은지 확인하기 위해 철저히 검토하고 테스트하는 것이 중요합니다. 여기에는 코드 분석, 침투 테스트 및 취약점 검사를 포함하여 자동화된 테스트 기술과 수동 테스트 기술의 조합이 포함되어야 합니다.
의미 및 권장 사항
Tenable의 연구는 MCP를 사용하거나 사용할 계획인 조직에 중요한 의미를 갖습니다. 이 결과는 MCP와 관련된 보안 위험을 이해하고 이러한 위험을 완화하기 위해 적절한 보안 조치를 구현하는 것이 중요함을 강조합니다.
주요 권장 사항
- 강력한 입력 유효성 검사 구현: AI 모델에 대한 모든 입력은 프롬프트 주입 공격을 방지하기 위해 신중하게 유효성을 검사해야 합니다. 여기에는 악성 명령 및 지침을 필터링하고 입력의 길이와 복잡성을 제한하는 것이 포함되어야 합니다.
- 엄격한 액세스 제어 시행: 중요한 데이터 및 도구에 대한 액세스는 무단 액세스를 방지하기 위해 엄격하게 제어해야 합니다. 여기에는 강력한 인증 메커니즘을 사용하고 최소 권한 원칙을 구현하는 것이 포함되어야 합니다.
- AI 모델 활동 모니터링: 의심스러운 동작을 탐지하기 위해 AI 모델 활동을 면밀히 모니터링해야 합니다. 여기에는 모든 도구 요청 및 응답을 기록하고 데이터에서 이상 징후를 분석하는 것이 포함되어야 합니다.
- 강력한 사고 대응 계획 구현: 조직은 MCP 시스템과 관련된 보안 사고를 처리하기 위해 강력한 사고 대응 계획을 수립해야 합니다. 여기에는 공격을 식별, 억제 및 복구하는 절차가 포함되어야 합니다.
- 최신 정보 유지: MCP 환경은 끊임없이 진화하고 있으므로 최신 보안 위험 및 모범 사례에 대한 최신 정보를 유지하는 것이 중요합니다. 보안 메일링 리스트를 구독하고, 보안 컨퍼런스에 참석하고, 소셜 미디어에서 보안 전문가를 팔로우하면 됩니다.
이러한 권장 사항을 따르면 조직은 MCP 시스템에 대한 공격 위험을 크게 줄이고 중요한 데이터를 보호할 수 있습니다. AI의 미래는 안전하고 신뢰할 수 있는 시스템을 구축하는 능력에 달려 있으며, 이를 위해서는 보안에 대한 사전 예방적이고 경계적인 접근 방식이 필요합니다.