2018.02.07

리뷰 | '인사이트 엔진', 보안 분석가를 위한 '구글'

John Breeden | CSO
보안 프로세스를 자동화하는 솔루션은 많지만 대부분은 한계가 있다. 인공지능을 이용한다고 해도 '직감'에 따라 네트워크의 문제를 찾아내는 능력은 여전히 사람에 미치지 못한다.

'인사이트 엔진(Insight Engines)'은 자동화 솔루션과 사람의 중간 정도에 위치하고 있다. 컴퓨터의 능력을 활용해 사이버 보안의 힘든 일을 처리하되 각 조사의 책임은 전적으로 인간에게 맡긴다. 100% 온프레미스로 처리하므로 스누핑(snooping)에 취약하지 않고 외부 연결 문제에도 영향을 받지 않는다.

인사이트 엔진은 본질적으로 자연어 처리기다. 매우 복잡한 백엔드(backend) 프로그래밍 인터페이스와 연계돼 있다. 사이버 보안 팀원이 보유 기술 수준과 관계 없이 일상적인 언어로 질문을 하면 데이터 풀을 총동원한 고급 질의를 통해 답변해 준다.

현재 인사이트 엔진은 보안 정보 및 이벤트 관리(SIEM) 솔루션인 '스플렁크(Splunk)'에서만 실행할 수 있다. 일종의 제약사항이지만 대신 스플렁크에 이미 통합된 툴이라면 모두 접근해 사용할 수 있다.

인사이트 엔진은 스플렁크 응용 프로그램으로 설치된다. 기존 스플렁크 사용자는 활성화 후 30분 정도면 설치가 끝난다. 그 후에는 연결된 데이터 일체를 점검할 시간이 하루 정도 필요하다. 프로그램이 일단 자리를 잡으면 학습을 계속해 보호 대상 네트워크와 완전하게 동기화된다. 또한 1~2주 간의 준비 과정도 필요하다. 신규 고객이 새로운 보안 도구를 최대한 활용할 수 있도록 데이터 세트을 정리하고 다듬는 시간이다.

고급 사용자에겐 인사이트 엔진이 네트워크 보안을 위한 '구글(Google)'이라고 봐도 무방하다. 자연어 검색이 가능하고 각 질의에 답해 정제된 정보를 반환한다. 이런 도식화가 완전히 정확하지만 않지만, 이 솔루션의 작동 원리는 이해하는 데는 유용할 것이다.

인사이트 엔진은 스플렁크 환경에서 실행할 수 있다.

인사이트 엔진을 사용할 방법은 분석가가 프로그램에 질문을 하는 것이다. 이번 리뷰 과정에서 "우리의 테스트 네트워크 상 호스트 중에서 이번 달에 중국과 통신한 호스트가 있었나?"와 같은 간단한 질문을 해 보았다. 인사이트 엔진은 "그렇다"고 답변했다.

관련 자료도 함께 보여줬다. 예를 들면 어떤 파일 종류나 데이터가 교환되었는지, 어떤 호스트와 클라이언트, 사용자가 연관되었는지, 그러한 활동 중에서 네트워크 상에 설치된 기존 보안 도구의 경보를 발생시킨 것이 있는지 여부 등을 알려줬다. 심지어는 데이터 패킷이 전송되었던 중국 내 모든 장소가 표시된 지도도 보여줬다.

네트워크 상태에 대한 질의는 플레인 언어로 입력한다.

질의 수준을 조금 높여봤다. "로그인 시도를 500번 이상 실패한 후에 겨우 성공한 사용자가 있었는가?"라는 질문에 몇 명의 사용자 리스트를 보여줬다. 그 중에는 최고 관리자도 포함돼 있었다. 여기를 기준으로 질의의 범위를 좁힐 수도 있다. 예를 들면 "최고 관리자가 어제 네트워크에 성공적으로 접속한 이후 어떤 서비스와 데이터에 접속했는가?"와 같은 질문이다. 더 복잡한 질문도 가능하다. 금요일에 최고 관리자가 (500번 로그인 실패 후) 네트워크를 사용한 내역을 과거의 사용 패턴과 비교해 보는 것이다.

이러한 종류의 질의와 사고 방식은 네트워크 위협 사냥꾼에게 매우 유용하다. 그러나 기존까지는 거의 사용되지 않았다. 매우 복잡한 질의를 작성해야 하는데 초급 분석가는 그 방법을 몰랐기 때문이다. 노련한 위협 사냥꾼도 스크립트를 작성하고 다듬는데 몇 시간 혹은 며칠이 필요했다. 이런 상황에서는 위협을 적발하는 데 몇 달이 소요되는 것이 어쩌면 당연하다.

인사이트 엔진은 스플렁크 쿼리 속도를 높이는 것은 물론 데이터 풀을 정제하고 개선하는 것도 지원한다.

인사이트 엔진은 백엔드에서 까다로운 작업을 처리하지만 그 내부를 들여다보면 생성되는 모든 질의는 결과를 빨리 반환할 수 있도록 설계된 '가속 스플렁크 쿼리(accelerated Spunk queries)'다. 스플렁크의 한 기능이지만 스플렁크 사용자 중 이 고급, 가속 질의를 작성할 수 있는 사람은 거의 없다. 방법을 알고 있다고 해도 작성하는 데 상당한 시간이 걸린다. 사소한 오타나 실수만으로도 작동하지 않을 수 있다.

인사이트 엔진은 이 복잡하고 까다로운 가속 질의를 불과 몇 초 안에 만들고, 잘못된 문자열이 없는지 확인한다. 가속 질의 전문가라면 질의를 수정해 다른 정보를 볼 수 있도 있다. 그러나, 인사이트 엔진의 자연어 옵션을 이용해 프로그램과 대화하듯이 질의를 입력하는 것도 꽤 훌륭한 성능을 보였다.

인사이트 엔진은 가속 스플렁크 쿼리다.

이러한 방식으로 인사이트 엔진은 사이버 보안 인력 관련 여러 가지 문제에 해법을 제시한다. 기술이 부족한 작업자도 통찰력을 활용한 위협 사냥과 적발이 가능하다. 굳이 스플렁크 프로그래밍 방법을 배우거나 데이터 과학 학위를 따지 않아도 된다.

기업은 약간의 교육만 제공하고 전문가를 영입해 활용할 수 있다. 예를 들면 범죄자의 사고 방식을 알고 있거나 효과적인 수사 기법을 활용할 줄 아는 퇴직 경찰관 등이다. 이들이 이 툴을 이용하면 프로그래밍 기술 수준에 관계 없이 직감에 따라 위협 사냥 업무를 수행할 수 있다. 사이버 보안 팀의 귀중한 일원이 되는 데 그리 오랜 시간이 걸리지 않을 것이다.

고급 수준에서는 최고 전문가가 인사이트 엔진을 활용해 가속 스플렁크 질의를 신속하게 작성할 수 있다. 매일 몇 시간을 아낄 수 있고 위협에 신속히 대응해 네트워크에 위험이 있는지 판단할 수 있다. 이들은 프로그램을 활용해 일일 질의를 설정해 보안 프로세스를 자동화할 수도 있다. 예를 들어, 로그인에 특정 횟수만큼 실패한 끝에 네트워크에 접속한 사용자에 대한 질문이 가치가 있다고 판단되면 똑같은 질문을 매일 자동으로 실행하고 무언가가 감지되면 경보를 보내도록 설정할 수 있다.

대부분 쿼리 결과는 그래픽과 차트로 보여주지만 미가공 데이터도 쉽게 확인할 수 있다.

인사이트 엔진이 스플렁크에서만 실행된다는 사실은 아쉽다. 그러나 언젠가는 다른 버전이 나올 가능성이 있다. 이미 스플렁크를 도입한 기업이라면 인사이트 엔진 역시 도입하지 않을 이유가 없다. 기술 수준과 관계 없이 모든 분석가에게 도움이 될 것이다. 프로그래밍 경험이나 심도 있는 IT 기술이 없어도 통찰력이 있는 수사관들을 비어 있는 SIEM 자리에 채용할 수도 있다.

사용자가 네트워크 운영 방식에 대한 기본적인 이해만 있어도 인사이트 엔진을 이용한 잠재적인 위협 파악이라는 목표는 충분히 달성할 수 있다. 고급 분석가는 업무 시간을 절약해 준다는 것 이외에는 큰 의미가 없겠지만 1초라도 빠른 것이 의미가 있는 업무라면 그 역시 유용한 툴이다. ciokr@idg.co.kr 

2018.02.07

리뷰 | '인사이트 엔진', 보안 분석가를 위한 '구글'

John Breeden | CSO
보안 프로세스를 자동화하는 솔루션은 많지만 대부분은 한계가 있다. 인공지능을 이용한다고 해도 '직감'에 따라 네트워크의 문제를 찾아내는 능력은 여전히 사람에 미치지 못한다.

'인사이트 엔진(Insight Engines)'은 자동화 솔루션과 사람의 중간 정도에 위치하고 있다. 컴퓨터의 능력을 활용해 사이버 보안의 힘든 일을 처리하되 각 조사의 책임은 전적으로 인간에게 맡긴다. 100% 온프레미스로 처리하므로 스누핑(snooping)에 취약하지 않고 외부 연결 문제에도 영향을 받지 않는다.

인사이트 엔진은 본질적으로 자연어 처리기다. 매우 복잡한 백엔드(backend) 프로그래밍 인터페이스와 연계돼 있다. 사이버 보안 팀원이 보유 기술 수준과 관계 없이 일상적인 언어로 질문을 하면 데이터 풀을 총동원한 고급 질의를 통해 답변해 준다.

현재 인사이트 엔진은 보안 정보 및 이벤트 관리(SIEM) 솔루션인 '스플렁크(Splunk)'에서만 실행할 수 있다. 일종의 제약사항이지만 대신 스플렁크에 이미 통합된 툴이라면 모두 접근해 사용할 수 있다.

인사이트 엔진은 스플렁크 응용 프로그램으로 설치된다. 기존 스플렁크 사용자는 활성화 후 30분 정도면 설치가 끝난다. 그 후에는 연결된 데이터 일체를 점검할 시간이 하루 정도 필요하다. 프로그램이 일단 자리를 잡으면 학습을 계속해 보호 대상 네트워크와 완전하게 동기화된다. 또한 1~2주 간의 준비 과정도 필요하다. 신규 고객이 새로운 보안 도구를 최대한 활용할 수 있도록 데이터 세트을 정리하고 다듬는 시간이다.

고급 사용자에겐 인사이트 엔진이 네트워크 보안을 위한 '구글(Google)'이라고 봐도 무방하다. 자연어 검색이 가능하고 각 질의에 답해 정제된 정보를 반환한다. 이런 도식화가 완전히 정확하지만 않지만, 이 솔루션의 작동 원리는 이해하는 데는 유용할 것이다.

인사이트 엔진은 스플렁크 환경에서 실행할 수 있다.

인사이트 엔진을 사용할 방법은 분석가가 프로그램에 질문을 하는 것이다. 이번 리뷰 과정에서 "우리의 테스트 네트워크 상 호스트 중에서 이번 달에 중국과 통신한 호스트가 있었나?"와 같은 간단한 질문을 해 보았다. 인사이트 엔진은 "그렇다"고 답변했다.

관련 자료도 함께 보여줬다. 예를 들면 어떤 파일 종류나 데이터가 교환되었는지, 어떤 호스트와 클라이언트, 사용자가 연관되었는지, 그러한 활동 중에서 네트워크 상에 설치된 기존 보안 도구의 경보를 발생시킨 것이 있는지 여부 등을 알려줬다. 심지어는 데이터 패킷이 전송되었던 중국 내 모든 장소가 표시된 지도도 보여줬다.

네트워크 상태에 대한 질의는 플레인 언어로 입력한다.

질의 수준을 조금 높여봤다. "로그인 시도를 500번 이상 실패한 후에 겨우 성공한 사용자가 있었는가?"라는 질문에 몇 명의 사용자 리스트를 보여줬다. 그 중에는 최고 관리자도 포함돼 있었다. 여기를 기준으로 질의의 범위를 좁힐 수도 있다. 예를 들면 "최고 관리자가 어제 네트워크에 성공적으로 접속한 이후 어떤 서비스와 데이터에 접속했는가?"와 같은 질문이다. 더 복잡한 질문도 가능하다. 금요일에 최고 관리자가 (500번 로그인 실패 후) 네트워크를 사용한 내역을 과거의 사용 패턴과 비교해 보는 것이다.

이러한 종류의 질의와 사고 방식은 네트워크 위협 사냥꾼에게 매우 유용하다. 그러나 기존까지는 거의 사용되지 않았다. 매우 복잡한 질의를 작성해야 하는데 초급 분석가는 그 방법을 몰랐기 때문이다. 노련한 위협 사냥꾼도 스크립트를 작성하고 다듬는데 몇 시간 혹은 며칠이 필요했다. 이런 상황에서는 위협을 적발하는 데 몇 달이 소요되는 것이 어쩌면 당연하다.

인사이트 엔진은 스플렁크 쿼리 속도를 높이는 것은 물론 데이터 풀을 정제하고 개선하는 것도 지원한다.

인사이트 엔진은 백엔드에서 까다로운 작업을 처리하지만 그 내부를 들여다보면 생성되는 모든 질의는 결과를 빨리 반환할 수 있도록 설계된 '가속 스플렁크 쿼리(accelerated Spunk queries)'다. 스플렁크의 한 기능이지만 스플렁크 사용자 중 이 고급, 가속 질의를 작성할 수 있는 사람은 거의 없다. 방법을 알고 있다고 해도 작성하는 데 상당한 시간이 걸린다. 사소한 오타나 실수만으로도 작동하지 않을 수 있다.

인사이트 엔진은 이 복잡하고 까다로운 가속 질의를 불과 몇 초 안에 만들고, 잘못된 문자열이 없는지 확인한다. 가속 질의 전문가라면 질의를 수정해 다른 정보를 볼 수 있도 있다. 그러나, 인사이트 엔진의 자연어 옵션을 이용해 프로그램과 대화하듯이 질의를 입력하는 것도 꽤 훌륭한 성능을 보였다.

인사이트 엔진은 가속 스플렁크 쿼리다.

이러한 방식으로 인사이트 엔진은 사이버 보안 인력 관련 여러 가지 문제에 해법을 제시한다. 기술이 부족한 작업자도 통찰력을 활용한 위협 사냥과 적발이 가능하다. 굳이 스플렁크 프로그래밍 방법을 배우거나 데이터 과학 학위를 따지 않아도 된다.

기업은 약간의 교육만 제공하고 전문가를 영입해 활용할 수 있다. 예를 들면 범죄자의 사고 방식을 알고 있거나 효과적인 수사 기법을 활용할 줄 아는 퇴직 경찰관 등이다. 이들이 이 툴을 이용하면 프로그래밍 기술 수준에 관계 없이 직감에 따라 위협 사냥 업무를 수행할 수 있다. 사이버 보안 팀의 귀중한 일원이 되는 데 그리 오랜 시간이 걸리지 않을 것이다.

고급 수준에서는 최고 전문가가 인사이트 엔진을 활용해 가속 스플렁크 질의를 신속하게 작성할 수 있다. 매일 몇 시간을 아낄 수 있고 위협에 신속히 대응해 네트워크에 위험이 있는지 판단할 수 있다. 이들은 프로그램을 활용해 일일 질의를 설정해 보안 프로세스를 자동화할 수도 있다. 예를 들어, 로그인에 특정 횟수만큼 실패한 끝에 네트워크에 접속한 사용자에 대한 질문이 가치가 있다고 판단되면 똑같은 질문을 매일 자동으로 실행하고 무언가가 감지되면 경보를 보내도록 설정할 수 있다.

대부분 쿼리 결과는 그래픽과 차트로 보여주지만 미가공 데이터도 쉽게 확인할 수 있다.

인사이트 엔진이 스플렁크에서만 실행된다는 사실은 아쉽다. 그러나 언젠가는 다른 버전이 나올 가능성이 있다. 이미 스플렁크를 도입한 기업이라면 인사이트 엔진 역시 도입하지 않을 이유가 없다. 기술 수준과 관계 없이 모든 분석가에게 도움이 될 것이다. 프로그래밍 경험이나 심도 있는 IT 기술이 없어도 통찰력이 있는 수사관들을 비어 있는 SIEM 자리에 채용할 수도 있다.

사용자가 네트워크 운영 방식에 대한 기본적인 이해만 있어도 인사이트 엔진을 이용한 잠재적인 위협 파악이라는 목표는 충분히 달성할 수 있다. 고급 분석가는 업무 시간을 절약해 준다는 것 이외에는 큰 의미가 없겠지만 1초라도 빠른 것이 의미가 있는 업무라면 그 역시 유용한 툴이다. ciokr@idg.co.kr 

X