[보이지 않는 Linux 위협과 대응 2부] 은닉 루트킷 탐지부터 치료까지
앞서 1부에서 살펴본 것과 같이 Syslogk는 Linux 커널 영역에서 프로세스와 파일, 네트워크 통신, 자신의 커널 모듈을 일반 조회 결과에서 감출 수 있다. 이때 목록에 나타나지 않는다는 사실은 시스템에 존재하지 않는다는 의미가 아니며 오히려 보안 제품이 악성 여부를 판정해야 할 대상 자체가 관찰 범위에서 제외될 수 있다.
이 때문에 Syslogk가 숨긴 파일을 진단하려면 은폐를 수행하는 커널 모듈을 식별하고, 관련 파일을 다시 확인할 수 있는 상태로 복원해야 한다. AhnLab은 은닉 루트킷 탐지와 은폐 해제, 후속 진단 및 치료를 연결하는 기능을 AhnLab V3 Net for Linux Server에 구현했다.

실제 고객 현장에서 시작된 보안 과제
2025년12월 국내 고객은 Linux 서버에 숨어 있는 악성코드를 탐지하고 치료할 수 있는 방안을 요청했다. 일반적인 악성코드 대응은 시스템에서 확인된 의심 파일이나 프로세스를 검사해 악성 여부를 판단하는 방식으로 이뤄진다. 하지만 Syslogk는 Linux 커널 영역에서 동작하며 자신의 커널 모듈과 관련 파일, 프로세스 및 네트워크 통신을 시스템 조회 결과에서 숨기기 때문에 기존 방식으로 식별하기 어렵다.
이 때문에 악성 여부를 진단하려면 먼저 일반적인 조회에서 드러나지 않는 위협을 찾아야 했다. AhnLab은 고객 현장에서 확인된 문제를 바탕으로 Syslogk의 은폐 방식을 분석하고, Linux 서버에서 은닉된 루트킷을 탐지하고 대응하기 위한 기술 개발에 착수했다.
분석에서 제품 기능으로 이어진 은닉 루트킷 검사
Syslogk와 같은 위협에 대응하려면 일반적인 악성코드 검사와는 다른 접근이 필요하다. Syslogk가 관련 파일을 숨기기 때문에 먼저 은닉된 루트킷을 탐지하고, 숨겨진 대상을 다시 조회할 수 있는 상태로 만들어야 하기 때문이다. ASEC는 Syslogk가 자신의 커널 모듈과 관련 파일을 숨기는 방식을 분석하고 AhnLab은 이를 바탕으로 AhnLab V3 Net for Linux Server의 ‘은닉 루트킷 검사’ 기능을 구현했다. 이 기능은 시스템에 숨어 있는 커널 모듈을 탐지한 뒤 은폐 상태를 해제하고 확인할 수 있게 된 파일은 V3 엔진을 통해 악성 여부를 진단하고 치료한다.
과거에는 별도의 치료 스크립트를 이용해야 했지만, 이제 AhnLab V3 Net for Linux Server에서 은닉 루트킷 탐지와 은폐 해제, 악성코드 진단 및 치료까지 가능해졌다.
은닉 루트킷 탐지와 치료 과정
V3 Net for Linux Server의 은닉 루트킷 대응 과정은 Detect, Unhide, Remove, Diagnose, Treat의 다섯 단계로 진행된다.
① Detect: 은닉 커널 모듈 탐지
커널 모듈 목록에서 숨겨진 모듈을 찾고 식별하는 단계이다. AhnLab V3 Net for Linux Server는 통상적인 조회로는 확인하기 어려운 Syslogk의 커널 모듈을 탐지한다.
② Unhide: 은폐 상태 해제
Unhide는 탐지한 커널 모듈의 은폐 상태를 해제하는 단계이다. 이를 통해 Syslogk가 숨기고 있던 관련 파일까지 다시 확인할 수 있는 상태로 전환해 이후의 조치가 가능하도록 만드는 과정이다.
③ Remove: 악성 커널 모듈 제거
Remove 단계에서는 은폐가 해제된 악성 커널 모듈을 Linux 커널에서 제거하며 이를 통해 커널 영역에서 실행되던 은폐 기능이 중단된다.
④ Diagnose: V3 엔진을 통한 악성 여부 진단
Diagnose는 가시성이 복원된 파일을 V3의 TS 엔진에 전달해 악성 여부를 판정하는 단계이다. 엔진에 대응된 악성 샘플이면 악성코드로 진단한다.
⑤ Treat: 악성코드 치료
Treat는 이전 단계에서 악성으로 판정된 파일을 치료한다.
실제 감염 환경에서 확인한 탐지와 치료
ASEC는 실제 Syslogk 감염 환경에서 AhnLab V3 Net for Linux Server의 탐지 및 치료 과정을 확인했다.
Syslogk가 동작하는 감염 환경에서 ~/test 경로에서 ls와 ll 명령을 실행한 결과에는 flock_repro.c, ptestfile, trigger_rename.sh 세 항목만 나타난다. 즉 일반 조회 명령으로 Syslogk의 동작이 확인되지 않는다.

[그림 1] Syslogk 감염으로 특정 파일이 은폐된 Linux 환경
이어서 V3 Net for Linux Server의 은닉 루트킷 검사를 실행하면, 기존에는 확인되지 않던 은닉 커널 모듈이 탐지되며 은폐 상태가 해제된다.

[그림 2] V3 Net for Linux Server의 은닉 루트킷 검사로 숨겨진 커널 모듈을 탐지하고 은폐 상태를 해제한 결과
조치 후 같은 ~/test 경로에서 ls 명령을 실행하면 숨겨져 있던 항목이 나타난다. 이는 Syslogk가 시스템 정보를 조작해 자신과 관련된 흔적을 숨기고 있는 상황에서 먼저 은폐 기능을 무력화하고, 숨겨져 있던 대상을 다시 확인할 수 있는 상태로 복원한 뒤 진단 및 치료가 가능한 상태가 되었음을 보여준다.

[그림 3] V3 Net for Linux Server 치료 후 Syslogk에 의해 은폐됐던 파일이 다시 확인되는 모습
고객의 보안 과제를 실제 제품 기능으로
이번 사례는 Syslogk라는 하나의 Linux 루트킷을 분석한 데 그치지 않는다. 실제 고객 환경에서 확인된 보안 문제를 분석하고, 제품에서 대응할 수 있는 기능으로 구현했다는 데 의미가 있다. 현장의 요구는 은폐 메커니즘 분석으로 이어졌고, 분석 결과는 기존 검사 체계가 대상을 확보하지 못하는 공백을 드러냈다. AhnLab V3 Net for Linux Server의 ‘은닉 루트킷 검사’는 이러한 관점에서 공백을 은닉 커널 모듈 탐지와 가시성 복원 기능으로 보완하고, 다시 확인된 파일을 V3 엔진의 진단 및 치료로 연결했다.
AhnLab은 고객 현장의 보안 과제를 ASEC의 위협 분석과 제품 기술로 연결해 Linux 서버 보안 대응 역량을 강화하고 있다.
더 자세한 Syslogk 분석
이 글은 V3 Net for Linux Server의 은닉 루트킷 검사와 가시성 복원 이후의 대응을 중심으로 살펴봤다. Syslogk가 Linux 커널에서 프로세스, TCP 통신, 파일과 디렉터리, 커널 모듈을 은폐하는 상세 메커니즘은 1부에서 확인할 수 있다.
- AhnLab