리눅스에서 지속성 유지 기법과 AhnLab EDR의 탐지 방법

리눅스 시스템에서 공격자들이 사용하는 지속성 유지 기법을 이해하는 것은 보안 관리에 매우 중요합니다. AhnLab EDR을 활용한 효과적인 탐지 방법에 대해 알아보세요.


시작 스크립트와 악용 사례

리눅스 시스템에서 시작 스크립트의 활용은 정상적인 운영에 기여하지만, 동시에 공격자에게는 지속성 유지의 기회가 될 수 있습니다. 이 섹션에서는 전역 환경 설정 파일의 위험성과 악성 코드 등록 및 실행 방식에 대해 자세히 살펴보겠습니다.


전역 환경 설정 파일의 위험성

리눅스에서는 시스템 부팅 시 또는 사용자가 로그인할 때 시작 스크립트가 실행됩니다. 이 중에서 전역 환경 설정 파일이 악용되는 사례를 살펴볼 필요가 있습니다. 일반적으로, 전역 환경 설정 파일은 /etc/profile.d/ 경로에 위치하며, 해당 디렉토리 내의 모든 스크립트가 부팅 시 실행됩니다.

예를 들어, 코인 마이너 악성코드인 kaiji는 자신을 /etc/profile.d/bash_conf 경로에 복사하고, 이를 실행하기 위한 스크립트를 /etc/profile.d/bash_conf.sh로 생성합니다. 이렇게 하면 시스템이 부팅될 때마다 껍데기에서 이 스크립트를 호출하게 되어 최종적으로 kaiji 악성코드가 실행됩니다.

“전역 환경 설정 파일은 공격자에게 지속적인 접근을 허용하는 중요한 취약점이다.”

이와 같은 악용 사례는 ahnlab edr에 의해 탐지 가능합니다. 시스템 내에서 시작 스크립트가 등록되는 이벤트를 모니터링하여, 관리자는 이를 사전에 인지할 수 있도록 도와줍니다.


악성 코드 등록 및 실행 방식

리눅스 시스템에는 다양한 방법으로 악성 코드가 등록되고 실행될 수 있습니다. 공격자들은 지속성 유지를 위해 여러 기법을 사용하며, 대표적인 방식으로는 cron 작업systemd 서비스가 있습니다.


cron 작업

리눅스의 cron 작업은 특정 시간이나 주기에 따라 작업을 자동 실행할 수 있는 시스템입니다. 일반적으로 백업이나 시스템 유지 관리를 위해 사용되지만, 악성 코드는 이를 통해 지속성을 유지할 수 있습니다. 예를 들어, xorddos라는 DDoS 악성코드는 특정 스크립트를 3분 간격으로 실행하도록 설정함으로써 자신을 계속적으로 실행하게 만듭니다.


systemd 서비스

systemd는 리눅스 환경에서 서비스 관리 및 제어의 표준 방식으로 자리 잡고 있습니다. 공격자는 서비스를 위장하여 악성 코드를 등록할 수 있습니다. 예를 들어, lady라는 악성코드는 NTP 서비스를 위장하여 자신을 systemd 서비스로 등록함으로써 스텔스 작전과 같은 방식으로 지속성을 유지합니다.

기법 설명 탐지 방식
cron 정해진 시간에 특정 작업을 실행 ahnlab edr이 이벤트로 탐지
systemd 서비스 등록을 통해 실행 ahnlab edr이 서비스를 관리하여 탐지

위와 같이, 악성 코드는 리눅스 시스템에서 효과적으로 침투하고 지속적인 실행을 위해 다양한 기법을 활용하고 있습니다. 이러한 점을 이해함으로써, 보안 관리자는 예방 조치를 강화하고, 공격자에 의해 발생할 수 있는 위험을 줄일 수 있습니다. ahnlab edr은 이러한 의심스러운 행위를 탐지하여, 관리자가 시스템 이상 징후를 사전에 인지할 수 있도록 도와줍니다.

리눅스에서 지속성 유지 기법과 AhnLab EDR의 탐지 방법


cron 작업을 통한 지속성 유지

공격자들이 시스템에 접근한 이후, 지속적인 활동 유지를 위한 다양한 기법을 활용합니다. 이러한 기법들은 시스템 침투 후에도 공격자가 재차 접근할 수 있는 경로를 제공하여, 피해를 증가시키는데 기여합니다. 이 섹션에서는 그 중 cron 작업에 대해서 자세히 알아보겠습니다.


DDoS 악성코드의 활용 사례

DDoS 공격의 경우, 특정 시스템의 자원을 소모시켜 서비스를 중단시키는 목적을 가지고 있습니다. 이러한 공격을 위해 xorddos라는 악성코드는 다양한 방법을 사용합니다. 크론 작업을 통해 지속적으로 스크립트를 실행하여 시스템을 악용하는 대표적인 사례로 불리며, 다음과 같은 방식으로 작동합니다.

“지속성 유지 기법은 단순한 침해를 넘어, 악성코드가 재부팅 후에도 다시 실행될 수 있도록 하는 복잡한 전략을 필요로 합니다.”

악성코드 이름 주요 기법 설명
xorddos cron 작업의 조작 /etc/cron.hourly/gcc.sh 스크립트를 3분 간격으로 실행하여 지속성 유지.

이렇게 설정된 크론 작업은 시간이나 주기에 따라 자동으로 특정 작업을 실행하여, 공격자가 다시 접근할 수 있는 환경을 만들어줍니다. 이 경우 DDoS 공격의 피해를 더욱 심화시킬 수 있습니다.


cron 작업 등록 방식

리눅스에서 cron 작업은 시스템의 자동화 및 스케줄링을 위해 사용되며, 이는 윈도우의 작업 스케줄러와 유사한 기능을 제공합니다. cron 작업은 특정 시간이나 사건에 따라 자동으로 실행되도록 설정할 수 있습니다. 예를 들어, 백업, 로그 관리 및 시스템 유지보수 등의 작업이 일반적으로 사용됩니다.

악성코드가 이 기능을 악용하는 것도 흔한 일입니다. 크론 작업을 등록하는 방법은 다음과 같습니다:

  1. crontab 편집: crontab -e 명령어를 통해 사용할 수 있습니다.
  2. 작업 등록: 스크립트의 실행 주기와 경로를 지정하여 등록합니다.
*/3 * * * * /etc/cron.hourly/gcc.sh

이렇게 설정되면, 해당 스크립트는 3분마다 실행됩니다. xorddos 악성코드는 이를 통해 자신의 복제본을 지속적으로 실행하여 공격자의 목표를 달성하는 데 기여합니다.

리눅스 시스템에서의 cron 작업은 이러한 방식으로 지속적인 접근을 보장하는 중요한 도구로 활용됩니다. ahnlab edr은 이러한 비정상적인 cron 작업을 탐지하여, 관리자가 사전에 인지할 수 있도록 돕습니다. 이를 통해, 공격자로부터의 비정상적인 활동을 조기에 차단할 수 있는 기회를 제공합니다

리눅스에서 지속성 유지 기법과 AhnLab EDR의 탐지 방법

.

결과적으로, 공격자들은 지속적인 활동 유지를 위해 다양한 기법을 사용하며, 이를 탐지하고 대응하는 것이 보안의 핵심임을 잊지 말아야 합니다.


systemd 서비스의 악용

리눅스 시스템에서 systemd 서비스의 악용은 공격자들이 지속적으로 시스템을 장악하기 위해 사용하는 일반적인 방법 중 하나입니다. 이 섹션에서는 시스템 관리 및 누리망에서 서비스의 형태로 공격자가 사용하는 기법에 대해 자세히 알아보겠습니다.


고급 서비스 관리와 위장

리눅스에서는 systemd가 서비스를 관리하는 표준 방식으로 자리 잡고 있습니다. systemd는 systemctl 커맨드를 통해 다양한 서비스의 작동을 제어하며, 이로 인해 공격자들은 서비스를 위장하여 자신의 악성코드를 지속적으로 실행할 수 있는 기회를 얻습니다.

예를 들어, 공격자는 실재하는 서비스 이름을 복제하여 악성코드를 포함한 unit 파일을 생성할 수 있습니다. 이러한 방식으로 시스템 관리자에게 감지되지 않고 장기간 시스템에 남아 있을 수 있습니다. 다음 표는 일반적인 systemd 서비스의 구성 요소를 보여줍니다.

서비스 구성 요소 설명
Unit 파일 서비스의 설정 정보를 포함
ExecStart 서비스가 실행될 때 사용할 커맨드
After 서비스가 시작되기 전에 대기해야 할 서비스
WantedBy 해당 서비스가 시작될 때 참조되는 타겟

“공격자는 서비스 위장을 통해 시스템의 감시를 피하고 지속적으로 공격할 기회를 노립니다.”


악성코드의 등록 방법

리눅스 시스템에서 공격자는 systemctl을 사용하여 악성코드를 서비스로 등록합니다. 이를 통해 시스템 재부팅 후에도 악성코드가 자동으로 실행될 수 있도록 하는 방법입니다. 이 과정은 다음과 같이 진행될 수 있습니다.

  1. 악성코드 복사: 공격자는 /usr/sbin/ 경로와 같은 일반적인 디렉터리에 자신의 악성코드를 복사합니다.
  2. unit 파일 생성: 또한, /etc/systemd/system/ 경로에 자신만의 서비스를 등록하는 unit 파일을 생성합니다. 이 파일은 정상적인 서비스처럼 설정되어 있어 관리자에게 쉽게 감지되지 않습니다.
  3. 시스템에 등록: systemctl enable [악성코드 서비스명] 커맨드를 사용하여 서비스가 부팅 시 자동으로 시작되도록 설정합니다.

이와 같은 방법으로 공격자는 시스템의 정상적인 작동을 방해하지 않으면서도 자신의 존재를 은닉할 수 있습니다. AhnLab EDR은 이러한 행위를 탐지하기 위해 서비스 등록 이벤트를 모니터링하며, 관리자가 의심스러운 활동을 사전에 인지할 수 있도록 도움을 줍니다

리눅스에서 지속성 유지 기법과 AhnLab EDR의 탐지 방법

.

리눅스 시스템에서 systemd 서비스의 악용은 단순한 침투를 넘어, 공격자가 지속적으로 영향을 미치고 자원을 활용하는 강력한 기법입니다. 이에 대한 철저한 모니터링과 대응이 필수적입니다.


preload 환경 변수의 활용

리눅스 시스템에서의 preload 환경 변수는 지속성 유지 기법 중 하나로 매우 중요한 역할을 합니다. 공격자들은 이러한 기능을 악용하여 시스템에 침투한 후에도 지속적으로 영향을 미치기 위해 다양한 방식으로 이를 활용합니다.


ld_preload의 위험성

ld_preload는 리눅스의 로더가 실행 파일을 로드할 때 참고하는 환경 변수로, 이 변수를 통해 정의된 라이브러리들은 정상 프로세스 이전에 먼저 로드됩니다. 이를 통해 공격자들은 악성 라이브러리를 존재감 없이 로드할 수 있는 기회를 얻습니다. 다음은 ld_preload의 악용 방식에 대한 간단한 설명입니다.

“리눅스에서의 악성코드들은 ld_preload 환경 변수를 통해 시스템의 정상적인 동작을 방해할 수 있습니다.”


악성 라이브러리 로드 방식

악성코드는 ld_preload를 통해 시스템의 정상 프로세스에 개입하면서 지속적인 공격을 가능하게 만듭니다. 예를 들어, 어떤 백도어 악성코드는 PHP 드로퍼에 의해 설치된 후, ld_preload 환경 변수에 해당 경로가 등록되면, 시스템에서 특정 명령어를 실행할 때마다 악성코드가 로드되고 실행됩니다.

아래 테이블은 ld_preload와 관련된 공격 기법들을 정리한 것입니다.

공격 기법 설명
백도어 악성코드 설치 PHP 드로퍼에 의해 설치된 라이브러리
정상 프로세스 개입 특정 명령어 실행 시 악성 라이브러리가 로드됨
지속적 시스템 영향 공격자가 원할 때마다 시스템에 접근 가능

리눅스에서 지속성 유지 기법과 AhnLab EDR의 탐지 방법

이런 식으로 ld_preload는 쉽게 악성코드가 정상 프로세스를 통과하여 시스템에 잠입하게 만드는 역할을 하며, 주요 보안 위협 요소로 자리 잡고 있습니다.

ahnlab EDR과 같은 보안 솔루션은 이러한 ld_preload 방식의 악성 라이브러리 로드를 실시간으로 탐지하여 관리자에게 경고하며, 이는 시스템 보안 유지와 공격 방어에서 큰 도움이 됩니다.


ld.so.preload 이용한 은폐 기법

리눅스 환경에서 공격자들이 시스템에 침투한 이후 지속적으로 활동하기 위해 사용하는 다양한 기술들 중 하나가 ld.so.preload입니다. 이 기법은 시스템의 정상 프로세스에 악성 라이브러리를 미리 로드하여 이를 숨기는 데 사용됩니다. 이번 섹션에서는 이 기법을 활용한 커스터마이징 루트킷 사례와 은폐되는 프로세스 분석에 대해 살펴보겠습니다.


커스터마이징 루트킷 사례

ld.so.preload의 대표적인 악용 사례는 코인 마이너 악성코드인 kinsing입니다. 이 악성코드는 오픈 소스 유저 모드 루트킷인 beurk를 커스터마이징하여 사용합니다. 루트킷은 라이브러리 포맷으로, 파일 및 TCP 통신과 관련된 함수들을 후킹하여 자신과 관련된 프로세스를 은폐합니다.

kinsing은 다음과 같은 과정을 통해 은폐를 구현합니다:

  1. 루트킷을 /etc/libsystem.so라는 경로에 설치합니다.
  2. /etc/ld.so.preload 파일에 해당 경로를 등록하여, 시스템에서 새로운 프로세스가 생성될 때마다 이 루트킷이 자동으로 로드되도록 합니다.

이러한 방식으로 kinsing은 자신의 흔적을 감추고, 오랜 시간 동안 시스템에서 지속적으로 활동할 수 있습니다.

“공격자들은 시스템에 침투한 이후 지속적인 활동을 유지하기 위해 다양한 지속성 유지 기법을 악용하고 있다.”


은폐되는 프로세스 분석

ld.so.preload를 통해 로드되는 라이브러리는 시스템에서 정상 프로세스로 인식되기 때문에, 관리자가 이를 탐지하기 어렵습니다. 이러한 은폐 기법이 초기 침투 이후 발생하는 다양한 피해를 초래합니다.

다음은 ə커스터마이징된 루트킷이 수행하는 주요 기능입니다:

기능 설명
파일 은폐 파일 시스템에서 특정 파일을 숨깁니다.
네트워크 은폐 네트워크 통신을 모니터링하고 적절히 조작하여 의심스러운 활동을 숨깁니다.
프로세스 후킹 특정 프로세스의 실행 흐름을 조작하여, 사용자나 관리자가 이를 인지하지 못하도록 합니다.

이러한 기법들은 공격자가 목표로한 최종적인 정보 탈취나 시스템 제어 등 다양한 목적을 달성하는 데 도움을 줍니다. 이를 위해 관리자는 AhnLab EDR과 같은 보안 솔루션을 통해 의심스러운 라이브러리 로드 이벤트를 실시간으로 감지하고, 침해 사고에 대한 대응을 신속하게 수행할 수 있어야 합니다.

리눅스에서 지속성 유지 기법과 AhnLab EDR의 탐지 방법

“관리자는 이를 통해 원인 파악과 적절한 대응을 진행할 수 있으며 공격에 노출된 이후에도 공격 대상이 된 시스템에서 공격자의 증적 자료로서 침해 사고 조사에 필요한 데이터를 확인할 수 있다.”

리눅스 시스템에서의 ld.so.preload 악용은 지속적인 보안 위협이므로, 평소에 신속한 탐지 및 대응 시스템을 갖추는 것이 중요합니다.


결론 및 AhnLab EDR의 역할


지속성 유지 기법의 요약

지속성 유지 기법은 공격자가 시스템에 침투한 후 지속적으로 활동을 유지하기 위해 사용하는 기법으로, 시스템의 재부팅 후에도 악성코드가 동작하도록 설계되어 있습니다. 이러한 기법은 리눅스 환경에서도 여러 형태로 등장합니다. 대표적으로는 시작 스크립트, cron 작업, systemd 서비스, 환경 변수 등을 통해 악성코드를 설치하고 작동시킵니다. 아래 표는 각 기법의 개요를 정리한 것입니다.

지속성 유지 기법 설명
시작 스크립트 시스템 부팅 시 실행되는 스크립트를 통해 악성코드 실행
cron 작업 정해진 시간에 자동으로 실행되는 작업으로, 악성 스크립트 등록
systemd 서비스 시스템 서비스를 위장하여 지속적인 악성코드 실행
환경 변수 (ld_preload) 라이브러리를 먼저 로드하도록 지정해 악성 코드 실행

이러한 기법들은 공격자가 침투 후 재접근할 수 있는 방법을 보장하며, AhnLab EDR은 이를 탐지하여 관리자에게 알림으로써 신속한 대응을 가능하게 합니다.


EDR의 행동 기반 탐지

AhnLab EDR(Endpoint Detection and Response)은 행위 기반 분석 엔진을 이용해 다양한 악성행위를 실시간으로 모니터링합니다. 특히, 악성코드가 사용하는 지속성 유지 기법을 탐지함으로써 관리자에게 위험 요소를 사전에 인지할 수 있는 기능을 제공합니다. EDR의 역할은 단순한 탐지에 그치지 않고, 이를 바탕으로 사용자가 위협의 원인을 파악하고 적절한 대응을 할 수 있도록 지원합니다.

“AhnLab EDR은 지속성 유지 단계에서 사용되는 의심스러운 행위들을 탐지하여 관리자가 이를 사전에 인지할 수 있도록 도와준다.”

관리자는 AhnLab EDR을 통해 공격자가 사용한 기법의 증적 자료를 확인하여 침해 사고 조사에 필요한 데이터를 확보함으로써, 공격에 대한 보다 효과적인 대응 전략을 마련할 수 있습니다. AhnLab의 솔루션은 궁극적으로 조직의 리눅스 시스템 보안을 강화하는 중요한 역할을 합니다.

리눅스에서 지속성 유지 기법과 AhnLab EDR의 탐지 방법

함께보면 좋은글!

Leave a Comment