최근 리눅스 운영체제를 겨냥한 악성 코드 활동이 증가하고 있습니다. 보안 커뮤니티를 통해 공유되고 있는 리눅스 관련 최신 소식을 정리해 보겠습니다. 먼저 2024년 10월에 최소 3년 간 리눅스 서버를 공격한 perfctl 악성 코드가 발견되었으며, 이는 보안이 취약한 서버에 침투하여 암호화폐를 채굴하는 데 사용되었습니다. Dark Angels 랜섬웨어의 변종이 리눅스 및 ESXi 시스템에서 Ragnar Locker 랜섬웨어 변형을 사용하여 파일을 암호화하고, 데이터 탈취 후 공개를 빌미로 랜섬머니를 요구하는 전략을 취하고 있다는 소식도 있었습니다.
‘DISGOMOJI’라는 새로운 악성 코드가 디스코드(Discord)와 이모티콘을 이용한 명령 및 제어(C2) 메커니즘을 통해 감염된 장치를 제어하는 방식으로 등장하였으며, 리눅스와 MacOS에서 널리 사용되는 압축 유틸리티 XZ Utils 라이브러리에서 백도어가 발견되어 소프트웨어 공급망 공격의 일환으로 주요 리눅스 배포판에 영향을 미친 것도 보안 커뮤니티의 관심을 끌었습니다.
악성 코드 실행을 막는 것이 중요한 이유
보안 침해 사고는 일련의 과정을 통해 이루어집니다. 공격자는 초기 침투에 성공한 이후 인내심을 갖고 사내 망에서 측면 이동을 거듭하면서 권한을 상승시켜 가며 목표 시스템에 접근해 민감한 정보를 탈취합니다. 이처럼 목표를 향해 한 걸음씩 나아갈 수 있는 교두보는 바로 악성 코드입니댜. 공격 과정에서 악성 코드가 어떻게 다음 단계로 나아가는 발판 역할을 하는지 먼저 알아본 다음에 리눅스의 보안 강화 방안을 소개하겠습니다.
보안 침해 사고의 시작은 초기 침투입니다. 공격자는 시스템의 취약점을 악용하여 내부로 침투합니다. 이러한 취약점은 피싱 이메일, 약한 네트워크 보안 설정, 불법 소프트웨어 설치 등 다양한 경로를 통해 발생할 수 있습니다. 보통 초기 침투는 클라이언트 PC나 장치를 대상으로 이루어집니다.
초기 침투에 성공한 후 공격자는 네트워크 내 다른 시스템으로 이동하여 더 높은 권한을 획득하려고 시도합니다. 공격자는 네트워크 내 다른 컴퓨터로 이동하여 해당 시스템의 관리자 계정을 탈취하거나, 시스템의 보안 설정을 변경하여 자신의 권한을 상승시킬 수 있습니다.
권한 상승에 성공한 공격자는 악성 코드를 실행하여 시스템을 조작하거나, 민감한 정보를 탈취합니다. 공격자는 시스템에 백도어를 설치하여 지속적으로 접근하거나, 사용자 계정 정보, 금융 정보 등을 탈취하여 금전적 이득을 취할 수 있습니다.
이와 같은 과정을 통해 정교하게 이루어지는 공격을 방어하기 위해 레드햇 엔터프라이즈 리눅스(Red Hat Enterprise Linux, 이하 RHEL)는 SELinux, fapolicyd, AIDE, IMA와 같은 보안 도구를 제공합니다. 각각이 어떻게 포괄적인 방어 체계를 이루어 공격자가 악성 코드를 실행하거나, 중요 자원에 접근하는 것을 차단하는 지 알아보겠습니다.
강력한 보안의 토대 SELinux
SELinux는 시스템 내 모든 파일과 프로세스의 접근 권한을 엄격하게 관리하는 보안 프레임워크입니다. 각 파일, 프로세스, 네트워크 포트 등에 레이블을 부여하고, 이들 간의 상호 작용을 제어합니다. 예를 들어, 웹 서버 프로세스는 ‘httpd_t’라는 레이블을 가지고, 웹 문서는 ‘httpd_sys_content_t’라는 레이블을 가질 수 있습니다. SELinux는 이러한 레이블을 기반으로 액세스를 허용하거나 거부합니다. 시스템 관리자는 SELinux의 규칙을 사용자 요구에 맞게 커스터마이징하여 허용된 범위 내에서만 애플리케이션이 작동하도록 설정할 수 있습니다.
일부 사용자는 SELinux가 보안을 위해 매우 엄격한 규칙을 적용하기 때문에 새로운 애플리케이션을 설치하거나 설정을 변경할 때 SELinux가 이를 차단하여 작업에 불편을 느끼기도 합니다. 하지만 그 작은 불편이 공격을 막는다는 것을 잊지 말아야 합니다.
Fapolicyd – 신뢰할 수 있는 애플리케이션만 실행
Fapolicyd는 신뢰할 수 있는 RPM 패키지로 설치된 프로그램만 실행되도록 제한하는 보안 프레임워크입니다. Fapolicyd는 RHEL 시스템에서 실행되는 프로세스를 엄격하게 관리하여 악성 코드 실행을 방지합니다. Fapolicyd를 활성화하면 공격자가 악성 프로그램을 설치하려 할 때 실행 자체가 차단됩니다. 또한, 실행 파일의 크기와 해시를 확인하여 변조된 파일이 실행되지 않도록 방지합니다. 시스템 관리자는 Fapolicyd의 규칙을 설정하여 기업 환경에서 필요한 애플리케이션만 실행을 허용할 수 있습니다.
AIDE – 시스템 파일 무결성 검사
AIDE(Advanced Intrusion Detection Environment)는 시스템 파일의 해시 값을 계산하고 저장하여 파일 변경 여부를 감지하는 도구입니다. 공격자가 시스템 파일을 수정하면 AIDE가 시스템 파일의 변경 여부를 감지하여 무단 수정을 탐지한 다음 경보를 발생시킵니다. 또한, 크론 작업을 통해 데이터베이스를 자동으로 업데이트하여 시스템 상태를 지속적으로 모니터링합니다. 시스템 관리자는 주기적으로 무결성 검사를 실행하여 비정상적인 변경 사항을 신속히 발견할 수 있습니다.
IMA – 커널 수준의 무결성 보장
IMA(Integrity Measurement Architecture)는 커널 수준에서 모든 파일의 해시를 생성하고, 변경 여부를 실시간으로 검사하여 무결성을 보장합니다. 이를 통해 루트킷과 같은 악성 코드가 커널을 감염시키려 할 때, IMA가 이를 차단합니다. 또한, EVM(Extended Verification Module)과 통합하여 파일의 확장 속성을 검사해 악성 변경을 방지합니다. 시스템 관리자는 IMA와 EVM을 통해 운영 체제의 핵심 파일을 보호할 수 있습니다.
포괄적인 방어 체계 완성
소개한 보안 도구들을 잘 활용하면 여러 계층으로 이루어진 포괄적인 방어 체계를 구축할 수 있습니다. SELinux는 시스템 접근 제어를 담당하고, Fapolicyd는 허가되지 않은 애플리케이션의 실행을 차단하며, AIDE와 IMA는 무결성 보장을 통해 이상 행동을 감지합니다. 각 도구가 역할을 분담하여 공격자의 침해 성공 가능성을 낮추는 시너지 효과를 창출합니다. 리눅스 운영체제 전반의 보안 강화에 대한 심층 정보가 필요하다면 락플레이스로 문의 바랍니다.
'PRODUCT > OS' 카테고리의 다른 글
하이브리드 클라우드 운영 간소화의 길 'RHEL 9.4'에서 시작하세요! (0) | 2024.05.08 |
---|---|
컨테이너 기본 이미지로 Red Hat Universal Base Image(UBI)를 선택해야 하는 이유 (0) | 2024.04.09 |
CentOS Linux & RHEL 7을 최신 레드햇 엔터프라이즈 리눅스로 마이그레이션 하기! (0) | 2023.06.07 |
엣지 컴퓨팅을 위한 Red Hat Enterprise Linux 9 (0) | 2022.05.25 |
Rockplace Newsletter Vol48 : 다운타임 없이 긴급 CVE 대응! ‘라이브 커널 패치(Kpatch)’ (0) | 2022.01.26 |