시간을 할애해 소속 기업의 정상적인 네트워크 상태를 모니터링하자. 그리고 특히 많이 사용되는 공격 기법과 관련해 어떤 스크립트가 정기적으로 사용되고 있는지, 어떤 이벤트 ID가 이벤트 로그에서 삭제되는지 검토하고 문서화하는 게 좋다.
또 시스몬(System monitor; Sysmon)(편집자 주: 이벤트 로그 수집 및 분석으로 악의적이거나 비정상적 활동을 식별하고 이게 네트워크에서 어떻게 작동하는지 파악할 수 있는 도구)을 배포하고 로그 파일을 위부 위치에 저장해야 한다. 공격자가 네트워크에서 수행할 수 있는 작업을 노출하는 이벤트를 기록하고 있는지도 확인해야 한다.
2020년 레드 카나리 보고서가 밝힌 주요 공격 기법은 다음과 같다.
1. ‘파워쉘’로 알려진 명령 및 스크립팅 인터프리터(24%)
보고서에 따르면 레드 카나리의 고객들은 ‘파워쉘(PowerShell)’과 ‘윈도우 명령 쉘(Windows Command Shell)’을 사용한 공격에 가장 많은 영향을 받았다고 답했다. 이들은 윈도우의 기본 도구이기 때문에 기업에서 공격받고 있다고 판단하기가 훨씬 더 어렵다.
이렇게 대상 컴퓨터에 이미 설치돼 있는 도구 및 프로그램을 활용하는 공격을 ‘자급자족식(Living off the Land; LotL)’ 공격이라고 부른다. 이 기법을 사용하면 공격자는 네트워크로 공격 도구를 가져오지 않아도 된다. 대신에 이미 설치돼 있는 파워쉘을 사용한다.
파워쉘과 명령 줄 기반 공격을 모니터링하려면 시스몬 등의 도구를 사용해 로그를 기록하고 있는지 확인해야 한다. 의심스러운 파워쉘 명령어(cmdlet) 또는 복호화해야 하는 모호한 명령을 찾는다. 정상적인 파워쉘 패턴을 악의적인 패턴과 비교하려면 시간이 걸릴 수 있다.
또 새롭거나 악의적인 사용을 경고하는 ‘이벤트 4699(Event 4688 – 프로세스 생성)’을 주시해야 한다. 정기적으로 사용하는 스크립트와 파워쉘 프로세스를 파악하고 이를 기준점으로 설정해 정상적인 것으로 필터링할 수 있도록 해야 한다. 마지막으로는 ‘cmd.exe’처럼 보이는 모호한 명령을 주의해야 한다.
2. 서명된 바이너리 프로세스 실행(19%)
다음 공격 시퀀스는 2가지 기법을 사용한다. 바로 ‘Rundll32’와 ‘Mshta’다. 이를 사용하면 신뢰할 수 있는 서명된 바이너리를 통해 악성코드를 만들 수 있다. 공격자가 자급자족식 공격 시퀀스를 사용하면 감지될 수 있는 공격 도구를 네트워크로 가져오지 않는다.
악의적인 ‘Rundll32’ 사용에 경고를 설정할 순 있지만 기업에서 정상적으로 사용하고 있는 경우엔 경고를 울리지 않도록 미세 조정하기가 어려울 수 있다. 조직의 기준을 마련해야 하는 게 중요하다.
3. 시스템 프로세스 생성 및 변경(16%)
다음은 암호화폐 채굴 페이로드를 배포하는 블루 모킹버드(Blue Mockingbird)에 의해 윈도우 서비스가 사용되는 경우다. 새로운 서비스 및 프로세스가 생성되면 ‘이벤트 4697, 7045, 4688’의 로그를 검토해야 한다. 다시 한번 말하지만 조직의 정상적인 기준선을 파악하는 게 중요하다.
4. 예약된 작업(16%)
공격자들은 예약된 작업을 통해 침입하기도 한다. 레드 카나리 보고서에 따르면 예약된 작업이 시스템으로 실행되도록 설정된 시기를 검토해야 한다. 가장 일반적인 공격 구성이기 때문이다. ‘이벤트 ID 106’과 ‘140’은 새 작업이 생성되거나 업데이트될 때 기록된다.
5. 자격증명 덤핑(7%)
‘로컬 보안 인증 하위 시스템 서비스(Local Security Authority Subsystem Service; LSASS)’에서 프록덤프(ProcDump)와 미믹카츠(Mimikatz) 등을 사용해 비밀번호를 덤프하는 경우가 많다. 여기에 대응하기 위해서는 시스몬 프로세스 액세스 규칙을 사용하는 게 좋다. 시스몬 이벤트에서 ‘이벤트 ID 10’을 확인한다.
또 비정상적인 공격 시퀀스를 찾기 위한 기준선을 설정했다면 ‘윈도우 10 공격 표면 감소(Windows 10 Attack Surface Reduction)’ 설정을 사용하여 LSASS 의심 액세스를 확인할 수 있다.
6. 프로세스 인젝션(7%)
공격자들은 다양한 인젝션 방법을 사용해 시스템에서 액세스 권한을 얻는다. 이러한 방법은 수없이 다양하다. 알림 툴킷에서 시스몬을 사용해 이를 방지할 수 있다.
7. 모호한 파일 또는 정보(6%)
공격자들은 작업을 숨기려고 한다. 그래서 ‘Base64 인코딩’ 등의 도구를 사용해 공격 프로세스를 숨긴다. ‘PowerShell.exe’ 또는 ‘Cmd.exe’가 비정상적으로 사용되는지 모니터링해야 한다. 이 공격 시퀀스는 악의적인 활동의 지표가 정상적인 관리 작업처럼 보일 수 있어 검토하기 어려울 수 있다. 파워쉘 사용 정책을 설정하고 서명된 스크립트 실행만 사용해야 한다.
8. 인그레스 도구 전송(5%)
대부분의 공격 시퀀스는 자급자족식이지만 공격자가 도구를 플랫폼 안으로 가져올 때가 있다. 이때 ‘bitsadmin.exe’를 사용해 공격 시퀀스에 쓸 악성 도구를 전송하는 경우가 많다. 파워쉘 명령줄의 키워드와 패턴을 검토하는 게 이러한 시퀀스를 찾는 핵심이다.
9. 시스템 서비스(4%)
공격자는 ‘윈도우 서비스 관리자(Windows Service Manager)’를 사용하여 명령을 실행하거나 서비스를 설치한다. 시스템 ‘이벤트 ID 7’의 공격 시퀀스를 모니터링한다.
10. 위장/사칭(4%)
공격자들은 제어와 탐지를 우회하기 위해 시스템 유틸리티의 이름을 변경하여 감지를 회피하려고 한다. 이때 파일명이 아니라 프로세스, 알려진 경로 등을 살펴보고 공격자가 이 기법을 사용해 공격하려고 하는지 확인한다. 가능하다면 파일 해시값을 비교하는 시스템을 사용한다. 이는 파일명이 변경되더라도 이 값을 벗어나지 않는다.