DOI QR코드

DOI QR Code

User Behavior Embedding via TF-IDF-BVC for Web Shell Detection

웹셸 탐지를 위한 TF-IDF 및 응답 용량 변동 기반 사용자 행위 임베딩

  • Received : 2024.06.18
  • Accepted : 2024.09.30
  • Published : 2024.12.31

Abstract

As the demand for web applications grows, the importance of security control increases, particularly for detecting webshell attacks that remotely access servers and execute malicious commands. Existing security measures, like web firewalls, can be bypassed and are vulnerable to unknown attacks. Therefore, an anomaly detection technique is needed to define normal behavior from log data and detect deviations. This study proposes a TF-IDF-based embedding technique to vectorize user behavior from web server access logs, thereby defining normal states and detecting anomalies, such as web shell attacks. The proposed method incorporates byte variation count to provide a more refined embedding of user behavior, enabling effective detection of abnormal states like web shell attacks.

웹 애플리케이션의 수요가 나날이 늘어남에 따라 보안 관제 측면의 중요성도 증가하고 있다. 특히 원격으로 서버에 접근하여 악의적인 명령 수행을 수행하는 웹셸 공격은 피해 범위가 넓고 피해 사례 수가 증가하고 있어, 웹 서버 관제 시 웹셸 탐지 능력은 필수적이다. 기존의 웹 방화벽과 같은 보안장비는 우회 가능성이 있으며, 알려지지 않은 공격에 취약하기 때문에 전체 로그 데이터로부터 정상 상태를 정의하고, 이에서 벗어난 비정상 상태를 탐지하는 이상 탐지 기법이 요구된다. 본 연구에서는 웹 서버의 access log에서 웹 서버에 접근한 사용자별 행동특성을 벡터화하여 정상 상태를 정의하고, 이를 벗어난 비정상 상태, 즉 웹셸 공격을 탐지하는 TF-IDF 기반의 임베딩 기법을 제안한다. 본 기법은 응답 용량의 변동을 고려하여 사용자 행동을 보다 정교하게 임베딩함으로써, 웹셸 공격과 같은 비정상상태를 효과적으로 탐지할 수 있다.

Keywords

I. 서론

최근 기업과 기관에서 웹 애플리케이션의 수요가 급증하고 있다. 이에 따라 중요 데이터의 저장과 웹 서버 보안에 대한 중요성이 더욱 부각되고 있다. 특히 웹사이트 보안에서 중요한 사안 중 하나는 웹셸을 통한 원격 제어 시도이다[1]. 웹셸 업로드 공격은 웹 서버를 장악하여 2차 피해로 확산할 수 있는 강력한 공격 방식이기 때문에 주의가 필요하다. 이러한 웹셸 업로드 공격이 급증함에 따라 웹셸 탐지 기법에 대한 논의가 활발히 이뤄지고 있다. 현재까지는 웹 방화벽, 웹 IDS 등의 정보보호 장비 또는 웹 로그관제 모니터링 등을 이용하여 웹 공격 탐지를 수행하고 있다.

웹셸 탐지를 위한 기존 연구들은 주로 패턴 매칭, 시그니처 기반 탐지 기법 등을 활용해 왔다[2]. 이러한 기법들은 알려진 위협을 빠르게 탐지할 수 있지만, 새로운 유형의 웹셸이나 변종 공격을 탐지하는데 한계가 있다. 본 연구에서는 자연어 처리(NLP) 기법을 활용하여 웹 로그 데이터를 분석하는 새로운 접근 방식을 제안한다. 웹 로그 데이터를 분석하여 웹 서버에 접근한 사용자들의 행동 패턴을 벡터화하고, 이를 통해 정상 상태와 비정상 상태를 구분한다.

웹 서버의 Access log는 사용자의 행동 특성을 반영하며, 이를 벡터로 변환하여 수치화할 수 있다. 본 연구에서는 웹셸 로그의 세 가지 주요 특징을 바탕으로 웹셸을 탐지하기 위해 TF(Term Frequency)와 IDF(Inverse Document Frequency)를 사용해 로그에서 빈도와 희귀성을 측정하고, 여기에 BVC(Byte Variation Count)를 가중치로 추가한 TF-IDF-BVC 임베딩 기법을 활용한다. 웹셸 접근에 높은 가중치를 부여하는 방법으로, 이를 통해 비정상적인 접근 패턴을 효과적으로 식별하고, 실시간 관제 상황에서도 빠르고 정확하게 웹셸을 탐지할 수 있다.

본 연구는 변환된 벡터를 활용하여 정상 접근과 웹셸 접근을 구분할 수 있음을 보이기 위해 실제 웹셸 공격 사례의 로그 데이터셋을 통해 검증하였다. 기존 웹셸 탐지 기법은 주로 연구 목적으로 생성된 로그 데이터를 기반으로 실험하여 제안되었다. 그러나 이러한 로그 데이터는 공격 로그와 정상 로그의 비율이 1:1인 것 등, 실제 환경에서 웹셸 공격이 로그 상에 나타나는 특징을 충분히 반영하지 못한다는 한계가 있다. 본 연구에서는 실제 운용 중인 웹 서버로그의 웹셸 공격 사례를 기반으로 검증하여 실상황에서 적용 가능성을 입증한다.

II. 관련 연구

최근 정보보호 분야에서는 웹 공격 탐지를 위한 다양한 연구가 이루어지고 있다. 시그니처 기반 탐지 기법은 공격 패턴을 사전에 정의하고 이를 기반으로 탐지하는 방식이다. 이 기법은 이미 알려진 공격에 대해서는 높은 탐지율을 보이지만 새로운 유형의 공격이나 변종 공격에 대해서는 탐지할 수 없는 한계를 가지고 있다. 이러한 한계를 해결하기 위해, 최근에는 이상 탐지 기법을 도입한 연구가 주목받고 있다.

Lee et al.[3]은 머신러닝 임베딩 기반의 이상 탐지 기법을 제안하여 웹 요청의 비정상을 탐지하였다. 이들은 정상적인 웹 요청의 패턴을 학습하여, 이에 벗어난 형태의 요청이 발생할 때 이상 상태로 탐지한다.

Yu et al.[4] 은 특정 사용자의 엔드포인트로부터 발생하는 로그 시퀀스에 사용자의 행동 특성이 반영될 것을 전제하여 정상 상태를 정의하는 기법을 제안하였다. 개별 로그 이벤트 단위의 분석이 아닌 특정 사용자의 로그 시퀀스에 반영된 행동 특성을 보존하여 벡터화하기 위해 자연어 처리 분야의 단어 가중치 임베딩 방법론을 사용하였다. 로그 시퀀스를 하나의 문서로 정의하여 학습시킴으로써 로그에 나타나는 사용자들의 정상 상태를 정의하고 위협 가능성이 있는 이상 행위를 탐지하였다.

이러한 이상 상태 탐지 기법은 기존에 알려지지 않은 공격에 대해서도 탐지 가능성이 있어 유연한 탐지를 제공한다. 그러나 기존의 방법들은 실제 관제 운용 상황을 충분히 고려하지 못하는 한계를 가지고 있다. 예를 들어, 실상황에서 로그 상 나타나는 웹셸의 특징을 충분히 반영하지 못하거나, 웹셸 공격 시 주로 사용되는 POST 요청 방식을 고려하지 않고 GET 요청 방식만을 분석하는 경우가 있다[5]. 이러한 한계로 인해 기존 기법들은 실제 관제 상황에 적용하기 어려운 문제점을 가지고 있다.

본 연구에서는 이러한 한계를 개선하기 위해 실질적 관제 상황과 웹셸 로그의 특징을 반영한 효과적인 웹셸 탐지 기법을 제안한다. 이를 통해 실제 운용 환경에서의 웹셸 탐지 성능을 향상하고, 웹 서버 보안 강화를 도모하고자 한다.

III. 웹 서버 로그 데이터셋

3.1 웹셸 및 Access log

웹셸은 사이버 공격 중 웹 애플리케이션에 원격으로 접근하는데 사용되는 악성 프로그램이다. 이 악성 웹셸은 서버에서 고위험 작업인 불법 권한 상승, 데이터 도난, 악성코드 전송 등을 수행할 수 있다. 웹셸을 탐지하기 위해 웹 애플리케이션의 모든 파일에서 악의적인 코드를 탐색하거나, 웹 로그 상의 POST 통신 내용을 검사하는 방법이 있다. 그러나 이런 방법들은 필요한 작업량이 많고, 암호화와 난독화 기술의 발달로 우회 기법이 발전하고 있어 정확도가 떨어진다. 본 연구에서는 관제 상황에서 가용한 자원 범위 내에서 정확한 탐지를 위해 로그 데이터로 부터 웹 서버 이용자들의 행위를 분류하여 공격자를 식별할 수 있다는 점에 집중하였다.

로그는 시스템의 문제를 찾거나, 성능 현황을 분석하기 위해서 사용된다. Apache HTTP server의 Access log는 서버가 처리하는 모든 요청을 기록한다. 웹 서버는 클라이언트의 요청을 받고, 해당 웹 페이지를 응답한다(그림 1). 이때 요청 라인 및 상태 라인은 HTTP 구조 내 최상위 라인에 입력되어 전달되고, 웹 서버는 접속 이력을 Access log에 저장한다. Apache HTTP server의 Access log의 포맷은 혼합 로그 포맷(Combined Log Format)으로 _time(발생 시간), src_ip(클라이언트 IP), uri(요청 리소스), bytes(응답 용량) 등을 포함한다.

JBBHCB_2024_v34n6_1231_3_f0001.png 이미지

Fig. 1. Web Server and HTTP Structure

3.2 데이터 수집

본 연구에서는 실제 운용되는 웹 서버의 Access log 데이터를 기반으로 탐지 모델을 구축하였다. 이 로그 데이터는 정상적인 웹 서버 접근 또는 웹셸 업로드와 같은 비정상 행위를 포함한다. 연구에 사용된 데이터셋은 실제 운용 중인 7개의 웹 서버로부터 수집되었다. 표 1은 각 데이터셋의 주요 특성을 요약한 것으로, 데이터 용량, 수집 기간, 데이터셋별 로그 개수, 서버에서 수집된 사용자 수 등을 포함하고 있다. 이 데이터는 일반적인 웹 서버 운용 환경과 유사하며 재현할 수 있는 특성이 있다. 데이터 수집 과정은 다음과 같다.

Table 1. Data Collection

JBBHCB_2024_v34n6_1231_3_t0001.png 이미지

1. 로그 데이터 수집 : 웹 서버에서 발생하는 로그 데이터는 각 서버에 연동된 지능형 보안관제시스템을 통해 수집되었다. 이 시스템은 웹 서버의 모든 접근 요청을 기록하며, 비정상적인 접근 시도를 포함한다.

2. 데이터 범위 : 수집된 로그 데이터는 약 한 달 동안의 웹 서버 접근 기록을 포함하며, 20만에서 60만 줄의 로그 이벤트로 구성되어 있다. 이 중 웹셸 업로드 공격 시도와 관련된 로그 데이터는 각 데이터 셋 마다 1건으로, 각 사건 시점에서의 로그 기록을 포함한다.

본 연구는 실제 웹 서버 환경에서 수집한 데이터를 기반으로 웹셸 탐지 모델의 성능을 평가한다. 실제 운영 환경에서 발생한 로그 데이터를 활용하여 연구 결과의 실효성과 현실적 적용 가능성을 높였다.

IV. 웹 서버 로그 기반 탐지 기법

본 연구에서는 사용자의 행동 특성이 로그 시퀀스에 반영된다는 점을 바탕으로 웹셸 탐지 기법을 제안한다. 다수의 정상적인 사용자의 행동 패턴을 분석하여 정상 상태를 정의하고, 웹셸 공격을 시도한 악의적인 사용자는 이와 다른 비정상적인 행동 특성을 보일 것이라는 가정에 기초한다. 이를 통해 비정상적인 행동 특성을 식별하여 웹셸을 탐지하는 알고리즘을 개발하였다. 본 알고리즘은 TF-IDF-BVC 임베딩 기법을 활용하여 사용자의 행동 특성을 벡터화하고, 이를 통해 웹셸 접근을 효과적으로 탐지하는 방법을 제안한다.

4.1 데이터 특성 선택

웹 서버에서 수집이 가능한 데이터로는 로그 발생 시간, 서버에 접근한 원격 호스트 IP, 메서드(method), 상태 코드(status), 응답 용량(bytes), 접근 경로(URI), 사용자 에이전트(user-agent) 등이 있다. 그림 2는 실제 Access log를 재구성한 사례이다. 각 원격 호스트 IP 별 접근한 경로와 그에 대한 서버의 응답 용량을 기반으로 악의적인 행위 여부를 분석한다.

JBBHCB_2024_v34n6_1231_4_f0001.png 이미지

Fig. 2. Example of Access Log

본 연구에서는 사용자의 행위를 분석하기 위해 시간에 따른 접근 경로와 서버 응답 용량을 주요 특성으로 선택하였다. 정상 사용자의 경우, 웹 서버의 설정된 기능에 맞게 일정한 경로로 접근하기 때문에 URI 필드는 정상적인 행위를 식별하는 데 중요한 역할을 한다. 각 사용자의 접근 경로 집합을 분석함으로써 정상적인 행위와 비정상적인 행위를 비교할 수 있다. 정상적인 접근 경로는 일정한 패턴을 보이지만, 비정상적인 접근 경로는 이 패턴에서 벗어나는 특성을 보인다. 또한 같은 경로에 대한 접근이라도 요청의 내용에 따라 서버 응답 용량이 다르게 나타난다. 비정상적인 행위, 특히 웹셸 공격은 정상적인 요청과 다른 응답 용량 패턴을 보일 수 있으므로 서버 응답 용량을 분석하여 비정상적인 행위를 탐지할 수 있다. 이러한 두 가지 특성(접근 경로와 서버 응답 용량)을 통해 정상적인 사용자 행위와 비정상적인 웹셸 공격을 구별할 수 있으며, 이를 통해 효과적인 탐지 모델을 구축할 수 있다.

4.2 로그 시퀀스 생성

본 연구에서는 사용자 식별(user-identification)을 위해 일반적으로 사용되는 방법과는 다른 접근을 취했다. 기존 방법 대부분은 IP 주소와 user-agent를 함께 사용하여 로그를 세션으로 구분하는 “IP Address & Agent Method”를 활용한다. 그러나 본 연구에서는 실제 운용 중인 웹 서버의 데이터를 기반으로 연구를 진행하면서, 실제 관제 운용 상황에서 공격자를 식별할 때 주로 IP 주소를 기준으로 사용한다는 점을 반영하였다. IP 주소만으로 제한하는 것은 정확한 user-identification을 보장하지 못할 수 있지만, 실제 관제 상황에서는 user-agent가 변동될 가능성이 크고 IP 주소가 더 안정적인 식별 요소로 활용된다. 따라서 본 연구에서는 IP 주소를 중심으로 사용자 식별을 수행함으로써 실제 관제 환경에 더욱 적합한 탐지 모델을 구축하고자 한다.

이후, 각 사용자가 접근한 경로(url-path)들을 시간순으로 정렬하고, 각 접근 별 로그 시퀀스를 생성하였다. 그림 3은 로그 시퀀스를 생성하는 과정을 도식화한 다이어그램이다. 로그 시퀀스는 사용자의 웹 서버 접근 이력을 바탕으로 요청과 응답에 대한 맥락 정보를 포함하고 있다. 이를 분석하기 위해 자연어 처리 기법을 활용하였다. 자연어는 사전에 정의된 단어로 구성되며, 단어 임베딩을 통해 문장 내 단어를 기계가 해석할 수 있는 벡터로 변환할 수 있다. 본 연구에서는 사용자가 접근한 웹 서버 내의 파일 위치 (url-path)를 ‘단어’로, 사용자별 로그 시퀀스를 ‘문장’으로 간주하여 단어 임베딩을 수행한다. 이를 통해 도출된 사용자 행위 맥락 정보를 활용해 웹셸 위협 탐지를 수행한다. 또한 url-path 접근 시 발생하는 응답 용량은 각 단어의 메타 정보로 간주하여 추가 분석을 진행하였다.

JBBHCB_2024_v34n6_1231_4_f0003.png 이미지

Fig. 3. Diagram of User-Identification

4.3 웹셸 탐지 기법

본 연구에서는 웹셸 탐지를 위해 자연어 처리 기법을 활용하여 웹 로그 데이터를 분석하는 방법을 제안한다. 자연어 처리 분야에서는 단어를 벡터와 같은 연산 가능한 형태의 수학적 객체로 표현하기 위해 다양한 기법이 사용되며, 그 중 대표적인 방법으로 TF-IDF가 있다. TF-IDF는 여러 문서로 이루어진 문서 군에서 특정 단어가 특정 문서 내에서 얼마나 중요한지를 나타내는 통계적 수치이다. 이는 문서 내에서 단어가 등장한 빈도수(TF)와 단어가 등장하는 문서의 수에 대한 반비례 함수(IDF)의 곱으로 특정 단어의 가중치를 계산한다. 이 방법을 웹 로그 데이터에 적용하여 웹셸을 탐지하는 방법을 제안한다.

웹셸 탐지를 위해 웹 로그 데이터를 분석하기 위해 웹셸 로그의 공통적인 특징을 고려해야 한다. 웹셸 로그의 공통적인 특징으로는 다음과 같이 세 가지가 있다.

1. 다수의 접근 : 공격자는 웹셸 경로에 해당하는 url-path에 반복적으로 접근한다. 이는 특정 문서에서 단어가 얼마나 자주 등장하는지를 나타내는 TF와 유사하다. 정상적인 기능을 가진 url-path에 집중적으로 반복하여 접근하는 경우는 일반적이지 않다. 따라서 특정 사용자의 로그 시퀀스에서 특정 url-path가 빈번하게 나타난다면, 이는 웹셸로 의심할 수 있다.

2. 특이성 : 웹셸의 url-path는 많은 사용자가 접근하는 일반적인 경로와 다르게, 특이성이 높다. 이는 TF-IDF에서 높은 IDF 값을 가지게 되는 원리와 유사하다. 정상적인 웹 페이지는 여러 사용자가 접근하므로 일반적이지만, 웹셸의 url-path는 오직 공격자만이 접근하는 경로이다. 따라서 특정 사용자의 로그 시퀀스에서 매우 제한된 사용자만이 접근하는 특이한 url-path가 빈번히 등장한다면, 이는 웹셸로 의심할 수 있다.

3. 응답 용량의 변동 : 응답 용량의 변동은 웹셸에 대한 탐지에서 중요한 지표 중 하나이다. 웹셸은 웹 서버에 악의적인 명령을 전달하여 다양한 작업을 수행하는데, 이 과정에서 요청한 명령의 결과에 따라 서버가 응답하는 데이터의 용량이 변동된다. 따라서 특정 url-path에 접근할 때마다 응답 용량이 크게 변동한다면, 이는 웹셸과 같은 비정상적인 활동의 가능성을 시사한다. 본 연구에서 응답 용량의 변동을 수치화한 변수로 BVC(Byte Variation Count)를 정의하였다.

앞서 언급한 웹셸 로그의 세 가지 특성을 바탕으로, 우리는 웹셸 탐지를 위해 로그 시퀀스를 TF-IDF-BVC 임베딩 기법으로 벡터화하는 방법을 제안한다. TF-IDF-BVC 임베딩은 기존 TF-IDF 임베딩 결과에 응답 용량 변동 횟수(BVC)를 곱하여 가중치를 부여하는 방식으로 임베딩 결과가 큰 값을 가질 경우 웹셸 접근일 가능성이 높다. 본 기법을 활용하여 웹 서버 로그에서 비정상적인 접근 패턴을 효과적으로 식별할 수 있다.

TF, IDF, BVC 값의 계산 및 이를 통한 임베딩 벡터의 생성 과정은 그림 4에 자세히 설명되어 있다. 먼저, 각 URI에 대한 TF는 특정 사용자 세션에서 해당 URI가 나타나는 빈도에 따라 계산된다. 이 과정에서는 각 URI가 주어진 세션 내에서 몇 번 등장했는지를 세어 벡터화한다. 다음으로, IDF는 전체 사용자 세션 중 해당 URI가 등장한 세션의 수, DF(Document Frequency)를 기반으로 산출되며, DF에 대한 전체 세션 수의 로그 값으로 표현된다. 이를 통해, 자주 등장하지 않는 URI에 더 높은 가중치를 부여하여 중요한 URI를 강조한다. 마지막으로, BVC는 각 URI에 대해 응답받은 용량의 변동 횟수를 측정하며, 기본값을 1로 시작해 변동이 있을 때마다 값을 증가시킨다. 이는 해당 URI의 요청이 서버에 미치는 영향을 반영한 값이다. 이후, 각 URI에 대해 계산된 TF, IDF, BVC 값을 곱하여 최종 임베딩 벡터가 생성된다. 이 벡터는 웹 로그 시퀀스에서 비정상적인 접근, 특히 웹셸 접근을 탐지하기 위한 중요한 특징을 담고 있으며, 이를 기반으로 웹셸과 정상 접근을 구분하는 데 활용할 수 있다.

JBBHCB_2024_v34n6_1231_5_f0001.png 이미지

Fig. 4. TF-IDF-BVC Embedding

V. 실험 및 평가

본 연구에서는 웹 로그 시퀀스 임베딩 기법의 웹셸 탐지 성능을 비교하기 위해 데이터 분포 시각화를 통한 직관적 이해와 ‘탐지 후보군’ 수치를 통한 정량적 분석을 진행한다. 탐지 후보군이란, 로그 데이터를 각 임베딩 기법으로 분석하여 이상치로 분류된 데이터 집합을 의미한다. 구체적으로, 실 웹셸을 한 개씩 포함한 7개의 데이터셋을 활용해, 임베딩 결과 실 웹셸이 탐지 후보군 내에 포함되었다는 전제하에, 탐지 후보군의 크기가 작을수록 오탐률이 작은 것을 의미한다.

그림 5는 두 서버 A, B의 로그 시퀀스에 TF-IDF 임베딩 기법을 적용한 벡터를 바탕으로 시각화된 데이터 분포를 나타낸다. 서버 A와 B의 데이터 분포를 분석한 결과, 정상 접근 로그와 웹셸 로그 간의 겹치는 영역이 많아 웹셸 탐지의 불확실성이 높아졌다. 또한, 겹치는 영역 외에도 정상 접근 로그 중 일부가 이상치보다 높은 임베딩 값을 나타내는 반례가 확인되었다. 예를 들어, 서버 A에서는 정상 접근 로그 중 1개, 서버 B에서는 5개의 정상 접근 로그가 웹셸 이상치보다 높은 임베딩 값을 가졌다. 이러한 결과는 TF-IDF 활용한 웹 로그 임베딩 시 정상 로그가 이상치로 잘못 분류될 가능성을 증가시키며, 웹셸과 정상 로그를 명확히 구분하는 데 어려움이 있음을 확인할 수 있다.

JBBHCB_2024_v34n6_1231_6_f0001.png 이미지

Fig. 5. Visualization of Embedding Values with TF-IDF

이에 반해, 제안된 TF-IDF-BVC 기법은 기존의 한계를 극복하고 웹셸을 효과적으로 탐지할 수 있음을 보여준다. 그림 6는 두 서버 A, B의 로그 시퀀스에 TF-IDF-BVC 기법을 적용한 후의 시각화 결과이다. TF-IDF-BVC 기법을 사용한 경우, TF-IDF에 비해 웹셸을 보다 명확히 이상치로 구분된다. 특히, 그림 6의 서버 A에 대한 데이터 분포에서 대부분의 정상 접근 로그가 TF-IDF-BVC 임베딩 값이 0에 가까운 낮은 값에 집중되어 있어, 사분위 수 범위 내 정상치에 해당하는 상자가 직선 형태로 나타난다. 반면, 웹셸 접근 로그는 4000 이상으로 정상치에 비해 매우 높은 값을 나타난다. 이러한 결과는 TF-IDF-BVC 기법이 웹셸을 정상 로그와 확연히 구분할 수 있음을 시사한다.

JBBHCB_2024_v34n6_1231_6_f0002.png 이미지

Fig. 6. Visualization of Embedding Values with TF-IDF-BVC

다음으로, 본 연구에서는 TF, IDF, BVC 세 지표가 웹셸 탐지에 미치는 영향을 검증하기 위해 TF-IDF-BVC 임베딩 기법과 기존의 TF-IDF 및 TF-BVC, IDF-BVC 임베딩 기법들과 비교하였다. 7개의 데이터셋에 대해 각 임베딩 기법을 적용한 후, 이상치로 식별된 탐지 후보군을 비교 분석하였다. 탐지 후보군에 포함된 웹셸 외의 데이터는 오탐에 해당하므로, 효과적인 탐지 기법일수록 탐지 후보군의 크기가 작아야 하며, 탐지 후보군 내에 웹셸이 반드시 포함되어야 한다. 따라서 탐지 후보군의 크기와 웹셸의 포함 여부를 기준으로 각 기법의 성능을 평가하였다.

표 2는 각 임베딩 기법의 성능을 비교한 결과를 보여준다. 각 칼럼은 서버별 총 데이터 수와 함께 TF-IDF-BVC, TF-IDF, TF-BVC, IDF-BVC 임베딩 기법을 적용한 후 도출된 탐지 후보군의 크기를 나타낸다. 7개의 데이터셋에 대해 실험한 결과, 모든 탐지 후보군에는 웹셸이 포함되었으며, TF-IDF-BVC 기법이 생성한 탐지 후보군의 크기가 가장 작았다. 예를 들어, Server D의 경우 전체 57,432개의 데이터 중 TF-IDF-BVC 기법을 적용한 탐지 후보군은 48개로, 이는 전체 데이터의 약 0.08%(48/57,432)에 해당한다. 반면, TF-IDF 기법은 약 0.42%(242/57,432), TF-BVC 기법은 약 1.8%(1037/57,432), IDF-BVC 기법은 약 0.22%(129/57,432) 비율의 탐지 후보군을 생성하였다.

Table 2. Detection Candidate Results by Four Types of Embedding on Seven Servers

JBBHCB_2024_v34n6_1231_7_t0001.png 이미지

특히 TF-IDF-BVC 기법의 오탐 개수는 47개로, 이는 탐지 후보군 개수 48개 중 정탐된 웹셸 1개를 제외한 수치이다. 반면, TF-IDF 기법의 오탐 개수는 241개에 달했다. 이 결과는 TF-IDF의 탐지 후보군 비율이 0.42%인 반면, TF-IDF-BVC 기법의 탐지 후보군 비율은 0.08%로 약 81% 감소시켰으며, 이로 인해 오탐이 크게 줄었음을 의미한다. 이러한 결과는 TF-IDF에 BVC 변수를 추가함으로써 탐지 후보군의 크기를 줄이고, 오탐을 효과적으로 감소시켜 TF-IDF-BVC 기법이 웹셸 탐지에 더욱 우수한 성능을 제공함을 의미한다.

VI. 결론

본 연구에서는 웹 서버의 Access log 데이터를 기반으로 사용자의 행동 특성을 벡터화하여 웹셸 공격을 탐지하는 기법을 제안하였다. 기존의 웹셸 탐지 기법들은 시그니처 기반 탐지에 의존하여 새로운 유형의 공격이나 변종 공격을 탐지하는 데 한계를 보인다. 본 연구에서는 이러한 한계를 극복하고자 TF-IDF-BVC 임베딩 기법을 사용하여 로그 시퀀스에서 비정상적인 행동 패턴을 효과적으로 식별할 수 있는 방법을 제안하였다. 실험 결과, 제안된 기법은 정상 접근과 웹셸 접근을 높은 정확도로 구분할 수 있음을 확인하였다. 특히, 실제 운용 중인 웹 서버 로그 데이터를 기반으로 검증함으로써, 제안된 방법이 실시간 관제 상황에서도 높은 성능을 발휘할 수 있음을 증명하였다. 향후 연구에서는 다양한 웹 로그와 웹셸 샘플들을 확보해 연구를 발전시킬 예정이다.

References

  1. Hannousse, A., Nait-Hamoud, M.C. & Yahiouche, S, "A deep learner model for multi-language webshell detection", Int. J. Inf. Secur, vol. 22, pp.47–61, Feb.2023. https://doi.org/10.1007/s10207-022-00615-5
  2. T. Dinh Tu, C. Guang, G. Xiaojun and P. Wubin, 'Webshell detection techniques in web applications,' Fifth International Conference on Computing, Communications and Networking Technologies (ICCCNT), pp. 1-7, Nov. 2014.
  3. Hwaseong Lee · Ki Su Kim, "Novelty Detection on Web-server Log Dataset" Journal of the Korea Institute of Information and Communication Engineering, 10(2), pp. 100-103, Feb. 2012.
  4. Cholong Yoo, & Pilsung Kang, A Study on Threat Detection based on User Behavior Model Using System Event LogS of Endpoint Security Solution Journal of the Korean Institute of Industrial Engineers, 46(6), pp. 637-649. 2020. https://doi.org/10.7232/JKIIE.2020.46.6.637
  5. J. Liang, W. Zhao, and W. Ye, "Anomaly-Based Web Attack Detection: A Deep Learning Approach," the International ACM Conference on Network, Communication and Computing, pp. 80-85, Dec. 2017.
  6. Jungwon Kim, & Ho-Jin Choi, "Ensemble Model for Detecting Abnormal Symptoms of IT Infrastructure using Time Series Access Log Data", Journal of KIISE, 48(9), pp. 1035-1043, 2021. https://doi.org/10.5626/JOK.2021.48.9.1035
  7. Berlin, K., Slater, D., and Saxe, J., "Malicious Behavior Detection Using Windows Audit Logs", In Proceedings of the 8th ACM Workshop on Artificial Intelligence and Security, pp. 35-44, 2015.
  8. Kim, H. D., Kim, J. H., Park, M. S., Cho, S. H., and Kang, "Insider Threat Detection based on User behavior Model and Novelty Detection Algorithms", Journal of the Korean Institute of Industrial Engineers, 43(4), pp. 276-287, 2019. https://doi.org/10.7232/JKIIE.2017.43.4.276
  9. S.M. Bellovin and M. Merritt, "Augmented encrypted key exchange," Proceedings of the 1st ACM Conference on Computer and Communications Security, pp. 244-250, Nov. 1993.
  10. Wu, Yixin, Sun, Yuqiang, Huang,Cheng, Jia, Peng, Liu, Luping,"Session-Based Webshell DetectionUsing Machine Learning inWebLogs", Security and Communication Networks, pp. 11, 2019. https://doi.org/10.1155/2019/3093809