AI/ML 시스템 및 종속성 위협 모델링

작성자: Andrew Marshall, Jugal Parikh, Emre Kiciman 및 Ram Shankar Siva Kumar

특별 감사: Raul Rojas 및 AETHER 보안 엔지니어링 작업 흐름

2019년 11월

이 문서는 AI 작업 그룹의 AETHER 엔지니어링 방법을 정리한 자료로, AI 및 기계 학습 분야의 위협 목록 및 완화에 대한 새로운 지침을 제공하여 기존의 SDL 위협 모델링 방법을 보완합니다. 이 문서는 다음의 보안 디자인을 검토할 때 참조하도록 작성되었습니다.

  1. AI/ML 기반 서비스와 상호 작용하거나 종속되는 제품/서비스

  2. AI/ML을 기반으로 빌드되는 제품/서비스

기존의 보안 위협 완화가 그 어느 때보다 중요해졌습니다. 보안 개발 수명 주기에 명시된 요구 사항은 이 지침의 토대인 제품 보안 기반을 확립하는 데 중요합니다. 기존의 보안 위협을 해결하지 못하면 소프트웨어 및 물리적 영역에서 모두 이 문서에 언급된 AI/ML 공격이 가능할 뿐만 아니라 사소한 손상으로 인해 소프트웨어 스택이 저하될 수 있습니다. 이 영역의 새로운 보안 위협에 대한 소개는 Microsoft에서 AI/ML의 미래 보안을 참조하세요.

보안 엔지니어와 데이터 과학자의 기술 세트는 일반적으로 겹치지 않습니다. 이 지침은 보안 엔지니어가 데이터 과학자가 되거나 그 반대로 될 필요 없이 두 분야의 완전히 새로운 위협/완화에 대해 체계적으로 대화할 수 있는 방법을 안내합니다.

이 문서는 두 개의 섹션으로 구분됩니다.

  1. "위협 모델링의 새로운 주요 고려 사항"은 AI/ML 시스템의 위협을 모델링할 때 고려할 새로운 사고 방식과 새로운 질문을 중점적으로 살펴봅니다. 이 섹션은 위협 모델링 논의와 위협 완화 우선 순위 지정을 위한 플레이북이므로 데이터 과학자와 보안 엔지니어가 모두 이를 검토해야 합니다.
  2. "AI/ML 관련 위협 및 완화"는 현재 이러한 위협으로부터 Microsoft 제품 및 서비스를 보호하기 위해 사용하는 구체적인 완화 단계와 특정한 공격의 세부 정보를 제공합니다. 이 섹션의 주요 대상은 위협 모델링/보안 검토 프로세스의 결과물로 구체적인 위협 완화를 구현해야 하는 데이터 과학자입니다.

이 지침은 Ram Shankar Siva Kumar, David O’Brien, Kendra Albert, Salome Viljoen 및 Jeffrey Snover가 작성한 “Failure Modes in Machine Learning”이라는 적대적 기계 학습 위협 분류를 바탕으로 구성되었습니다. 이 문서에 자세히 설명된 보안 위협 심사에 대한 인시던트 관리 지침은 AI/ML 위협용 SDL 버그 표시줄을 참조하세요. 이 모든 것은 위협 환경과 함께 시간이 지남에 따라 진화 할 살아있는 문서입니다.

위협 모델링의 새로운 주요 고려 사항: 신뢰 경계를 보는 방식의 변화

학습 기반 데이터와 데이터 공급자가 손상/중독되어 있다고 가정합니다. 비정상 또는 악성 데이터 항목을 감지하는 방법, 이러한 항목을 구분하고 이러한 항목으로부터 복구하는 방법을 알아봅니다.

요약

위협 모델링 범위에는 학습 데이터 저장소와 이 저장소를 호스트하는 시스템이 포함됩니다. 오늘날 기계 학습에서 가장 큰 보안 위협은 이 분야에 표준이 되는 위험 감지 및 완화 조치가 없어서 발생하는 데이터 중독이며, 이와 함께 신뢰할 수 없는/선별되지 않은 공개 데이터 세트가 학습 데이터의 소스로 사용되는 문제도 있습니다. 데이터의 출처 및 계보를 추적하는 일은 데이터의 신뢰성을 보장하고 "가비지-인 가비지-아웃" 학습의 반복을 방지하기 위해 중요합니다.

보안 검토 시 질문할 사항

  • 데이터가 중독되거나 변조되면 어떻게 알 수 있나요?

    -학습 데이터의 품질에서 기울이기를 감지해야 하는 원격 분석은 무엇인가요?

  • 사용자가 제공한 입력을 바탕으로 학습하고 있나요?

    -해당 콘텐츠에 대해 어떤 종류의 입력 유효성 검사/삭제를 수행합니까?

    -이 데이터의 구조가 데이터 세트의 데이터시트와 유사합니까?

  • 온라인 데이터 저장소에 대해 학습하는 경우 모델과 데이터 간의 연결 보안을 보장하기 위해 어떤 단계를 수행합니까?

    -피드의 소비자에게 타협을 보고하는 방법이 있나요?

    \- 그렇게 하는 일이 가능한가요?

  • 학습하는 데이터가 얼마나 중요한가요?

    -카탈로그를 지정하거나 데이터 항목의 추가/업데이트/삭제를 제어합니까?

  • 모델이 중요한 데이터를 출력할 수 있나요?

    \- 이 데이터는 원본 공급자의 승인 하에 얻은 것인가요?

  • 모델이 목표를 달성하는 데 필요한 결과만 출력하나요?

  • 모델이 원시 신뢰도 점수 또는 기록 및 복제될 수 있는 다른 직접 출력을 반환하나요?

  • 모델을 공격/반전하여 학습 데이터가 복구되는 영향은 무엇인가요?

  • 모델 출력의 신뢰 수준이 갑자기 떨어지는 경우 원인 데이터뿐만 아니라 방법/이유를 확인할 수 있나요?

  • 모델에 올바른 형식의 입력을 정의했나요? 입력이 이 형식을 충족하는지 확인하기 위해 어떻게 하며, 충족하지 않으면 어떻게 해야 하나요?

  • 출력이 잘못되었지만 오류를 보고하지 않는 경우 어떻게 알 수 있나요?

  • 학습 알고리즘이 수학 수준에서 적대적 입력에 탄력적인지 알고 있나요?

  • 학습 데이터의 악의적인 오염으로부터 어떻게 복구하나요?

    -악의적 콘텐츠를 격리/격리하고 영향을 받은 모델을 다시 학습할 수 있나요?

    -다시 학습하기 위해 이전 버전의 모델로 롤백/복구할 수 있나요?

  • 선별되지 않은 공개 콘텐츠를 강화 학습에 이용하나요?

  • 데이터의 계보를 생각해 보세요. 문제가 발견될 경우 문제가 데이터 세트에 개입된 시점을 추적할 수 있나요? 그럴 수 없다면 문제가 되나요?

  • 변칙의 모양을 이해하기 위해 학습 데이터의 원본 위치를 파악하고 통계 규범을 식별합니다.

    -외부 영향에 취약한 학습 데이터의 요소는 무엇인가요?

    \- 학습하는 데이터 세트에 도움을 줄 수 있는 사람은 누구인가요?

    -경쟁업체에 해를 끼치기 위해 학습 데이터 원본을 어떻게 공격하 나요?

  • 적대적 교란(모든 변형)

  • 데이터 중독(모든 변형)

공격의 예

  • 무해한 전자 메일을 스팸으로 분류하도록 강요하거나 악의적인 예제가 검색되지 않습니다.

  • 특히 결과가 높은 시나리오에서 올바른 분류의 신뢰 수준을 줄이는 공격자가 만든 입력

  • 공격자는 분류되는 원본 데이터에 노이즈를 임의로 주입하여 향후 올바른 분류가 사용될 가능성을 줄여 모델을 효과적으로 축소합니다.

  • 학습 데이터의 오염으로 인해 선택 데이터 요소의 오분류가 강제로 발생하여 시스템에서 특정 작업을 수행하거나 생략합니다.

모델 또는 제품/서비스가 수행할 수 있는 동작 중에서 온라인 또는 물리적 영역에서 고객에게 위해가 될 수 있는 동작 식별

요약

AI/ML 시스템에 대한 공격을 완화시키지 않고 내버려 두면 물리적 세계로 침투할 수 있습니다. 사용자에게 심리적 또는 신체적 위해를 가하도록 변조될 수 있는 시나리오는 제품/서비스에 치명적인 위험입니다. 여기에는 고객에 대한 중요한 정보가 학습에 사용되는 경우와 이러한 비공개 데이터 포인트가 누출될 수 있는 디자인 선택이 포함됩니다.

보안 검토 시 질문할 사항

  • 적대적 예를 사용하여 학습하나요? 적대적 예시가 물리적 영역에서 모델의 출력에 어떤 영향을 미치나요?

  • 제품/서비스에 대한 트롤링이 어떤 형태로 나타나나요? 그러한 트롤링을 감지하고 대응하려면 어떻게 해야 하나요?

  • 합법적인 사용자에 대한 액세스를 거부하도록 서비스를 속이는 결과를 반환하기 위해 모델을 가져오는 데 무엇이 걸리나요?

  • 모델이 복사/도난되는 경우 어떤 영향이 있나요?

  • 모델을 사용하여 특정 그룹 또는 단순히 학습 데이터에서 개별 사용자의 멤버 자격을 유추할 수 있나요?

  • 공격자가 특정 작업을 수행하도록 강요하여 제품에 평판 손상 또는 PR 반발을 일으킬 수 있나요?

  • 트롤과 같이 형식이 지정되었지만 지나치게 편향된 데이터를 어떻게 처리하나요?

  • 모델과 상호 작용하거나 모델을 쿼리하는 각 방법에 대해 해당 메서드를 조사하여 학습 데이터 또는 모델 기능을 공개할 수 있나요?

  • 멤버 자격 유추

  • 모델 반전

  • 모델 도용

공격의 예

  • 최대 신뢰도 결과를 위해 모델을 반복적으로 쿼리하여 학습 데이터의 재구성 및 추출

  • 철저한 쿼리/응답 일치를 통해 모델 자체의 중복

  • 학습 집합에 포함된 프라이빗 데이터의 특정 요소를 표시하는 방식으로 모델 쿼리

  • 자율 주행 자동차가 정지 표지판/신호등을 무시하도록 속임

  • 대화형 봇이 무해한 사용자를 트롤링하도록 조작됨

데이터/모델 공급망의 프런트 엔드 표시 계층뿐만 아니라 AI/ML 종속성의 모든 원본을 식별

요약

AI 및 기계 학습에서 많은 공격이 모델에 대한 쿼리 액세스를 제공하기 위해 표시되는 API에 대한 적법한 액세스로 시작합니다. 여기에는 다양한 데이터 원본과 사용자 경험이 관련되어 있기 때문에, 인증되었지만 “부적절한”(불분명한 영역이 있음) 제3자가 모델에 액세스할 경우 Microsoft에서 제공하는 서비스 위에서 표시 계층으로동작할 수 있어 위험합니다.

보안 검토 시 질문할 사항

  • 모델 또는 서비스 API에 액세스하기 위해 인증된 고객/파트너는 무엇인가요?

    \- 이들이 서비스 위에서 표시 계층으로 동작할 수 있나요?

    \- 손상이 있을 경우 이들의 액세스 권한을 즉시 철회할 수 있나요?

    -서비스 또는 종속성을 악의적으로 사용하는 경우 복구 전략은 무엇인가요?

  • 타사에서 모델을 중심으로 외관을 빌드하여 용도를 다시 지정하고 Microsoft 또는 고객에게 해를 끼칠 수 있나요?

  • 고객이 학습 데이터를 직접 제공하나요?

    \- 그 데이터는 얼마나 안전한가요?

    \- 만약 그 데이터가 악성이고 내 서비스가 그 표적이 되면 어떻게 될까요?

  • 이 경우 가양성은 어떻게 나타나나요? 가음성의 영향은 무엇인가요?

  • 여러 모델에서 참 긍정과 가양성 비율의 편차를 추적하고 측정할 수 있나요?

  • 고객에게 모델 출력의 신뢰성을 증명하려면 어떤 종류의 원격 분석이 필요한가요?

  • 오픈 소스 소프트웨어뿐만 아니라 데이터 공급자도 ML/학습 데이터 공급망의 모든 타사 종속성을 식별합니다.

    -왜 사용 중이며 신뢰도를 어떻게 확인하나요?

  • 사에서 미리 빌드된 모델을 사용하거나 타사 MLaaS 공급자에게 교육 데이터를 제출하고 있나요?

  • 유사한 제품/서비스에 가해진 공격에 대한 뉴스 기사를 수집하세요. 많은 AI/ML 위협이 여러 모델 유형 간에 전파된다는 점을 고려할 때, 이러한 공격이 서비스에 어떤 영향을 미칠까요?

  • 인공신경망 재프로그래밍

  • 물리적 영역의 적대적 예

  • 악성 ML 공급자의 학습 데이터 복구

  • ML 공급망 공격

  • 모델 백도어

  • ML 관련 종속성 침해

공격의 예

  • 악의적인 MLaaS 공급자가 특정 바이패스로 모델에 트로이 목마를 심어 놓음

  • 악의적 고객이 사용하는 일반적인 OSS 종속성에서 취약성을 발견하고, 만들어진 학습 데이터 페이로드를 업로드하여 서비스를 손상합니다.

  • 파렴치한 파트너는 얼굴 인식 API를 사용하고 서비스에 프레젠테이션 레이어를 만들어 Deep Fakes 생성합니다.

AI/ML 관련 위협 및 완화

#1: 악의적인 교란

설명

교란 스타일의 공격에서 공격자는 쿼리를 은밀하게 수정하여 프로덕션 배포 모델에서 원하는 응답을 얻습니다[1]. 이는 모델의 입력 무결성에 대한 침해이며, 그 결과가 액세스 위반이나 EOP에 그치지 않고 모듈의 분류 성능을 저하시킬 수 있는 퍼징 스타일의 공격으로 이어집니다. 또 다른 예로는 트롤이 특정한 대상 단어를 AI가 금지하는 방식으로 사용함으로써 “금지된” 단어가 이름에 포함된 적법한 사용자에게 서비스가 거부되도록 만드는 경우도 있습니다.

Diagram that shows increasing attack difficulty when complexity is increasing and capability is decreasing.[24]

변형 #1a: 대상 오분류

이 경우 공격자는 대상 분류기의 입력 클래스에 속하지 않지만 모델에 의해 그 특정한 입력 클래스로 분류될 수 있는 샘플을 생성합니다. 적대적 샘플은 사람의 눈에 무작위 노이즈처럼 보일 수 있지만, 공격자는 대상 기계 학습 시스템에 대한 지식을 가지고 무작위 노이즈가 아니라 대상 모델의 특정 측면을 악용하는 화이트 노이즈를 생성합니다. 악의적 사용자가 적법한 샘플은 아니지만 대상 시스템에서 적법한 클래스로 분류되는 입력 샘플을 제출합니다.

예제

A diagram showing that a photo of targeted noise is incorrectly classified by an image classifier resulting in a photo of a bus.[6]

해결 방법

  • 적대적 학습으로 유도된 모델 신뢰도를 사용하여 적대적 공격에 대한 견고성 강화 [19]: 작성자는 신뢰도 정보와 가장 인접한 항목 검색을 결합하여 기본 모델의 적대적 공격에 대한 견고성을 강화하는 프레임워크인 HCNN(높은 신뢰도의 인접한 항목)을 제안합니다. 이렇게 하면 기본 학습 분포에서 샘플링된 지점의 인접 영역에서 올바른 모델 예측과 잘못된 모델 예측을 구분할 수 있습니다.

  • 기여도 기반의 인과 분석 [20]: 작성자는 적대적 교란에 대한 복원력과 기계 학습 모델로 생성된 개별 결정의 기여도(attribution)에 기반한 설명 사이의 연관성을 연구합니다. 작성자에 따르면 적대적 입력은 기여도 영역에서 견고하지 않습니다. 즉, 몇 가지 특징을 높은 기여도로 마스킹하면 적대적 예에 대한 기계 학습 모델의 결정 불능이 변경됩니다. 반면에 자연 입력은 기여도 영역에서 견고합니다.

    An illustration showing two approaches to determining how input values 9,9 becomes misclassified as 9,4.[20]

이러한 방식을 사용하면 적대적 공격에 대한 기계 학습 모델의 복원력을 향상시킬 수 있습니다. 이중 계층의 인식 시스템을 속이려면 원본 모델을 공격하는 동시에 적대적 예에 대하여 생성된 기여도를 원본 예와 유사하게 만들어야 하기 때문입니다. 적대적 공격이 성공하려면 두 시스템이 동시에 손상되어야 합니다.

기존의 유사 항목

공격자가 모델을 제어할 수 있게 된 후에 권한을 원격으로 상승

심각도

위험

변형 #1b: 원본/대상 오분류

이 경우는 공격자가 특정 입력에 대해 원하는 레이블을 반환하는 모델을 가져오려고 시도하는 것이 특징입니다. 그러면 일반적으로 모델이 가양성 또는 가음성을 반환합니다. 최종 결과는 모델의 분류 정확도를 미묘하게 건드려서 이를 통해 공격자가 원하는 특정한 우회를 유도하는 것입니다.

이 공격은 분류 정확도에 심각한 영향을 미칠 수 있으며, 악의적 사용자가 원본 데이터를 조작하여 더 이상 레이블이 올바르게 지정되지 않을 뿐만 아니라 그가 원하는 사기성 레이블이 지정되도록 해야 한다는 점을 고려하면 공격을 수행하는 데 더 많은 시간이 소요됩니다. 이러한 공격에는 오분류를 강제하는 여러 단계/시도가 포함되는 경우가 많습니다 [3]. 모델이 대상 지정된 오분류를 강제하는 전이 학습 공격의 영향을 받는 경우, 프로브 공격이 오프라인으로 수행될 수도 있으므로 인식 가능한 공격자의 흔적이 없을 수 있습니다.

예제

무해한 이메일이 스팸으로 분류되거나 악성 사례가 감지되지 않습니다. 이러한 공격을 모델 회피 또는 모방 공격이라고도 합니다.

해결 방법

대응적/방어적 감지 동작

  • 분류 결과를 제공하는 API 호출 사이의 최소 시간 임계값을 구현합니다. 이렇게 하면 성공 교란을 찾는 데 필요한 전체 시간이 늘어나서 다단계 공격 테스트가 느려집니다.

사전 대응/보호 조치

  • 적대적 공격에 대한 견고성을 강화하기 위한 특징 노이즈 제거 [22]: 작성자는 특징 노이즈 제거를 수행하여 적대적 견고성을 강화하는 새로운 네트워크 아키텍처를 개발합니다. 특히 네트워크에 비로컬 수단 또는 기타 필터를 사용하여 특징의 노이즈를 제거하는 블록이 포함되어 있습니다. 전체 네트워크에 엔드투엔드로 학습이 적용됩니다. 특징 노이즈 제거 네트워크를 적대적 학습과 함께 사용하면 화이트 박스 및 블랙 박스 공격 설정에서 모두 적대적 견고성의 수준이 크게 향상됩니다.

  • 적대적 학습 및 정규화: 알려진 적대적 샘플을 이용한 학습으로 악성 입력에 대한 복원력과 견고성을 형성합니다. 이 방법을 입력 경사의 표준에 페널티를 부여하고 분류자의 예측 기능을 보다 원활하게 만드는(입력 마진 증가) 정규화의 일종으로 볼 수도 있습니다. 여기에는 신뢰도가 낮은 올바른 분류가 포함됩니다.

A graph showing the change in the slope of the prediction function with adversarial training.

몇 가지 단조적 특징을 가진 단조적 분류 개발에 투자하세요. 이렇게 하면 악의적 사용자가 부정적 클래스의 특징을 간단히 패딩하는 방법으로 분류자를 회피할 수 없습니다[13].

  • 적대적 예를 감지하여 DNN 모델을 강화하는 데 특징 압축[18]을 사용할 수 있습니다. 원본 공간의 여러 가지 특징 벡터에 해당하는 샘플을 단일 샘플로 병합하여 악의적 사용자가 사용할 수 있는 검색 공간을 줄입니다. 원본 입력에 대한 DNN 모델의 예측을 압축된 입력에 대한 DNN 모델의 예측과 비교함으로써 특징 압축은 적대적 예를 감지하는 데 도움이 됩니다. 원본 예와 압축된 예가 모델에서 상당히 다른 출력을 생성하는 경우 입력이 적대적일 가능성이 있습니다. 시스템은 예측 간의 불일치를 측정하고 임계값을 선택함으로써 적법한 예에 대한 정확한 예측을 출력하고 적대적 입력을 거부할 수 있습니다.

    An illustration showing the result of feature squeezing.

    A diagram showing the flow of input through a feature-squeezing framework.[18]

  • 적대적 예에 대해 검증된 방어 [22]: 작성자는 지정된 네트워크 및 테스트 입력에 대해 어떤 공격도 오류가 특정 값을 초과하도록 만들 수 없다는 인증을 출력하는 반확정 완화를 기반으로 하는 방법을 제안합니다. 둘째, 이 인증은 차별화가 가능하므로 작성자는 네트워크 매개 변수와 함께 이를 최적화하여 모든 공격에 대한 견고성을 조성하는 적응형 정규화기(regularizer)를 제공합니다.

대응 조치

  • 특히 단일 사용자 또는 소규모 사용자 그룹의 경우 분류자 간에 분산이 높은 분류 결과에 대한 경고를 실행합니다.

기존의 유사 항목

원격 권한 상승

심각도

위험

변형 #1c: 임의 오분류

공격자의 대상 분류가 합법적인 원본 분류 이외의 무엇이든 될 수 있는 특수한 변형입니다. 이 공격은 일반적으로 올바른 분류가 미래에 사용될 가능성을 줄이기 위해 분류되는 소스 데이터에 무작위로 노이즈를 주입하는 방법을 사용합니다[3].

예제

Two photos of a cat. One photo is classified as a tabby cat. After adversarial perturbation, the other photo is classified as guacamole.

해결 방법

변형 1a와 동일합니다.

기존의 유사 항목

비영구적 서비스 거부

심각도

중요

변형 #1d: 신뢰도 감소

공격자는 특히 중대한 결과가 발생하는 시나리오에서 올바른 분류의 신뢰도 수준을 저하시키는 입력을 만들 수 있습니다. 이러한 입력은 합법적인 경고와 잘 구분되지 않는 사기성 경고로 관리자 또는 모니터링 시스템을 혼란스럽게 하기 위한 많은 수의 가양성과 같은 형태가 될 수도 있습니다[3].

예제

Two photos of a stop sign. The photo on the left shows a confidence level of 96 percent. After adversarial perturbation, the photo on the right shows a confidence level of 13 percent.

해결 방법
  • Variant #1a 적용되는 작업 외에도 이벤트 제한을 사용하여 단일 원본의 경고 볼륨을 줄일 수 있습니다.
기존의 유사 항목

비영구적 서비스 거부

심각도

중요

대상 데이터 중독 #2a

설명

공격자의 목표는 새 데이터에 대한 예측이 테스트 단계[1]에서 수정되도록 학습 단계에서 생성된 컴퓨터 모델을 오염시키는 것입니다. 대상 지정 중독 공격에서 공격자는 특정한 예시를 잘못 분류하여 특정 작업을 수행하거나 생략하도록 만들려고 합니다.

예제

AV 소프트웨어를 맬웨어로 전송하여 오분류를 강제 적용하고 클라이언트 시스템에서 대상 AV 소프트웨어를 사용하지 않도록 합니다.

해결 방법
  • 변칙 센서를 정의하여 매일 데이터 분포를 확인하고 변형에 대해 경고

    -매일 학습 데이터 변형 측정, 기울이기/드리프트에 대한 원격 분석

  • 입력 유효성 검사(삭제 및 무결성 검사 모두)

  • 중독은 외부의 학습 샘플을 삽입합니다. 이 위협에 대처하는 두 가지 주요 전략은 다음과 같습니다.

    -데이터 삭제/유효성 검사: 학습 데이터에서 중독 샘플 제거 -중독 공격 퇴치를 위한 Bagging [14]

    \- RONI(부정적 영향 거부) 방어 [15]

    -강력한 Learning: 중독 샘플이 있는 상태에서 강력한 학습 알고리즘을 선택합니다.

    \- 이러한 방법 중 하나가 [21]에 설명되어 있습니다. 이 문서에서는 데이터 중독 문제를 다음과 같은 두 단계로 해결합니다. 1) 진정한 부분 공간을 복구하기 위한 새로운 견고한 행렬 인수분해 방법 도입, 그리고 2) 단계 (1)에서 복구된 기초를 바탕으로 적대적 인스턴스를 제거하기 위한 새로운 견고한 주요 구성 요소 회귀 작성자는 진정한 부분 공간을 성공적으로 복구하기 위해 필요 조건과 충분 조건을 규정하고, 기반 진실과 비교하여 예상되는 예측 손실에 대한 경계를 제시합니다.

기존의 유사 항목

공격자가 네트워크에 머무는 데 사용되는 트로이 호스트입니다. 학습 또는 구성 데이터가 손상되고 모델 생성을 위해 수집/신뢰됩니다.

심각도

위험

무차별 데이터 중독 #2b

Description

목표는 공격을 받는 데이터 세트의 품질/무결성을 손상시키는 것입니다. 많은 데이터 세트가 공개/신뢰할 수 없는/선별되지 않은 데이터이므로, 애초에 이러한 데이터 무결성 위반을 발견할 수 있는 능력과 관련하여 또 다른 문제가 있습니다. 모르고 손상된 데이터로 학습하는 경우는 가비지-인/가비지-아웃 상황입니다. 문제를 감지한 후에는 심사를 통해 위반 및 격리/재학습된 데이터의 범위를 확인해야 합니다.

예제

기업이 석유 선물 데이터에 대한 잘 알려진 신뢰할 수 있는 웹 사이트를 스크랩하여 모델을 학습시킵니다. 그 다음에 데이터 공급자의 웹 사이트가 SQL 삽입 공격을 통해 손상됩니다. 공격자가 데이터 세트를 원하는 대로 중독시킬 수 있으며 학습되는 모델에는 데이터가 오염되었다는 개념이 없습니다.

해결 방법

변형 2a와 동일합니다.

기존의 유사 항목

높은 가치의 자산에 대해 인증된 서비스 거부

심각도

중요

3위 모델 반전 공격

설명

기계 학습 모델에 사용되는 비공개 기능을 복구할 수 있습니다[1]. 여기에는 공격자가 액세스할 수 없는 개인 학습 데이터의 재구성이 포함됩니다. 생체 인식에서는 언덕 오르기(Hill Climbing) 공격이라고도 하는데[16, 17], 이 공격은 대상과 일치하는 분류에 따라 반환되는 신뢰도 수준을 최대화하는 입력을 찾아서 이루어집니다[4].

예제

Two images of a person. One image is blurry and the other image is clear.[4]

해결 방법
  • 중요한 데이터에서 학습된 모델에 대한 인터페이스에는 강력한 액세스 제어가 필요합니다.

  • 모델에서 허용하는 쿼리를 속도로 제한합니다.

  • 제안된 모든 쿼리에서 입력 유효성 검사를 수행하고, 모델의 입력 정확성 정의를 충족하지 않는 항목을 거부하고, 유용한 데 필요한 최소 정보만 반환하여 사용자/호출자와 실제 모델 간의 게이트를 구현합니다.

기존의 유사 항목

대상이 지정된 은밀한 정보 공개

심각도

기본값은 표준 SDL 버그 표시줄에 따라 ‘중요’이지만, 중요한 데이터 또는 개인 식별 데이터가 추출되는 경우에는 심각도가 ‘위험’으로 상승합니다.

#4 멤버 자격 유추 공격

설명

공격자는 지정된 데이터 레코드가 모델 학습 데이터 세트의 일부인지를 확인할 수 있습니다.[1] 연구자는 환자의 특성(예: 연령, 성별, 병원)을 기반으로 환자가 받은 주요 조치(예: 환자가 받은 수술)를 예측할 수 있었습니다[1].

An illustration showing the complexity of a membership inference attack. Arrows show the flow and relationship between training data prediction data.[12]

해결 방법

이 공격의 실행 가능성을 설명하는 연구 논문들에 따르면 차등 프라이버시 [4, 9]가 효과적인 완화 조치가 될 것입니다. 이 분야는 아직 Microsoft에서 초기 진행 단계이며 AETHER Security Engineering은 이 분야에 대한 연구 투자로 전문성을 구축할 것을 권장합니다. 이 연구에서는 차등 개인 정보 보호 기능을 열거하고 완화 조치로서의 실제 효과를 평가한 다음, Visual Studio에서 코드를 컴파일하면 개발자와 사용자에게 투명한 기본 보안 보호 기능이 제공되는 것과 마찬가지로 온라인 서비스 플랫폼에서 이러한 방어를 투명하게 상속할 수 있는 방법을 설계해야 합니다.

뉴런 드롭아웃과 모델 스태킹을 사용하면 어느 정도 효과적인 완화 조치가 될 수 있습니다. 뉴런 드롭아웃을 사용하면 이 공격에 대한 인공신경망의 복원력이 증가할 뿐만 아니라 모델 성능도 증가합니다[4].

기존의 유사 항목

데이터 프라이버시. 학습 집합에서 데이터 요소의 포함에 대한 추론이 이루어지지만 학습 데이터 자체는 공개되지 않습니다.

심각도

이 경우는 보안 문제가 아니라 개인 정보 문제입니다. 영역이 겹치므로 위협 모델링 지침에서 설명하지만, 여기서의 모든 대응은 보안이 아니라 프라이버시를 기준으로 결정됩니다.

#5 모델 도용

Description

공격자가 모델을 적법하게 쿼리하여 기본 모델을 다시 만듭니다. 새 모델의 기능은 기본 모델의 기능과 동일합니다[1]. 모델을 다시 만든 후에 기능 정보를 복구하거나 학습 데이터를 추론하기 위해 모델을 반전할 수 있습니다.

  • 수식 해결 – API 출력을 통해 클래스 확률을 반환하는 모델의 경우 공격자가 모델에서 알 수 없는 변수를 확인하는 쿼리를 만들 수 있습니다.

  • 경로 찾기 – 입력 [7]을 분류할 때 트리에서 수행한 '의사 결정'을 추출하기 위해 API 특수성을 악용하는 공격입니다.

  • 전송 가능성 공격 - 악의적 사용자는 대상 모델에 대해 예측 쿼리를 실행하여 로컬 모델을 학습하고, 이를 사용하여 대상 모델로 전송되는 악의적 예시를 만들 수 있습니다[8]. 모델이 추출되고 적대적 입력에 취약한 것으로 확인된 경우, 모델의 복사본을 추출한 공격자가 프로덕션 배포 모델에 대한 새로운 공격을 완전히 오프라인으로 개발할 수 있습니다.

예제

기계 학습 모델이 적대적 동작(예: 스팸 식별, 맬웨어 분류, 네트워크 변칙 감지)을 감지하는 설정에서 모델 추출을 사용하여 회피 공격을 수월하게 할 수 있습니다[7].

해결 방법

사전 대응/보호 조치

  • 예측 API에서 반환된 세부 정보를 최소화하거나 난독 처리하면서 "정직한" 애플리케이션에 대한 유용성을 유지합니다[7].

  • 모델 입력에 대해 올바른 형식의 쿼리를 정의하고 해당 형식과 일치하는 완성된 올바른 형식의 입력에 대한 응답으로만 결과를 반환합니다.

  • 반올림한 신뢰도 값을 반환합니다. 대부분의 적법한 호출자는 소수점 이하 자릿수가 여러 개 필요하지 않습니다.

기존의 유사 항목

고가치 정보 공개를 표적으로 하는, 시스템 데이터의 인증되지 않은 읽기 전용 변조?

심각도

보안이 중요한 모델에서는 ‘중요’, 그렇지 않으면 ‘보통’

#6 신경망 다시 프로그래밍

Description

악의적 사용자가 특수하게 만든 쿼리를 사용하여 기계 학습 시스템을 생성자의 원래 의도와 다른 작업으로 재프로그래밍할 수 있습니다[1].

예제

얼굴 인식 API에 대한 약한 액세스 제어를 통해 제3자가Microsoft 고객에게 해를 입히도록 설계된 앱(예: 딥 페이크 생성기)에 통합할 수 있는 경우

해결 방법
  • 강력한 클라이언트<->서버 상호 인증 및 모델 인터페이스에 대한 액세스 제어

  • 위반 계정의 제거

  • API에 대한 서비스 수준 계약의 식별 및 적용 보고된 문제에 허용되는 해결 시간을 결정하고 SLA가 만료되면 더 이상 이 문제가 재현되지 않음을 확인하세요.

기존의 유사 항목

이 경우는 남용 시나리오입니다. 간단하게 가해자의 계정을 사용 중지하는 것보다 이 문제에 대한 보안 인시던트를 개시할 가능성이 더 낮습니다.

심각도

중요~위험

물리적 도메인의 #7 적대적 예(bits-atoms>)

설명

적대적 예는 오로지 기계 학습 시스템을 속일 목적으로 보낸 악성 엔터티로부터의 입력/쿼리입니다[1].

예제

물리적 영역에서 이러한 예가 나타날 수 있습니다. 예를 들어 정지 표지판을 비추는 특정한 색상의 조명(적대적 입력)으로 이미지 인식 시스템이 정지 표지판을 더 이상 정지 표지판으로 인식하지 못하게 만들면 속임수에 넘어간 자율 주행 자동차가 정지 표지판 앞에서도 계속 달릴 수 있습니다.

기존의 유사 항목

권한의 상승, 원격 코드 실행

해결 방법

이러한 공격은 기계 학습 계층(AI 기반 의사 결정 아래의 데이터 & 알고리즘 계층)의 문제가 완화되지 않았기 때문에 나타납니다. 다른 소프트웨어 *또는* 물리적 시스템과 마찬가지로 대상 아래 계층은 항상 기존 벡터를 통해 공격할 수 있습니다. 이러한 이유로 전통적인 보안 방식이 그 어느 때보다 중요합니다. 특히 AI와 기존 소프트웨어 간에 완화되지 않은 취약성(데이터/알고리즘 계층)의 계층이 존재하는 경우 더욱 그렇습니다.

심각도

위험

학습 데이터를 복구할 수 있는 악의적인 ML 공급자 8위

Description

악성 공급자가 백도어 알고리즘을 제공하며, 이 알고리즘으로 비공개 학습 데이터가 복구됩니다.  이들은 모델만 있으면 얼굴과 텍스트를 다시 구성할 수 있었습니다.

기존의 유사 항목

대상 정보 공개

해결 방법

이 공격의 실행 가능성을 설명하는 연구 논문들에 따르면 동형 암호화가 효과적인 완화 조치가 될 것입니다. 이 분야는 현재 Microsoft에서 투자가 거의 없는 단계이며 AETHER Security Engineering은 이 분야에 대한 연구 투자로 전문성을 구축할 것을 권장합니다. 이 연구에서는 동형 암호화 개념을 나열하고 악의적인 MaaS(서비스로서의 ML) 공급자에 직면하여 완화 조치로서의 실제 효과를 평가해야 할 것입니다.

심각도

데이터가 PII이면 ‘중요’, 그렇지 않으면 ‘보통’

9위 ML 공급망 공격

설명

알고리즘을 학습하는 데 필요한 대량 리소스(데이터 + 계산) 때문에, 현재 사용하는 방법은 대기업에서 학습한 모델을 재사용하고 당면 과제에 맞게 약간 수정하는 것입니다(예: ResNet은 Microsoft에서 널리 사용되는 이미지 인식 모델임). 이러한 모델은 Model Zoo(Caffe에서 널리 사용되는 이미지 인식 모델을 호스트함)에서 구성됩니다. 이러한 공격에서 악의적 사용자는 Caffe에서 호스트되는 모델을 공격하여 모든 사람의 우물에 독을 타는 셈입니다.  [1]

기존의 유사 항목
  • 제3자 비보안 종속성의 손상

  • 모르고 맬웨어를 호스트 하는 앱 스토어

해결 방법
  • 가능하면 모델 및 데이터에 대한 제3자 종속성을 최소화합니다.

  • 이러한 종속성을 위협 모델링 프로세스에 통합합니다.

  • 강력한 인증, 액세스 제어 및 타사 시스템 간의 암호화를 활용합니다.

심각도

위험

10위 백도어 Machine Learning

Description

학습 프로세스가 학습 데이터를 무단 변경하고, 표적 오분류(예: 특정 바이러스를 비악성으로 분류)를 강제하는 트로이 모델을 제공하는 악의적인 제3자로 아웃소싱됩니다[1]. 이는 MaaS(서비스로서의 ML) 모델 생성 시나리오에서의 위험입니다.

An example showing how mis-classifications can adversely affect training data. One photo is a correctly classified stop sign. After poisoning, the second photo is labeled as a speed limit sign.[12]

기존의 유사 항목
  • 제3자 보안 종속성의 손상

  • 손상된 소프트웨어 업데이트 메커니즘

  • 인증 기관 손상

해결 방법
대응적/방어적 감지 동작
  • 이 위협이 발견되면 손상이 이미 수행되었으므로 악의적인 공급자가 제공한 모델 및 학습 데이터를 신뢰할 수 없습니다.
사전 대응/보호 조치
  • 사내의 모든 중요한 모델 학습

  • 학습 데이터를 카탈로그로 만들거나 강력한 보안 관행이 있는 신뢰할 수 있는 타사에서 제공되는지 확인

  • MLaaS 공급자와 사용자 고유 시스템 간의 상호 작용을 모델링하는 위협 모델

대응 조치
  • 외부 종속성의 손상에 대한 경우와 동일
심각도

위험

#11 ML 시스템의 소프트웨어 종속성 악용

Description

이 공격에서 공격자는 알고리즘을 조작하지 않습니다. 대신 버퍼 오버플로 또는 사이트 간 스크립팅과 같은 소프트웨어 취약성을 악용합니다[1]. 학습 계층을 직접 공격하는 것보다 AI/ML 아래의 소프트웨어 계층을 손상시키기가 더 쉬우므로 보안 개발 수명 주기에 자세히 설명된 기존의 보안 위협 완화 방법을 반드시 따라야 합니다.

기존의 유사 항목
  • 손상된 오픈 소스 소프트웨어 종속성

  • 웹 서버 취약성(XSS, CSRF, API 입력 유효성 검사 실패)

해결 방법

보안 팀과 협력하여 적용 가능한 보안 개발 수명 주기/운영 보안 보장 모범 사례를 따르세요.

심각도

다양함. 기존 소프트웨어 취약성의 유형에 따라 최고 ‘위험’까지 가능합니다.

참고 문헌

[1] Failure Modes in Machine Learning, Ram Shankar Siva Kumar, David O’Brien, Kendra Albert, Salome Viljoen 및 Jeffrey Snover, https://docs.microsoft.com/security/failure-modes-in-machine-learning

[2] AETHER Security Engineering Workstream, Data Provenance/Lineage v-팀

[3] Adversarial Examples in Deep Learning: Characterization and Divergence, Wei, et al, https://arxiv.org/pdf/1807.00051.pdf

[4] ML-Leaks: Model and Data Independent Membership Inference Attacks and Defenses on Machine Learning Models, Salem, et al, https://arxiv.org/pdf/1806.01246v2.pdf

[5] M. Fredrikson, S. Jha 및 T. Ristenpart, “Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures”, CCS(컴퓨터 및 통신 보안)에 대한 2015 ACM SIGSAC 컨퍼런스 진행 중.

[6] Nicolas Papernot & Patrick McDaniel- Machine Learning AIWTB 2017의 적대적 예

[7] Stealing Machine Learning Models via Prediction APIs, Florian Tramèr, École Polytechnique Fédérale de Lausanne (EPFL); Fan Zhang, Cornell University; Ari Juels, Cornell Tech; Michael K. Reiter, The University of North Carolina at Chapel Hill; Thomas Ristenpart, Cornell Tech

[8] The Space of Transferable Adversarial Examples, Florian Tramèr, Nicolas Papernot, Ian Goodfellow, Dan Boneh 및 Patrick McDaniel

[9] Understanding Membership Inferences on Well-Generalized Learning Models Yunhui Long1, Vincent Bindschaedler1, Lei Wang2, Diyue Bu2, Xiaofeng Wang2, Haixu Tang2, Carl A. Gunter1, and Kai Chen3,4

[10] Simon-Gabriel et al., Adversarial vulnerability of neural networks increases with input dimension, ArXiv 2018;

[11] Lyu et al., A unified gradient regularization family for adversarial examples, ICDM 2015

[12] Wild Patterns: Ten Years After the Rise of Adversarial Machine Learning - NeCS 2019 Battista Biggioa, Fabio Roli

[13] Adversarially Robust Malware Detection UsingMonotonic Classification Inigo Incer et al.

[14] Battista Biggio, Igino Corona, Giorgio Fumera, Giorgio Giacinto, and Fabio Roli. Bagging Classifiers for Fighting Poisoning Attacks in Adversarial Classification Tasks

[15] 부정적인 영향 방어 홍장 리와 패트릭 P.K. 찬에 대한 개선 된 거부

[16] Adler. Vulnerabilities in biometric encryption systems. 5th Int’l Conf. AVBPA, 2005

[17] Galbally, McCool, Fierrez, Marcel, Ortega-Garcia. On the vulnerability of face verification systems to hill-climbing attacks. Patt. Rec., 2010

[18] Weilin Xu, David Evans, Yanjun Qi. Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks. 2018 Network and Distributed System Security Symposium. 2월 18~21일

[19] Reinforcing Adversarial Robustness using Model Confidence Induced by Adversarial Training - Xi Wu, Uyeong Jang, Jiefeng Chen, Lingjiao Chen, Somesh Jha

[20] Attribution-driven Causal Analysis for Detection of Adversarial Examples, Susmit Jha, Sunny Raj, Steven Fernandes, Sumit Kumar Jha, Somesh Jha, Gunjan Verma, Brian Jalaian, Ananthram Swami

[21] Robust Linear Regression Against Training Data Poisoning – Chang Liu et al.

[22] Feature Denoising for Improving Adversarial Robustness, Cihang Xie, Yuxin Wu, Laurens van der Maaten, Alan Yuille, Kaiming He

[23] Certified Defenses against Adversarial Examples - Aditi Raghunathan, Jacob Steinhardt, Percy Liang