AI Security

주형·2026년 8월 17일

Network

목록 보기
1/13

목차

  • AI 보안 개요
  • 데이터 계층 관점에서의 Security
  • LLM 호출 계층 관점에서의 Security

1. AI 보안 개요

AI 모델의 발달과 함께 해당 모델의 능력을 기반으로, 단순히 다음 단어 생성이 아닌 RAG나 AI AGENT를 통해 하나의 작업 프로세스가 만들어지고 있습니다.

해당 내용에선 RAG, AI AGENT를 포함된 하나의 프로세스로써 LLMops에서의 Security에 대해서 다루겠습니다.

AI agent 특성

  • 자율성
  • 고급 추론능력
  • 동적 상호작용
  • 복잡한 워크플로우

→ 복잡성이 증가하면서 효용도 증가하는 만큼 위험 지형도 크게 확장됩니다.

이를 보호하기 위해 기존 보안 고려 사항 뿐 아니라,

  • 에이전트의 자율성
  • 확률적 의사결정
  • 파운데이션 모델과 데이터에 대한 높은 의존성

에서 비롯되는 고유 취약점들에 대해서도 대비해야 합니다.

2. 데이터 계층 관점에서의 Security

해당 내용은 2-1. 개인정보 보호, 2-2. 데이터 입력 경로와 신뢰 경계, 2-3. 데이터 포이즈닝 으로 설명하겠습니다.

2-1) 개인정보 보호

(모델 관점)

  • Sensitive Information : 개인 식별 정보(PII), 금융 정보, 건강 기록, 기밀 비즈니스 데이터, 보안 자격 증명 및 법률 문서 등을 포함한 개념

LLMOps에서 사용하는 모델은 많은 양의 코퍼스(corpus)를 사전학습하거나 파운데이션 모델을 기반으로 특정 Task에 맞게 파인튜닝 등을 합니다.

위와같은 학습 과정에서 Sensitive Information이 들어갈 수 있고 그것들은 별다른 조치없이 평문으로 들어가게 된다면, LLM이 응답 시 개인정보가 포함된 응답을 하는 등 개인정보 유출이 발생하게 될 수 있습니다.

특히 어플리케이션에 내장된 LLM 같은 경우에 개인정보 관련 문제가 부각될 수 있습니다.

  • 앱 내부의 비즈니스 로직, 데이터베이스(DB), 내부 API 등과 깊게 연동되어 동작함
  • 모델 출력을 조작당할 경우 앱이 보유한 핵심 독점 알고리즘, 내부 설정값, 백엔드 기밀 데이터가 답변 텍스트로 그대로 튀어나올 위험이 훨씬 큼
  • 사용자는 "이 앱 내부니까 안전하겠지"라고 방심하기 쉬움

https://genai.owasp.org/llmrisk/llm022025-sensitive-information-disclosure/

해결책

  • 데이터 살균(sanitization)
    • 데이터 살균(Data Sanitization): 사용자 데이터나 수집된 문서가 LLM의 학습 데이터, 파인튜닝 데이터셋, 또는 RAG 지식 베이스(Vector DB)로 유입되기 전에 개인정보(PII), API 키, 비밀번호, 내부 기밀 등 민감한 정보를 정제·제거·마스킹하는 보안 처리 과정
  • 접근 제어
    • 접근 제어(Access Control): 누가 어떤 데이터, Vector DB 문서, 또는 시스템 기능(Tool/API)에 접근할 수 있는지를 모델 밖의 시스템에서 권한별로 제한하고 격리하는 보안 체계

(에이전트 관점)

에이전트 시스템 관점에서도 DB, API, 사용자 입력 등을 통해 다양한 민감 데이터와 상호작용 해서 다음과 같은 방법으로 민감 데이터를 보호합니다.

  • 데이터 최소화 원칙
    • 에이전트는 작업이 처리되는데 필요한 데이터만 처리, 저장하도록 설계
  • 접근 제어 (agent 관점)
    • 접근 권한이 인가된 에이전트만 특정 민감 데이터에 접근할 수 있도록 보장
  • 암호화 프로토콜
    • 에이전트, DB, API를 오가는 데이터들은 TLS같은 암호화로 보호
  • 안전한 로깅과 감사
    • 민감 데이터 디버깅 시 평문으로 나타내는 등 디버깅 도구가 기밀 정보 노출하지 않도록 해야함

2-2) 데이터의 입력 경로

LLM 학습 데이터부터 RAG기반 DB, AIAGENT 동적 판단 내용까지 여러지점에서 데이터 주입되고 LLM은 그 데이터를 바탕으로 답변 생성합니다,
주입받는 데이터 형태도 색context, Agent 판단 근거, 운영 과정의 평가 dataset, finetuning dataset까지 다양합니다.

여기서 문제는 모델 자체는 주입받는 데이터의 출처와 무결성을 스스로 판단하는 능력이 없다는 점입니다.

어떤 데이터든 학습 데이터나 context로 주어지면 처리해서 그럴싸한 답변을 생성하게 됩니다.

오답이나 편향된 데이터가 들어가거나 오래되어 정보로써의 가치가 떨어진 정보가 들어가거나, 악성 지시문이 섞인 문서가 들어가게 된다면, LLM은 잘못된 출력을 하거나 시스템에 문제가 되는 행위를 하게 됩니다.

2-3) 데이터 포이즈닝

앞선 입력받는 데이터들에 대한 문제점을 데이터 포이즈닝으로 정리할 수 있습니다.

  • 데이터 포이즈닝이란 사전 학습, 파인 튜닝 또는 임베딩 데이터가 오염/조작되어 취약점, 백도어 또는 편향이 삽입되는 현상
    (보통은 세 단계로 설명하지만, LLM 애플리케이션까지 확장하면 아까 말씀드린 것처럼 더 다양한 지점이 대상이 됩니다.)

데이터 포이즈닝을 Rag를 기반으로 설명

데이터 포이즈닝 관점에서는 문서 수집 시 악성 지시문이 포함된 오염된 문서가 수집되어 데이터 오염이 발생할 수 있습니다. 또한 임베딩 단계에서는 벡터 왜곡, 즉 유사도가 조작된 문서가 삽입되어 TOP-K 이내에 걸리게 될 수 있습니다

https://arxiv.org/abs/2402.07867?ref=blog.aibox.today

악성 테스트(P)를 만드는 과정

  • 검색용 조각인 S에서는 블랙박스인 경우는 타깃 질문을 재사용하고, 화이트박스인 경우에는 임베딩 유사도가 최대화 되게끔 문서자체를 수정하여 검색용 조각 S를 완성
  • 생성용 조각 I의 경우에는 LLM에게 원하는 답변을 주고 근거 문단을 만들어주도록 요청하여 생성용 조각을 완성

→ Posioned Rag 논문 사례를 통해 오염된 문서 삽입과 임베딩 유사도 제어 부분을 확인할 수 있음

3. LLM 호출 계층 관점에서의 Security

적대적 공격: 행위자가 모델을 조작해 민감 정보 유출 혹은 부정확, 편향된 출력을 생성하도록 하는 공격

1) 프롬프트 인젝션

프롬프트를 조작해서 모델이 데이터를 유출하거나, 허가되지 않은 작업을 수행하거나, 미리 설정된 제약 조건을 무시하도록 유도하는 공격 기법

예시)

2) LLM Jailbreaking(탈옥)

사용자가 인위적으로 프롬프트를 조작하여 AI 모델에 내장된 보안 정책, 윤리적 제약, 콘텐츠 필터링을 우회하고 원래 허용되지 않은 답변을 이끌어내는 공격 기법

  • 소셜 엔지니어링: 인간과 에이전트의 상호작용을 악용해 정보 유출/행동 유도
  • 가드레일 우회: 파운데이션 모델의 안전 필터, 제약을 우회해 금지된 행동을 유도

3) 간접 프롬프트 인젝션

에이전트가 처리하는 외부 데이터(웹페이지, 이메일, 파일 안)에 악성 내용(지시어)을 숨겨 두었다가 해당 텍스트가 모델의 프롬프트로 불러와질 때 의도하지 않은 동작을 유발시키는 공격 기법

방어 기법

  • 입출력 정제와 검증: 입력 프롬프트가 모델 도달 전 선제적 탐지 및 무력화
    • 공격 패턴 필터링
    • 엄격한 구문 규칙 적용
    • 악성 지시문 즉시 거부
  • 프롬프트 인젝션 방어: 프롬프트 솔루션 및 가드레일 솔루션 활용한 명령 실행 우회 방지
    • Instruction Anchoring: 모델의 주 지시사항을 프롬프트 전반에 강력하게 반복,강화하여 우회 차단
    • 엄격한 프롬프트 템플릿
    • LLM Guard 활용

Reference

profile
긴 여정의 시작

0개의 댓글