데일리시큐 주최 하반기 최대 정보보안&개인정보보호 컨퍼런스 PASCON 2020이 11월 10일 더케이호텔서울 가야금홀에서 방역수칙 준수하에 성황리에 개최됐다.
이 자리에서 양봉열 로그프레소 대표는 ‘보안관제를 지탱하는 기술’이란 주제로 강연을 진행했다.
양봉열 대표는 2005년 인젠의 시큐플랫ESM으로 통합보안관제 시스템 개발을 시작한 이래, 15년 간 관제 기술을 연구해왔다.
초기 관제 시스템들은 관계형 데이터베이스와 ISAM 파일을 기반으로 설계되었다. 로그는 정규화해 ISAM 파일에 쓰고, 이벤트는 데이터베이스에 저장했다. 그러나 이런 데이터 시스템은 스키마가 고정되어 있어서 원본 로그를 저장하기 어려웠다. B-TREE 기반 스토리지 엔진은 잠금으로 인해 고속 쓰기에 불리했고, 트리 노드에 항상 여유 공간이 존재하기 때문에 디스크를 낭비하게 되고 압축하기에도 어려운 구조적 문제가 있었다.
엘라스틱과 하둡 양쪽으로 데이터 저장하는 땜질 처방…지금도 계속
당시에 부상하던 인메모리 DB를 비롯해 여러가지 대안들이 실험되었지만, 근본적으로 보안 로그의 특성을 염두에 두지 않은 OLTP 위주의 데이터 시스템은 성능 문제를 해결하기에 역부족이었다. 2010년 이전의 시스템은 성능 문제로 로그 수집, 저장부터 누수되는 경우가 빈번했고, 로그를 조회하거나 검색하면 저장 속도가 급격하게 떨어질 뿐 아니라 수 시간을 대기해야 겨우 결과를 보거나 시스템 자체가 다운되는 경우도 흔했다.
이러한 상황에서 단순 조회 이상의 연관 분석은 최근 수 분 정도의 최근 데이터에 대해 인메모리에서만 가능한 일이었기 때문에, 대규모 데이터를 연관 분석하는 일은 상상하기도 어려웠다.
많은 아키텍트들은 관계형 데이터베이스에 데이터마트를 정의해서 TOP N 통계를 미리 생성하고, 텍스트 로그 자체는 일 단위로 압축하는 설계를 했는데, 이는 주어진 여건에서 최소한의 통계 보고서라도 빠르게 조회하고자 하는 땜질 처방에 불과했다. 미리 정의되지 않은 통계는 조회 자체가 불가능했기 때문에, 가능한 많은 조합의 데이터마트를 정의해야 했고 이는 다시 많은 디스크 공간 소모로 이어졌다. 압축된 텍스트 파일은 전체를 압축 해제해 조회 및 검색해야 했기 때문에 디스크 공간은 덜 사용했지만 사실상 조회 검색이 불가능한 상황을 야기했다.
2010년 대 이후 루씬, 하둡과 같은 오픈소스 빅데이터 기술이 등장하자 많은 사람들이 기존의 성능 문제가 해결되지 않을까 기대했으나, 풀텍스트 고속 검색과 대규모 통계 및 연관 분석을 모두 지원하는 시스템은 존재하지 않는다는 사실을 깨닫게 되었다. 엘라스틱은 조인을 지원하지 않고, 하둡은 실시간 검색을 지원하지 않는다. 이에 엘라스틱과 하둡 양쪽으로 데이터를 저장하는 땜질 처방이 2020년인 지금도 계속되고 있다.
“로그프레소, 자체 기술로 단일 빅데이터 플랫폼 개발…기존 기술들 문제 해결”
로그프레소는 이 문제를 근본적으로 해결하려면 직접 밑바닥부터 빅데이터 플랫폼을 설계해야 한다고 믿었고, 결국 실시간 스트리밍 분석, 실시간 인덱싱과 고속 풀텍스트 검색, 드릴다운을 포함한 실시간 통계 분석, 대규모 분산 통계와 조인, AI 머신러닝까지 완전하게 자체 기술로 구현한 단일 빅데이터 플랫폼을 만들어냈다.
많은 시스템들이 유행에 따라 아키텍처 스타일이 변화하는데, 빅데이터의 성능에 초점을 맞추지 않으면 근본적으로 해결하기 어려운 성능 병목을 맞게 된다. 로그프레소는 I/O를 극단적으로 줄이기 위하여 머신별 단일 프로세스, 인코딩과 압축 효율 극대화, 데이터 파이프라인의 병렬화를 모든 영역에서 구현했다.
빅데이터의 핵심은 로직이 있는 곳으로 데이터를 옮기는게 아니라, 데이터가 있는 곳으로 로직을 옮기는 것이다. 예를 들어 분산 통계나 조인을 수행한다면, 전송해야 하는 데이터량을 최소화하도록 쿼리 플래너가 자동으로 쿼리를 재작성해 데이터 노드로 내려보낸다.
검색 고속화에는 역인덱스(inverted index)와 블룸필터(bloom filter)가 활용된다. 특히 블룸필터는 최소의 용량으로 키워드가 존재하지 않는 블록을 완전히 건너뛸 수 있도록 지원함으로써 장기간 데이터 검색에서 최적의 성능을 도출한다.
통계 분석은 스키마리스 컬럼스토리지 엔진이 실시간 분석을 가능하게 한다. 대규모 분석 쿼리를 실행할 때 필요한 컬럼은 일부분이므로, 기존의 OLTP 시스템이 사용하는 행 단위 레코드 레이아웃을 열 단위로 바꾸게 되면 반드시 필요한 데이터 영역만 읽고 처리할 수 있게 되므로 성능이 수십 배 향상된다. 여기에 벡터 단위의 쿼리 실행은 단일 인스트럭션으로 여러 개의 데이터를 동시에 연산하는 SIMD를 활성화하기 때문에 기존 시스템 대비 100배 이상의 성능을 낼 수 있게 된다. 이는 예전에 불가능하던 자유로운 데이터 통계와 연관 분석을 가능하게 한다.
암호화된 데이터에서 컬럼스토리지는 더욱 빛을 발하는데, 특허 등록된 로그프레소 기술은 분석 쿼리에서 요구하는 컬럼만 복호화를 수행함으로써 암호화 된 데이터에 대해서도 최상의 분석 성능을 도출한다.
로그프레소는 여기에 그치지 않고 쿼리 실행 시점에 비정형 데이터의 타입을 추론해 쿼리를 실행 시간에 컴파일한다. 이는 인터프리터 방식의 쿼리 엔진에서 발생하는 모든 오버헤드를 제거한 머신 코드를 런타임에 생성해 대규모 분석 쿼리 실행의 성능을 최적화한다.
이러한 근본적인 데이터 처리 기술의 발전은 매일 수백 기가에서 테라바이트 단위의 데이터가 유입되는 상황에서도 이전에 불가능하던 검색과 분석을 사용자가 원하는대로 수행할 수 있도록 지원하게 되었다.
양봉열 대표는 “오픈소스 기반의 빅데이터 플랫폼이 여러 컴포넌트의 조합으로 높은 복잡도, 낮은 성능, 많은 장애 포인트, 장기적 데이터 호환성 문제를 가진다”는 점을 지적하며 “완전하게 구현된 단일 빅데이터 플랫폼만이 안정적 보안 운영을 담보한다”고 강조했다.
로그프레소 양봉열 대표의 PASCON 2020 발표자료는 데일리시큐 자료실에서 다운로드 가능하다.
https://www.dailysecu.com/news/articleView.html?idxno=116401