보안정보

전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.

ESM을 통한 웹사이트 비정상 접속 탐지

2015.08.24

10,543

 

보안관제사업본부 보안분석팀 김남현

 

1.  개요

 

과거부터 현재까지 발생하는 웹사이트를 통한 공격은 꾸준하게 그 빈도수가 유지되거나 증가하고 있으며, 이를 통한 공격은 현재도 꾸준하게 시도되고 있다. 웹서비스를 이용한 공격은 그 방법도 다양할 뿐만 아니라 취약하게 설정된 모든 어플리케이션들이 웹의 특성상 공격자가 접근 가능하도록 노출되어 있는 상태이다.

 

ESM을 통하여 해당 공격을 신속하게 탐지하고 혹은 발생한 침해사고의 원인을 신속하게 파악하여 안정적인 웹서비스를  구축하는 동시에 24시간 열려있는 웹에 대해 보다 강화된 보안정책을 세워야 한다.

 

해당 이벤트를 탐지하기 위한 환경 구성은 윈도우기반 이지만, Apache를 비롯한 다른 OS에서도 응용해서 사용한다면 활용도가 높을 것으로 보인다.

 


[그림 1] 주요 웹 어플리케이션 공격들

 

2. ESM Agent 설정

 

 

1) ESM 환경설정 변경 

 

* ESM Agent의 수집 설정을 바꾸기 위해 암호화 되어 있는 Config 파일을 복호화 한 후 수정하는 작업이 필요하다.

1.모듈설정에 [msiis]를 추가한다.

2.[mssiis] 값에 사용하고자 하는 웹서버가 저장하는 로그를 지정한다.


[그림 2] ESM AGENT Config 파일 변경

 

2) ESM 웹 로그 수집 설정

수집된 로그를 사용하기 위해 ESM에서 수집 조건을 등록해야 한다. 

[그림 3] WEB 수집 조건 설정

정상적으로 ESM 로그가 수집되는 것을 볼 수 있다. 

 


[그림 4] WEB 수집 화면

 

3. ESM을 통한 공격 탐지 설정 


1) 임계치 기반 공격 탐지

 

① ESM 연관성 규칙 설정

웹을 통한 공격은 서비스 거부 공격과 함께 더불어 자동화된 공격툴을 통해 스캔 공격이 성행하고 있다. 동일한 IP에서 지속적으로 과다한 웹사이트 요청이 있다면  임계치를 걸어 탐지할 필요가 있다.

 

1.설정 -> 연관성 분석 ->  반복발생 판단 주기 1분으로 설정
2.분포 -> Source IP 분포 1  체크 및 설정

3.이벤트관계 -> 동일 -> Source IP 체크

4.네트워크 [탭] 으로 이동 -> 횟수 Web을 500 이상으로 설정 (판단에 맞게 조정)

 


[그림 5] 웹페이지 과다 요청 탐지를 위한 탐지 규칙 설정

 


< 시나리오>

공격자가 서비스 거부 공격 도구 및 자동화된 공격 도구로 웹 서버의 가용성을 저하시키기 위해 과다 접속을 시도하는 상황이다.

 


② ESM 탐지 및 상세 분석

탐지된 이벤트로 아래와 같이 실시간 경보가 발생하는 것을 볼 수 있다.

 


[그림 6] 과다 요청 이벤트 탐지

 

위 화면에서 더블클릭 후, 탐지된 기록을 확인하여 실제 공격인지 아닌지 확인해야 한다.

 

 
[그림 7] 과다 요청 이벤트 상세 분석

 


공격으로 의심되는 IP에 대해 상위 10을 조사한 후, 많은 비정상 접속을 시도한 IP를 분석하여 차단 조치해야 한다.

 


[그림 8] 통합 분석을 통해 과다 접속한 IP 확인

 

2) 비정상 User Agent 탐지

 


① ESM 연관성 규칙 설정

 


공격자는 일반 브라우저가 사용하지 않는 툴을 사용하기 때문에 웹서버에서 정상적이지 않은 Agent 정보를 남길 수 있다.
 

1.설정 -> 연관성 분석 ->  이벤트 등록
2.네트워크 [탭] 으로 이동 -> 횟수 Web을 10으로 설정 (판단에 맞게 조정)

3.Web URL/Web Note -> 비정상 User Agent 정보 추가 (Nikito, Dirbuster, ZmEu 등)

 

•비정상 User Agent 참고사이트

http://www.user-agents.org/

 

 
[그림 9] 웹페이지 과다 요청 탐지를 위한 탐지 규칙 설정

 

< 시나리오>

공격자가 자동화된 스캔 도구 및 프록시 도구를 통해 웹사이트에 적극적인 스캔 공격을 하는 상황으로 도구에 명명된 특정 User Agent를 통해 웹 서버에 요청을 하고 있는 상황이다.

 

② ESM 탐지 및 상세 분석

탐지된 이벤트로 아래와 같이 실시간 경보가 발생하는 것을 볼 수 있다.

 


[그림 10] 비정상 접근 Agent 탐지

 


Raw데이타를 통해 비정상 사용자인지 확인하고, 해당 공격이 성공되었는지 확인할 필요가 있다.

 


 [그림 11] 탐지된 비정상 접속 정보

 

통합 분석을 통해 비정상 IP를 추출하여 해당 페이지에 대한 공격 여부와 유효한지에 대한 추가 분석이 필요하다.

 

 
[그림 12] 통합 분석 결과

 


3) 에러 페이지 요청시도 탐지


① ESM 연관성 규칙 설정

특정 사용자가 정상적인 웹사이트 접속을 하지 않고 아닌 에러 페이지(Not Found, forbidden 등)의 요청을 지속적으로 시도할 경우, 외부에서 취약점을 찾기 위한 공격을 탐지할 수 있고 서버의 비정상적인 동작을 확인하여 가용성을 체크할 수 있다.

 

1.설정 -> 연관성 분석 ->  반복발생 판단 주기 1분으로 설정
2.분포 -> Source IP 분포 1  체크 및 설정

3.이벤트관계 -> 동일 -> Source IP 체크

4.네트워크 [탭] 으로 이동 -> 횟수 Web을 10 이상으로 설정 (판단에 맞게 조정)

5.수집대상 이벤트 -> Web에서 OK/Accept 를 제외한 에러 항목 체크

 


[그림 13] 웹페이지 과다 요청 탐지를 위한 탐지 규칙 설정

 

4) 악의적인 GET 파라미터 요청 탐지

 


① ESM 연관성 규칙 설정

 

공격자는 SQL Injection, XSS 공격, 디렉토리 경로 조작 등의 취약점을 통해 악의적인 명령을 전송하게 된다. 해당 공격을 GET 파라미터로 전송했을 경우에 패턴기반으로 탐지가 가능하다. 다만 POST로 전송한 파라미터는 웹로그에 남지 않기 때문에 IPS/웹방화벽을 통해서 탐지해야 한다. 해당 페이지에서는 이벤트 규칙을 통합해서 하나로 두었지만, 웹 공격 유형별로 이름을 나누어서 생성해야 탐지 효과가 좋고 룰 관리가 용이하다.

 

1.설정 -> 연관성 분석 ->  이벤트 등록
2.네트워크 [탭] 으로 이동 -> 횟수 Web을 10 이상으로 설정 (판단에 맞게 조정)

3.Web URL/Web Note -> 악의적 파라미터 입력(script, alert, union, select  등)
* 공격 패턴 참고 사이트 (https://www.owasp.org/index.php/OWASP_Cheat_Sheet_Series)

 


 [그림 14] 악의적인 파라미터 탐지를 위한 규칙 등록

 

< 시나리오>

공격자가 취약한 페이지를 찾는 과정에서 실제 악의적인 파라미터를 입력해서 서버의 불법적인 권한을 획득하고자 하는 상황이다.

 


② ESM 탐지 및 상세 분석

 


탐지된 이벤트로 아래와 같이 실시간 경보가 발생하는 것을 볼 수 있다.

 


 [그림 15] 악의적인 파라미터 공격 탐지

 


Raw데이타를 확인하면, 악의적인 명령이 실제 수행되었는지 확인할 수 있다.

 

 
 [그림 16] 전송된 악의적인 파라미터 확인

 

실행한 명령어를 바탕으로 이벤트 검색을 통해 직접적으로 공격수행 이력을 파악하여 대응 조치해야 한다.

 

 
 [그림 17] 공격에 대한 검색 결과

 

 

4. 결론 및 마무리

인터넷의 장점은 누구든지, 어디에서든지 접속해서 지식을 나누거나 얻고자 하는데 있다. 그리고 그 중심에는 웹이 있다. 그리고 다시 말하면 웹은 누구든지, 어디에서든지 접근해서 시스템의 피해를 입힐 수 있다.

이 때문에 홈페이지에 존재하는 웹 어플리케이션 취약점은 나날이 발전에 발전을 거듭해 왔고, 다른 해킹 기법과 비교하여 상대적으로 낮은 수준의 기술로도 해킹이 가능할 뿐만 아니라, 최근에는 이를 이용해 많은 사용자들을 대상으로 빠른 시간 내 악성코드의 전파를 시도하기도 한다. 안일하게 생각했던 그리고 편하게 생각했던 웹이라는 정보공유 환경이 타인에게 피해를 입히는 악성코드 공유환경으로 전락할 수도 있는 상태인 것이다.

공격자들의 지능적인 공격방법에 대하여 대응하기 위해 다양한 탐지 방법이 연구되어야 하며, 이를 통해 방어하는 사람의 사고도 같이 진화할 필요가 있다. 또한 우리가 생각하지 못했던 위협에 대해 예방하고, 탐지하고, 개선 조치하는 다각도의 프로세스와 대응 프레임워크가 필요한 시점이다.

비록 모든 공격에 대해 100% 탐지하는 것은 불가능 하더라도, 최소한 알려져 있는 공격 그리고 발생한 이벤트를 통해 비정상 데이터를 추출하여, 이상징후에 대해 탐지할 수 있어야 한다. 이를 통해 가장 친근한 존재이며 가장 위협적인 존재인 웹 어플리케이션 기반의 공격에 대해 효율적으로 대응하기를 바란다.