AhnLab EDR을 활용한 리눅스 대상 방어 회피 공격 탐지 (1)
일반적으로 기관이나 기업과 같은 조직에서는 보안 위협을 막기 위해 다양한 보안 제품들을 사용하고 있다. 엔드포인트를 기준으로 하더라도 AntiVirus뿐만 아니라 방화벽, APT 방어 솔루션 그리고 EDR과 같은 제품들이 존재한다. 보안을 담당하는 조직이 따로 존재하는 환경이 아닌 일반 사용자 환경에서도 대부분 기본적인 보안 제품이 설치되어 있는 경우가 많다.
이에 따라 공격자들은 최초 침투 이후 보안 제품의 탐지를 우회하기 위해 방어 회피 전략을 사용한다. 가장 단순한 형태라고 한다면 파일 기반의 탐지를 우회하기 위해 AntiVirus의 시그니처를 우회하는 방식이 있으며 이외에도 설치되어 있는 보안 제품을 제거하거나 방화벽을 우회하는 방식 등이 있다.
AhnLab EDR (Endpoint Detection and Response)은 국내 유일의 행위 기반 분석 엔진을 기반으로 엔드포인트 영역에 대해 강력한 위협 모니터링과 분석, 대응 역량을 제공하는 차세대 엔드포인트 위협 탐지 및 대응 솔루션이다. AhnLab EDR은 의심스러운 행위에 관한 유형별 정보를 상시 수집해 탐지 및 분석, 대응 관점에서 사용자가 위협을 정확하게 인식할 수 있는 기능을 제공하며 이를 통해 종합적인 분석을 통해 원인 파악과 적절한 대응, 재발 방지 프로세스를 수립할 수 있다.
여기에서는 리눅스 시스템을 대상으로 하는 공격자들이 사용하는 방어 회피 전략을 분류하고 AhnLab EDR을 활용해 이러한 공격을 탐지하는 방식을 정리한다.
1. 방화벽
방화벽은 네트워크 트래픽을 모니터링하고 제어하는 보안 솔루션으로서 특정한 보안 규칙을 기반으로 의심스러운 네트워크 행위를 탐지하고 차단할 수 있다. 방화벽은 크게 네트워크 기반 방화벽과 호스트 기반 방화벽으로 나뉘는데 네트워크 기반 방화벽은 특정 네트워크의 경계에서 외부와의 트래픽을 모니터링하고 제어하는 역할을 담당한다.
호스트 기반 방화벽은 각 시스템에 개별적으로 설치되며 예를 들어 윈도우 운영체제에 기본적으로 설치된 마이크로소프트 디펜더 방화벽이 있다. 이는 리눅스도 유사한데 대표적인 리눅스 배포판들 중에서 우분투는 Uncomplicated Firewall(UFW)라는 이름의 방화벽을 지원하며 Red Hat 및 CentOS와 같은 페도라 계열은 firewalld를 지원한다. 물론 과거부터 리눅스의 기본적인 방화벽으로 제공되는 Iptables도 존재한다.
이렇게 기본적인 운영체제 환경에서도 호스트 기반 방화벽을 지원하여 의심스러운 네트워크 트래픽을 탐지하고 차단하기 때문에 악성코드나 공격자들은 최초 침투 이후 방화벽을 우회하기 위한 공격을 수행할 수 있다. 대표적으로 감염 시스템을 제어하기 위해 원격 데스크톱을 악용하는 랜섬웨어 및 APT 공격자들이 RDP 서비스를 활성화하기 위해 방화벽을 등록하는 경우가 많다. [1] [2] [3]
이는 리눅스도 동일한데 예를 들어 다음과 같이 Kinsing 코인 마이너 악성코드는 우분투 환경의 경우 방화벽을 비활성화하고 Iptables 규칙을 제거한다.

AhnLab EDR은 방화벽을 비활성화하는 이벤트가 발생할 경우 관리자가 원인 파악과 적절한 대응을 진행할 수 있도록 다음과 같이 위협으로 탐지한다.

2. 리눅스 보안 모듈
리눅스 보안 모듈(LSM : Linux Security Modules)은 강제적 접근 통제(MAC : Mandatory Access Control) 정책을 구현한 커널 모듈이다. 사용자나 프로세스가 파일과 같은 자원에 접근할 수 있는 권한을 관리할 수 있으며 관리자는 이를 이용해 애플리케이션의 권한을 설정해 시스템을 보호할 수 있다. 리눅스 배포판들 중에서 우분투는 AppArmor라는 이름의 LSM을 지원하며 Red Hat 및 CentOS와 같은 페도라 계열은 SELinux를 지원한다.
악성코드들 중에는 이러한 리눅스 보안 모듈을 비활성화하는 기능을 포함하는 사례가 있는데 대표적으로 위에서 다룬 Kinsing이 이러한 기능을 지원한다. Kinsing은 SELinux와 AppArmor를 비활성화하며 이에 따라 악성 행위를 수행하는 데 방해가 되는 보안 정책을 무력화할 수 있다.

AhnLab EDR은 리눅스 커널 보안 모듈을 비활성화하는 명령이 실행될 경우 이를 위협으로 탐지하여 관리자가 이를 사전에 인지할 수 있도록 도와준다.

3. 루트킷
루트킷은 자신이나 다른 악성코드를 은폐하는 기능을 갖는 악성코드로서 주로 파일 및 프로세스, 네트워크 통신이 그 은폐 대상이다. 커널 모드 루트킷은 윈도우 환경뿐만 아니라 리눅스 환경에서도 자주 사용되는데 대표적으로 리버스 쉘 기능을 함께 제공하는 Reptile 루트킷과 [4] Diamorphine 루트킷이 있다. [5]
Diamorphine은 프로세스 및 파일/디렉토리 은폐 기능과 권한 부여, 자가 은폐 등의 기능들은 제공하며 오랫동안 과거 버전뿐만 아니라 최신 버전의 리눅스 커널까지 지원하고 있기 때문에 많은 공격에서 사용되고 있다. 예를 들어 취약한 클라우드 환경을 대상으로 코인 마이너를 설치하는 Watchdog 그룹은 유저 모드 루트킷과 함께 Diamorphine을 함께 공격에 사용하는 것이 특징이다. [6]

AhnLab EDR은 의심스러운 리눅스 커널 모듈이 로드되는 이벤트를 주요 행위로 탐지하며 이미 알려진 루트킷을 설치하는 이벤트가 발생할 경우 이를 위협으로 탐지하여 관리자가 이를 사전에 인지할 수 있도록 도와준다.

4. 결론
공격자들은 악성코드 및 의심스러운 행위를 탐지하는 보안 제품들을 우회하기 위해 방어 회피 전략을 사용하고 있다. 대표적으로 기본적으로 네트워크 트래픽을 통제하는 방화벽이나 보안을 위해 관리자가 접근 제어 정책을 적용한 보안 모듈을 비활성화하기도 하며 악성코드를 은폐하기 위해 루트킷을 사용하기도 한다.
AhnLab EDR은 방어 회피 단계에서 사용되는 도구들을 위협 및 주요 행위로 탐지하여 관리자가 이를 사전에 인지할 수 있도록 도와준다. 관리자는 이를 통해 원인 파악과 적절한 대응을 진행할 수 있으며 공격에 노출된 이후에도 공격 대상이 된 시스템에서 공격자의 증적 자료로서 침해 사고 조사에 필요한 데이터를 확인할 수 있다.
행위 진단
– DefenseEvasion/EDR.Scripting.M10885
– DefenseEvasion/EDR.Firewall.M11609
– SystemManipulation/MDP.Disable.M11581
– DefenseEvasion/EDR.Event.M10888
– DefenseEvasion/EDR.Event.M10889
– DefenseEvasion/MDP.Diamorphine.M11627
– DefenseEvasion/DETECT.Rootkit.M11732