데이터실무

DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!

로그 분석 및 탐지

데이터 운영관리
보안관리
로그 분석 및 탐지
작성자
admin
작성일
2021-02-15 15:23
조회
4862

빅데이터 로그 분석

빅데이터 시스템에 적재된 데이터를 허가되지 않은 일련의 행위로부터 안전하게 보호하는 것으로 인적, 정책적, 논리적 대응체계가 포함된다. 앞 절에서 살펴본 보안관리 작업은 빅데이터 보안 관리의 기준을 제시함으로써 내외부인의 불법적이고 비인가된 위협으로부터 데이터의 기밀성, 무결성 및 가용성 확보를 목적으로 하고 있다.
이와 같은 보안관리를 통해 빅데이터에 대한 위협의 침해 가능성을 낮추고, 침해사고 발생 시 최소한의 복구 절차를 통해 신속한 복구가 이뤄지도록 하며 예상치 못한 데이터 손실 가능성을 줄여 데이터의 신뢰도 및 무결성을 보장할 수 있도록 할 수 있다. 이 절에서 살펴볼 로그 분석은 보안 평가 프로세스의 일환으로 빅데이터의 사용에 대한 로깅 및 감사에 대해 설명하고 있다. 로깅된 데이터는 보안 정의 프로세스와 보안 변경 프로세스에 의해 사용자가 빅데이터에서의 활동에 대한 기록을 포함하고 있으며, 이를 분석해 사용자의 행위에 대한 감사를 수행하게 된다.
다양한 응용 분야로 활용되는 빅데이터 분석 기술이 IT 분야 최대 이슈로 등장했다. 빅데이터를 데이터 용량에 따른 분류가 아니라 기존의 데이터베이스 처리 방식으로 해결할 수 없는 데이터의 세트로 정의하고, 이러한 데이터를 처리할 수 있는 기술이나 역량을 보유한 기업이나 국가가 미래에 경쟁력을 갖게 될 것으로 예측하고 있다.
IDC의 빅데이터 관점은 데이터베이스가 아니라 업무수행에 초점을 맞춘 것으로 다양한 종류의 대규모 데이터로부터 저렴한 비용으로 가치를 추출하고 데이터의 초고속 수집ㆍ발굴ㆍ분석을 지원하도록 고안된 차세대 기술 및 아키텍처로 정의하고 있다. 가트너그룹의 빅테이터 관점은 데이터 볼륨의 증가, 데이터 입출력 속도의 증가, 데이터의 다양성의 증가 등의 3가지 특징을 빅데이터의 문제로 정의하고 있다.


빅데이터의 로깅

사용자의 로그인 시간 및 로그인 지속 시간이 적절한 범위 내에서 로깅돼야 한다. DB에 연결된 사용자의 수가 적절한 범위 내에서 로깅돼야 한다. 접속에 실패한 접근 시도 또한 로깅돼야 한다. DB 내의 deadlock이 로깅돼야 한다. 모든 사용자의 I/O 통계가 적절한 범위 내에서 로깅돼야 한다. System Table에의 접근이 로깅돼야 한다. 새로운 DB 객체의 생성이 로깅돼야 한다. 데이터 조작(필요할 경우, 날짜, 시간, 사용자와 함께)이 적절한 범위 내에서 로깅돼야 한다.


기술적 보안 요구사항

빅데이터 로그에 대한 접근 및 처리 기록은 별도의 감사 로그에 기록돼 암호화, 접근통제 등의 보안기술을 제공할 수 있어야 한다. 장기간 보존이 요구되는 로그는 불법적인 열람으로부터 보호하기 위해 필요한 경우 데이터 암호화를 위한 암호 알고리즘을 지원할 수 있어야 한다.
빅데이터 로그는 생성 이후 변경하지 않고 이를 보장하기 위한 암호 알고리즘을 이용한 무결성 점검기능을 제공할 수 있어야 한다. 빅데이터 로그가 저장되는 공간이 충분히 확보돼야 하며, 저장 공간이 부족한 경우, 빅데이터 시스템 관리자 또는 개인정보 관리책임자가 업무 연속성 등을 제공하기 위한 비상용 시스템 등을 구축할 수 있어야 한다.
빅데이터 로그의 안전한 저장과 운용을 위해 생성되는 감사기록은 동일 시스템 또는 다른 시스템에 복제할 수 있어야 하며, 로그 복제가 일어나는 경우에는 각 빅데이터 시스템의 로그를 식별할 수 있는 별도의 식별번호를 생성할 수 있어야 한다. 빅데이터 로그는 관련 법령이나 그에 준하는 규정에서 허용된 사용자만이 열람할 수 있도록 접근통제 기능을 제공할 수 있어야 한다. 관련 법령이나 요건에 따라 빅데이터 로그가 파기되는 경우 파기되는 자료의 복원이 불가능하도록 소프트웨어, 하드웨어 등으로 파기 처리하는 기술을 제공할 수 있어야 한다.
빅데이터 로그는 적법한 사용자에 의해 특정 항목(일자, 빅데이터 시스템 사용자 정보, 개인정보 항목 등)이 검색, 정렬 등이 가능하도록 관련 기술을 제공할 수 있어야 한다. 데이터 마이닝 기술 등을 통해 보안감사 로그에서 의미 있는 정보, 패턴정보(상관관계)를 얻을 수 없도록 데이터 추출 방지 기술을 제공할 수 있어야 한다.


관리적 보안 요구사항

빅데이터 로그 항목은 관계 법령이나 기관 및 기업 정책에 의해 빅데이터 시스템이 동작하는 동안 빅데이터 로그에 기록ㆍ관리돼야 한다. 빅데이터 로그에는 시스템이 동작하는 시점부터 종료되는 시점까지 모든 연산 및 그 처리결과를 기록ㆍ관리해야 한다.
빅데이터 로그에 접근권한을 가진 시스템 사용자의 아이디는 일반 사용자 아이디와 분리돼 할당돼야 하며 해당 아이디에 대한 패스워드는 일정 길이 이상을 갖도록 하고 정기적 갱신을 통해 안전성이 유지되도록 관리해야 한다. 빅데이터 로그를 출력하거나 로그를 관리하는 시스템 이외의 장소에 복사할 경우, 개인정보 관리 책임자의 사전 승인을 의무화하고 해당 사실을 별도의 로그 파일에 기록해야 한다. 사용자 개인정보를 관리하고 있는 정보통신사업자와 제휴 또는 위탁관계에 있는 서비스 제공자는 사용자 개인정보보호를 위한 일관성 있는 개인정보보호정책을 설정하고 집행해야 한다.


로그 분석

기록된 로그를 분석해 빅데이터에서의 위협을 2가지의 케이스로 구분 지을 수가 있다. 첫 번째는 내부 사용자의 정책 위반의 탐지이고, 두 번째는 외부 공격의 식별이다.


정책 위반의 탐지

정책 위반은 조직이 대처해야 하는 보안 문제의 가장 큰 범주를 차지한다. 적절하지 않은 프로세스로 사용자 계정을 생성, 적절한 인증 없이 관리자 권한을 사용, 대화형 로그온에 서비스 계정을 사용, 사용자가 사용 권한이 없는 파일에 액세스를 시도, 사용자가 액세스 권한이 있는 파일을 삭제, 승인되지 않은 프로그램을 실행하는 것과 같은 작업은 정책 위반에 해당한다. 가장 일반적인 유형의 정책 위반으로는 허가되지 않은 디렉터리를 여는 등의 의도하지 않은 사용자 액세스 시도를 들 수 있다. 하지만 액세스 제한 및 제한된 권한을 사용하면 사용자의 이러한 시도를 막아 심각한 피해를 방지할 수 있다. 관리자에 의한 정책 위반은 고의적이든 실수이든 더 큰 영향을 미치게 된다. 신뢰할 수 없는 네트워크 관리자는 조직에 심각한 위협이 될 수 있다. 관리자는 자신의 작업을 수행하기 위해 높은 수준의 권한 및 시스템 액세스 권한을 필요로 한다.
관리자는 사용자 계정 생성, 암호 다시 설정, 파일 및 폴더의 소유자 변경과 같은 작업을 할 수 있는 권한을 갖지만 관리자가 그러한 절차를 수행할 수 있다고 해서 그렇게 하도록 인증을 받은 것은 아니다. 관리자 권한을 통해 관리자가 열람해서는 안 되는 재무 기록 등과 같은 리소스를 볼 수도 있다. 정책 위반 발생과 그에 따른 잠재적 피해 가능성을 감안했을 때, 대부분의 조직은 정책 위반 탐지에 높은 우선 순위를 두어야 한다. 정책 위반의 탐지 및 방지와 관련된 업무상 문제를 해결하기 위해 채용 전 및 고용 중에 정기적으로 엄격한 이력 확인을 수행, 관리자 작업에 대한 독립적인 보안 검사를 실시, 보안 모니터링 시스템의 정기적인 검사 수행, 보안 위배 행위를 신속하게 식별, 보안 위배 행위의 범위 확인, 보안 위배 행위가 유발하는 피해 제한 등의 작업을 수행해야 한다.
규모가 큰 조직은 대개 새 직원이 회사에 입사하기 전에 적절한 보안 확인을 수행한다. 하지만 많은 조직에서 내부 사용자의 위험한 행위에 대한 모니터링을 계속하지는 않는다. 내부 직원은 명시적인 네트워크 보안 모니터링 요구사항이 기재된 약관 및 사용 조건에 반드시 서명해야 한다. 또한 사용 권한이 없는 파일을 열거나 공유 위치에 액세스를 시도할 경우 시도가 실패한 사실이 보안 로그에 기록됨을 이해하고 있어야 한다. 중요한 파일을 다루는 내부 사용자는 그러한 파일에 액세스할 때마다 보안 로그가 해당 내용을 기록함을 알고 있어야 한다.


외부 공격의 식별

외부 공격은 사람에 의한 침입과 악의적 응용 프로그램에 의한 공격 두 가지로 크게 나눌 수 있다. 이러한 두 공격 유형은 서로 다른 특성과 위협 방식을 가진다. 사람에 의한 공격은 대상 네트워크를 분석해 그에 맞는 공격을 하는 특징이 있으며, 악의적 응용 프로그램은 여러 컴퓨터에 동시에 영향을 주고 공격자가 악용할 수 있는 통로(back door)를 남긴다는 특징이 있다.
악의적 응용 프로그램에는 바이러스, 웜, 트로이 목마와 같은 다양한 위협적 프로그램이 포함된다. 이러한 응용 프로그램이 성가시고 상당한 피해를 주는 것은 사실이지만, 사람의 공격보다는 차단하기가 수월하다. 외부 공격으로 인해 발생하는 보안 문제는 공격자가 네트워크에 침입하는 데 다양한 방법을 쓸 수 있다는 점에서 상당히 심각하다. 외부 공격자는 암호 해독을 시도, 암호를 변경 또는 다시 설정, 취약점을 악용, 사용자가 악의적 응용 프로그램을 실행하도록 유도, 다른 컴퓨터로 확산시킬 목적으로 권한 상향 전달을 이용(아일랜드 하핑(island hopping)), 루트 키트 또는 트로이 목마를 설치, 허가되지 않은 워크스테이션을 사용, 악의적 웹 사이트로 연결되는 속임수 전자 메일을 사용한 피싱(phishing) 공격과 같은 메커니즘을 활용해 네트워크에 침투할 수 있다.
공격자와 악의적 응용 프로그램을 탐지하는 주요 방법은 프로세스를 추적하는 것이다. 이 방법을 주의 깊게 적용하고 그룹 정책의 소프트웨어 제한 정책과 통합해야 한다. 경계 네트워크 내의 컴퓨터에서 실행될 수 있는 프로그램의 경우, 이를 제한하는 매우 엄격한 정책을 정의해야 할 필요가 있다. 외부 공격자를 식별하기 위한 요구 사항은 내부 위협 식별을 위해 필요한 요구 사항과 부분적으로 일치한다.
보안 구현을 위한 심층 방어 전략, 효과적인 보안 감사 로그, 안정적으로 중앙 집중된 보안 로그의 모음, 공격 서명 식별을 위한 보안 로그 분석의 자동화와 같은 요구 사항이 필요하다. 악의적 응용 프로그램을 탐지하기 위한 솔루션 요구 사항은 내부 위협을 식별하기 위한 요구 사항과 부분적으로 일치한다. 네트워크에서 허가되지 않은 소프트웨어를 감사하기 위한 효과적인 절차, 적절히 구성된 보안 감사 로그, 안정적으로 중앙 집중된 보안 로그 모음 및 필터, 의심되는 동작을 식별하기 위한 보안 로그 분석의 자동화(필요한 경우 타사 프로그램을 사용)와 같은 요구사항이 필요하다.


사이버 보안 영역에서 빅데이터 분석

사이버 보안 영역에서 빅데이터 분석은 대용량 로그 분석, 비정상 트랜잭션 및 행위탐지, 악성코드 탐지 등에 활용된다. 대표적인 사례로서 Sourcefire에서는 200만 개의 단말을 모니터링해 악성코드가 있는지를 탐지하기 위해 하둡(Hadoop) 플랫폼을 이용하고 있다. EMC RSA에서는 빅데이터 분석의 일부인 문맥 또는 상황을 인지하는 기술을 적용해 지능형 리스크 관리를 실현, 기민한 대응을 하고 있다.
아트 코비엘로 EMC RSA 정보보안 사업부문 사장은 현재 100% 완벽한 사이버 보안은 없으며, 과거의 기술과 사고의 연장선상에서 대응해서는 안된다는 입장이다. 그래서 더 창의적인 보안 대응방법이 필요하고, 이를 위해서는 빅데이터 분석을 중심으로 한 지능형 보안 시스템 구축이 반드시 필요하다고 밝힌 바 있다.
조직 내에서 DB 보안 상태를 총괄적으로 파악할 수 있는 모니터링 체계를 구축해야 한다. 더불어 조직의 특성에 맞게 모니터링 지표가 관리돼야 하며, 상태를 비교할 수 있도록 모니터링 추이를 관측할 수 있어야 한다.


보안 분야에서의 로그분석

빅데이터의 시대에는 축적한 방대한 양의 데이터로 무엇을 할 것인지를 알아가는 것이 하나의 도전 과제이며, 보안의 경우에서는 로그 분석이 이에 해당하고 있다. 로그 정보는 정보 시스템을 통과하는 데이터의 흐름을 추적하는 것으로, 다수의 사용자가 실시간으로 이용하는 시스템이 많을수록 방대한 로그 데이터가 기록된다. 정상적인 로그 데이터로부터 위협을 초래할 수 있는 이벤트가 포함된 로그를 분리해 내는 것의 중요성이 대두되고 있다.


로그 데이터의 축적

이는 빅데이터의 내부 및 외부의 보안 이슈와 관련이 있는 의심스러운 행위의 탐지와 추적을 하기 위해서다. 이러한 의심스러운 행위란 인가 받지 않은 접근과 내부의 데이터 오남용 등을 포함하고 있다. 다른 이유에서의 중요성으로 포렌식 분석 지원 분야에서의 필요로 인해 로그 데이터는 축적ㆍ관리돼야 한다.


로그 데이터의 분석

로그관리 시스템을 이용하거나 SIEM을 이용해 로그 데이터를 분석하는 방식으로 구분된다. 로그관리 시스템을 이용하는 방식은 호스트로부터 데이터를 직접 수집하거나, syslog로부터 로그를 수집 또는 소스로부터 에이전트를 통해 데이터를 수집해 로그 관리기로 로딩하는 방식이다. SIEM을 이용하는 것은 로그 데이터를 수집ㆍ분석하거나 로그 서버 등의 다른 수단으로 수집한 데이터를 SIEM을 이용해 분석하는 방식이다.


로그의 소스

빅데이터에서 수집되는 로그의 주요 소스는 서버와 방화벽 및 네트워크 장비가 주를 이루고 있다. 일반적으로 기업에서는 서버, 보안기기, 스위치와 라우터, 침입탐지 시스템, 안티바이러스 제품과 같은 보안 애플리케이션, 가상화 서버와 하이퍼바이저 등에서 로그 데이터를 수집한다.


로그의 분석

빅데이터에서 로그의 분석에 대한 중요성은 높으나 아직까지 로그 분석에 충분한 투자를 하지 못하고 있다. 로그를 판별하는 기준인 정상/비정상을 구분하는 기준을 설정하는 데 어려움이 따르고, 역량 있는 로그 분석가를 대체할 만한 자동화한 로그 분석 도구의 개발이 필요하다.


빅데이터 탐지기술

빅데이터에 로그인한 접속 기록 및 접속 후에 수행한 SQL에 대한 로깅을 해야 하며, 데이터 질의 과정에서 BIND 변수를 사용한 경우에는 BIND 변수의 내용도 저장해야 한다. SELECT 문장은 조회된 결과를 동시에 저장하는 것이 바람직하다. 다만 조회 결과가 너무 많거나 조회 결과를 저장하는 것이 보안 관점에서 또 다른 문제를 야기할 가능성이 있으면 조회 결과를 저장하지 않도록 설정할 수 있다. 내부 사용자가 수행한 SQL 문장은 모두 저장해야 한다. 다만 스니핑 방식으로 애플리케이션 서버에서 업무 프로그램 수행 과정에서 실행한 SQL 중 보안 관점에서 의미가 없는 SQL은 효율적인 관리를 위해 저장 대상에서 제외한다. 예를 들어 업무 프로그램에서 메타 정보를 코드화해 관리하는 경우가 많은데, 코드 조회성 SQL은 보안상 문제가 발생할 만한 정보를 제공하지 못하므로 저장 범위에서 제외한다.
대부분의 빅데이터 접근제어 솔루션은 SQL 수행 건수별로 정렬해 SQL을 보여주는 기능을 갖고 있으며, SQL 문장 단위로 로깅 통제 기능을 제공하고 있다. 이런 기능을 이용해 불필요한 SQL을 확인한 후 대상에서 제외한다. 금융권의 경우에는 법적인 규제에 따라 원장 테이블과 같은 핵심 정보의 경우 변경 전후 정보를 저장해야 한다.


빅데이터의 감사

기록된 로그파일(감사증적)은 보안 담당자에 의해서 정기적으로 점검돼야 한다. 점검이 이뤄진 로그파일은 정기적으로 삭제돼야 한다. 로그파일의 분석을 위해 관리자가 부가적인 도구를 설치 ㆍ사용할 수 있다. 로그/감사에 대한 엄격한 접근제어를 실시한다. 중요 시스템의 경우 시스템 관리자와 보안 관리자의 권한을 분리한다. 로그파일의 조작 및 읽기 권한은 보안 관리자에게만 있어야 한다. 로그 파일의 무결성을 보장하기 위해 로그 파일 자체에 대한 모니터링을 주기적으로 실시한다.


빅데이터의 탐지기술

빅데이터의 탐지기술로는 다양한 통제 방법이 있으며, 경보 통제, 마스킹 통제, 모니터링과 같은 방식이 사용된다.


경보 통제

중대한 보안 위반 사건이나 점검해야 하는 이벤트가 발생한 경우에는 보안 관리자가 해당 사건을 조속히 인지할 수 있도록 경보를 발송해야 한다. 경보 발송은 이메일, 문자메시지, 관리자 화면, 메신저 등으로 발송한다. 발송 매체는 조직의 보안정책 및 관련된 인프라의 구축여부에 따라 달라진다. 중요 이벤트에 대해서 경보를 발송하도록 설정해야 하며, 발생한 경보는 모니터링을 통해 상시적으로 관리할 수 있어야 한다. 또한, 주기적으로 경보 발생 내용을 점검하고 필 요한 경우 상급관리자에게 보고돼야 한다.


마스킹 통제

개인정보나 중요 정보에 대해서 권한 없는 사용자가 해당 정보를 접근하지 못하도록 해야 한다. 정보에 접근하지 못하도록 하는 방법은 두 가지가 있다. 해당 정보를 조회하는 SQL을 차단하는 방법이 있고, 해당 정보의 중요 부분을 ‘*’등으로 변경(마스킹)해 보여주는 방법이 있다.
DB 암호화 솔루션이 설치된 경우, 권한이 없는 정보는 마스킹 처리가 가능하다. 그러나 DB 접근제어 솔루션과 DB 암호화 솔루션이 같이 설치된 경우, 접근제어를 경유한 세션에 대해 암호화 솔루션에서 통제할 수 없다. 이런 경우에는 DB 접근제어 솔루션에서 마스킹 기능을 제공해야 한다. 마스킹 대상은 주로 주민번호, 카드번호, 계좌번호 같은 개인정보 관련된 사항이나 급여 및 인사 평가 정보, 재무 회계 정보 등과 같이 조직 내부에서 대외비로 분류돼 특별히 관리해야 하는 정보다.


모니터링

조직 내에서 보안 상태를 총괄적으로 파악할 수 있는 모니터링 체계를 구축해야 한다. 또한 조직의 특성에 맞게 모니터링 지표가 관리돼야 하며, 상태를 비교할 수 있도록 모니터링 추이를 관측할 수 있어야 한다.


빅데이터 취약점 분석

빅데이터의 보안은 외부 혹은 내부자로부터 개인 또는 조직의 주요기밀 정보 유출에 대한 방어를 목적으로 한다. 빅데이터에서 보안의 위협들은 사용자의 실수, 오용, 내부자의 권한 남용, 빅데이터 시스템에 대한 알려진 취약점 등으로부터 기인하게 된다.
오늘날 정보자산은 무형의 자산에 그치지 않고 실질적인 재화를 의미한다. 이러한 정보자산 가치의 증대로 인해 주요 정보가 집중돼 있는 빅데이터 시스템에 대한 위협은 날로 증가하고 있다. 빅데이터 침해사고는 외부의 해커, 인가된 내부 사용자, 인가되지 않은 내부 사용자 등 모든 범 위에서 발생할 수 있다.
빅데이터 시스템은 정보시스템의 가장 깊은 곳에서 운영되지만 웹 애플리케이션(Web Application), 내부망(Internal Network), 파트너 연계 네트워크 등 수 많은 접근점의 존재로 인해 데이터 유출 위험이나 서비스 중지의 위험이 상시적으로 존재한다. 일반적인 빅데이터 시스템의 취약점은 다음과 같은 유형을 나타내고 있다.


  • 일반 권한을 소유한 빅데이터 시스템 계정이 SQL 명령으로 Admin 권한을 소유하게 된다면?
  • DoS 공격으로 빅데이터 시스템이 갑자기 중지된다면?
  • 빅데이터 시스템의 알려지지 않은 내부 함수(Internal Function)로 인해 데이터가 손상된다면?
  • 타인의 테이블(Table)에 남모르게 접근이 가능하게 된다면?

그리고 앞에서 열거한 취약점들은 다음의 대표적으로 알려진 취약점을 통해 공격받을 수 있다.


  • 디폴트(Default) 패스워드 및 보안상 안전하지 못한 약한 패스워드
  • 권한의 남용(모든 권한은 꼭 필요한 최소한의 권한으로 운영돼야 한다.)
  • 버퍼 오버플로(Buffer overflow)나 형식문자열(Format String)과 같은 알려진 취약 점들
  • 네트워크를 통한 취약점들
  • 빅데이터 시스템 파일에 대한 불법 열람 및 변조
  • SQL 주입공격(Injection )
  • 빅데이터 서비스를 중단시킬 수 있는 서비스 거부(Denial of Service)

위와 같은 위협들 문제는 이러한 빅데이터 시스템의 취약점들이 제조사나 해커들에 의해 항상 공개가 된다는 것이다. 이렇게 공개된 취약점들을 통해 빅데이터 시스템은 쉽게 공격 대상으로 주목되게 된다. 빅데이터 시스템의 취약점 분석은 빅데이터 시스템에 내재된 취약점들과 운영에 있어서 고려돼야 할 항목들을 다각도에서 구체적으로 탐지하고 점검함으로써 보안 관리자 및 빅데이터 운영자에게 시스템에 내재된 안전 취약점(Security Hole)을 제거하게 해 빅데이터의 보안 수준을 향상시키게 한다.
취약점 분석 기술은 점검대상 네트워크 범위에 존재하는 정보자산을 파악하는 정보 수집 (Information Gathering), 빅데이터 시스템의 보안을 검증할 수 있는 모의해킹(Penetration Test), 빅데이터 로그 탐지를 통한 내부 보안감사(Security Auditing) 등의 과정을 통해 다양한 취약점들을 도출 해 전체 보안 수준의 향상을 도모한다. 이 절에서 얘기하는 빅데이터 탐지기술을 통해 취약점을 발견하고 분석해 빅데이터 시스템 정보 자산의 파악과 보안성의 검토, 검출된 취약점 제거를 위한 Fix Scripts 및 개선안 제시, 리포팅 등을 수행하게 된다.


취약점 분석 설계

빅데이터 시스템의 취약점을 보안 관리자 또는 빅데이터 시스템 관리자가 일일이 찾아낼 수도 있지만, 이는 엄청난 시간과 노력이 필요하다. 이러한 단점을 보안하고 업무의 효율성을 높이기 위해 일반적으로 취약점 분석 솔루션을 사용한다. 취약점 분석 솔루션은 빠른 시간 안에 방대한 빅데이터 시스템을 분석해 취약점을 도출하고 해당 빅데이터 시스템의 보안 대책을 마련하는 기초 자료를 제공한다. 또한 보안 관리자 및 빅데이터 시스템 관리자에게 현재 운영 중이거나 향후 구축될 빅데이터 시스템의 취약점을 미연에 방지하도록 사전 가이드성 정보를 제공한다.
취약점 분석 솔루션의 도입 시 단 한번의 정보수집으로 대상 네트워크 정보자산의 파악 가능하게 해 사용자 편의성과 점검시간 단축(Easy operating and time saving)해야 하며, 단편적인 보안도구(In-house ware)를 조합한 보안점검은 일부 항목이 누락될 위험이 상존하기 때문에 다각적 분석(Fine granularity diagnosis on database security)을 고려해야 한다. 그리고 보안관리자 및 감사자 측면을 고려한 다각도의 보안점검 수행이 가능하도록 모의해킹과 내부 보안감사를 병행 (Double-faced security check)하고, 점검자의 필요에 의한 점검항목 정의 후 점검 수행 가능하도록 사용자 정의 진단(Adaptable user-defined operating)을 고려해야 한다.


취약점 분석 구축

모의 해킹(Penetration Test)과 내부 보안감사(Security Auditing)를 통해 빅데이터 시스템의 취약점을 탐지하는 보안점검이 가능하다. 빅데이터 시스템 모의해킹이란 빅데이터 계정을 소유하지 않은 외부 사용자에 의한 빅데이터 시스템 침해공격을 시뮬레이션(Simulation)하는 행위를 의미한다. 이를 통해 취약점을 탐지 하거나 수집된 취약점을 분석해 외부공격자의 침투가능 경로를 검출할 수 있다. 모의해킹(Penetration Test)의 주요 점검 항목은 다음과 같다.


  • 빅데이터 서비스 프로세스의 여부 점검
  • 빅데이터 시스템의 패스워드를 Brute Forcing, Dictionary Attack, Password Cracking 기법을 통해 안전하지 못한 패스워드 추출 여부 점검
  • 버퍼 오버플로 공격에 대한 DB 서비스 오동작 여부 점검
  • Dos(Denial of Service) 공격에 대한 빅데이터 시스템 다운이나 서비스 불가 여부 점검
  • 빅데이터 시스템의 비정상적인 설정으로 인한 침투 경로 존재 여부 점검

빅데이터 시스템 내부 보안감사는 알려진 취약점과 더불어 빅데이터 시스템이 보안상 안전하게 설치되고 운영되는가를 점검하고, 더불어 빅데이터를 구성하는 File, Table Space, OS, Role, Grant 등의 다각적인 보안 탐지 검토를 의미한다. 내부 보안감사(Security Auditing)에서의 주요 점검 항목은 다음과 같다.


  • 패스워드를 포함하는 Database User Account 정보
  • 모든 프로필과 각 프로필의 리소스 정보
  • DB 유저의 다른 롤에 부여된 롤 정보
  • DB의 모든 롤에 대한 상세 정보
  • DB 유저의 다른 롤에 부여된 시스템 롤 정보
  • DB 유저에게 부여된 시스템 권한 정보
  • DB 프로세스와 세션 정보
취약점 분석 운영

기존 네트워크나 애플리케이션 취약점 분석 솔루션은 네트워크와 OS 보안에 있어 효과적일 수 있지만, 빅데이터 시스템의 취약점에 대한 정보를 제공하지 않는다. 따라서 빅데이터 시스템의 취약점 분석에서는 취약점을 수집해 계층에 존재하는 서비스 거부 공격, Misconfigurations, 알려진 취약성 경고, 패스워드 공격 취약성 등과 같은 보안 사항을 다뤄야만 한다.
빅데이터 시스템의 취약점은 벤더나 컴퓨터 침해 사고 대응단(CERT, Computer Emergency Response Team)에 의해 공개되거나 혹은 악의적 의사를 가진 해커들에 의해 공유되고 있다. 이렇게 발표되는 취약점은 사실상 이미 공개된 것이다. 따라서 발표된 취약점만 대응하는 빅데이터 시스템에서 대응 시점이 늦어지면 바로 공격 위험에 노출될 수 있다.
대표적으로 알려진 취약점인 버퍼 오버플로(Buffer Overflow) 공격은 그 종류가 매우 다양하며, 애플리케이션과 데이터 사이에서 발생된다. 이러한 버퍼 오버플로의 가능성은 취약점으로 분류해 관리해야 한다. 취약점이란 실행되지 않도록 의도된 애플리케이션이 비인가 유저에 의해 실행되도록 하는 모든 시도 및 그 공격들로 정의된다. 애플리케이션 내 취약점들은 대개 프로그래밍 에러를 발생시킨다. 특히 개발자들은 종종 gets(), printf() 등과 같은 함수를 사용할 때 그 보안상의 의미를 잘 모르고 사용하는 경우가 많다. 많은 개발 코드들이 애플리케이션 보안 취약점들이 잘 알려지기 이전에 만들어졌기 때문이다. 가장 위험한 것은 비인증 유저의 Aribitray 명령의 수행을 허용하는 것이다. 아무리 패스워드 및 인증 관리가 강화된다고 하더라도 이러한 취약점을 이용해 우회적으로 공격할 수 있다. 취약점은 단순한 네트워크나 애플리케이션 취약점에 의해 서비스가 중지되는 수준이 아니라, 개인정보보호 차원과 기업 기밀보호 차원에서 매우 중요한 관리 요소가 된다.
하지만 여기서 고려해야 할 사항은 DB는 특성상 IT 인프라 내의 상시 운영 시스템으로서 빅데이터 시스템의 취약점 제거를 위해 가동을 중지하기란 쉽지 않다는 것이다. 취약점의 성격과 위험 등급에 따라 단순한 Fix Script로서 취약점을 제거할 수 있는 가벼운 것도 있지만, 패치(Patch)를 통해 취약점을 제거해야 하는 경우도 생기게 된다. 때때로 이러한 패치 작업은 여러 가지 오류로 인해 DB 재가동이 어렵게 되는 경우도 발생하게 된다. 따라서 빅데이터 시스템의 취약점 제거를 위해 패치를 적용하는 경우에는 해당 벤더의 엔지니어의 조언이 필요하다.
새로운 빅데이터 시스템의 취약점은 발표 시점을 예고하지 않기 때문에 취약점 분석은 자주 하는 것이 바람직하다. 예를 들어 지난 달에 취약점 분석과 제거 작업을 했지만, 그 사이 새로운 취약점 발표와 함께 공격 위험에 노출될 수 있다. 사실 취약점 분석은 빠른 시간 안에 수행할 수 있지만, 취약점 제거에 소요되는 노력과 시간은 만만치가 않다. 하지만 가능하다면 자주 취약점을 분석해 새로운 취약점 발견과 기존 취약점 제거 확인에 노력을 기울여야 한다.


사이버 보안과 마이닝 기술

사이버 보안 분야에서 기존 네트워크 침입 탐지 방법들의 문제를 해결하기 위해서는 각종 인공지능(Artificial Intelligence) 기법들이 도입되고 있다. 즉 정상적인 행위와 각종 비정상적인 행위를 수집하고, 이 행위에 다양한 기계학습(Machine Learning) 알고리즘을 적용해 지식을 자동으로 생성한다. 이렇게 학습된 지식을 기반으로 실시간으로 발생하는 이벤트들에 대해 정상 및 비정상 여부를 판단하는 문제로 볼 수 있다.
기계학습은 그 학습 방법에 따라 크게 감독 학습(Supervised Learning)과 비감독 학습(Unsupervised Learning)으로 나뉜다. 감독 학습은 해당 자료에 대한 지식을 기반으로 학습하는 방법이며, 비감독 학습은 이러한 지식의 도움 없이 스스로 학습하는 방법이다. 감독 학습 방법에 의해 학습된 지식은 학습 알고리즘의 특성에 따라 트리, 인스턴스, 가중치, IF-THEN 규칙 등 다양한 형태로 표현된다. 비감독 학습에 의해 만들어진 지식은 동일한 특성이 있는 자료들의 그룹(Cluster) 형태로 지식이 표현된다.
비정상 행위 탐지 기반 침입탐지 분야에서는 감독 학습법과 비감독 학습법이 모두 사용된다. 감독 학습법이 비감독 학습법에 비해 정확도가 높다. 그러나 비감독 학습은 비록 정확도는 낮지만, 새로운 유형의 공격 감지에서는 효과적이라고 알려졌다.