보안정보
전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.
오브젝트 등록을 통한 룰 정책 설정 가이드
2017.12.06
8,537
기술지원센터 기술지원팀
SPiDER TM V5.0은 이글루시큐리티 보안관제 경험과 빅테이터 활용역량이 집약된 통합보안관리솔루션으로 최초탐지부터 로그/네트워크 패킷 분석까지 일원화 된 관제환경구성을 통해 관제업무의 기민성과 효율성을 높이는 동시에 인프라 전반에 대한 가시성을 확보합니다.
1. 개요
▶ SPiDER TM V 5.0 오브젝트
SPiDER TM V5.0에서는 원본로그를 수집하고 이 로그 정규화하여 각각의 ‘필드’로 세분화 한다. 세분화된 필드를 가지고 특정 조건을 정의하거나 의미를 부여하여 ‘오브젝트’를 생성할 수 있다. 이후 생성된 오브젝트는 경보에 적용하여 단일경보 및 상관분석에 활용할 수 있다. 단일경보 및 상관분석 기능을 효율적으로 사용하기 위해서는 적절한 오브젝트 생성이 필요하다. 이전 버전(SPiDER TM V3.1) 에서 단순 임계치 및 특정 패턴으로만 등록해야 했던 경보설정의 단점이 보완되어 제한 없는 조건으로 오브젝트 생성이 가능하다. SIEM에 수집 후 세분화된 모든 로그를 바탕으로 자유로운 오브젝트 생성이 가능하다. 예를 들면 내부 사용자 및 주요자산에 대한 정보와 최신화된 유해 IP 정보를 결합하는 오브젝트 생성도 가능하다.
이번 SIEM 활용방안에서는 오브젝트 생성 및 경보 등록 절차에 대한 가이드를 기술하고자 한다.
2. 오브젝트
1) 오브젝트 생성 가이드
■ AND, OR 연산
오브젝트를 생성 시 화면에는 서로 다른 행에 “필드연산자 값’ 을 입력할 경우 모두 AND 연산을 한다.
하나의 필드에 조건 값을 OR로 적용하기 위해서는 연산자 가이드에서 제공하는 IN, NOT IN, LIKE, NOT LIKE연산자를 이용하여 조건 값을 ,로 구분하여 입력하여야 한다.
■ 특수문자를 조건 값으로 입력
ㆍ‘와 % 특수문자를 조건 값으로 사용하고자 하는 경우 이스케이프 처리 (조건 값 앞에 를 붙임)를 해줘야 한다.
ㆍ‘ 특수문자를 조건 값으로 사용하고자 하는 경우 모든 연산자에 이스케이프 처리를 해줘야 한다.
예) ’admin’
ㆍ% 특수문자를 조건 값으로 사용하고자 하는 경우 LIKE와 NOT LIKE연산자는 이스케이프 처리를 해줘야 하며, 그 외 연산자는 이스케이프처리를 하지 않는다.
예) %%20%, % ’admin’%
■ DB 테이블 값을 조건 값으로 입력
ㆍ제품이 설치된 서버의 오라클 DB의 정보를 조회하여 필드의 조건 값으로 입력할 수 있다.
ㆍ조건 값을 입력하는 텍스트박스에 DB를 조회하는 표현식을 입력한다.
예) gm[select ip from is_blacklist_ip] ip
ㆍGm은 오라클 DB를 가리키는 키이며 [ ] 사이에 조회하고자 하는 SQL을 입력한다. 이때 조회하고자 하는 컬럼은 1개여야 한다. 맨 마지막에는 컬럼 이름을 다시 한번 입력한다. [ ] 앞뒤에는 띄어쓰기가 필요하다.
ㆍ최신 버전에서 숫자형 값에 대해 이상 이하도 DB테이블의 값을 조건 값으로 처리한다.
2) 오브젝트 연산자 가이드
연산자 |
설명 |
예 |
비고 |
= |
필드의 값과 입력하는 값이 같음 |
= 80 (필드의 값이 80과 일치) |
값 입력란에 조건 값을 예와 같이 입력 |
!= |
필드의 값과 입력하는 값이 같지 않음 |
!= 80 (필드의 값이 80과 불일치) |
상동 |
> |
필드의 값이 입력하는 값 초과 |
> 80 (필드의 값이 80 초과) |
상동 |
>= |
필드의 값이 입력하는 값 이상 |
>= 80 (필드의 값이 80 이상) |
상동 |
< |
필드의 값이 입력하는 값 미만 |
< 80 (필드의 값이 80과 미만) |
상동 |
<= |
필드의 값이 입력하는 값 이하 |
<= 80 (필드의 값이 80과 이하) |
상동 |
In |
필드의 값이 입력하는 값 중 하나라도 같음 |
80,8080,90,9090 (필드의 값이 80 또는 8080 또는 9090과 일치) |
값 입력란에 조건 값을 콤마(,)로 구분하여 입력 |
Not in |
필드의 값이 입력하는 값 중 하나라도 같지 않음 |
80,8080,90,9090 (필드의 값이 80 또는 8080 또는 9090과 불일치) |
상동 |
Like |
In 연산자와 같고, %로 문자열의 범위를 지정 가능 |
%select%,%insert,delete%% (필드의 값이 select를 포함하거나, insert로 끝나거나, delete%로 시작하는 경우 일치) |
값 입력란에 범위를 지정하고자 하는 위치에 %를 포함하여 조건 값을 콤마(,)로 구분하여 입력 %와 ‘를 조건 값으로 입력할 경우 %와 ‘앞에 를 붙임 |
Not like |
Not in 연산자와 같고, %로 문자열의 범위를 지정 가능 |
%select%,%insert,delete% (필드의 값이 select를 포함하거나, insert로 끝나거나, delete로 시작하는 경우 불일치) |
상동 |
Regexp |
필드의 값이 입력하는 정규식에 포함됨 |
S+@igloosec.com (필드의 값이 공백이 아닌 문자열로 시작하고 @igloosec.com 으로 끝나는 경우 일치) |
값 입력란에 정규식을 예와 같이 입력 |
Not Regexp |
필드의 값이 입력하는 정규식에 포함되지 않음 |
S+@igloosec.com (필드의 값이 공백이 아닌 문자열로 시작하고 @igloosec.com 으로 끝나는 경우 불일치) |
상동 |
lower |
필드의 값을 모두 소문자로 변경 |
lower(필드명) : lower(attack) “%cross site scripting% 대/소문자 구분 없이 모두 소문자로 인식 |
필드명에 예와 같이 입력 |
오브젝트 생성 시 기본 템플릿 항목 클릭 후 오브젝트로 생성할 필드에 값을 입력 후 “기본 정의 종류”에 추가한다. 오브젝트 그룹/오브젝트 이름 선택 후 생성/수정 버튼을 클릭하면 오브젝트 트리에 생성된다.
3) 오브젝트 조건 생성 절차
① 오브젝트 생성 절차는 기본템플릿 및 파서 목록을 선택
② 전체 필드 중 사용하고자 하는 필드를 선택 또는 검색
③ 필드 검색 후 연산자를 지정하고 해당 필드에 맞는 값을 입력
④ 입력된 값을 생성/저장을 통해 오브젝트 생성 완료
4) 오브젝트 구성 예제 ([WAF] XSS공격탐지)
유해 출발지IP에서 허용된 XSS공격탐지 경보에 대한 오브젝트 생성은 아래와 같다.
오브젝트 명 : [WAF] XSS공격탐지
연산자 : like
값 : %cross site scripting%
설명 : attack 필드에 cross site scripting 공격 명을 포함
오브젝트 명 : [WAF] 허용이벤트
연산자 : =(equal)
값 : accept
설명 : sublog 필드에 “accept” 값을 입력
오브젝트 명 : 유해IP_출발지
연산자 : =(equal)
값 : gm [select ip as bsip from is_blacklist_ip] bsip
설명 : K-Center 연동을 통해 최신화된 블랙리스트 IP를 참조하여 조건 설정
[WAF] XSS공격탐지라는 단일경보의 오브젝트는 “attack” 필드에 cross site scripting이 포함된 공격 명과 상태 값이 accept(허용)이며, 출발지 IP가 블랙리스트 IP로 분류된 로그를 탐지한다.
여기서 블랙리스트 IP는 이글루시큐리티에서 제공하는 K-Center 데이터 연동을 통해 최신화가 가능하며, 최신 데이터를 통한 경보 설정 시 보다 정확한 분석이 가능하다.
5) 오브젝트 구성 예제 ([FW] 원격포트 접근 의심)
유해 출발지IP에서 내부 서버 원격포트로의 접근허용에 대한 오브젝트 구성은 아래와 같다.
오브젝트 명 : 원격접속포트
연산자 : in
값 : 3389, 21, 22, 23, 5900 등
설명 : 원격 접속이 가능한 포트를 나열하여 기입
오브젝트 명 : 허용이벤트
연산자 : =(equal)
값 : accept
설명 : sublog 필드에 허용된 값을 입력
오브젝트 명 : 유해IP_출발지
연산자 : =(equal)
값 : gm [select ip as bsip from is_blacklist_ip] bsip
설명 : K-Center 연동을 통해 최신화된 블랙리스트 IP를 RDBMS 값을 참조하여 조건 설정
[FW] 원격포트 접근 의심 단일경보의 오브젝트는 “d_port” 필드에 원격포트(21,22,23,3389 등)를 기입한다.
d_port에 등록되는 다수 포트는 연산자 “in”으로 선택하여 등록된 포트 중 1개라도 일치 할 경우의 조건이다.
상태 값이 허용된 로그와 출발지 IP가 블랙리스트 IP로 분류된 로그를 탐지한다.
여기서 블랙리스트 IP는 이글루시큐리티에서 제공하는 K-Center 데이터 연동을 통해 최신화가 가능하며, 최신 데이터를 통한 경보 설정 시 보다 정확한 분석이 가능합니다.
3. 단일경보
1) 단일경보 설정
“[WAF] XSS공격탐지” 경보를 설정하기 위한 각각의 오브젝트를 적용하여 분석을 수행한다.
4. 기대효과
SPiDER TM V5.0의 분석기능을 활용하기 위해서는 수집되는 원본로그와 정규화 과정을 거쳐 생성된 ‘필드’에 대한 이해가 필요하다.
또한 최적화된 경보를 설정 하기 위해선 적절한 오브젝트 설정이 매우 중요하다.
오브젝트를 적절하게 생성한 후 이를 룰에 적용하면 대량의 로그에 대한 분석 결과를 얻을 수 있다.
필드의 이해를 통해 생성된 오브젝트는 분석엔진에 적용된 룰의 오탐을 줄일 수 있으며, 분석된 룰의 결과를 토대로 추가 분석을 통해 위협탐지 및 대응 방안을 보다 효율적으로 수립할 수 있다.