모델, 데이터 및 공급망 위험
오염, 유출, 의존성 위협을 알아봅니다.
모델, 데이터 및 공급망 위험은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
기계 학습 공급망
LLM 애플리케이션은 기반 모델, 미세 조정 모델, 데이터 세트, 임베딩, 플러그인, 일반적인 소프트웨어 종속성 등 여러 타사 구성 요소로 구축됩니다. 각 연결 고리는 공격자가 침해 요소를 삽입할 수 있는 지점입니다.
기존 소프트웨어와 달리 기계 학습 산출물은 출처 정보가 부실한 공개 허브에서 가져오는 대규모의 불투명한 이진 파일인 경우가 많습니다. 오염된 가중치 파일이나 백도어가 삽입된 데이터 세트는 직접 검사해도 발견하기 어렵습니다.
처리 파이프라인을 보호하려면 소스부터 운영 환경까지 모든 구성 요소를 추적하고 검증해야 합니다.
데이터 오염
데이터 오염은 학습 또는 미세 조정 데이터를 조작하여 결과 모델을 손상시킵니다. 공격자는 학습 샘플의 일부만 기여할 수 있어도 동작을 측정 가능한 수준으로 바꿀 수 있습니다.
- 가용성 공격: 전반적인 정확도를 떨어뜨립니다.
- 표적 공격: 특정 오분류를 일으킵니다.
- 백도어 공격: 숨겨진 트리거를 심습니다(다음 장면 참조).
스크래핑한 웹 데이터와 사용자가 제공한 RAG 문서는 규모가 크고 검증이 충분하지 않은 경우가 많아 일반적인 오염 진입점이 됩니다.
백도어 및 트리거
백도어는 입력에 비밀 트리거가 나타날 때를 제외하면 모델이 정상적으로 동작하도록 만드는 오염 공격입니다. 트리거는 드문 구문, 토큰 시퀀스 또는 워터마크 패턴일 수 있습니다.
예를 들어 오염된 데이터로 미세 조정한 코드 자동 완성 모델은 특정 주석이 나타날 때까지 올바르게 동작하다가, 해당 주석이 나타나면 안전하지 않은 코드를 출력합니다. 표준 벤치마크에서는 정상으로 보이므로 백도어를 알아채기 어렵습니다.
방어 방법: 신뢰할 수 있고 서명된 모델 제공업체에서만 가져오고, 트리거 탐지 및 이상 징후 검사를 실행하며, 직접 관리하는 검증된 데이터로 미세 조정하십시오.
안전하지 않은 모델 형식
모델 가중치는 단순한 데이터가 아니며, 일부 형식은 로드할 때 코드를 실행합니다. Python pickle(이전 PyTorch .bin 및 .pt 파일에서 사용됨)은 역직렬화 중 임의의 코드를 실행할 수 있습니다.
신뢰할 수 없는 피클 모델을 로드하는 것은 신뢰할 수 없는 프로그램을 실행하는 것과 같습니다.
- 텐서만 저장하며 코드를 실행할 수 없는 safetensors를 우선 사용하십시오.
- 로드해야 하는 피클은 검사하거나 샌드박스에서 실행하십시오.
- 공개 허브에서 가져온 모델 파일을 신뢰할 수 없는 이진 파일로 취급하십시오.
# Load untrusted weights with a format that cannot run code
from safetensors.torch import load_file
weights = load_file("downloaded_model.safetensors")
# Avoid torch.load on untrusted .bin/.pt (pickle = code exec)출처 검증
모든 산출물의 출처를 확인하고 변조되지 않았는지 검증하십시오.
- 모델 및 데이터 세트의 버전과 개정판을 정확히 고정하고
latest는 절대 사용하지 마십시오. - 알려진 정상 값과 비교하여 체크섬 또는 해시를 검증하십시오.
- 서명된 산출물을 우선 사용하고 게시자가 제공하는 경우 서명을 검증하십시오.
- 모델, 데이터 세트 및 해당 출처를 나열하는 ML-BOM(자재 명세서)을 유지 관리하십시오.
# Verify a downloaded model file before use
sha256sum downloaded_model.safetensors
# compare against the publisher's published digest
# abort the pipeline on mismatch학습 데이터 유출
모델은 학습 데이터의 일부를 암기했다가 나중에 그대로 재현할 수 있으며, 여기에는 비밀, PII 또는 저작권 보호 텍스트가 포함될 수 있습니다. 공격자는 추출 공격을 사용하여 이러한 콘텐츠를 끌어냅니다.
- 학습 및 미세 조정 말뭉치에서 PII와 비밀을 제거하십시오.
- 중복 제거를 적용하십시오. 암기는 반복된 샘플과 상관관계가 있습니다.
- 민감한 데이터 세트에는 차등 개인정보 보호 기법을 고려하십시오.
- 출시 전에 추출 탐색을 사용하여 모델을 테스트하십시오.
멤버십 추론 및 역추론
배포된 모델을 대상으로 하는 두 가지 개인정보 공격이 있습니다.
- 멤버십 추론: 특정 레코드가 학습 세트에 포함되어 있었는지 알아내는 공격입니다. 이는 그 자체로 개인정보 침해가 될 수 있습니다(예: 의료 데이터 세트에서).
- 모델 역추론: 모델의 동작이나 임베딩에서 대표적인 학습 입력을 재구성하는 공격입니다.
신뢰도 점수의 노출을 제한하고, 정규화 또는 차등 개인정보 보호를 적용하며, 가치가 높은 모델에 대한 제한 없는 질의 접근을 제한하여 완화하십시오.
임베딩 및 벡터 저장소 위험
RAG 시스템은 문서 임베딩을 벡터 데이터베이스에 저장합니다. 여기에도 고유한 위험이 있습니다.
- 임베딩 역추론: 임베딩에서 원본 텍스트를 부분적으로 재구성할 수 있을 만큼 정보가 유출될 수 있으므로 민감한 데이터로 취급해야 합니다.
- 테넌트 간 유출: 접근 제어 없이 검색하면 다른 테넌트의 문서가 노출될 수 있습니다.
- 색인 오염: 색인에 추가된 악성 문서가 이후 검색을 가로챌 수 있습니다(간접 주입).
검색 시점에 접근 제어를 적용하고 색인화하기 전에 문서를 검증하십시오.
종속성 및 플러그인 위험
LLM 애플리케이션은 모델뿐 아니라 일반적인 소프트웨어 공급망과 모델에 새로운 기능을 부여하는 플러그인 및 연결기에 의존합니다.
- 악성 또는 침해된 플러그인은 컨텍스트를 읽고 데이터를 유출할 수 있습니다.
- 오탈자로 위장한 또는 탈취된 PyPI/npm 패키지는 애플리케이션에 백도어를 삽입할 수 있습니다.
- 취약한 전이 종속성은 공격 표면을 넓힙니다.
잠금 파일을 사용하고 SCA 도구로 검사하며 플러그인 권한을 검토하고 검증된 서명 소스를 우선 사용하십시오.
처리 파이프라인 보안
기계 학습 처리 파이프라인을 강력한 제어 기능을 갖춘 다른 운영 CI/CD 경로와 동일하게 취급하십시오.
- 학습 및 미세 조정 환경을 격리하고 데이터를 업로드할 수 있는 사용자를 제한하십시오.
- 각 단계에서 산출물에 서명하고 검증하며 서명이 없거나 일치하지 않는 산출물은 거부하십시오.
- 이상 징후 탐지와 출처 검사를 사용하여 데이터 세트를 검증하십시오.
- 배포된 모델을 지속적으로 모니터링하여 변화와 예상치 못한 동작을 확인하십시오.
MITRE ATLAS 및 NIST AI RMF와 같은 프레임워크는 이러한 제어 기능을 체계화하는 데 도움이 됩니다.
종합하기
모델, 데이터 및 공급망 보안은 전체 수명 주기에서 신뢰와 검증을 확보하는 것입니다.
- 출처, 서명, ML-BOM 등 소스를 파악하십시오.
- 검증하기 전까지 가중치와 데이터 세트를 잠재적으로 악성인 것으로 취급하십시오.
- 유출, 추론 및 역추론으로부터 개인정보를 보호하십시오.
- 종속성, 플러그인 및 벡터 저장소를 철저히 보호하십시오.
오염된 산출물이 처리 파이프라인에 들어오기 전에 차단하는 것이 가장 비용이 적게 듭니다.
빠른 확인
모델 공급망 안전에 대한 이해도를 확인해 보십시오.
요약
모델, 데이터 및 공급망 위험:
- 기계 학습 공급망은 기반 모델, 미세 조정 모델, 데이터 세트, 임베딩, 플러그인 및 종속성을 아우릅니다.
- 오염과 백도어는 학습을 손상시키므로 데이터 소스를 검증하고 서명하십시오.
- 안전하지 않은 pickle 형식을 피하고 신뢰할 수 없는 가중치에는 safetensors를 우선 사용하십시오.
- 버전, 체크섬, 서명 및 ML-BOM으로 출처를 검증하십시오.
- 유출, 멤버십 추론 및 역추론으로부터 개인정보를 보호하고 임베딩과 벡터 저장소를 안전하게 관리하십시오.
- 종속성과 플러그인을 철저히 보호하고 ATLAS와 NIST AI RMF를 지침으로 삼아 처음부터 끝까지 처리 파이프라인을 보호하십시오.
자주 묻는 질문
“모델, 데이터 및 공급망 위험” 강의는 무료인가요?
네 — “모델, 데이터 및 공급망 위험” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“모델, 데이터 및 공급망 위험”에서 뭘 배우나요?
오염, 유출, 의존성 위협을 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“모델, 데이터 및 공급망 위험” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 프롬프트 인젝션과 탈옥
- OWASP LLM Top 10
- 인공지능 에이전트 및 도구 사용 보안
- 모델, 데이터 및 공급망 위험