1. 서론
지식정보 사회의 발전을 기반으로 한 4차 산업혁명 시대의 디지털 환경 변화가 가속화됨에 따라 보안의 중요성이 커지고 있는 반면에 기존 보안 아키텍처 기반의 대응으로는 고도의 사이버 공격을 대처하는데 한계점이 있다. 기존 보안 아키텍처는 특정 시나리오나 다양한 네트워크 환경에 잠재적 위협을 차단하는 통합 보안 설계로 보안 위협의 탐지 범위 기준을 어디까지 한정할 것인가에 따라 달라질 것이다.
또한 일반적인 보안 아키텍처의 구성은 외부 공격으로부터 내부 시스템을 보호하는 방식으로 방화벽, 침입 탐지시스템(Intrusion Detection System, IDS), 침입 차단시스템(Intrusion Prevention System, IPS), ESM(Enterprise Security Management), UTM(Unified Threat Management), SIEM(Security Information and Event management) 등을 통해 포괄적 보호를 제공하게 된다.
또한 애플리케이션 계층에서 발생할 수 있는 잠재적인 취약점을 사전에 제거함으로써 내부 시스템의 데이터 보호와 액세스 권한을 제어하게 된다.
이러한 전통적인 보안 아키텍처는 수동적 탐지 통제를 기반으로 특정 시나리오나 환경에 맞는 보안 통제들을 적절하게 설계하여 잠재적인 위험 제거에 초첨이 맞춰져 새로운 위협 징후의 선제적 감지와 효과적인 탐지가 어려운 탐지 통제영역이다.
반면 기존 시그니처 기반의 보안위협 행동 패턴에 의한 탐지 및 대응에서 벗어나 보안 위협을 사전에 감지하여 잠재적인 사이버 공격을 원천적으로 차단하는 대응 전략이 필요하다. 즉 보안 위협의 탐지 범위 기준을 넓혀서 내부 시스템의 잠재적 취약점뿐만 아니라 외부 공격의 잠재적 위협도 사전에 탐지 및 차단할 필요가 있다.
따라서 본 연구에서는 외부 인터넷 환경에서 DNS 서버에 등록된 사이트 정보를 웹 크롤링을 통해 수집하고 해당 정보를 가공한 특징(feature)을 바탕으로 ML(Machine Learning) 학습을 통해 잠재적 위협을 조기에 감지하여 선제적 사이버 위협탐지를 위한 방법론을 제안하고자 한다.
2. 관련 연구
2.1 PDCA 방법론 연구
PDCA 방법론은 Plan, Do, Check, Action으로 제안한 목표를 기준으로 개선에 대한 수립, 실험, 검증 제안 및 재검토 단계를 거듭하면서 최적의 결과를 도출하는 방식이다.
<표 1> PDCA 방법론 단계
계획 단계(Plan)는 연구적 제안을 위해 문제를 파악하기 위하여 관련 자료를 수집하고 분석하여 제안 기준을 설정하는 단계이다.
실행 단계(Do)는 파악된 문제점을 바탕으로 제안하고자 하는 방법론의 프로세스를 적용 및 수행하는 단계이다.
검증 단계(Check)는 실행 단계의 방법론 프로세스에 대한 검증을 통해 연구의 목표와 결과를 평가하는 단계이다.
마지막으로 개선 단계(Action)는 검증 단계의 평가 내용을 바탕으로 연구 목표에서 지향하는 방법론을 표준화 시키거나 재검토를 통해 최적의 결과를 도출하게 된다[1].
2.2 학습 알고리즘
의사결정트리 기반의 Gradient Boosting Machine 기법에서 발전한 XGBoost 알고리즘은 회귀분석과 데이터 분류 등에서 성능이 뛰어나 다양한 영역에서 사용되고 있다.
XGBoost는 기존의 GBM 기법의 단점인 연산속도와 과적합의 취약점을 개선한 모델로 병렬연산 및 과적합 취약점을 보완한 알고리즘으로 예측값 계산식은 다음 (1)과 같다.
\(\begin{align}\widehat{y_{i}}=\sum_{k=1}^{K} f_{k}\left(x_{i}\right)\end{align}\) (1)
또한 과적합의 취약점을 개선한 모델과 관련한 식은 다음 (2)와 같다[3][4].
\(\begin{align}\left\{\begin{array}{c}L=\sum_{i=1}^{n} l\left(y_{i}, \hat{y}_{i}\right)+\sum_{k=1}^{K} \Omega\left(f_{k}\right) \\ \Omega\left(f_{k}\right)=\gamma T+\frac{1}{2} \lambda\|\omega\|^{2}\end{array}\right.\end{align}\) (2)
2.3 웹 크롤러 아키텍처
많은 양의 데이터를 수집 및 분석하여 새로운 정보를 생산하고 목적에 맞게 활용할 수 기술인 BigData, AI의 발전의 바탕이 되는 데이터 선별 수집의 기술로 본 연구의 방법론에 활용되는 웹 크롤러(Web Crawler) 구조는 다음 (그림 1)과 같다[5][6].
(그림 1) 웹 크롤러 구조[7]
웹 크롤러는 조직적이면서 자동화된 기법으로 웹 페이지의 특정 형태의 정보를 수집하는 용도로 사용되며 링크체크나 HTML 코드 검증 등의 작업을 수행한다[7].
3. 제안하는 방법
3.1 계획 단계(Plan)
계획 단계에서는 수동적으로 이루어지는 보안 위협에 대한 차단 방식을 개선하기 위하여 능동적 탐지가 가능하도록 크롤링 기법과 머신러닝 알고리즘을 도입함으로써 보안 위협 가능성이 있는 공격 사이트를 선제적으로 탐지하여 차단률 향상을 목표로 한다.
높은 차단률을 제공하기 위한 반복적 오차 학습에 유리한 XGBoost 머신러닝을 선택한다.
3.2 실행 단계(Do)
실행 단계에서는 보안 위협 가능성이 있는 공격 사이트를 선제적으로 탐지하기 위하여 정상적인 사이트와 공격 사이트의 데이터셋으로 구분하고, 다양한 컬럼을 선정하여 공격 탐지 및 차단률의 성능을 개선하는 방법을 제안한다.
머신러닝 학습 과정에는 차이점이 명확한 컬럼 선정이 필요하며 공격 사이트와 정상 사이트 간의 차이가 확연할수록 학습 알고리즘의 정확도가 향상된다.
3.3 검증 단계(Check)
검증 단계에서는 차단률 향상의 목표를 위해 실행 단계에서 선정한 칼럼을 바탕으로 머신러닝을 생성하여 결과를 확인한다.
다음 <표 2>는 다양한 학습 알고리즘의 종류에 대한 설명을 나타낸 것이다.
<표 2> 학습 알고리즘 종류
3.4 개선 단계(Action)
마지막으로 개선 단계에서는 앞 과정에서 진행한 계획–실행–검증 단계의 과정을 도합하여 문제점을 지속적으로 개선하면서 최종 결과를 도출한다.
데이터셋을 기준으로 학습에 유리한 학습 알고리즘을 선정하고 지도 학습에 영향을 주는 칼럼을 선정하여 단계별로 정확도를 높이게 된다. 검증 과정 이후, 목표를 만족할 때까지 4단계의 과정을 반복 수행한다.
3.5 공격 사이트 탐지 및 차단 시스템 절차
PDCA 방법론을 기준을 (그림 2)와 같이 공격 사이트 탐지 및 차단 시스템에 대한 절차적 세부 내용은 다음과 같다.
(그림 2) 공격 사이트 탐지 및 차단 시스템 절차
- DNS Crawling : 웹 크롤러 아키텍처를 기준으로 DNS 서버를 통해 머신러닝 학습에 사용될 컬럼을 수집한다.
- Data Preprocessing : 데이터의 전처리 과정을 통해 정상 사이트와 피싱 사이트의 데이터셋을 기준으로 필요한 칼럼을 선정한다.
- Machine Learning : 다양한 학습 알고리즘 중 검증 단계를 거쳐 XGBoost 알고리즘을 선택하여 학습을 진행한다.
- IDS/IPS : 학습 데이터를 기준으로 침입탐지 및 침입차단 시스템에 적용한다.
- Data Log : 침입 탐지 및 침입차단 시스템을 통해 얻어진 로그 중 룰에 적용할 로그 데이터를 분류한다.
- Data Signature : 분류된 룰 기반 로그 데이터를 데이터 시그니처 서버에 저장하고 침입 탐지 및 침입차단 시스템에 적용한다.
4. 검증 데이터
4.1 학습 알고리즘을 위한 컬럼 선정
실행 단계에서 공격 사이트 탐지를 위해 정상 사이트와 공격 사이트의 데이터셋을 이용하여 총 37가지의 컬럼을 선정해 공격 사이트 탐지 및 차단률의 성능을 개선하는 방법을 제안한다.
본 연구에서 “스크립트 실행 횟수, SPF” 등 두 라벨 간의 차이가 뚜렷한 칼럼 37개를 선정하여 모델 학습에 사용한다. (그림 3)의 우측 그래프와 같이 공격 사이트는 정상 사이트에 비해 스크립트 실행 횟수가 현저히 적은 것을 확인할 수 있다.
(그림 3) 칼럼 선정을 위한 결과 그래프
4.2 학습 알고리즘 선정
검증 단계에서 선정한 37개의 칼럼을 기준으로 학습시킨 결과 <표 3>과 같다.
<표 3> 학습 알고리즘 수행 결과
학습 알고리즘을 적용한 결과 트리와 앙상블 트리(ensemble tree)는 95.6%, 결정 트리(Decision Tree) 96.1%, 그래디언트 부스팅(gradient boosting) 96.9%, 랜덤 포레스트(Random Forest) 97.2%, XGBoost 98.1%로 나타났다.
5. 결론
4차 산업혁명 시대의 디지털 환경 변화가 가속화됨에 따라 보안의 중요성이 커지고 있지만 기존 정보보안 아키텍처로는 사이버 공격을 대처하는데 한계점이 있다.
기존 보안 아키텍처는 외부 공격으로부터 내부 시스템을 보호하는 방식으로 이러한 전통적인 보안 아키텍처는 수동적 탐지 통제를 기반으로 특정 시나리오나 환경에 맞는 보안 통제들을 적절하게 설계하여 잠재적인 위험 제거에 초첨이 맞춰져 새로운 위협 징후의 선제적 감지와 효과적인 탐지가 어려운 탐지 통제영역이다.
따라서 보안 위협의 탐지 범위 기준을 넓혀서 내부 시스템의 잠재적 취약점뿐만 아니라 외부 공격의 잠재적 위협도 사전에 탐지 및 차단할 필요가 있다.
이를 위해 본 연구에서는 외부 인터넷 환경에서 DNS 서버에 등록된 사이트 정보를 웹 크롤링을 통해 수집하고 해당 정보를 가공한 특징(feature)을 바탕으로 ML(Machine Learning) 학습을 통해 잠재적 위협을 조기에 감지하여 선제적 사이버 위협탐지를 위한 방법론을 제안하였다.
PDCA 방법론을 바탕으로 계획 단계(Plan), 실행 단계(Do), 검증 단계(Check), 검증 단계(Action)를 기준으로 제안한 방법론을 도출하였다.
제안한 방법론은 DNS Crawling, Data Preprocessing, Machine Learning, IDS/IPS, Data Log, Data Signature 영역으로 구분하였다.
이때 실행 단계에서 공격 사이트 탐지를 위해 정상 사이트와 공격 사이트의 데이터셋을 이용하여 총 37가지의 컬럼을 선정 및 적용하였다.
학습 알고리즘을 적용한 결과 트리와 앙상블 트리(ensemble tree)는 95.6%, 결정 트리(Decision Tree) 96.1%, 그래디언트 부스팅(gradient boosting) 96.9%, 랜덤 포레스트(Random Forest) 97.2%, XGBoost 98.1%로 나타났다.
이를 바탕으로 기존의 수동적 탐지 방식인 스테틱 과정의 한계를 개선하고, 향상된 탐지 방법을 제공하기 위해 여러 머신러닝 알고리즘 중 XGBoost를 활용한 공격 사이트 탐지 및 차단 시스템을 제안하였다.
또한, 정상 사이트와 피싱 사이트 간의 차이점이 있는 칼럼을 선정함으로써, 두 라벨 간의 구별된 피쳐가 차단률에 큰 영향을 미치는 것을 확인했고, 최종 98.1% 차단률을 보였다.
결과적으로 공격 사이트 탐지 및 차단을 효율적으로 수행하기 위해 PDCA 방법론을 기반으로 머신러닝 알고리즘을 선택하고, 차이점이 명확하게 구별되는 칼럼을 선정하여 최종 목표에 도달할 수 있는 인선제적 사이버 위협탐지 방법론을 제안한다.
References
- Du, Q. L., Cao, S. M., Ba, L. L. and Cheng, J. M., "Application of PDCA cycle in the performance management system", In 2008 4th International Conference on Wireless Communications, Networking and Mobile Computing, 2008.
- 이인태, 최진용, "PDCA를 활용한 서비스 프로세스혁신 분석:IBM의 TSS 사례를 중심으로", 서비스경영학회지, 제17권 제4호, pp.143-160, 2016. https://doi.org/10.15706/JKSMS.2016.17.4.008
- T. Chen, C. Guestrin, "XGBoost: A Scalable Tree BoostingSystem", KDD, 2016. 06.
- 송경민, 김태근, 윤성국, 손흥구, "학습 데이터에 따른XGBoost 기반 실시간 전력수요예측 모델 성능 비교", 대한전기학회 하계학술대회 논문집, pp.654-655, 2024.
- 조완섭, 이정은, 최치환, "웹크롤러의 수집 주기최적화",한국콘텐츠학회논문지, 제13권 제6호, 2013.
- 한동희, 이영구, "다중 웹사이트 관리를 위한 동작 기반 웹 크롤러 설정 구조 설계", 한국정보과학회 2020 한국컴퓨터종합학술대회 논문집, pp.287-289, 2020.
- https://ko.wikipedia.org/wiki/%EC%9B%B9_%ED%81%AC%EB%A1%A4%EB%9F%AC