보안정보

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

Smart[Guard] 데이터의 SIEM 연동을 통한 중요 서버 보안 취약점 조치

2019.04.30

5,978




SPiDER TM V5.0은 이글루시큐리티 보안관제 경험과 빅테이터 활용역량이 집약된 통합보안관리솔루션으로 최초탐지부터 로그/네트워크 패킷 분석까지 일원화 된 관제환경구성을 통해 관제업무의 기민성과 효율성을 높이는 동시에 인프라 전반에 대한 가시성을 확보할 수 있다.   


1. 개요

우리의 시스템은 악의적 크래커에 의한 침투, 주요 데이터 위/변조, 정상적인 서비스 방해와 같은 공격에 항상 노출되어 있다. 이를 예방하기 위해 기업 보안 담당자는 현 시스템에 어떤 문제가 있는지 파악하고 기업 내부 자산이 취약점에 노출되어 있는지 관리해야만 한다.
 
이번 호에서는 IT 자산관리와 취약점 자동 진단 기능을 수행하는 Smart[Guard] 솔루션 소개와 SIEM과의 연동을 통해 IT 자산 취약점 현황의 실시간 파악 및 외부 위협 예방과 사전 대응체계를 구축할 수 있는 방법을 알아보겠다.


2. SIEM 연계를 위한 Smart[Guard] 활용

1) Smart[Guard]란?

Smart[Guard]는 기존 별개로 진행되던 IT 자산관리와 취약점 진단 기능을 통합하여 수행하는 보안 진단 자동화 솔루션이다. 기존 IT 자산관리 시스템은 기관이 보유하고 있는 시스템의 취약점을 지속적으로 관리하는 기능보다는 자산관리 기능에 초점이 맞춰져 있어 IT 자산을 일일이 진단해야 하는 어려움이 있었다. Smart[Guard]는 이러한 어려움을 해결하기 위해 IT 자산 현황 파악, 보안 취약점 진단, 패치 결과 및 컴플라이언스 준수 여부 등을 쉽고 빠르게 점검할 수 있는 기능을 제공한다.


2) Smart[Guard] 자산 진단

▶ 진단 관리 > 장비/에이전트 관리 – Smart[Guard]에 등록된 자산 관리 페이지



ㆍSIEM과 연계 대상인 중요 서버를 Smart[Guard]의 진단 대상 자산으로 등록하여 보안 진단 준비를 한다.
ㆍ보안 취약점 진단을 위해서는 사전 자산 등록이 필요하며, 아래와 같은 총 4단계의 절차를 거쳐 등록한다.

1단계 – 장비 IP, 접속 포트, 접속 계정 등의 기본적인 장비 정보 등록
2단계 – 등록된 장비 정보를 토대로 진단 대상 정보 추출 결과 확인
3단계 – 진단 대상 정보 중 상세 점검이 필요한 WEB, DB 등의 장비 정보 추가 기입
4단계 – 확인된 진단 대상 정보를 실제로 진단하기 위한 에이전트 설치 및 결과 확인


▶ Smart[Guard]의 취약점 진단 범위



ㆍ등록된 진단 대상 장비에 대해서 취약점 진단을 진행할 수 있다. 
ㆍ취약점 진단 장비 대상에는 다양한 제품군이 포함되며  'OS', 'WEB', 'WAS', ‘NETWORK', 'DB', ‘보안' 등의 장비 구분으로 분류되어 약 60여종에 달하는 다양한 IT 인프라 자산에 적용 가능하다. 또한 IT 인프라 자산의 종류 별 맞춤형 진단이 가능하다.


▶ 진단 관리 > 진단 실행 - Smart[Guard]의 취약점 진단 대상 LIST 출력



ㆍSmart[Guard] 웹 UI에 접속하여 취약점 진단을 진행해 보았다. 
ㆍ진단 관리 아래의 ‘진단 실행' 메뉴를 클릭하여 진단 대상 장비의 IP기입 후 우측의 ‘조회' 버튼을 클릭하면 해당 진단 대상 LIST가 출력된다. 


▶ 진단 실행 요청 결과 화면



ㆍ진단 대상 LIST에서 진단 대상 항목을 선택한 뒤 중앙의 ‘진단 실행’ 버튼을 클릭하면 진단 실행 요청 결과 화면이 팝업으로 출력된다. 해당 창에서는 진단 요청이 정상적으로 이루어졌는지에 대한 결과가 나온다.
ㆍ진단이 완료되면 최초 조회 화면으로 돌아가지며, 진단 대상 항목별 보안 준수률이 출력된다.


3. Smart[Guard] 진단 정보 활용

1) Smart[Guard] 진단 결과의 SIEM 데이터화(목록화 DB)



ㆍDB 데이터 저장 프로그램 SpDbReader를 통한 Smart[Guard] 진단 결과 데이터 수집
ㆍSmart[Guard]에서 등록된 자산에 대하여 진단을 진행하게 되면 최종 진단 결과가 Smart[Guard] DB에 저장된다. (진단일, 자산 IP, 진단률%, 진단 통과 개수, 진단 실패 개수) 등 진단정보가 저장되며 이를 SIEM 서버의 SpDbReader를 사용하여 질의, 응답 받은 결괏값을 FILE로 저장한다. 이 때, SpDbReader를 통하여 진단 결괏값을 받기 위해서는 아래와 같은 정보를 사전에 확인해야 한다.
ㆍDB 제품명(mysql, oracle 등), DB 명(SID), Smart[Guard] IP, DB 포트, 계정, 비밀번호가 이에 해당한다.



ㆍSpDbReader를 통하여 FILE로 추출해낸 Smart[Guard] 진단 결과 파일을 SIEM에 저장하기 위해서는 일차적으로 수집된 데이터를 파싱하는 과정을 거쳐야 한다. 데이터 파싱을 통하여 원본 그대로의 FILE을 SIEM 데이터로 변환하여 저장할 수 있다.
ㆍ관리 > 설정관리 > 로그파서관리 페이지에서 파서를 생성해준 뒤 관리 > 설정관리 > 로그소스관리 페이지에서 해당 파서를 등록해주자.
ㆍ파싱을 통하여 SIEM 데이터로 저장이 이루어졌으면, 저장되는 데이터를 목록화 DB로 생성하는 작업을 추가로 진행해주어야 한다.


▶ 관리 > 설정관리 > 목록화DB관리 – 목록화 DB LIST 출력



ㆍ관리 > 설정관리 > 목록화DB관리 페이지 접속 후 좌측 하단의 '신규 테이블 생성' 버튼을 클릭하여 신규 테이블을 생성하자.
ㆍ목록화 DB 테이블 생성 시 컬럼 값을 지정하려면 사전에 해당하는 컬럼명과 동일한 필드를 생성해야 하며, 마찬가지로 SIEM에서 데이터 수집 시 해당하는 필드들의 정보를 수집해야만 목록화 DB로 생성할 수 있다.
ㆍ목록화DB를 생성하였으면, 최종적으로 Smart[Guard] 진단 결과 데이터를 목록화DB에 저장할 수 있도록 목록화 경보 생성을 진행해야 한다.


▶ 관리 > 설정관리 > 단일경보관리 > 목록화 룰 – 목록화 DB 활성화를 위한 목록화 RULE LIST 출력



ㆍ관리 > 설정관리 > 단일경보관리 페이지에서 '목록화 룰' 탭 선택 후 '룰 등록' 버튼을 통하여 목록화 룰을 등록한다. '룰이름', '위험도', '발생주기', '발생건수', '로그소스', '조건정의', '목록화DB‘ 항목을 각각 기입하면 된다. 이 때 '로그소스'는 Smart[Guard] 데이터 수집용 로그소스를 선택하고, '목록화DB'는 앞선 과정에서 생성한 목록화DB 테이블을 선택하면 된다.
ㆍ목록화 룰 등록 완료 및 활성화를 진행한 뒤 목록화 룰의 조건에 맞는 데이터가 유입되게 되면 목록화 DB 테이블로 해당 데이터 중 DB컬럼에 일치하는 데이터가 저장되게 된다.


2) Smart[Guard] 진단정보 목록화DB를 활용한 상관분석 등록

ㆍSmart[Guard] 진단정보를 활용하기 위한 상관분석 시나리오는 다음과 같다.

가. 블랙리스트 IP에서 중요 서버로 접근 시도 (차단) 감지
나. 목적지 중요 서버의 보안 진단률이 100%가 아닐 시 위험 알람
다. Smart[Guard]를 통한 해당 중요 서버 보안 취약점 조치


▶ 관리 > 운영관리 > 자산관리 – 중요 서버 등록 LIST 출력



ㆍSIEM에는 중요 서버에 대한 관리를 위한 중요 서버 등록 기능이 있다. 이런 중요 서버 등록 기능을 활용하여 주요 감시 대상 서버들에 대한 집중감시를 실행할 수 있다. 
ㆍSPiDER TM V5.0 (이하 SIEM) 웹 UI 관리 페이지에 접속하여 중요 서버를 등록해 보겠다. 
ㆍ운영관리 아래의 자산관리 메뉴를 클릭 후 우측의 '중요 서버 등록' 버튼을 클릭하면 중요 서버를 등록하기 위한 등록화면이 팝업창으로 실행되게 된다.


▶ 관리 > 운영관리 > 자산관리 > 중요 서버 등록 > 중요 서버 그룹 관리 – 중요 서버 등록을 위한 그룹 추가


ㆍ중요 서버 등록 팝업창에서 '중요 서버 그룹 관리'를 클릭하면 중요 서버 그룹을 등록하는 팝업이 실행된다. 팝업창 내의 '그룹명' 탭과 '내용' 탭을 기입 후 '추가' 버튼으로 그룹을 추가하면 된다.


▶ 관리 > 운영관리 > 자산관리 > 중요 서버 등록 – 중요 서버 등록정보 기입 POP UP



ㆍ중요 서버 등록 화면에는 다음과 같은 항목을 기입할 수 있다. '서비스명', 'IP주소', 'OS유형', 'OS명', 'OS버전', '관계사', '위험도', '비고', '용도', 'AP담당자', 'OS담당자', '그룹명'
ㆍ그 중 필수적으로 입력해야 하는 값인 '서비스명' 과 'IP주소' 의 경우 주황색으로 별도 표시되어 있다.  그 외 'OS유형', 'OS명', 'OS버전' 등의 경우 Smart[Guard] 연계 후 정보를 확인해서 기입하면 된다.
ㆍ등록된 중요 서버의 경우 자산관리 메뉴의 '서버 검색 리스트' 탭으로 출력된다.
ㆍ중요 서버 등록이 완료되었으면, 중요 서버 정보를 활용하여 경보를 등록해 보자.


▶ 관리 > 설정관리 > 단일경보관리 – 단일경보 LIST 출력



ㆍ상관분석을 진행하기 위해서는 상관분석의 근거가 되는 단일경보가 우선 등록되어야 한다.
ㆍ관리 > 설정관리 > 단일경보관리 페이지에서 '룰 등록' 버튼을 통하여 상관분석의 근거가 될 단일경보를 등록한다.
ㆍ단일경보를 등록하기 위해서는 다음과 같은 정보의 기입이 필요하다.

룰이름 – 룰의 이름을 입력 (1 ~ 500자 문자 제한)
신뢰도 – 룰의 신뢰도를 입력 (1 ~ 10 사이의 숫자 기입 – 버전에 따라 위험도로 표기)
발생주기 – 룰의 발생 주기를 입력 (기본 분 단위로 설정되며, 단위 변경 시 뒤에 sec 등의 문구를 삽입)
발생건수 – 룰이 몇 건 이상 성립했을 때 경보가 발생하는지 또는 경보에 대한 분포도를 입력
로그소스 – 룰을 적용시킬 로그소스 또는 로그유형을 선택 (실시간, 직접쿼리, 데이터베이스 설정 가능)
조건정의 – 룰의 조건을 적용할 오브젝트 팝업 화면을 호출 (팝업 화면에서 오브젝트 등록 및 적용 가능)
직접입력 – 오브젝트로 정의하기 어려운 조건을 쿼리형식으로 직접 입력 ( 연산자는 오브젝트의 연산자와 동일)
포함조건 – 특정 출발지/목적지의 IP, PORT, PROTOCOL을 포함하여 사용 (~ 연산자를 통하여 단위 및 범위지정 가능)
제외조건 – 특정 출발지/목적지의 IP, PORT, PROTOCOL을 제외하여 사용 (~ 연산자를 통하여 단위 및 범위지정 가능)
동일조건 – 특정 필드를 group by하여 사용 (필드 지정 POPUP을 통하여 지정)
기타설정 – 메일, SNMP, SMS, 스크립트, 음성메세지 등의 경보 알람기능 제공 (단, 메일,SMS는 제품연동 필요)


▶ 관리 > 설정관리 > 단일경보관리 > 룰등록 – 경보를 생성하기 위한 조건 기입



ㆍ상관분석을 진행하기 위한 기본 조건을 지정하기 위하여 ‘조건정의’ 항목의 값을 클릭한다.


▶ 관리 > 설정관리 > 단일경보관리 > 조건정의 – 경보 Object 등록화면


ㆍ첫 번째 시나리오인 블랙리스트에서 중요 서버 탐지 경보의 '조건정의'에 기입될 조건은 다음과 같다.
ㆍ's_ip' = gm [select ip as s_ip from is_blacklist_ip] s_ip (GM 쿼리 활용한 블랙리스트 IP 탐지)
ㆍ'd_ip' = gm [select ip as d_ip from capital_server] d_ip (GM쿼리 활용한 중요 서버 탐지)
ㆍ'status' = 102 (차단)


ㆍ두 번째 시나리오인 목적지 중요 서버의 보안 진단률이 100% 아닐 시 경보의 '조건정의' 에 기입될 내용은 다음과 같다.
ㆍ'd_ip' = gm [select d_info as d_ip from SNET_REPORT_HOST_IP where AUDIT_RATE != '100'] d_ip ( GM쿼리(목록화DB) 활용한 진단률 100 미만 IP 추출 )


▶ 관리 > 설정관리 > 단일경보관리 – 단일경보 LIST 출력



ㆍ룰 등록이 완료되면 이를 기반으로 상관경보를 설정해야 한다.


▶ 관리 > 설정관리 > 상관분석관리 > 상관분석등록 – 상관분석 등록 POP UP 출력




▶ 관리 > 설정관리 > 상관분석관리 > 상관분석등록 – 상관분석 등록조건 입력




▶ 관리 > 설정관리 > 상관분석관리 – 상관경보 LIST 출력



ㆍ각각 개별 단일 경보 등록이 완료되었으면, 이를 기반으로 상관경보를 등록해야 한다. 
ㆍ관리 > 설정관리 > 상관분석관리 페이지에서 우측 상단의 '상관분석등록' 버튼을 클릭하여 상관분석 등록 팝업으로 이동한다.
ㆍ각각 1단계, 2단계 근거가 될 단일 경보들을 순차적으로 선택한 뒤 2단계 근거가 될 단일 경보의 레벨을 조정해준다.
ㆍ레벨 조정이 완료되면 승계 조건을 추가하는데, 이 때 승계조건은 목적지IP(중요 서버)로 지정한다.


▶ 보안관제 > 실시간관제 > 상관분석 – 등록된 상관분석 발생 여부 모니터링



ㆍ상관분석 등록이 완료된 후 시나리오에 부합하는 데이터가 유입될 시 상관경보가 발생하게 된다.
ㆍ이는 경보에 등록되어 있는 SMS 또는 E-MAIL을 통하여 해당 담당자에게 통보되며, 담당자는 Smart[Guard]를 통하여 해당 장비의 취약점 조치를 진행하여 외부로부터의 취약점 탈취를 미연에 방지하게 된다.


3) Smart[Guard]를 통한 취약점 조치 진행

▶ 진단관리 > 진단이력 – 진단결과 LIST 출력



ㆍSmart[Guard]에서 취약점 진단이 완료되면, 취약점 진단 결과 및 조치 가이드가 저장된다.
ㆍ저장된 취약점 진단 결과는 진단 관리 > 진단이력에서 확인할 수 있으며, 조회 결과를 더블클릭 또는 ‘진단결과 보기’ 버튼을 클릭하면 상세 결과를 확인할 수 있다.


▶ 진단관리 > 진단이력 > 진단결과 보기 – 진단항목별 취약점 LIST 출력



ㆍ진단결과의 상세 화면에는 각 진단기준에 해당하는 진단 항목별 취약점 상태가 출력된다.
ㆍ출력된 취약점 상태를 더블클릭 할 시 해당 취약점에 대한 조치 Guide가 출력된다.


▶ 진단관리 > 진단이력 > 진단결과 보기 > 상세보기 – 해당 취약점 관련 상태, 근거, 조치 NOTICE 출력





4. 결론

▶ Smart[Guard]와 SIEM 간의 깊은 공조 및 연계 필요
최근 활개치고 있는 악성코드의 대부분은 소프트웨어의 보안 취약점을 활용하고 있다. 따라서 이러한 보안 위협에 대응하기 위한 보안업데이트 및 취약점 관리 또한 많은 관심을 받고 있다

Smart[Guard]와 SIEM 간의 연계를 통한 취약점 조치 대응이 이에 대한 해결책이 되길 바라며, 이를 위해서는 두 솔루션간의 긴밀한 데이터 연계 방식의 고안이 필요하다.

현재는 Smart[Guard]를 통해 취약점 점검 결과 데이터를 확인하고 발생된 경보에 따른 취약점 조치를 수동으로 진행하여 보안관제를 수행하지만, 앞으로 SIEM에 등록되는 중요 서버와 Smart[Guard]의 자산정보 데이터를 연계하여 자동 진단하고, 그 데이터를 SIEM에서 수집하여 분석자료로 활용한다면 두 제품간의 시너지 효과로 더욱 효과적인 보안관제를 진행할 수 있을 것이다.