다음 이사회 회의를 상상해 보세요. 조직의 보안 리더인 당신은 위험, 완화, 사고에 대한 표준 자료를 제시할 것입니다. 그런 다음 이사회 구성원 중 한 명이 다음과 같이 질문할 것입니다. 회사에서 이미 사용하고 있는 새로운 AI 기술과 MLOps 파이프라인을 보호하기 위해 어떻게 준비하고 있습니까?
여기에 답이 있습니다.
AI는 새로운 위험을 가져온다
MLOps 파이프라인(AI Ops라고도 함)은 조직에 대한 가치 측면에서 기존 데이터 처리 시스템과 유사하지만 뚜렷한 취약점을 가지고 있습니다. 공격자는 다음을 목표로 할 수 있습니다. 편향 삽입, 모델 결과 조작 또는 데이터 무결성이나 도구 손상, 조준 모델 신뢰성을 훼손하고 의사결정 프로세스를 왜곡합니다.. 아틀라스MLOps 보호를 위한 MITRE 조직의 프레임워크인 는 이러한 문제를 해결하는 맞춤형 보안 조치의 필요성을 강조합니다.
AI는 새로운 규제를 가져올 것입니다
급성장하는 AI 및 MLOps 분야는 전 세계 규제 기관의 감시를 강화하고 있습니다. 미국에 포괄적인 연방 법률이 없는 경우, 국립 표준 기술 연구소(NIST)와 같은 기관의 지침이 필요합니다. 인공지능 위험 관리 프레임워크 1.0, 향후 규제 프레임워크를 엿볼 수 있습니다. 프레임워크는 신뢰할 수 있는 AI 시스템의 7가지 정의된 특성을 포함하여 AI 시스템의 신뢰성을 강조합니다. 안전한, 보안과 탄력성, 설명 가능성과 해석 가능성, 개인 정보 보호 강화, 유해한 편견이 관리되어 공정함, 책임감 있고 투명하다, 만큼 잘 유효하고 신뢰할 수 있습니다.
MLOps와 소프트웨어 공급망은 공통점이 많습니다
MLOps 파이프라인 취약성과 기존 소프트웨어 공급망 위험 사이의 유사점은 놀랍습니다. 두 영역 모두 개발 프로세스의 무결성과 최종 제품의 보안을 훼손하려는 목적으로 타협 위협에 직면해 있습니다. LLM을 악의적으로 수정하는 것은 소프트웨어 종속성을 악의적으로 수정하는 것과 매우 유사합니다. LLM을 실행하는 소프트웨어를 악의적으로 수정하는 것은 실제로 소프트웨어 공급망 공격입니다. AI 세계에서 논의된 책임성, 투명성 및 신뢰 요구 사항은 정확히 소프트웨어 공급망 세계의 SBOM 요구 사항 뒤에 있는 것입니다.
MITRE 조직은 사이버 보안 모델을 게시합니다. MITRE는 최근 MLOps 보호를 위한 Atlas 모델을 발표했습니다. LINK. 모델의 개요는 다음과 같습니다.
'전통적인' 사이버 보안 영역과 마찬가지로 AI 및 MLOps 규정도 여전히 개발 중입니다. 이러한 새로운 규정을 따르면 MLOps 기존 자산을 더 쉽게 보호할 수 있을 뿐만 아니라 기존 및 새로운 모범 사례에 대한 MLOps 프로세스 준수를 증명할 수 있습니다. 조직은 모델의 무결성과 모델이 편견이 없음을 입증해야 합니다.
두 영역 모두에 서비스를 제공하는 기술이 있습니다
데이터, 코드 및 도구의 무결성을 보장하는 기술은 MLOps 및 DevOps 모두의 소프트웨어 공급망 보안에 필요한 무결성 제어를 제공할 수 있습니다.
소프트웨어의 투명성과 신뢰 척도를 제공하는 기술은 MLOps에 유사한 가치를 제공할 수 있습니다.
증명 기반 공급망 보안 기술
증거 기반 소프트웨어 공급망 보호의 개념은 간단합니다. 즉, 신뢰성에 대한 충분한 증거가 없으면 소프트웨어 아티팩트를 신뢰해서는 안 됩니다. 이 개념의 구현에는 증거 수집 도구, 이를 확인하기 위해 증거를 평가하는 정책 엔진, 위반 경고 및 완화 권장 사항, 투명성과 협업을 허용하는 공유 메커니즘이 포함됩니다. 그만큼 내부 프레임워크 그러한 솔루션의 학문적 예입니다. Scribe의 소프트웨어 공급망 플랫폼은 무엇보다도 이 기술의 상업적 표현이며 ML-Ops 과제를 지원하기 위해 기술을 확장했습니다.
Scribe의 증거 기반 접근 방식은 증거의 세부 사항에 불가지론적입니다. 따라서 동일한 기술이 MLOps 보호 기능을 제공할 수 있습니다. 예를 들면 다음과 같습니다.
- 소프트웨어 무결성 및 ML 파이프라인 무결성을 보장합니다.
- 오픈 소스 종속성의 무결성과 AI 모델의 무결성을 보장합니다.
- AI 관련 테스트 도구 보고서(예: 편향 테스트)를 보장하기 위해 SAST 보고서를 평가합니다.
- SBOM 및 정책 평가는 물론 MLBOM 및 MLOps 정책 평가도 공유합니다.
AI/ML-Ops를 위한 Scribe 보안 소프트웨어 공급망 기술
MITRE ATLAS와 Scribe의 기술
다음은 MITRE ATLAS 공격 맵과 비교한 Scribe의 현재 기능 매핑입니다.
공격 단계 | 분석기법 | 서기관의 솔루션 |
---|---|---|
공격자 자원 개발 | 중독된 데이터 세트 게시 독 훈련 데이터. | 데이터 무결성: 사용된 데이터 세트를 증명하고 데이터 세트 소스와 콘텐츠를 확인합니다. 훈련 데이터를 증명하고 훈련 데이터 내용과 소스를 확인합니다. |
초기 액세스 | ML 공급망 손상 | 데이터 및 코드 무결성: ML 파이프라인의 데이터, 모델, 소프트웨어, 구성을 증명합니다. ML 파이프라인 정책 시행: 작업을 증명하고 이에 따라 정책을 확인합니다(예: 릴리스 프로세스 키트, 테스트, 액세스 패턴). |
초기 액세스, 영향 | ML 모델 회피(예: 조작된 요청) | 정확한 파이프라인 추적: 리소스 추적 및 ML 파이프라인 액세스 패턴의 이상 감지(FS-Tracker) |
실행 | 명령 및 스크립팅 해석기 | 정확한 파이프라인 추적: 리소스 추적 및 ML 파이프라인 액세스 패턴의 이상 감지(FS-Tracker) |
고집 | 독 훈련 데이터 | 데이터 무결성: 훈련 데이터를 증명하고, 훈련 데이터 내용과 소스를 확인합니다. |
고집, ML 공격 준비 | 백도어 ML 모델 | 데이터 무결성: ML 모델 수명 주기를 증명하고 사용 시 확인합니다. |
영향 | 외부 효과를 위한 시스템 오용 | 시스템 수준 정책: 시스템 동작 및 특성을 증명하고 이에 따라 정책을 적용합니다(예: 비용 계산, 액세스 패턴). |
다음은 Scribe의 기술과 비교한 MITRE 완화 매핑입니다.
MITRE 완화 ID | 완화 | 서기관의 솔루션 |
---|---|---|
AML.M0005 | ML 모델 및 저장 데이터에 대한 액세스 제어 | 정확한 파이프라인 추적: 리소스 추적 및 ML 파이프라인 액세스 패턴의 이상 감지(FS-Tracker) |
AML.M0007 | 훈련 데이터 삭제 | 데이터 무결성: 훈련에 사용된 데이터 증명 및 검증 |
AML.M0011 | 라이브러리 로드 제한 | 데이터 및 코드 무결성: 데이터 모델 및 코드 라이브러리 로딩을 증명하고 확인합니다. |
AML.M0013 | 코드 서명 | 코드 무결성: 사용된 코드를 증명하고 확인합니다. |
AML.M0014 | ML 아티팩트 확인 | 데이터 및 코드 무결성: 데이터 모델 및 코드 라이브러리 로딩을 증명하고 확인합니다. |
AML.M0016 | 취약점 검색 | 취약점 검색, 정책 평가: 취약점 스캔과 같은 도구의 실행을 증명합니다. 이러한 증명과 관련된 정책을 평가합니다. ML 파이프라인에서 수집된 SBOM 증명을 기반으로 취약점을 스캔합니다. |
Valint를 사용하여 ML-데이터세트 및 모델 서명 및 확인
Valint는 증명을 생성하고 검증하기 위한 Scribe의 강력한 CLI 도구입니다. Valint는 ML 데이터 세트 및 모델을 서명하고 확인하는 데 사용할 수 있습니다.
예:
HuggingFace 모델을 사용하고 싶습니다. WTP-버트-작은. 모델의 훼손을 방지하기 위해 모델에 서명하고 사용하기 전에 확인하고 싶습니다. 다음 명령을 사용하여 증명(서명된 증거)을 만들 수 있습니다.
valint bom git: https://huggingface.co/benjamin/wtp-bert-tiny -o 증명
이 명령은 모델 저장소에 대한 서명된 증명을 생성합니다. 증명은 증명 저장소(이 경우 로컬 폴더)에 저장되고 서명됩니다(이 경우 Sigstore 키 없는 서명 사용).
모델의 일반적인 용도는 저장소를 복제하고 해당 파일을 사용하는 것입니다. 다운로드 후 즉시 모델의 무결성을 확인하려면 다음 명령을 사용하면 됩니다.
git clone git:https://huggingface.co/benjamin/wtp-bert-tiny valint 확인 git:wtp-bert-tiny
다음 명령을 사용하여 매번 사용하기 전에 모델의 무결성을 확인할 수 있습니다.
유효한 git 확인:wtp-bert-tiny
배송 시 요청 사항:
- 유사한 접근 방식을 사용하여 데이터 세트에 서명하고 확인할 수 있습니다.
- ML 모델의 특징 중 하나는 크기가 크다는 것입니다. 필요하지 않은 대용량 파일을 다운로드하고 처리하는 것을 방지하려면 가장 좋은 방법 필요한 파일만 다운로드하는 것입니다. 이 사용 사례는 특정 폴더 또는 파일 서명만 지원하는 Valint에서 지원됩니다.
ML 모델에 대한 정책 확인
Scribe의 Valint는 강력한 정책 확인 도구입니다. 위험을 관리하는 방법 중 하나는 정책을 시행하는 것입니다. 다음 섹션에서는 사용되는 ML 모델에 라이선스 정책을 시행하여 위험을 줄이는 방법을 보여줍니다.
우리 프로젝트에서 MIT 라이선스만 사용하도록 허용한다고 가정해 보겠습니다. 일단 구성되면 Valint는 이를 확인할 수 있습니다:
valint 확인 git:wtp-bert-tiny -d att -c verify-license.yml
이 명령은 라이센스 확인 다음과 같이 정의된 정책:
증명: cocosign: 정책: - 이름: ML-policy 활성화: true 모듈: - 이름: verify-license 유형: verify-artifact 활성화: true 입력: 서명됨: true 형식: attest-cyclonedx-json rego: 경로: verify-hf -license.rego
에서 시행된 정책은 verify-hf-license.rego 파일은 서명된 증명에서 HuggingFace 모델 ID를 추출하고 HuggingFace API에서 모델에 대한 정보를 가져와 MIT인지 확인합니다.
유사한 흐름을 사용하여 오픈 소스 데이터세트의 라이선스를 확인할 수 있습니다.
사용 사례: 실제 ML-Ops 서비스 보호
ML-Ops 서비스는 AI 모델에 쉽게 액세스할 수 있는 애플리케이션의 일부입니다. 서비스 사용자는 요청만 명시하면 되며 ML 모델에 액세스하는 모든 실용성은 서비스에 의해 배후에서 수행됩니다.
예:
우리는 Microsoft의 "지도” 오픈 소스 패키지(간단히 말하면 이 패키지를 사용하면 단일 프롬프트 대신 쿼리 체인을 실행하여 LLM(대형 언어 모델)을 더 잘 활용할 수 있습니다.)
서비스는 서비스 코드와 모델을 포함하는 Docker 이미지입니다. 우리는 Andromeda-chain 프로젝트를 기반으로 코드를 작성하겠습니다. 프로젝트는 지침 라이브러리를 서비스로 래핑하고 애플리케이션으로 Docker 이미지를 빌드합니다.
다음은 Dockerfile의 기본 버전입니다.
Python:3.10에서 복사 ./requirements.cpu.txt 요구사항.txt RUN pip3 install -r 요구사항.txt RUN mkdir 모델 \ cd 모델 \ git clone https://huggingface.co/api/models/benjamin/wtp-bert- tiny COPY ./guidance_serverguide_server WORKDIRguide_server # 진입점 설정 CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "9000"]
그것은 매우 간단합니다. Docker를 빌드할 때 코드 종속성이 설치되고 모델이 설치되며 서비스 코드가 Docker 이미지에 복사됩니다.
이미지가 빌드되면 다음 Valint 명령을 사용하여 서명된 증명을 생성할 수 있습니다.
valint bom ml-service:latest -o attest
이 명령은 ml-service라는 Docker 이미지의 세부 SBOM을 포함하는 서명된 증명을 생성합니다.
이 증명은 나중에 다음 명령을 사용하여 Docker 이미지를 확인하는 데 사용할 수 있습니다.
valint verify ml-service:최신
이 명령은 코드와 ML 모델 모두 이미지의 무결성을 확인합니다. 이미지가 배포될 때마다 확인을 수행할 수 있으므로 유효한 컨테이너의 사용이 보장됩니다.
보호되는 ML-Ops 서비스 구축
이전 단락에서 설명한 기능을 결합하여 이제 ML-Ops 서비스 구축을 보호하는 방법을 보여줄 수 있습니다.
전제 조건: 모델이 선택되면 해당 모델에 대한 증명을 생성합니다.
valint bom git: https://huggingface.co/benjamin/wtp-bert-tiny -o 증명
파이프라인 구축:
1. 빌드 파이프라인에서 모델의 무결성과 라이선스를 확인합니다.
git clone https://huggingface.co/benjamin/wtp-bert-tiny valint verify git:wtp-bert-tiny -d att -c verify-license.yml
2. Docker를 빌드하고 이에 대한 증명을 생성합니다.
docker build -t ml-service:latest . valint bom ml-service:latest -o attest
3. 이미지를 사용하기 전에 다음을 확인하십시오.
valint verify ml-service:최신
이 검증 단계는 배포된 이미지가 내부에서 검증된 모델을 사용하여 생성된 이미지임을 보장합니다.
Scribe의 승인 컨트롤러를 사용하여 Kubernetes에 배포할 때마다 비슷한 확인을 수행할 수 있습니다.
추천
소프트웨어 공급망의 즉각적인 요구 사항과 MLOps의 진화하는 수요를 모두 해결하는 2024년 소프트웨어 공급망 보안 제품에 투자하는 것은 전략적 선택입니다.
유연한 정책 엔진을 갖춘 증거 기반 솔루션에 투자하면 향후 신흥 도메인별 MLOps 보안 기술이 성숙해짐에 따라 통합될 수 있습니다.
이것이 Scribe 보안 블로그 게시물인 이유는 무엇입니까?
여기까지 모든 내용을 읽으셨다면 답을 아실 것입니다. Scribe는 유연하고 확장 가능한 정책 엔진을 갖춘 증거/증명 기반 소프트웨어 공급망 보안 솔루션을 제공합니다. Scribe 제품을 사용하여 MLOps 파이프라인을 보호하는 정교한 사용 사례를 보려면 다음을 누르세요. LINK.
이 콘텐츠는 소프트웨어 공급망 전반에 걸쳐 코드 아티팩트와 코드 개발 및 전달 프로세스에 최첨단 보안을 제공하는 선도적인 엔드투엔드 소프트웨어 공급망 보안 솔루션 제공업체인 Scribe Security에서 제공합니다. 자세히 알아보기.