brunch

매거진 침해대응

You can make anything
by writing

C.S.Lewis

by Moai Nov 26. 2022

DiD (Defense In Depth)

보안솔루션

얼마전에 슈카월드에서 재밌는 영상을 봤다.

https://www.youtube.com/watch?v=KIMxmVnUJ9o

콘스탄티노플은 옛 로마의 수도이다. 도시의 위치는 3면이 바다로 둘러쌓여있고 남은 한쪽은 테오도시우스라는 성벽으로 막아놓았다. 그리고 1000년동안 수많은 세력이 로마의 황제를 공격했지만 테오도시우스 성벽에 번번히 막혔다. 하나의 성벽을 넘어도 다른 성벽으로 인해 공격이 매우 힘든구조이다. 


정보 보안 또한 비슷한 방식인데 하나의 방어수단이 실패하더라도 다른 방어수단으로 막을 수 있도록 한다. 단순히 호스트에 백신(안티바이러스)을 설치하는 것에 끝나지 않고 네트워크에도 여러 보안 장비를 설치해서 여러 포인트에 방어대책을 마련한다. 이를 DiD(Defense in Depth)라고 한다. 단 이 방법은 관리, 유지보수가 어렵고 상용 보안솔루션을 사용할 경우 비용이 커진다는 단점이 있다. DiD를 무엇으로 구축할 수 있는지 하나씩 확인해보자.




KISA에서 공개한 2022년 상반기 사이버 위협 동향 보고서에서

https://www.krcert.or.kr/data/reportView.do?bulletin_writing_sequence=66820 

최근 랩서스 공격 그룹의 해킹 기법을 살펴보면 


 - 정보수집단계

다크웹에서 임직원 정보를 구매하고 구매한 정보로 참고해 임직원에게 피싱 메일을 발송, 다양한 루트의 해킹공격으로 임직원 계정정보를 습득했다.

 - 초기 유입

이후 수집된 접속정보 및 계정정보를 이용해 PC로 접속했다. 최대한 2Factor 인증이 없거나 내부정책으로 예외처리가 된 PC를 찾아 공격을 시도했다.

 - 내부 시스템 이동

내부시스템이나 어플리케이션에 접근하기 위해서는 추가 인증이 필요한데 이 때 해커는 추가 인증을 소유 기반이 아닌 시스템 기반 인증으로 접근해 정보유출을 진행했다. 추가적으로 jira 의 취약점을 이용해 공격을 진행한 것으로 알려졌다. 


이때 대응방안으로 제시한 도표를 살펴보자

보안 위협이 고도화되고 지능화 될수록 보안담당자는 기업의 정보자산을 안전하게 보호하기 위해 여러 보안 솔루션을 도입해 해결하고자 하는 것이 일반적이다. 뿐만 아니라 보안 솔루션에서 발생되는 로그 및 데이터를 면밀히 분석하고 각 데이터 소스간의 연관 분석 및 활용이 수반될 수 있어야 한다. 보안 솔루션을 구축하는 것으로 끝나는 것이 아니라 지속적인 모니터링이 필요하다. 다만 모니터링하고 분석해야할 보안 이벤트와 데이터는 폭발적으로 늘어나는 데 비해 이를 처리하기 위한 인적자원을 확보하는 것이 매우 힘든 실정이다. 


현재 나는 인프라 보안을 담당하고 있지만 언젠가 기회가 된다면 cert 경험과 프로그래밍 실력을 살려 보안 플랫폼을 구축하고 탐지를 자동화하는 것이 꿈이자 목표이다.


어떤 보안솔루션이 존재하고 우리가 그것을 통해 무엇을 보호할 수 있는지 하나씩 살펴보도록 하자. 


보안 솔루션은 PC, 서버, 데이터베이스, 네트워크에 설치될 수 있고 경우에 따라 스마트폰, 이메일에도 설치될 수 있다. 추가적으로 보안 솔루션에서 로그 및 얼럿을 받아 보안 담당자가 확인할 수 있도록 도와주는 로그 분석 시스템이 있을 수 있다. 


국내 IT기업중 위XX의 보안기술 및 아키텍처 전문가를 채용하는 공고문이다. 


해당 담당자가 되기 위해 필요한 지식과 기술에 대해 작성하고자 한다. 


Endpoint 보안 솔루션

AV (anti-virus)

PC 및 서버에 설치되어 유입된 악성코드를 탐지해서 격리시키는 솔루션이다. 우리나라에서는 V3의 영향으로 다들 백신이라는 이름으로 알고 있다. 단점으로는 패킹되거나 최초 유입된(알려지지 않은) 악성코드의 경우 잘 탐지를 못하는 경향이 있다. 이때는 행동기반으로 탐지하긴하는데 탐지를 못하는 경우가 잦다. 그래서 요즘은 악성코드 패턴이 DB에 없더라도 AI기반으로 탐지해내는 차세대 AV를 사용한다. 그리고 요즘 나온 AV는 활동 모니터링, 실시간 데이터분석, 방화벽 기능도 제공한다. 

https://www.nurilab.com/kr/products/crowdstrike.html

오픈소스 AV로는 ClamAV가 있는데 기업에서 쓰기에는 다소 기능과 탐지능력이 부족하다.


EDR (Endpoint Detection and Response)

악성코드에 감염되거나 기입비밀이 유출됐을 때 사용자 PC를 포렌식해야한다. 이때 하드디스크를 분리하거나 USB선으로 연결해서 이미지를 떠야하는데 그 시간동안 같은 악성코드에 의해 회사의 다른 임직원이 감염될 수 있다. 또한 로그가 훼손되거나 삭제될 수도 있다. 이를 방지하기위해 PC에서 일어나는 모든 행위를 모니터링하고 로깅하는 작업을 한다. 만약 악성코드에 감염되면 디스크 이미징할 필요 없이 그 시점에 발생한 로그만 분석하면 될 것이다. EDR은 로깅만 해주므로 분석하기 전까지는 사용자를 감시할 수 없다. 따라서 로그를 수집하는 시스템에 특정 이벤트가 발생하면 보안담당자가 확인할 수 있도록 설정을 하거나 악성코드에 감염된 경우 그 관련된 기록을 추출하도록 작업을 해야한다. 

아래 사진은 Tanium 솔루션에 대한 기능을 캡처한 것이다.

https://www.taniumkorea.co.kr/solution#


상용 솔루션 외에도 자체 구축으로도 어느정도 EDR을 대체할 수 있다.


 - Windows

우리가 가장 많이 알고 있는 것은 윈도우의 이벤트로그 일 것이다. 


https://learn.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4720

위 링크에 들어가면 이벤트로그 샘플을 확인할 수 있다.


시스템의 모든 행위를 로깅할 수는 없다. 결국 특정 행동만 로깅하도록 설정하게 되는데 보안담당자 또는 사용자가 설정을 비활성화시키면 무슨일이 발생하고 있는지 알아낼 길이 없어진다. 크게 5가지 항목으로 감사를 진행한다.

https://learn.microsoft.com/ko-kr/windows/security/threat-protection/security-policy-settings/audit-policy

계정 관리 감사: 계정의 생성/수정/삭제 등 계정 컨트롤에 대한 내용

계정 로그온 감사: 계정의 접근 시간, 로그인 성공 실패 여부

프로세스 추적: 프로세스 실행 시간, 누가 실행했는지

시스템 이벤트: 서버, 장비에 대한 기본적인 시스템 변경 이벤트

정책 변경: 시스템(제어판) 설정 변경 이벤트, 감사 변경 이벤트


여기서 관심있게 봐야할 필드는 이벤트 ID (이벤트 Code)이다. 이벤트로그는 크게 이벤트 ID로 구별되고 보안담당자는 미리 수집하고 싶은 이벤트 ID를 설정해 놓을 수 있다. 참고로 Record번호가 있는데 일정 숫자를 넘어가면 다시 처음부터 시작하게 되어있기 때문에 무조건 크다고 나중에 실행된 로그는 아니다.  이벤트로그는 해석이 힘들고 내용을 다 읽어야 어떤 이벤트가 발생했는지 확인할 수 있다. 


주로 수집해야하는 이벤트 로그 정보는 KISA의 로그설정 노트를 참고하자.

https://www.krcert.or.kr/data/guideView.do?bulletin_writing_sequence=30141

Windows10이 나오면서 다양한 이벤트로그가 나왔지만 악성코드 감염을 분석하기엔 그 정보가 매우 빈약하다. 이를 보완하기 위해 sysmon이 나왔는데 사용자 컴퓨터에 sysmon을 설치한 뒤 이벤트로그를 수집하면 좀 더 상세한 로그를 수집할 수 있다. 사실 sysmon 로그만 봐도 어느정도 분석이 가능할 정도다. 

https://learn.microsoft.com/ko-kr/sysinternals/downloads/sysmon

시스몬 로그 설정 방법은 다음 KISA 문서를 참고하자. 기본 크기는 64MB이고 로그양이 상당하기 때문에 2~3일밖에 수집하지 못한다. 가능하다면 로그 크기를 좀 더 늘려주도록 하자.


 - Linux

리눅스는 보통 사용자의 행위보다는 서버에 실행중인 서비스 감사 및 서버접근, 침입 여부에 대해 포커스를 둔다. 보통 시스템 로그(syslog) 및 auditd 로그를 수집하게 되는데 KISA의 문서 외에 로그 전송을 위해 사용된 filebeat의 문서를 확인해보자.


https://www.elastic.co/guide/en/beats/filebeat/current/index.html

에서 module쪽을 자세히 살펴보자


PMS (Patch Management System)

보안담당자는 사용자의 PC에 설치된 프로그램에 대해 관리할 필요가 있다. 비인가 프로그램 설치를 막아야하고 취약한 프로그램이 설치될 경우 패치를 권고해야한다. 또한 패치를 했을 경우 그 현황을 관리해서 보고해야한다. 이렇게 업데이트, 패치 및 설치된 프로그램을 관리하기 위해 PMS 솔루션을 사용하게 된다. 또한 내부망에서 외부 인터넷 open이 힘들경우 업데이트 관리가 매우 힘들다. 이 때 PMS 를 쓰면 그러한 문제를 해결할 수 있다. 아래 스크린샷은 안랩에서 제공하는 PMS 기능이다. 


DLP (Data Loss Prevention)

직원의 데이터유출을 막기 위해 사용하는 솔루션이다. 다만 가격이 매우 비싸고 오탐, 미탐이 발생할 수 있다는 단점이 있다. 이 외에도 파일에 개인정보가 있는지 여부, 개인정보가 담긴 문서를 출력했는지 여부를 관리할 수 있다. 

아래는 안랩에서 제공하는 dlp에 대한 기능이다. 솔루션이 많지만 한국 문서를 제공하는 사이트가 별로 없어서 안랩에서 제공하는 솔루션 위주로 스크린샷을 가져왔다. 이외에도 네트워크, 스토리지 단에서도 보호해주는 솔루션도 존재한다.

https://www.ahnlab.com/kr/site/product/productView.do?prodSeq=119

내부정보 유출방지 : USB등 이동매체, 인터넷 파일 첨부, S/W 기반 정보유출 차단

개인정보보호 : 개인정보 검사, 암호화 및 완전삭제

출력물 보안 : 출력승인, 차단, 이력기록 및 워터마크 


DRM (Digital rights management)

PC에 있는 문서를 암호화해주는 솔루션이다. 요즘은 워케이션이라는 말이 유행일정도로 재택근무가 당연시되고 있다. 카페에서 회사 노트북으로 근무하다가 잊어먹은 경우 또는 지하철에 노트북을 놓고 내린 경우 보안담당자 입장에서는 매우 큰 문제가 된다. 단순히 노트북의 가격보다는 그 안에 있는 데이터 유출의 가능성이 더 걱정되기 때문이다. 회사의 데이터 유출을 막고 싶을 때 DRM 솔루션을 쓴다. 이렇게 되면 모든 파일은 암호화되고 DRM 솔루션이 설치된 컴퓨터에서 특정 뷰어, 도구로 문서를 실행할 경우에만 암호화가 풀리게 된다. 요즘은 MDM(Mobile Device Management)이라 하여 PC뿐만 아니라 모바일에서도 많이 사용되고 있다.  BYOD(Bring Your Own Device)라 하여 개인 스마트폰을 업무에서 사용하기 때문에 업무 시간에는 사진을 찍지 못하거나 행위를 감시하고 싶은 경우 특정 어플리케이션을 설치하고 감시하게 된다. 그리고 회사 업무 앱을 사용해서 문서를 다운받은 경우 문서 암호화를 지원한다. 다만 이러한 솔루션이 무적은 아니니 안심해서는 안 된다. 우회방법은 항상 존재한다.


접근제어솔루션(Server, DB)

중요한 서버나 DB에 접속할 때 적절한 접속 권한 부여 뿐만 아니라 접속 기록 및 행위에 대해 모두 로깅되어야 한다. 특히 인증심사에서 중요하게 심사하는 요소로 원격 접속을 지원해주는 솔루션을 사용해야한다. 다음은 hiware 솔루션의 기능을 캡처한 것이다.


Network 보안 솔루션

서버 보안의 경우 엔드포인트 보안으로는 한계가 있다. 서비스를 위해 서버를 외부에 OPEN한 경우 또는 외부에서 사내 네트워크로 접속해야하는 경우에는 네트워크 단에서 보안이 이뤄져야 한다. 


SSL VPN

회사 밖에 있는 PC에서 회사 네트워크로 접속하기 위해서는 인가받은 사용자만 접속할 수 있어야하고 모든 통신은 암호화 되어야 한다. 이러한 접속을 도와주는 솔루션이 SSL VPN이다. 이러한 VPN은 단순 접속 용 뿐만 아니라 방화벽기능을 제공해서 사용자별로 접속을 제한할 수 있고 및 NAC 기능을 제공해서 회사 네트워크의 접속이 아닌경우에는 VPN을 타지 않고 바로 접속하도록 설정할 수 있다. 이 때 개인 PC의 접속을 믿지 못하거나 행위를 모두 감시해야하는 경우 VPN보다는 VDI가 더 적절한 해결책이 될 수 있다. VDI는 가상 운영체제를 실행시키고 여기에 접속해 회사망에 접속하는 방법이다. 


FW

https://brunch.co.kr/@moaikim/48


IDS/IPS

방화벽이 ip, port 기반으로 공격을 차단하더라도 정상적인 ip에서 들어오는 공격은 막을 수 없다는 단점이 있다. 정상적인 IP에서 들어오는 공격은 다른 패턴으로 공격을 탐지, 차단해야 한다. 

예를들어 해커들은 방화벽 우회를 위해 github, aws와 같은 정상사이트에서 추가 공격을 진행할 수 있다.  방법으로는 네트워크 중간에 장비를 설치해서 이미 알려진 공격패턴이 있으면 그것을 룰로 등록해서 막는 방법과 정상적인 패턴을 학습해서 그 외의 패턴으로 들어오는 패킷을 막는 방법이 존재한다. 이러한 장비는 네트워크가 아닌 호스트에도 둘 수 있지만 범위가 매우 한정적이고 비용이 많이 발생할 수 있다. 

이미 수집된 패턴으로 방어하는 방식은 지속적으로 룰을 업데이트해야 하고, 처음 보는 공격은 막을 수 없다는 단점이 있지만 잘못된 탐지는 매우 적다라는 장점이 있다. 그와 반대로 비정상적인 침입을 막는 방법은 주기적인 룰 업데이트는 필요없지만 오탐이 많다라는 단점이 있다. 

이렇게 특정 정책으로 탐지를 하는 장비를 IDS라고 하고 패킷, 세션을 드롭해서 연결을 끊거나 IP 주소를 차단해서 대응까지 하는 장비를 IPS라고 한다. 


NAC

네트워크 접근 제어를 지원하는 장비이다. 허가되지 않은 장비는 연결을 차단하거나 일부 기능만 지원하도록 제어할 수 있다. 또는 보안 솔루션이 설치되지 않은 경우에 접근을 제한할 수도 있다. 이는 방화벽에서도 일부 기능을 지원해서 mac주소를 수집해서 룰을 등록하고 미리 등록된 컴퓨터만 접속을 하도록 할 수 있다. 개인 노트북을 가지고 회사에 접속하면 문제가 될 수 있기 때문이다. 



로그관리 솔루션

ESM(Enterprise Security management)

SIEM(Security Information & Event Management)

SOAR

ESM은 방화벽, IDS와 같은 보안 장비로부터 로그를 수집해서 편리하게 관리를 도와주는 솔루션이다. 여기에 Elastic Search, Splunk와 같은 솔루션을 이용해 다양한 보안 솔루션으로부터 로그를 수집하고 시각화, 조회 기능을 통해 이상행위를 탐지하고 직원정보 및 회사의 서버 정보, 서비스 정보 등을 종합해서 정말 다양한 로그를 통해 빅데이터 수준에서 탐지를 하는 솔루션이 SIEM이다. 추가적으로 자동화시켜 분석 및 대응을 도와주는 장비를 SOAR(Security Orchestration, Automation and Response)라고 한다. 








                    

매거진의 이전글 네트워크와 보안 #3 - 방화벽
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari