인공지능 - 보안

03.Security 2024. 12. 20. 11:54
728x90
반응형

 

 

주간기술동향 제2160호, AI시대의 사이버보안 기술, 2024.12

 

 

주 간기술동향 제2158호, 인공지능을 이용한 사이버 공격 패러다임과 대응기술 동향,2024.12.04

 

 

프롬프트 인젝션 공격, 불안전한 출력 처리, 학습데이터 중독 등 10가지 보안위협 대응 필요

1. 프롬프트 인젝션 공격
첫째, 프롬프트 인젝션 공격이다. 이 공격은 직접 프롬프트를 입력해 공격하는 다이렉트 인젝션(Direct Injection) 공격과 공격자가 간접적으로 프롬프트를 입력하는 인다이렉트 인젝션(Indirect Injection)으로 구분된다.

다이렉션 공격의 경우 ①공격자가 마약 제조 방법을 요청하는 질문을 ROT13 암호화를 통해 변환 ②공격자가 암호화된 질문을 챗봇에게 질문 ③챗봇은 공격자의 암호화된 질문을 이해해 마약 제조방법을 생성해 답변한다.

인다이렉션 공격의 경우 ①공격자가 폭발물에 관련된 정상적인 내용을 질문하면 ②챗봇은 해당 질문에 대한 내용을 생성해 답변 ③공격자는 원래 목적인 폭발물 제작법에 대한 악의적인 내용을 질문 ④챗봇은 이전에 대답했던 내용에 기반해 악의적인 질문을 거부하지 않고 답변한다.

 

주간기술동향 제2158호, 인공지능을 이용한 사이버 공격 패러다임과 대응기술 동향,2024.12.04



2. 불안전한 출력 처리
둘째, 불안전한 출력 처리다. 이 경우 LLM이 생성한 출력에 대한 유효성 검증 부족 등 적절하게 처리하지 못할 때 발생할 수 있는 취약점이다. LLM 출력이 그대로 사용자 브라우저에 출력될 때 XSS 취약점이 발생, LLM 출력이 브라우저로 출력될 때, 사용자가 의도하지 않은 동작 가능한 CSRF, LLM이 출력을 시스템 명령 실행 함수에 이용할 때 RCE 공격, 내부에서 LLM 출력을 이용해 API를 사용할 때, API 입력을 조작해 SSRF 공격울 감행하는 등 사용자와 서버에 피해를 입힐 수 있다.

이에 대해 SK쉴더스 EQST Lab팀 이호석 팀장은 SK AI 서밋에서 “사용자 프롬프트에서 위험한 단어를 필터링 하는 입력값 검사를 하고, 출력에서 특수문자를 변환해 클라이언트에서 스크립트가 동작하지 않도록 처리하는 출력 인코딩을 해야 한다”며 “코드 실행이 필요한 경우 격리된 환경에서 동작하게 샌드박스 환경 적용을 해야 한다”고 제시했다.

3. 학습데이터 중독
학습데이터 중독 취약점은 학습에 사용되는 데이터가 조작되어 모델이 오염될 수 있는 취약점으로 모델의 신뢰성이 저하될 수 있다. 공격자는 이를 노리고 의도한 특정한 행동을 하도록 유도함으로써 백도어 공격을 감행하거나 학습 데이터에 악성 데이터를 추가해 잘못된 패턴을 학습하도록 유도해 데이터를 변형할 수 있다.

이호석 팀장은 “학습 시 사용하는 데이터의 적합성을 검토하는 ML-BOM을 적용하고, 사전학습, 파인튜닝 데이터에 대한 엄격한 검증 후 학습하는 데이터 검토가 필요하다”며 “모의해킹을 통해 모델의 안전성을 검증해야 한다”고 대응방안을 설명했다.

4. 모델 서비스 거부
네 번째는 모델 서비스 거부다. 모델 서비스 거부는 많은 자원을 사용하게 만드는 요청을 통해 LLM에 과부하를 일으켜 서비스 장애를 유발하거나 과도한 리소스 비용을 초래하는 공격이다. 이를테면 반복 작업 수행, 특수 토큰 악용, API 요청 방해, 입력 오버플로우 등이 해당된다.

이에 대한 주의사항으로 이 팀장은 IP 사용량 제한, 악의적으로 사용될 수 있는 프롬프트 필터링, 리소스 사용량에 대한 모니터링, 입력 길이 제한을 통한 과부하 방지 등을 당부했다.

5. 공급망 취약점
다섯 번째는 공급망 취약점이다. LLM 애플리케이션 개발 과정에서 취약한 구성 요소를 사용해 발생하는 취약점으로, 검증되지 않은 모델이나 외부 데이터셋을 사용할 경우 취약할 수 있다. 공격방식은 취약한 패키지 사용, 취약점이 존재하는 모델 사용, 오염된 데이터 사용, 업데이트 및 관리 미흡이 해당된다.

대응방안에 대해 이 팀장은 SBOM 적용, 외부 모델 사용 시 충분한 검증 필요, 학습에 사용되는 데이터에 악의적인 정보가 포함됐는지 검사하는 데이터 검증, 주기적 패치를 강조했다.

6. 민감정보 노출
다음은 민감정보 노출이다. LLM 애플리케이션 응답을 통해 개인정보 및 내부 정보와 같은 민감정보가 노출될 수 있다. 이는 학습 시 민감 정보 필터링과 데이터 권한 분리가 미흡하기 때문이다. 따라서 데이터 검증, 입출력 검사, 모델 테스트, 권한 최소화를 해야 한다는 것.

7. 부적절한 플러그인 설계

LLM 플러그인에 대한 접근 제어가 미흡하거나 안전하지 않은 설계로 보안 위협이 발생할 수 있다. 공격자가 신뢰할 수 없는 플러그인 호출, 플러그인에 과도한 권한 부여, 플러그인 자체 취약점을 이용할 수 있다.


이호석 팀장은 “플러그인 제작 시 매개 변수를 엄격히 검증해 악용 방지, 플러그인 요청 시 권한 분리를 위해 적절한 인증기법 적용, 민감한 작업의 경우 사용자 검토 과정 추가, 악의적인 명령이 포함됐는지 입력검증을 해야 한다”고 당부했다.

8. 과도한 에이전시
과도한 에이전시는 에이전트에 과도한 권한이 부여되어 발생하는 취약점으로 서비스가 잠재적인 위험에 노출될 수 있다. 따라서 권한 최소화, 사용자 확인, 모니터링, 입력 검증이 중요하다는 설명이다.

9. 과도한 의존
과도한 의존은 LLM이 생성한 콘텐츠를 검증없이 맹신해 발생할 수 있는 취약점으로 허위정보가 확산될 수 있다. 공격방식은 출력의 잘못된 해석, 출력 검증 부족, 제한 사항에 대한 이해 부족, 불충분한 오류처리 등이 해당된다. 이를 위한 대응방안으로 교차 검증, 모니터링, 멀티 에이전트, 사용자 교육 등이 요구된다.

10. 모델 탈취
모델 탈취는 모델에 무단 접근 및 유출이 가능한 경우 발생하는 취약점으로 경제적 손실을 입거나 민감정보가 유출될 수 있다.

 

인공지능 모델의 경우 먼저
①학습 데이터를 통해 모델 파라미터를 학습
②다양한 데이터에 대해 모델을 검증 및 테스트하는 과정을 거쳐
③학습된 모델을 실제 입력에 사용하는 프로세스를 따르는데, 이에 따라 인공지능 모델에 대한 적대적 공격은 학습에서 사용에 이르기까지 공격자가 간섭하는 프로세스에 따라
 
적대적 공격( Adversarial Attack): 잘못된 학습을 통해 잘못된 의사결정을 하도록 유도하는 공격 방식
 
회피(Evasion),
오염(Poisoning), 그리고
유추(Inference)의 크게 세 가지 유형으로 나눌 수 있습니다.
 
예) 마이크로소프트社 AI챗봇 ‘Tay’와 스캐터랩社 AI챗봇 ‘이루다’
 
먼저 회피(Evasion) 공격은 인공지능 모델이 판단에 사용하는 다양한 결정 기준을 회피 혹은 역이용하여 오작동을 유발하는 공격으로, 대표적인 예로 주어진 입력에 사람이 알아보기 힘든 만큼의 노이즈를 섞어 오분류(misclassification)를 유도하는 ‘적대적 예시(Adversarial example)’를 들 수 있습니다. 적대적 예시를 사용하면 길가에 있는 정지(Stop) 사인을 속도제한(Speed limit) 사인으로 속여 사고를 유도하거나 혹은 얼굴인식 소프트웨어를 속여 다른 사람으로 위장하는 등 큰 규모의 인명 및 재산 피해로 이어질 수 있기에 많은 연구자들이 집중적으로 연구를 진행하고 있습니다.
 
다음으로, 오염(Poisoning) 공격은 인공지능 모델의 학습 과정에 직접적으로 관여, 학습 데이터를 오염시킴으로서 각종 역기능을 유도합니다. 인공지능의 학습 데이터를 적당히 오염시킬 수 있다면 학습의 결과로 나오는 인공지능 모델의 정확도를 떨어트리거나 특정 입력에서만 오작동을 유도할 수 있습니다. 최근에는 입력 이미지에 몇 개의 특정 픽셀로만 이루어진 일종의 ‘트리거(Trigger)’를 주입하면 오작동을 일으키는 ‘백도어 공격(Backdoor attack)’ 등이 가능하다고 알려져 그 방어 기법에 대한 연구의 시급성이 강조되고 있습니다.
 
마지막 유추(Inference) 공격은 프라이버시와도 관련이 있는 공격으로, 이를 사용하면 허술하게 설계된 인공지능 모델을 통해 공격자가 알아서는 안 되는 정보나 지식을 유추할 수 있습니다. 여기에는 인공지능 모델의 출력을 통해 입력을 복구해 내는 ‘모델 도치(Model inversion)’ 공격이나 알려지지 않은 모델의 파라미터를 복사하여 사용하는 ‘모델 추출(Model extraction)’ (혹은 ‘모델 훔침’) 공격 등이 있습니다. 특히, 모델 추출 공격의 경우 많은 시간과 돈을 들여가며 학습한 모델을 공격자가 간단히 훔쳐갈 수 있다는 점에서 구글, 아마존 등의 인공지능 기반 회사들이 관련 방어 기술 개발에 열을 올리고 있습니다.

 

 
 
1. 마이크로소프트社 AI챗봇 ‘Tay’와 중독 공격(Poisoning attack)
Poisoning Attack : 악의적인 학습 데이터로 인해 알고리즘 스스로가 잘못된 판단을 하도록 유도하는 방식
 
2. 스캐터랩사 AI 챗봇 '이루다' 와  학습 데이터 추출 공격(Model Inversion Attack)
학습 데이터 추출 공격(Model Inversion Attack): 학습에 넣었던 원천데이터 안에 개인정보가 포함되어 있다면 개인정보를 고의적으로 복원 가능
 

한국형 GPT-2를 이루지 못한 AI 챗봇 “이루다”, 박정현 (2021.3.15)
 
데이터 포이즈닝(Data Poisoning): 인공지능 학습 과정에 관여해 모델을 공격하는 기법
예) 2016년 마이크로소프트가 선보인 인공지능 챗봇 서비스 ‘테이(Tay)’

FISCON2020 - AI 알고리즘 보안 취약점 및 대응방안

 

정보보호 학회지 제27권 제3호, 2017. 6

Evasion공격 : 개의 이미지를 4%정도만 변조할 경우 사람은 인식불가. 그러나 인공지능은 97%가 잘못된 분류결과를 냄. 따라서 이는 매우 큰 위험. 실생활에서 쓰는 숫자, 표지판에 대해 잘못인식할 경우 매우 위험함. 자율주행의 경우에도 좌회전, 우회전 표지판에 위변조를 가하는 경우 대형사고로 이어질 수 있음
 
음성데이터에도 공격이 가능한데, 음성의 경우에는 사람은 들을수 없으나 인공지능은 올바른 명령으로 인식하게끔 하는 공격으로 시스템에 특정 동작을 작동시킴
1. invasion 공격에서 Feature값 시험 : X라는 사람의 나이 34세, 성별 여, 혈압 120/80을 알고 있음. 혈액형을 모른다 하자. 약물용량모델에 대해 X라는 사람에 대한 y값이 하루 20ml라면 혈액형의 모든 경우의 수를 시험하여 예측 오차가 가장 작은 혈액형을 선택하면 됨
 
(이미지 인식 기술에 대한 대표적인 공격방법)
 
1) '적대적 사례(Adversarial Example)' 기법
이미지 인식 모델에 인식시키는 데이터에 일종의 노이즈를 추가함으로써 이미지의 피사체를 오인시키는 공격 방법
 
2) '교사 데이터 독살(Training Set Poisoning)'
일반적으로 인간이 식별한 피사체 정보의 태그가 붙은 '교사 데이터(Training set)'를 사용한다. 이 교사 데이터에 잘못된 태그를 부여한 이미지를 섞음으로써, 피사체를 잘못 인식하는 이미지 모델이 만들어지도록 하는 공격기법이다.
 
이때 악의적으로 입력되는 이미지 데이터에는 잘못된 태그가 붙여질 뿐만 아니라 이미지 인식 모델을 속이기 위한 노이즈도 함께 부여된다.

 

 

 

728x90
Posted by Mr. Slumber
,