다국어 민감정보 탐지를 위한 DLP AI 모델 설계와 평가

QueryPie AI Research / AI Security Research

2026년 9월 19일

다국어 민감정보 탐지를 위한 DLP AI 모델 설계와 평가

서론

생성형 AI를 업무에 활용하면 대화, 문서, 코드, 프롬프트를 통해 다양한 데이터가 이동합니다. 이 안에는 이름이나 계좌정보처럼 보호해야 할 내용이 일반적인 문장과 섞여 있습니다. 정규식으로 찾기 쉬운 정보도 있지만, 표기가 달라지거나 주변 문맥에 따라 의미가 바뀌는 정보는 고정된 패턴만으로 식별하기 어렵습니다.

이 백서는 QueryPie가 한국어·영어·일본어 민감정보 탐지 모델을 개발하면서 학습 데이터를 구성하고, 경량 선별과 정밀 추출의 역할을 나누고, 첫 실험에서 발견한 위치 오류를 개선한 과정을 설명합니다.

문제

최근 기업 보안 담당자들과의 논의에서 AI 에이전트의 이상행위를 선별하는 UEBA와, 외부 AI에 전달되는 민감한 원문을 보호하면서 업무 맥락을 유지하는 동적 DLP의 필요성을 확인했습니다. 이 백서는 그중 DLP에 집중합니다. 동적 보호 정책의 첫 단계는 어느 문구가 어떤 민감정보인지 정확히 찾는 것입니다.

예를 들어 형식이 일정한 번호는 정규식 기반의 규칙으로 확인할 수 있습니다. 그러나 이름이 다른 정보와 함께 등장하거나, 코드에 인증정보가 섞이거나, 공백과 특수문자로 표기가 변형되면 규칙만으로는 부족합니다. 반대로 모든 입력을 큰 언어모델로 분석하면 처리 시간과 운영 비용이 커집니다. DLP 모델에는 빠르게 위험을 선별하는 능력과 보호 대상의 유형·원문 문구를 정확하게 찾는 능력이 모두 필요합니다.

목표

QueryPie는 다국어 업무 데이터에 대해 두 가지 과제를 정의했습니다. 첫째, 많은 입력에서 민감정보가 포함될 위험을 빠르게 분류합니다. 둘째, 정밀 분석이 필요할 때 민감정보의 유형과 실제 원문 문구를 추출합니다. 두 결과의 용도가 다르므로 하나의 모델에 모든 작업을 맡기지 않고, 경량 분류 모델과 정밀 소형언어모델(SLM)을 각각 개발했습니다.

기업마다 GPU 인프라를 상시 운영하기는 어렵습니다. 목표는 대량 입력의 선별을 CPU 기반 경량 모델이 담당하고, 정밀 모델은 필요한 입력에만 적용해 연산 부담을 낮추는 구조를 만드는 것이었습니다.

개발 과정

다국어 학습 데이터와 민감정보 유형 정리

한국어 데이터를 바탕으로 영어·일본어 사례를 구성하고, 일반적인 표현 외에도 코드에 정보가 섞이거나 공백·특수문자로 표기가 달라지는 사례를 반영했습니다. 정제·증강 과정에서는 중복을 줄이고 언어별 사례의 균형을 맞췄습니다. 같은 유형이라도 언어에 따라 표현이 달라질 수 있으므로, 단순히 문장 수를 늘리기보다 모델이 구분해야 할 상황을 학습 데이터에 담는 데 집중했습니다.

경량 분류 모델의 정답은 입력에 민감정보 위험이 있는지 여부입니다. 정밀 모델의 정답에는 ‘어떤 유형인가’와 ‘원문에서 실제 어느 문구인가’가 필요합니다. 언어별로 달리 표기되는 유형을 공통 체계로 정리해 최종적으로 21개 민감정보 유형을 사용했습니다. 학습용 문구와 위치가 실제 원문과 어긋난 사례는 별도 프로그램으로 대조하고 교정했습니다.

단계별 위험 판정과 정밀 추출

위험 판정 흐름에서는 먼저 정규식·키워드 규칙으로 형식이 분명한 값을 찾습니다. 규칙에 일치하면 차단하고, 일치하지 않는 입력만 ELECTRA 기반 경량 모델이 0~1 사이의 위험 점수로 분류합니다. 낮은 위험은 통과하고 높은 위험은 보호 여부를 판단하며, 점수가 애매한 그레이존만 프롬프트 기반 3차 AI 판정으로 넘깁니다. ELECTRA는 CPU 환경에서 대량 입력을 빠르게 선별합니다.

3차 판정은 프롬프트 기반 모델이 담당하고, Gemma 계열 12B 소형언어모델은 민감정보의 유형과 원문 문구를 추출하는 정밀 분석을 담당합니다. Gemma가 추출한 문구의 글자 위치는 프로그램이 원문과 대조해 계산합니다. 모델은 문맥과 의미를 판단하고, 프로그램은 정확한 문자열 좌표를 확정하는 역할 분리입니다.

다국어 업무 입력을 규칙 검사로 먼저 확인하고, 규칙 불일치 시 ELECTRA가 위험 점수를 분류하며, 애매한 그레이존만 3차 AI가 판정한다. 별도 영역에서 Gemma 계열 12B가 민감정보 유형과 원문 문구를 추출하고 프로그램이 원문 위치를 계산한다.
그림 1. 규칙 검사·ELECTRA·그레이존 판정 흐름과 별도 Gemma 정밀 추출 연구.

첫 실험에서 발견한 위치 오류

처음에는 정밀 모델이 민감정보의 유형, 원문 문구, 문장 내 글자 위치를 한 번에 반환하도록 했습니다. 평가에서는 유형을 올바르게 판단하고도 시작·끝 위치를 잘못 쓰거나, 원문 문구를 미묘하게 바꿔 출력하는 사례가 나타났습니다. 민감정보를 찾아냈더라도 원문과 일치하지 않으면 후속 처리에 사용할 위치를 신뢰하기 어렵습니다.

오류의 원인은 학습 문장의 양보다 출력 과제의 구성에 있었습니다. 의미와 유형을 판단하는 작업에 정확한 글자 좌표 생성까지 더하면서 결과가 불안정해졌고, 재현율과 완전 일치율이 낮아졌습니다.

출력 구조 변경과 재학습

정밀 모델의 출력을 ‘민감정보 유형’과 ‘원문에 등장한 문구’로 단순화했습니다. 글자 위치는 모델이 직접 생성하지 않고 별도 프로그램이 추출 문구를 원문과 대조해 계산하도록 바꿨습니다. 이에 맞춰 정답 데이터의 형식을 수정하고 후보 모델들을 다시 학습·평가했습니다. 문맥 속 의미 판단은 모델이, 문자열 위치 확인은 프로그램이 맡도록 경계를 정한 것입니다.

평가 결과

ELECTRA 기반 한국어 경량 모델은 내부 평가에서 정확도 약 92%, 재현율 약 97%, F1 약 94%를 기록했고 평균 응답 시간은 약 17.3ms였습니다. 영어와 일본어에도 각각 맞춘 모델을 학습·평가했습니다. ELECTRA는 대량 입력에서 민감정보 위험을 빠르게 좁히는 선별 모델입니다.

출력 구조를 바꾼 뒤 민감정보 유형과 원문 문구를 함께 찾는 내부 후보 비교 평가에서 Gemma 계열 12B 모델이 종합 점수 92.64점으로 가장 높은 결과를 기록했습니다. 같은 정밀 추출 과제에서 Qwen 3.5 계열 9B 후보는 80.75점, Qwen 2.5 계열 7B 후보는 74.4점이었습니다. 종합 점수는 21개 민감정보 유형의 분류와 원문 문구 추출 결과를 내부 기준으로 평가한 값입니다.

경량화한 Gemma 계열 12B 후보도 같은 비교에서 92.64점을 기록했습니다. 출력 대상을 유형·문구로 집중하고 위치 계산을 프로그램에 맡기자 Gemma 계열 모델의 의미 판단 성능이 결과에 직접 반영됐습니다. 모델 선택과 함께 출력 과제의 설계가 성능을 결정했습니다.

결론

다국어 DLP 모델 개발의 핵심은 세 가지입니다. 실제 업무 문장과 변형 사례를 반영한 학습 데이터, 빠른 위험 선별과 민감정보 문구 추출의 역할 분리, 생성형 모델이 잘못 만들기 쉬운 글자 위치의 프로그램 처리입니다. 이 설계로 유형·문구 추출 성능을 높이고 결과의 위치 정확성을 확보했습니다.

위험 판정 구조는 규칙과 CPU 기반 경량 모델로 입력을 먼저 선별하고, 그레이존만 추가 판정합니다. 별도의 정밀 추출 과제에서는 Gemma가 민감정보의 유형과 원문 문구를 찾고, 프로그램이 정확한 위치를 계산합니다. 다음 개발 단계는 탐지 결과를 기업별 정책과 연결하는 동적 DLP입니다. 외부 전송 차단, 화면 내 강조·마스킹, 사용자 경고와 관리자 검토, 보안 시스템 알림으로 이어지는 정책 집행 체계를 구축해 데이터 보호 범위를 확장합니다.