이 연구의 핵심은 **피자 (XSS 공격 코드)**와 **요리사 (인공지능)**에 비유할 수 있습니다.
1. 문제 상황: "피자가 변형되면 맛이 달라질까?"
웹사이트 해킹 (XSS) 은 마치 누군가 피자에 독약을 넣는 것과 같습니다. 보안 프로그램은 "독약이 들어간 피자를 찾아내야" 합니다. 하지만 해커들은 피자의 모양을 바꿔서 감추려 합니다.
원래 피자: "페퍼로니 피자"
변형된 피자: "페퍼로니 피자를 잘게 썰고, 치즈를 뒤집고, 이름만 '페페로니'로 바꾼 피자"
이렇게 모양 (문법) 을 바꿔도 **맛 (실제 작동하는 해킹 효과)**은 그대로여야 합니다. 기존 보안 프로그램은 모양만 보고 "아, 이건 페퍼로니 피자가 아니야!"라고 착각해서 놓쳐버립니다.
2. 인공지능의 역할: "새로운 피자 변형 레시피 만들기"
연구자들은 최신 인공지능 (LLM) 에게 "페퍼로니 피자를 변형시켜봐"라고 시켰습니다. 인공지능은 아주 창의적으로 피자를 변형시켰습니다.
하지만 문제: 인공지능이 만든 피자는 생김새는 비슷해 보여도, 실제로 먹어보면 맛이 없거나 (작동하지 않거나), 아예 독이 빠진 (안전한) 피자일 수 있습니다.
기존 방식: 그냥 "생김새가 비슷하면 괜찮겠지?"라고 생각했습니다.
이 연구의 방식: "생김새가 비슷해도 실제로 먹어보고 (실행해 보고) 맛이 같은지 확인하자!"라고 했습니다.
3. 실험 과정: "맛있는 피자 테스트 (런타임 검증)"
연구자들은 다음과 같은 과정을 거쳤습니다.
원본 피자 준비: 실제 해킹 코드를 준비했습니다.
인공지능이 변형: 인공지능에게 피자를 변형시켰습니다.
맛보기 테스트 (가장 중요!): 변형된 피자를 실제 오븐 (웹 브라우저) 에 넣어 구웠습니다.
결과: 인공지능이 만든 피자 중 실제로 맛이 살아있는 (해킹이 작동하는) 피자는 얼마나 될까요?
초기 인공지능: 100 개 중 15 개만 성공 (15%). 나머지는 모양만 비슷하고 맛없는 실패작이었습니다.
교육받은 인공지능 (파인튜닝): "맛있는 피자"와 "맛없는 피자"를 구별하는 공부를 시켰더니, 100 개 중 22 개가 성공 (22%) 했습니다.
결론: 교육이 도움이 되었지만, 여전히 80% 이상은 실패했습니다. 인공지능은 문법 (생김새) 은 잘 배우지만, 실제 작동 (맛) 을 보장하는 것은 여전히 어렵습니다.
4. 보안 프로그램에 미치는 영향: "새로운 피자가 보안에 도움이 될까?"
연구자들은 이 실험 결과를 바탕으로 "이 변형된 피자들을 보안 프로그램 훈련에 넣으면 더 잘 잡을 수 있을까?"를 테스트했습니다.
결과: 아니요, 크게 달라지지 않았습니다.
이유: 인공지능이 만든 피자가 전체 피자 양에 비해 너무 적었기 때문입니다.
하지만 중요한 점: "맛없는 피자 (작동하지 않는 코드)"를 훈련에 넣어도 보안 프로그램이 망가지지는 않았습니다. 즉, 실제 작동하는지 확인한 피자만 훈련에 넣으면 안전하다는 것을 증명했습니다.
💡 이 연구가 우리에게 주는 교훈
생각 (문법) 과 행동 (실행) 은 다릅니다: 인공지능이 코드를 잘 만들어낸다고 해서, 그것이 실제로 해킹이 되는 것은 아닙니다. 마치 요리사가 레시피는 잘 외웠는데, 실제 요리를 하면 타버리는 것과 같습니다.
실제 테스트가 필수입니다: 인공지능이 만든 해킹 코드를 쓸 때는, "이게 진짜로 작동하는지" 실제 환경 (브라우저) 에서 테스트해봐야 합니다. 모양만 보고 판단하면 안 됩니다.
미래의 가능성: 지금은 인공지능이 해킹 코드를 완벽하게 변형하지 못하지만, 이 '실제 작동 확인' 과정을 거치면 더 안전한 보안 시스템을 만들 수 있는 기초가 됩니다.
📝 한 줄 요약
"인공지능이 해킹 코드를 변형시킬 수는 있지만, 모양만 비슷하고 실제로는 작동하지 않는 경우가 많습니다. 따라서 인공지능이 만든 코드는 실제 작동 여부를 꼭 확인 (테스트) 한 뒤에 사용해야 합니다."
이 연구는 인공지능을 보안에 쓸 때, **"생각만 하는 AI"가 아니라 "실제 행동을 확인하는 AI"**로 발전시켜야 함을 강조합니다.
1. 연구 배경 및 문제 정의 (Problem)
XSS 의 지속성: 크로스 사이트 스크립팅 (XSS) 은 웹 보안에서 가장 흔하고 지속적인 취약점 중 하나입니다. 공격자는 사용자의 브라우저에서 실행되는 악성 스크립트를 주입하여 세션 하이재킹, 데이터 유출 등을 일으킵니다.
난독화 (Obfuscation) 의 위협: 공격자들은 페이로드의 문자열 형태를 변경하면서도 브라우저에서의 실행 행동 (Runtime Behavior) 은 동일하게 유지하는 난독화 기법을 사용합니다. (예: 문자 인코딩, 주석 삽입, 대소문자 변경 등)
기존 탐지 시스템의 한계: 전통적인 패턴 매칭이나 머신러닝 기반 탐지 시스템은 이러한 변형된 페이로드를 식별하는 데 어려움을 겪습니다.
LLM 활용의 딜레마: 대규모 언어 모델 (LLM) 은 코드 생성 능력이 뛰어나 새로운 난독화 페이로드를 생성할 수 있지만, 문법적 타당성 (Syntactic Plausibility) 이 반드시 실행 단계의 정확성 (Execution Correctness) 을 보장하지는 않습니다. 생성된 페이로드가 실제로 악성 행동을 수행하지 못한다면, 이는 탐지 모델 학습에 노이즈로 작용하여 오히려 성능을 저하시킬 수 있습니다.
2. 연구 방법론 (Methodology)
이 논문은 LLM 을 통해 생성된 난독화 XSS 페이로드의 유효성을 평가하고, 이를 머신러닝 탐지 모델에 적용하기 위한 구조화된 파이프라인을 제안합니다.
A. 파이프라인 개요
결정론적 난독화 체인 (Deterministic Obfuscation Chains):
원본 악성 페이로드에 대해 5 가지 고정된 2 단계 변환 규칙 (예: hex_escape → split_strings, comment_insertion → hex_escape 등) 을 적용하여 다단계 난독화 체인을 생성합니다.
브라우저 기반 런타임 평가 (Browser-based Runtime Evaluation):
생성된 페이로드를 제어된 브라우저 환경에서 실행합니다.
핵심: 단순한 문자열 유사도가 아닌, 관측 가능한 실행 행동 (알림 창 발생, 콘솔 출력, 네트워크 요청, 실행 오류 등) 을 기록하여 원본 페이로드와 비교합니다.
원본과 동일한 행동을 보이는 페이로드만 '행동 보존 (Behavior-preserving)' 샘플로 선정합니다.
LLM 파인튜닝 (LLM Fine-tuning):
검증된 '원본 (Source) → 행동 보존 난독화 (Target)' 쌍을 사용하여 LLM 을 파인튜닝합니다.
이를 통해 모델이 단순한 문법적 변형이 아닌, 실행 가능한 변형을 학습하도록 유도합니다.
하류 탐지 평가 (Downstream Detection Evaluation):
생성된 페이로드를 머신러닝 분류기 (Random Forest) 의 학습 데이터에 추가하여 탐지 성능 변화를 측정합니다.
B. 실험 설정
데이터셋: 총 37,605 개 샘플 (악성 13,420 개, 정상 24,185 개) 사용.
모델 비교:
Baseline (Untuned): 사전 학습된 LLM 을 그대로 사용.
Fine-tuned: 행동 보존 샘플로 파인튜닝된 LLM.
평가 지표: 런타임 행동 일치율 (Runtime Behavior Match Rate).
3. 주요 기여 (Key Contributions)
구조화된 파이프라인 제안: 결정론적 변환과 LLM 생성을 결합하고, 행동 필터링 (Behavior-filtering) 을 통해 고품질 난독화 예제 학습 데이터를 구축하는 프로세스를 제시했습니다.
런타임 행동 기반 평가 프로토콜: 문법적 유사성이 아닌, 제어된 브라우저 환경에서의 관측 가능한 실행 행동을 기준으로 생성된 페이로드의 유효성을 평가하는 새로운 방법을 도입했습니다.
실증적 평가: LLM 생성 난독화의 실제 효과와 머신러닝 탐지 모델에 미치는 영향을 정량적으로 분석하여, 파인튜닝의 이점과 현재 LLM 의 한계를 명확히 했습니다.
4. 실험 결과 (Results)
A. 런타임 행동 일치율 (Runtime Behavior Match Rate)
Baseline (Untuned): 생성된 페이로드 중 15% (0.15) 만 원본과 동일한 행동을 보임.
Fine-tuned Model: 행동 보존 샘플로 학습 후 22% (0.22) 로 향상됨. (기존 대비 46.7% 상대적 개선)
의미: 파인튜닝은 모델이 행동 보존 패턴을 학습하는 데 도움이 되지만, 생성된 샘플의 78% 이상은 여전히 실행 단계에서 실패하여 행동이 보존되지 않았습니다. 이는 LLM 이 문법적 타당성과 실행 정확성 사이의 간극을 완전히 해결하지 못했음을 시사합니다.
B. 변환 쌍별 분석
고성능: 문자열 조작 위주의 변환 (예: split_strings → comment_insertion) 은 유효성 비율이 높음 (약 77%).
저성능: 인코딩 위주의 변환 (예: hex_escape) 은 유효성 비율이 매우 낮음 (약 3~5%). 이는 런타임 시 인코딩이 제대로 복원되지 않아 실행이 실패하기 때문입니다.
C. 하류 탐지 성능 (Downstream Detection)
생성된 페이로드를 학습 데이터에 추가하더라도 탐지 모델 (Random Forest) 의 성능 (정확도, F1 점수 등) 에 유의미한 향상은 없었습니다.
이유: 생성된 샘플이 전체 데이터셋에서 차지하는 비중이 매우 작아, 모델의 학습 분포를 바꾸기에 부족했기 때문입니다.
중요한 발견: 행동 필터링을 거친 샘플을 추가하더라도 탐지 성능이 저하되지 않았습니다. 이는 검증된 생성 데이터는 학습에 안전하게 통합될 수 있음을 의미합니다.
5. 의의 및 결론 (Significance & Conclusion)
LLM 의 한계와 가능성: LLM 은 XSS 난독화 패턴을 학습할 수 있는 잠재력이 있지만, 현재 기술 수준에서는 실행 단계의 정확성을 보장하는 데 한계가 있습니다. 단순한 텍스트 생성이 보안 맥락에서 유효한 공격 시나리오를 의미하지는 않습니다.
런타임 검증의 필수성: 생성된 보안 데이터를 탐지 파이프라인에 활용하기 위해서는 문법적 검사가 아닌, 실제 실행 환경 (Browser Runtime) 에서의 행동 검증이 필수적입니다. 이는 잘못된 데이터를 학습시켜 모델을 약화시키는 것을 방지합니다.
미래 방향:
더 큰 규모의 파인튜닝 데이터셋 구축.
생성 과정에 변환 규칙을 제약하는 Constrained Decoding 기법 도입.
다양한 브라우저 및 환경에서의 검증 강화.
규칙 기반 (Rule-based) 과 생성적 (Generative) 접근법의 하이브리드화.
요약하자면, 이 연구는 LLM 을 이용한 악성 페이로드 생성이 유망하지만, 실행 가능한 행동 (Runtime Behavior) 을 검증하는 필터링 과정 없이는 탐지 시스템 강화에 효과적이지 않으며, 오히려 노이즈가 될 수 있음을 강조합니다.