오픈소스 LLM 시대의 데이터 그림자 전쟁

유출의 물결, 취약점을 드러내다

DeepSeek 및 Ollama와 같은 오픈 소스 LLM(Large Language Model)의 급속한 채택은 양날의 검이 되고 있습니다. 기업은 이러한 강력한 도구를 활용하여 효율성을 높이고 있지만, 성장을 촉진하는 바로 그 개방성이 데이터 보안 위험의 급증을 야기하고 있습니다. NSFOCUS Xingyun Lab에서 작성한 최근 보고서는 암울한 그림을 보여줍니다. 2025년 첫 두 달 동안에만 LLM과 직접적으로 관련된 5건의 중대한 데이터 유출 사고가 발생했습니다. 이러한 사고로 인해 기밀 채팅 기록 및 API 키에서 중요한 사용자 자격 증명에 이르기까지 방대한 양의 민감한 정보가 노출되었습니다. 이러한 사건은 최첨단 AI 기술의 표면 아래 숨어 있는 간과하기 쉬운 보안 취약점을 강조하는 경종입니다. 이 탐구에서는 이 5가지 사건을 분석하고, 공격 방법을 해부하고, 확립된 MITRE ATT&CK 프레임워크에 매핑하고, 조직이 긴급하게 해결해야 할 보안 사각지대를 노출합니다.

사건 1: DeepSeek의 잘못 구성된 데이터베이스 – 개인 대화 엿보기

타임라인: 2025년 1월 29일

유출 규모: 민감한 채팅 기록 및 액세스 키를 포함한 수백만 줄의 로그 데이터.

사건 전개:

Wiz의 보안 연구팀이 이 발견을 시작했습니다. 그들은 공용 인터넷에서 액세스할 수 있는 노출된 ClickHouse 서비스를 식별했습니다. 추가 조사 결과 이 서비스가 중국 AI 스타트업인 DeepSeek에 속한 것으로 확인되었습니다. 분석 처리에서 대규모 데이터 세트를 효율적으로 처리하도록 설계된 ClickHouse는 불행하게도 DeepSeek의 내부 데이터에 대한 게이트웨이가 되었습니다. 연구원들은 DeepSeek의 로그 스트림 약 백만 줄에 액세스하여 과거 채팅 로그와 중요한 액세스 키를 포함한 민감한 정보의 보고를 발견했습니다.

Wiz는 DeepSeek에 취약점을 즉시 알렸고, 이로 인해 즉각적인 조치와 노출된 ClickHouse 서비스의 안전한 폐기가 이루어졌습니다.

공격 분석:

핵심 문제는 ClickHouse가 무단 액세스에 취약하다는 점이었습니다. 오픈 소스 컬럼 지향 데이터베이스 관리 시스템인 ClickHouse는 대규모 데이터 세트의 실시간 쿼리 및 분석에 탁월하며 로그 및 사용자 행동 분석에 자주 사용됩니다. 그러나 적절한 액세스 제어 없이 배포되면 노출된 API 인터페이스를 통해 누구나 SQL 유사 명령을 실행할 수 있습니다.

Wiz 보안 팀의 접근 방식은 DeepSeek의 인터넷 연결 서브 도메인에 대한 체계적인 스캔을 포함했습니다. 처음에는 표준 포트 80과 443에 초점을 맞춰 챗봇 인터페이스 및 API 문서와 같은 일반적인 웹 리소스를 발견했습니다. 검색 범위를 넓히기 위해 8123 및 9000과 같은 덜 일반적인 포트로 확장하여 궁극적으로 여러 서브 도메인에서 노출된 서비스를 발견했습니다.

2025년 1월 6일부터 시작된 손상된 로그 데이터에는 통화 로그, 내부 DeepSeek API 엔드포인트에 대한 텍스트 로그, 자세한 채팅 기록, API 키, 백엔드 시스템 세부 정보 및 운영 메타데이터와 같은 풍부한 민감한 정보가 포함되어 있었습니다.

VERIZON 이벤트 분류: 기타 오류

MITRE ATT&CK 프레임워크 매핑:

  • T1590.002 (희생자 네트워크 정보 수집 - 도메인 이름 확인): 공격자는 기본 도메인 이름을 사용하여 서브 도메인 열거를 수행했을 가능성이 있습니다.
  • T1046 (웹 서비스 검색): 공격자는 대상 도메인과 관련된 열린 포트 및 서비스를 식별했습니다.
  • T1106 (네이티브 인터페이스): 공격자는 ClickHouse API를 활용하여 데이터베이스와 상호 작용했습니다.
  • T1567 (웹 서비스를 통한 데이터 유출): 공격자는 ClickHouse API를 사용하여 데이터를 훔쳤습니다.

사건 2: DeepSeek의 공급망 공격 – 코드 속 트로이 목마

타임라인: 2025년 2월 3일

유출 규모: 사용자 자격 증명 및 환경 변수.

사건 전개:

공격은 2025년 1월 19일에 ‘bvk’로 식별된 악의적인 사용자가 ‘deepseek’ 및 ‘deepseekai’라는 두 개의 악성 Python 패키지를 인기 있는 PyPI(Python Package Index) 저장소에 업로드하면서 시작되었습니다.

Positive Technologies Expert Security Center(PT ESC)의 위협 인텔리전스 팀은 같은 날 이 의심스러운 활동을 감지했습니다. 그들의 분석은 패키지의 악성 특성을 확인했으며, 그들은 즉시 PyPI 관리자에게 알렸습니다.

PyPI 관리자는 신속하게 악성 패키지를 제거하고 PT ESC에 알렸습니다. 빠른 대응에도 불구하고 통계에 따르면 멀웨어가 다양한 채널을 통해 17개국에서 200회 이상 다운로드된 것으로 나타났습니다. 악성 패키지는 이후 격리되었습니다.

공격 분석:

‘bvk’가 업로드한 악성 패키지는 정보 수집과 환경 변수 탈취라는 두 가지 주요 목표에 초점을 맞췄습니다. 도난당한 데이터에는 데이터베이스 자격 증명, API 키 및 S3 객체 스토리지에 대한 액세스 자격 증명과 같은 민감한 정보가 포함되었습니다. 악성 페이로드는 사용자가 명령줄에서 DeepSeek 또는 Deepseekai를 실행할 때마다 트리거되었습니다.

공격자는 PipeDream을 명령 및 제어 서버로 활용하여 도난당한 데이터를 수신했습니다. 이 사건은 다음과 같은 몇 가지 기여 요인을 강조합니다.

  • 종속성 혼동 공격: 공격자는 조직의 개인 패키지와 동일한 이름을 가진 공용 패키지 간의 우선 순위 차이를 악용했습니다.
  • 패키지 이름 가장: 악성 패키지는 사용자를 속이기 위해 잘 알려진 AI 회사인 DeepSeek의 브랜드 이름을 모방했습니다.
  • PyPI 등록 취약점: PyPI 등록 프로세스에는 개발자 신원 및 패키지 이름 정당성에 대한 효과적인 확인이 부족했습니다.
  • 개발자 보안 인식: 개발자가 실수로 유사한 이름의 악성 패키지를 설치했을 수 있습니다.

VERIZON 이벤트 분류: 사회 공학

MITRE ATT&CK 프레임워크 매핑:

  • T1593.003 (공개 웹사이트/도메인 검색 - 공개적으로 사용 가능한 종속성 저장소 검색): 공격자는 PyPI에서 정보를 검색했습니다.
  • T1195.002 (공급망 손상 - 소프트웨어 공급망 손상): 공격자는 Python 종속성으로 위장한 멀웨어를 사용하여 PyPI에 업로드했습니다.
  • T1059.006 (명령 및 스크립팅 인터프리터 - Python): 공격자는 패키지에 악성 코드를 심었고, 실행 시 민감한 데이터가 유출되었습니다.
  • T1041 (C2 채널을 통한 유출): 공격자는 PipeDream C2 채널을 통해 민감한 정보를 유출했습니다.

사건 3: LLM 하이재킹 – 리소스 도난을 위한 DeepSeek 표적

타임라인: 2025년 2월 7일

유출 규모: 약 20억 개의 모델 토큰이 불법적으로 사용됨.

사건 전개:

Sysdig 위협 연구팀은 처음에 2024년 5월에 ‘LLM jacking’ 또는 ‘LLM hijacking’이라고 불리는 LLM을 대상으로 하는 새로운 공격을 발견했습니다.

2024년 9월까지 Sysdig는 이러한 공격의 빈도와 확산이 증가하고 있으며 DeepSeek가 점점 더 표적이 되고 있다고 보고했습니다.

2024년 12월 26일, DeepSeek는 DeepSeek-V3라는 고급 모델을 출시했습니다. 얼마 지나지 않아 Sysdig 팀은 DeepSeek-V3가 Hugging Face에서 호스팅되는 OpenAI 역방향 프록시(ORP) 프로젝트에 구현되었음을 발견했습니다.

2025년 1월 20일, DeepSeek는 DeepSeek-R1이라는 추론 모델을 출시했습니다. 바로 다음 날 DeepSeek-R1을 지원하는 ORP 프로젝트가 나타났고 공격자는 이를 악용하기 시작하여 여러 ORP에 DeepSeek API 키를 채웠습니다.

Sysdig의 연구에 따르면 ORP를 통해 불법적으로 사용된 대규모 모델 토큰의 총 수는 20억 개를 넘어섰습니다.

공격 분석:

LLM 하이재킹은 공격자가 도난당한 클라우드 자격 증명을 악용하여 클라우드 호스팅 LLM 서비스를 대상으로 하는 것을 포함합니다. 공격자는 OAI(OpenAI) 역방향 프록시와 도난당한 자격 증명을 활용하여 본질적으로 피해자가 구독한 LLM 서비스에 대한 액세스 권한을 판매합니다. 이로 인해 피해자는 상당한 클라우드 서비스 비용을 부담하게 됩니다.

OAI 역방향 프록시는 여러 LLM 계정에 대한 액세스를 위한 중앙 관리 지점 역할을 하여 기본 자격 증명 및 리소스 풀을 마스킹합니다. 공격자는 DeepSeek와 같은 값비싼 LLM을 비용을 지불하지 않고 사용할 수 있으며, 역방향 프록시를 통해 요청을 전달하고, 리소스를 소비하고, 합법적인 서비스 요금을 우회합니다. 프록시 메커니즘은 공격자의 신원을 숨겨 클라우드 리소스를 탐지되지 않고 오용할 수 있도록 합니다.

OAI 역방향 프록시는 LLM 하이재킹에 필요한 구성 요소이지만, 중요한 요소는 다양한 LLM 서비스에 대한 자격 증명 및 키 도난입니다. 공격자는 종종 기존 웹 서비스 취약점 및 구성 오류(예: Laravel 프레임워크의 CVE-2021-3129 취약점)를 악용하여 이러한 자격 증명을 훔칩니다. 이러한 자격 증명을 얻으면 Amazon Bedrock, Google Cloud Vertex AI 등과 같은 클라우드 기반 LLM 서비스에 액세스할 수 있습니다.

Sysdig의 연구에 따르면 공격자는 몇 시간 내에 피해자의 소비 비용을 수만 달러, 경우에 따라 하루 최대 10만 달러까지 빠르게 부풀릴 수 있습니다. 공격자의 동기는 데이터 획득을 넘어섭니다. 그들은 또한 액세스 권한을 판매하여 이익을 얻습니다.

VERIZON 이벤트 분류: 기본 웹 애플리케이션 공격

MITRE ATT&CK 프레임워크 매핑:

  • T1593 (공개 웹사이트/도메인 검색): 공격자는 OSINT(Open-Source Intelligence) 방법을 사용하여 노출된 서비스에 대한 정보를 수집했습니다.
  • T1133 (외부 원격 서비스): 공격자는 노출된 서비스의 취약점을 식별했습니다.
  • T1586.003 (계정 손상 - 클라우드 계정): 공격자는 취약점을 악용하여 LLM 서비스 또는 클라우드 서비스 자격 증명을 훔쳤습니다.
  • T1588.002 (기능 획득 - 도구): 공격자는 오픈 소스 OAI 역방향 프록시 도구를 배포했습니다.
  • T1090.002 (프록시 - 외부 프록시): 공격자는 OAI 역방향 프록시 소프트웨어를 사용하여 여러 LLM 계정에 대한 액세스를 관리했습니다.
  • T1496 (리소스 하이재킹): 공격자는 LLM 주입 공격을 시작하여 LLM 리소스를 하이재킹했습니다.

사건 4: OmniGPT 데이터 유출 – 다크 웹에서 판매되는 사용자 데이터

타임라인: 2025년 2월 12일

유출 규모: 이메일, 전화번호, API 키, 암호화 키, 자격 증명 및 청구 정보를 포함한 30,000명 이상의 사용자의 개인 정보.

사건 전개:

2025년 2월 12일, ‘SyntheticEmotions’라는 사용자가 BreachForums에 OmniGPT 플랫폼에서 민감한 데이터를 훔쳤다고 주장하며 판매를 제안하는 글을 게시했습니다. 유출된 데이터에는 30,000명 이상의 OmniGPT 사용자의 이메일, 전화번호, API 키, 암호화 키, 자격 증명 및 청구 정보와 챗봇과의 3,400만 줄 이상의 대화가 포함된 것으로 알려졌습니다. 또한 플랫폼에 업로드된 파일에 대한 링크가 손상되었으며, 일부 파일에는 바우처 및 청구 데이터와 같은 민감한 정보가 포함되어 있었습니다.

공격 분석:

정확한 공격 벡터는 공개되지 않았지만 유출된 데이터의 유형과 범위를 고려할 때 SQL 주입, API 남용 또는 사회 공학 공격이 공격자에게 백엔드 데이터베이스에 대한 액세스 권한을 부여했을 수 있습니다. OmniGPT 플랫폼에 인증을 우회하고 사용자 정보가 포함된 데이터베이스에 직접 액세스할 수 있도록 하는 구성 오류 또는 취약점이 있었을 수도 있습니다.

2차 유출에 관련된 ‘Messages.txt’ 파일에는 API 키, 데이터베이스 자격 증명 및 결제 카드 정보가 포함되어 있어 잠재적으로 다른 시스템에 대한 추가 침입이나 데이터 변조를 가능하게 할 수 있습니다. 플랫폼 사용자가 업로드한 일부 문서에는 민감한 영업 비밀 및 프로젝트 데이터가 포함되어 있어 오용될 경우 비즈니스 운영에 위험을 초래할 수 있습니다. 이 사건은 AI 및 빅 데이터 분야에서 강화된 데이터 보안 및 개인 정보 보호의 필요성을 극명하게 상기시켜 줍니다. 사용자는 이러한 플랫폼을 사용할 때 극도의 주의를 기울여야 하며, 조직은 엄격한 데이터 사용 정책을 수립하고 민감한 데이터에 대한 암호화, 데이터 최소화 및 익명화와 같은 조치를 구현해야 합니다. 그렇게 하지 않으면 심각한 법적, 평판 및 경제적 결과를 초래할 수 있습니다.

VERIZON 이벤트 분류: 기타 오류

MITRE ATT&CK 프레임워크 매핑:

  • T1071.001 (응용 프로그램 계층 프로토콜 - 웹 프로토콜): 공격자는 OmniGPT의 웹 인터페이스를 통해 유출된 사용자 정보 및 민감한 데이터에 액세스했을 수 있습니다.
  • T1071.002 (응용 프로그램 계층 프로토콜 - 응용 프로그래밍 인터페이스): 유출된 API 키 및 데이터베이스 자격 증명을 통해 공격자는 플랫폼의 API를 통해 시스템에 액세스하고 무단 작업을 수행할 수 있습니다.
  • T1071.002 (응용 프로그램 계층 프로토콜 - 서비스 실행): 공격자는 시스템 서비스 또는 데몬을 악용하여 명령이나 프로그램을 실행할 수 있습니다.
  • T1020.003 (자동 유출 - 파일 전송): 유출된 파일 링크 및 사용자가 업로드한 민감한 파일은 공격자가 다운로드하여 후속 공격을 위한 더 많은 민감한 데이터를 얻을 수 있는 대상이 될 수 있습니다.
  • T1083 (파일 및 디렉터리 검색): 공격자는 유출된 정보를 사용하여 주요 비즈니스 정보를 추가로 얻을 수 있습니다.

사건 5: Common Crawl에서 유출된 DeepSeek 자격 증명 – 하드 코딩의 위험

타임라인: 2025년 2월 28일

유출 규모: 약 11,908개의 유효한 DeepSeek API 키, 자격 증명 및 인증 토큰.

사건 전개:

Truffle 보안 팀은 오픈 소스 도구인 TruffleHog를 활용하여 4,750만 호스트의 26억 7천만 웹 페이지를 포괄하는 크롤러 데이터베이스인 Common Crawl에서 2024년 12월부터 400TB의 데이터를 스캔했습니다. 스캔 결과 놀라운 사실이 밝혀졌습니다. 약 11,908개의 유효한 DeepSeek API 키, 자격 증명 및 인증 토큰이 수많은 웹 페이지에 직접 하드 코딩되어 있었습니다.

이 연구는 또한 Mailchimp API 키의 유출을 강조했으며, 약 1,500개의 키가 JavaScript 코드에 하드 코딩되어 있는 것으로 밝혀졌습니다. Mailchimp API 키는 종종 피싱 및 데이터 도난 공격에 악용됩니다.

공격 분석:

비영리 웹 크롤러 데이터베이스인 Common Crawl은 정기적으로 인터넷 페이지에서 데이터를 캡처하고 게시합니다. 이 데이터는 WARC(Web ARChive) 파일에 저장되어 원본 HTML, JavaScript 코드 및 서버 응답을 보존합니다. 이러한 데이터 세트는 AI 모델을 훈련하는 데 자주 사용됩니다. Truffle의 연구는 중요한 문제를 노출합니다. 보안 취약점이 포함된 코퍼스에서 모델을 훈련하면 모델이 이러한 취약점을 상속할 수 있습니다. DeepSeek와 같은 LLM이 훈련 및 배포 중에 추가 보안 조치를 사용하더라도 훈련 데이터에 하드 코딩된 취약점이 널리 퍼져 있으면 모델에 이러한 ‘안전하지 않은’ 관행이 일반화될 수 있습니다.

일반적이지만 안전하지 않은 코딩 관행인 하드 코딩은 만연한 문제입니다. 근본 원인은 간단하지만 위험은 심각합니다. 데이터 유출, 서비스 중단, 공급망 공격, 그리고 LLM의 부상과 함께 새로운 위협인 LLM 하이재킹이 있습니다. 앞에서 설명한 것처럼 LLM 하이재킹은 공격자가 도난당한 자격 증명을 사용하여 클라우드 호스팅 LLM 서비스를 악용하여 피해자에게 상당한 재정적 손실을 초래하는 것을 포함합니다.

VERIZON 이벤트 분류: 기타 오류

MITRE ATT&CK 프레임워크 매핑:

  • T1596.005 (개방형 기술 데이터베이스 검색 - 스캔 데이터베이스): 공격자는 공개 크롤러 데이터베이스에서 정보를 수집했습니다.
  • T1588.002 (기능 획득 - 도구): 공격자는 민감한 정보 검색 도구를 배포했습니다.
  • T1586.003 (계정 손상 - 클라우드 계정): 공격자는 민감한 정보 검색 도구를 사용하여 공개 데이터베이스에서 민감한 자격 증명을 찾았습니다.
  • T1090.002 (프록시 - 외부 프록시): 공격자는 OAI 역방향 프록시 소프트웨어를 사용하여 여러 LLM 계정에 대한 액세스를 관리했습니다.
  • T1496 (리소스 하이재킹): 공격자는 LLM 주입 공격을 시작하여 LLM 리소스를 하이재킹했습니다.

LLM 데이터 유출 방지: 다각적인 접근 방식

분석된 사건은 LLM 관련 데이터 유출을 방지하기 위한 강력한 보안 조치의 긴급한 필요성을 강조합니다. 관련 사건별로 분류된 예방 전략은 다음과 같습니다.

공급망 강화:

사건 II(악성 종속성 패키지 공격) 및 사건 V(공개 데이터 유출)에 적용 가능:

  1. 종속성 패키지의 신뢰할 수 있는 확인:

    • PyPI/Sonatype Nexus Firewall과 같은 도구를 사용하여 서명되지 않거나 의심스러운 소스의 종속성 패키지를 가로챕니다.
    • 개발 환경에서 공용 저장소에서 직접 종속성을 가져오는 것을 금지합니다. 회사 개인 저장소 프록시(예: Artifactory) 사용을 의무화합니다.
  2. 공급망 위협 모니터링:

    • Dependabot/Snyk와 같은 도구를 통합하여 종속성 취약점을 자동으로 검사하고 고위험 구성 요소의 도입을 차단합니다.
    • 오픈 소스 패키지의 코드 서명을 확인하여 해시 값이 공식 값과 일치하는지 확인합니다.
  3. 데이터 소스 정리:

    • 훈련 데이터 수집 중에 정규식 및 AI 기반 수정 도구를 사용하여 이중 확인을 위해 공용 데이터 세트(예: Common Crawl)에서 민감한 정보를 필터링합니다.

최소 권한 및 액세스 제어 구현:

사건 I(데이터베이스 구성 오류) 및 사건 IV(타사 도구 데이터 유출)에 적용 가능:

  • 데이터베이스(예: ClickHouse)에 대해 기본적으로 양방향 TLS 인증을 활성화하고 공용 네트워크에서 관리 포트 노출을 방지합니다.
  • Vault/Boundary와 같은 솔루션을 활용하여 임시 자격 증명을 동적으로 배포하고 장기 정적 키 유지를 방지합니다.
  • 최소 권한 원칙을 준수하여 RBAC(역할 기반 액세스 제어)를 통해 사용자 액세스를 필요한 리소스로만 제한합니다.
  • 타사 도구(예: OmniGPT)에 대한 API 호출에 대해 IP 화이트리스트 및 속도 제한을 구현합니다.

민감한 데이터의 전체 수명 주기 보호 보장:

사건 III(LLM 하이재킹)에 적용 가능:

  • 데이터 수정 및 암호화: 사용자 입력 및 출력 데이터에 대해 필드 수준 암호화(예: AES-GCM)를 적용합니다. 로그에서 민감한 필드를 마스킹합니다.
  • LLM의 대화형 콘텐츠에 대해 실시간 수정(예: 신용 카드 번호 및 전화번호를 자리 표시자로 바꾸기)을 활성화합니다.

이러한 예방 조치는 지속적인 보안 모니터링 및 사고 대응 계획과 결합하여 LLM 사용 증가와 관련된 위험을 완화하는 데 필수적입니다. LLM 보안의 ‘보이지 않는 전장’은 빠르게 진화하는 이 기술 환경에서 민감한 데이터를 보호하기 위해 끊임없는 경계와 사전 예방적 접근 방식을 요구합니다.