보안정보

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

SIEM을 통한 경보 설정과 이벤트 대응

2018.03.06

9,950

보안관제센터 원격관제팀 장성운

 

 

이글루시큐리티 보안관제 서비스는 외부로부터의 침해시도를 예방하고 내부 정보자산을 보호하기 위해 효율적이고 효과적인 정보 보안 업무를 수행하는 서비스입니다. 보안관제는 고객사의 다양한 보안장비 및 서버에서 탐지되는 보안 이벤트를 수집하여 사이버 침해 공격에 탐지/차단/대응을 통해 사이버 침해를 예방하고 기업 및 기관의 보안을 강화합니다. 

 

 

1. 개요

 

이글루시큐리티 보안관제센터에서는 SIEM(SPiDER TM 5.x)을 통해 각종 보안장비에서 로그를 수집하고 이를 기반으로 공격 행위에 대한 경보를 생성한다. 이벤트가 발생하면 정∙오탐 판단 및 공격 유효성 확인과 대응조치를 통해 발생된 위협으로 부터 고객의 자산을 보호하고 있다. 이번 호에서는 SIEM(SPiDER TM 5.x)에서 경보를 생성하여 이벤트 발생 시 대응방법에 대해 소개하고자 한다.

 

 

 

[그림 1] 이벤트 대응 프로세스

 

 

2. 경보 생성

 

SIEM에서 경보를 생성하기 위해서는 보안장비의 탐지패턴 등록이 선행되어야 한다.

일반적으로 기업에서 보유하고 있는 IDS/IPS, 웹 방화벽 장비의 경우, 미리 등록된 시그니쳐 또는 임계치 기반 패턴에 적합한 공격이 발생 했을 때 경보 및 로그가 생성되기 때문이다. 이 때 생성된 로그는 실시간으로 SIEM으로 전송되고, SIEM에서 생성한 경보패턴과 일치했을 경우 알람이 발생한다. 관제요원은 발생한 이벤트에 대해 정탐/오탐 여부를 판단하고, 정탐일 경우 공격 유효성 확인 및 공격자를 네트워크 상에서 차단조치 한다.

 

 

 

[그림 2] 보안관제 침해대응 시나리오

 

 

1) 보안장비 탐지패턴

 

지난 3월에 발표된 Apache Struts2 취약점(CVE-2017-5638)은 Struts2 원격코드 실행 취약점으로, 자카르타(Jakarta) 플러그인을 이용하여 파일 업로드를 처리할 때, 원격에서 임의의 코드를 실행할 수 있다. 공격자는 HTTP Request 헤더의 Content-Type 헤더 필드에 OGNL 표현식을 삽입할 경우 원격코드 실행을 가능하게 한다. 해당 취약점에 자세한 내용은 4월호 월간보안동향을 참고하기 바란다.

 

실제 공격로그의 일부는 아래와 같다. 공격 행위에서 남게 되는 로그 중 정탐으로 판단할 수 있는 시그니쳐를 보안장비에서 탐지패턴으로 등록 한다.

 

 

  

[표 1] 실제 공격로그의 일부

 

 

탐지패턴

Content-Type: %
ognl.OgnlContext@DEFAULT_MEMBER_ACCESS
com.opensymphony.xwork2.ActionContext.container

 

[표 2] 공격로그 기반의 탐지패턴

 

 

2) SIEM(SPiDER TM 5.x) 단일경보 등록

 

단일경보란, SIEM에서 수집하는 데이터를 근거로 사용자가 원하는 설정(패턴, 임계치 등)에 의해 알람을 띄우는 경보를 뜻한다. 관제요원이 실제 탐지 및 대응하기 위해 관제하는 경보 중 한 종류이며, 단일경보 생성 시 룰이름, 신뢰도, 발생주기, 발생건수, 로그소스, 조건정의, 포함조건, 제외조건, 동일조건 등을 등록하여 원하는 설정이 가능하다

 

관리 -> 설정관리 -> 단일경보 관리

 

 

구분

내용

룰이름

  [TEST] Apache Struts2 Vulnerabilty(CVE-2017-5638)

발생주기

  1 min

발생건수

  1

로그소스

  SIEM에 연동된 보안장비 선택

조건정의

매칭할 오브젝트 등록

 동일조건

  출발지 IP

 

[표 3] 단일경보 설정내용

 

 

 

[그림 3] 단일경보 등록

 

 

3. 이벤트 대응

 

위와 같이 단일경보를 등록했다면 SIEM(SPiDER TM 5.x)에서 경보 설정은 완료 되었다.

생성된 경보가 발생하면 관제 요원은, 경보에 대한 정탐/오탐 판단을 하고 정탐일 경우 공격 유효성 확인 및 차단조치, 오탐일 경우 오탐원인에 따른 예외처리를 적용 한다.

 

1) 경보 모니터링

 

 

 

[그림 4] 단일경보 발생

 

 

 

 

[그림 5] 상세분석을 통한 공격 추이 확인

 

 

2) 유효성 테스트

 

발생한 경보가 정탐으로 판단될 경우, 발생한 공격에 대한 유효성 테스트를 한다.

Apache Struts2 RCE 취약점의 경우, Windows와 Linux 등 서버 OS(Operating Sytstem)에 따른 구분은 없으며 취약한 버전의 Struts2가 설치된 환경이면 취약점이 존재하기 때문에 유효성 테스트에 고려할 사항은 많지 않다. 

 

해당 취약점을 테스트 할 수 있는 자동화된 도구들이 인터넷상에 많이 공개되어 있다.

그 중, Python 기반코드로 작성된 s2-045.py 도구를 가지고 원하는 원격코드를 서버에 전달할 수 있는데, 공격 테스트할 PC에 Python을 설치하고, s2-045.py 파일을 다운받은 후에 아래의 캡쳐화면과 같이 명령 프롬프트를 이용하여  목적지 서버 주소 및 원격코드 명령어를 입력하여 유효성 테스트가 가능하다.

한 가지 고려할 부분은 고객 자산에 피해가 가지 않을 수준에서의 확인작업이 중요하기 때문에, 테스트 명령어로 윈도우의 경우 ipconfig, whoami, 리눅스의 경우 ifconfig, ls, whoami와 같이 실행되어도 서버에 무해한 명령으로 테스트하는 것이 바람직하다.

 

 

 

[그림 6] 유효성 테스트

 

 

구분

내용

서버 환경

• Ubuntu Server 16.04
• Tomcat 7
• Apache Struts2 showcase 2.3.12
• Java 1.8.0_121

 

[표 4] 테스트 환경

 

 

4. 요약

 

발생한 경보에 대한 정탐/오탐 판단 및 대응 프로세스 정리

 

 

[그림 7] 경보 모니터링 정탐/오탐 판단

 

 

[그림 8] 이벤트 대응 프로세스

 

 

5. 마무리

 

지능화되는 보안 위협에 대응하기 위해서는 벤더에서 제공하는 패턴 뿐만 아니라, 기업이나 기관에 있는 담당자의 필요에 의해 생성하는 사용자 정의 패턴이 존재한다. 셀 수도 없을 만큼 다양한 사이버 공격에 대응하기 위해서는 벤더사에서 제공하는 패턴만으로는 대응하기 어려운 것이 현실이다. 이글루시큐리티 보안관제센터에서는 신규취약점이 발표될 경우 즉각적인 대응을 위해 다양한 공격기법 탐지를 위한 자체적으로 패턴을 개발하고 테스트 및 적용하여 운영하고 있다.