
악의적 내부자 및 AI-생성 위협 대응
발행일: 2025년 1월 2일 | Scientific Reports
저자: Hazem M. Kotb, Tarek Gaber, Salem AlJanah, Hossam M. Zawbaa, Mohammed Alkhathami 외.
사이버보안은 현대 기업이 직면한 가장 중대한 과제 중 하나입니다. 조직은 전통적으로 방화벽이나 침입 탐지 시스템(IDS)과 같은 경계 보안 장치에 투자해 왔지만, 내부 위협의 증가로 인해 내부 이상 징후 감지가 더욱 중요해졌습니다.
내부 위협(악의적 내부자, 부주의한 직원, 계정 탈취 등)은 사이버 사고의 상당 부분을 차지합니다. 더불어, 생성형 인공지능(AI)의 발전으로 인해 실제 사용자 행위를 정교하게 모방하는 가짜 프로파일이 자동으로 생성되면서 탐지 난도가 크게 높아졌습니다.
본 글에서는 이러한 문제를 정면으로 해결하는 새로운 ‘딥 시뮬레이션 기반 내부 침입 탐지(DS-IID)’ 모델을 소개합니다. DS-IID는 딥러닝을 통해 악의적 내부자를 식별할 뿐만 아니라, 실제·AI-생성(합성) 사용자 프로파일을 구분해 냅니다.
아래에서는 모델의 원리, 기술적 세부 사항, 실제 적용을 위한 코드 예시, 그리고 CERT 내부 위협 데이터세트를 활용한 성능 평가 결과를 다룹니다.
내부 위협은 조직 자원에 합법적 접근 권한을 가진 직원·협력사·신뢰된 장치 등 내부 주체로부터 발생합니다. 이들은 높은 권한을 이용해 전통적 보안 장치를 우회할 수 있으므로, 표준 이상 탐지만으로는 식별이 어렵습니다. 최근 연구에 따르면 내부 위협은 전체 사이버 보안 사고의 최대 79%를 차지합니다.
생성형 AI의 등장으로 상황은 더욱 복잡해졌습니다. 생성 모델은 실제 사용자 행위를 모방하는 합성 데이터를 만들어 공격자가 악의적 활동을 정교하게 위장하도록 돕습니다. 전통적 IDS는 진짜·가짜 행위를 구별하지 못해 보안 공백이 발생할 위험이 있습니다.
DS-IID는 딥 피처 신시시스(DFS), 생성 모델링, 이진 딥러닝 분류를 결합한 새로운 접근법입니다. 세 가지 주요 목표를 달성합니다.
DFS는 DS-IID의 핵심입니다. 수작업 특성 공학 대신, 원시 이벤트 데이터에서 복합 피처를 자동 추출하여 상세 사용자 프로파일을 생성합니다.
DS-IID는 생성 모델로 실제 사용자 프로파일을 시뮬레이션합니다. 이를 통해 의심 프로파일이 AI에 의해 생성됐을 가능성을 평가합니다. 동시에 실제·합성 데이터를 함께 학습한 이진 딥러닝 분류기가 프로파일의 정상·악성 여부를 결정합니다.
사이버보안에서는 정상 이벤트가 악성 이벤트보다 훨씬 많아 데이터 불균형이 두드러집니다. DS-IID는 학습 중 가중치 기반 무작위 샘플링(온더플라이)을 적용해 드문 악성 이벤트가 모델 학습에 충분히 반영되도록 합니다.
이를 통해 탐지 신뢰도를 높이고 정상 행위를 오탐으로 분류할 위험을 줄였습니다.
DS-IID는 멀티 레이어 아키텍처로 데이터 처리, 피처 추출, 분류가 단계별로 통합됩니다.
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
# DS-IID 이진 분류 모델 정의
def build_ds_iid_model(input_dim):
model = Sequential()
model.add(Dense(128, activation='relu', input_dim=input_dim))
model.add(Dropout(0.3))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.3))
model.add(Dense(32, activation='relu'))
model.add(Dropout(0.3))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
return model
if __name__ == "__main__":
input_dimensions = 30 # DFS 후 예시 피처 수
model = build_ds_iid_model(input_dimensions)
model.summary()
#!/bin/bash
# 로그 파일 경로 (예: /var/log/auth.log)
LOG_FILE="/var/log/auth.log"
# 의심스러운 패턴 정의: 다수의 로그인 실패 등
PATTERN="Failed password|Invalid user"
echo "의심 활동 로그 스캔 중..."
grep -E "$PATTERN" "$LOG_FILE" > suspicious_activity.log
echo "의심 항목 요약:"
wc -l suspicious_activity.log
echo "상위 10개 항목 미리보기:"
head -n 10 suspicious_activity.log
import pandas as pd
import numpy as np
from datetime import datetime
# 로그 파일을 DataFrame으로 파싱
def parse_log_file(log_file_path):
data = []
with open(log_file_path, 'r') as f:
for line in f:
parts = line.split()
timestamp_str = " ".join(parts[0:3])
try:
timestamp = datetime.strptime(timestamp_str, '%b %d %H:%M:%S')
except ValueError:
continue
log_entry = {
'timestamp': timestamp,
'hostname': parts[3],
'service': parts[4].split('[')[0],
'message': " ".join(parts[5:])
}
data.append(log_entry)
return pd.DataFrame(data)
# 간단한 DFS: 호스트별 의심 이벤트 수 및 시간대별 패턴
def generate_features(df):
feature_df = df.groupby('hostname').size().reset_index(name='suspicious_count')
df['hour'] = df['timestamp'].dt.hour
hourly_features = df.groupby(['hostname', 'hour']).size().unstack(fill_value=0)
feature_df = feature_df.merge(hourly_features, on='hostname', how='left')
return feature_df
if __name__ == "__main__":
log_df = parse_log_file('suspicious_activity.log')
features = generate_features(log_df)
print("생성된 피처:")
print(features.head())
features.to_csv('user_features.csv', index=False)
Cohen’s Kappa, TPR, FPR, FAR, Recall, Precision, F1, Accuracy, AUC 등 9가지 지표를 사용했습니다.
온더플라이 가중치 샘플링으로 클래스 불균형 상황에서도 높은 성능을 유지했습니다.
규칙 기반 IDS나 비지도 클러스터링 위주의 기존 모델이 54~98% 정확도를 보고한 반면, DS-IID는 자동 피처 신시시스와 AI-생성 데이터 구분 기능으로 우위를 확보했습니다.
DS-IID는 생성형 AI가 조성한 새로운 위협 환경에서 내부자 탐지를 혁신적으로 진전시켰습니다.
조직이 점점 더 정교해지는 내부 위협에 대응하려면 DS-IID 같은 모델을 보안 인프라에 통합해야 합니다. 딥 신시시스와 AI-기반 탐지를 결합한 DS-IID는 전통적인 IDS 기능을 보완하며, AI-생성 위협까지 포괄하는 미래 지향적 해결책을 제공합니다.
최신 기술과 실용적 코딩 예제를 결합한 본 기술 가이드는 DS-IID의 다각적 접근법을 소개합니다. 조직 보안을 강화하려는 사이버보안 전문가, 혹은 딥러닝 응용에 관심 있는 데이터 과학자라면 DS-IID가 제공하는 견고하고 확장 가능한 솔루션을 통해 실질적 가치를 얻을 수 있을 것입니다.
Happy coding, 그리고 안전한 환경을 유지하세요!
이 콘텐츠가 유용하다고 생각하셨다면, 저희의 포괄적인 47주 엘리트 교육 프로그램으로 무엇을 달성할 수 있을지 상상해 보세요. Unit 8200 기술로 경력을 변화시킨 1,200명 이상의 학생들과 함께하세요.