What Is Fileless Malware?

파일리스 맬웨어는 합법적인 프로그램을 사용하여 컴퓨터를 감염시키는 악성 소프트웨어의 일종입니다. 파일에 의존하지 않고 설치 공간을 남기지 않으므로 탐지하고 제거하는 데 어려움이 있습니다. 현대의 공격자는 조직이 공격을 차단하기 위해 사용하는 전략을 알고 있으며 방어를 회피하기 위해 점점 더 정교하고 대상이 지정된 맬웨어를 만들고 있습니다. 가장 효과적인 해킹 기술은 일반적으로 최신 기술이므로 시간과의 경쟁입니다. 파일리스 맬웨어는 가장 정교한 보안 솔루션을 제외한 모든 보안 솔루션을 효과적으로 회피했습니다.

파일리스 맬웨어는 2017년에 주류 공격 유형으로 등장했지만 이러한 공격 방법 중 상당수는 한동안 사용되었습니다. Frodo, Number of the Beast 및 The Dark Avenger는 모두 이 맬웨어 유형의 초기 예입니다. 보다 최근에 널리 알려진 파일리스 공격에는 민주당 전국위원회 해킹 및 Equifax 침해가 있습니다.

파일리스 감염을 매우 교활하게 만드는 것이 이들이 매우 효과적인 이유이기도 합니다. 파일리스 맬웨어는 "탐지할 수 없다"는 주장이 있습니다. 이는 문자 그대로 사실이 아니며 파일리스 공격이 안티바이러스, 화이트리스트 및 기타 기존 엔드포인트 보안 솔루션으로 탐지할 수 없는 경우가 많다는 것을 의미할 뿐입니다. 실제로 Ponemon Institute는 파일리스 공격이 파일 기반 공격보다 성공할 가능성이 10배 더 높다고 주장합니다.

파일리스 공격이 발생하는 방식

파일리스 공격은 대부분의 보안 솔루션에 의한 탐지를 회피하고 포렌식 분석 작업에 영향을 미치는 은폐 공격의 일종인 저시인성 특성(LOC) 공격의 광범위한 범주에 속합니다. 기존 바이러스로 간주되지 않지만 파일리스 맬웨어는 메모리에서 작동하는 유사한 방식으로 작동합니다. 파일에 저장되거나 컴퓨터에 직접 설치되지 않고 파일리스 감염은 메모리로 직접 이동하며 악성 콘텐츠가 하드 드라이브에 닿지 않습니다. 많은 LOC 공격은 관리자가 작업 자동화 및 구성 관리를 위해 사용하는 합법적이고 유용한 도구인 Microsoft Windows PowerShell을 활용합니다. PowerShell은 명령줄 셸 및 관련 스크립팅 언어로 구성되어 Windows 내 모든 항목에 대한 액세스 권한을 공격자에게 제공합니다.

Example of a fileless attack kill chain

그림 1. 파일리스 공격 킬 체인의 예

위의 그림은 파일리스 공격이 어떻게 발생하는지를 보여 줍니다. 오늘날의 대부분의 진화한 공격과 마찬가지로 파일리스 공격은 종종 소셜 엔지니어링을 이용하여 사용자가 피싱 이메일의 링크 또는 첨부 파일을 클릭하도록 합니다. 파일리스 공격은 일반적으로 내부 확산에 사용됩니다. 즉, 엔터프라이즈 네트워크의 중요한 데이터에 대한 액세스 권한을 얻기 위한 목적으로 한 장치에서 다음 장치로 전파됩니다. 의심을 피하기 위해 파일리스 맬웨어는 신뢰할 수 있고 화이트리스트에 있는 애플리케이션(예: PowerShell 및 Windows 스크립트 호스트 실행 파일[예: wscript.exe 및 cscript.exe]) 또는 운영 체제의 내부 깊숙이 침투하여 악성 프로세스를 시작합니다. 이러한 공격은 화이트리스트에 있는 프로그램을 모니터링하지 않기 위해 보안 애플리케이션에서 사용하는 신뢰 모델을 남용합니다.

위의 시나리오에서 주의해야 할 중요한 점은 해커는 안티바이러스 및 맬웨어 방어를 통과하여 악성 프로그램을 몰래 이동하는 방법을 알아낼 필요가 없다는 것입니다. 대부분의 자동화된 센서는 명령줄 변경을 탐지할 수 없습니다. 숙련된 분석가는 이러한 스크립트를 식별할 수 있지만, 대부분 조사할 위치를 처음부터 알지는 못합니다.

파일리스 공격을 방어할 수 있는 방법

사이버 보안 산업에서 익스플로잇을 점점 더 정교하게 차단함에 따라 파일리스 공격의 수명은 점점 짧아지고 있습니다. 파일리스 감염을 방어하는 한 가지 방법은 소프트웨어를 최신 상태로 유지하는 것입니다. 여기에는 특히 Microsoft 애플리케이션이 포함되며, 출시되는 Microsoft 365 제품군에는 향상된 보안 조치가 포함됩니다. 또한 Microsoft는 Windows Defender 패키지를 업그레이드하여 PowerShell에서 비정상적인 활동을 탐지했습니다.

파일리스 공격에 성공적으로 대응하기 위한 핵심은 위협 수명 주기 전체를 해결하는 통합 접근 방식입니다. 다층적 방어를 사용하면 공격 전, 공격 중, 공격 후에 캠페인의 모든 단계를 조사할 수 있으므로 공격자보다 유리합니다.

다음 두 가지가 특히 중요합니다.

  • 발생하는 사항을 확인하고 측정하는 기능: 공격에 사용된 기술을 발견하고, PowerShell 또는 기타 스크립팅 엔진에서 활동을 모니터링하고, 집계된 위협 데이터에 액세스하며, 사용자 활동에 대한 가시성을 확보합니다.
  • 대상 시스템의 상태를 제어하는 기능: 임의 프로세스를 중지하고, 공격에 포함되는 프로세스를 교정하고, 감염된 장치를 격리합니다.

파일리스 공격을 성공적으로 중단하려면 규모를 확장하고 필요할 때 적절한 작업을 신속하고 단계적으로 적용할 수 있는 전체적인 접근 방식이 필요합니다.

특정 유형의 파일리스 위협으로부터 보호하는 방법

당사의 연구 팀에는 전 세계에서 250명 이상의 연구원이 참여합니다. Trellix를 사용하면 악성 위협에 대한 의심스러운 개체와 동작을 분석하고 파일리스 위협의 다양한 변종을 직접 차단하는 도구를 개발하는 전문가 팀을 갖게 됩니다. 파일리스 위협의 다양한 변종을 차단하는 몇 가지 시그니처가 릴리스되었습니다. 여기에는 다음이 포함됩니다.

파일리스 위협: 반사적 자체 주입
반사 로딩은 디스크가 아닌 메모리에서 PE(이식 가능한 실행 파일)를 로드하는 것을 말합니다. 조작된 함수/스크립트는 프로세스에서 로드된 모듈로 등록되지 않고 이식 가능한 실행 파일을 반사적으로 로드할 수 있으므로 설치 공간을 남기지 않고 작업을 수행할 수 있습니다. PowerShell은 이러한 조작된 스크립트를 실행하는 데 가장 널리 사용되는 애플리케이션 중 하나입니다. 이 이벤트는 PowerShell 스크립트가 PE를 PowerShell 프로세스 자체에 주입하려고 시도하는 파일리스 공격을 나타냅니다.

파일리스 위협: 반사적 EXE 자체 주입
반사 로딩은 디스크가 아닌 메모리에서 PE를 로드하는 것을 말합니다. 조작된 함수/스크립트는 프로세스에서 로드된 모듈로 등록되지 않고 실행 파일(EXE)을 반사적으로 로드할 수 있으므로 설치 공간을 남기지 않고 작업을 수행할 수 있습니다. PowerShell은 이러한 조작된 스크립트를 실행하는 데 가장 널리 사용되는 애플리케이션 중 하나입니다. 이 이벤트는 PowerShell 스크립트가 EXE를 PowerShell 프로세스 자체에 주입하려고 시도하는 파일리스 공격을 나타냅니다.

파일리스 위협: 반사적 DLL 원격 주입
반사 로딩은 디스크가 아닌 메모리에서 PE를 로드하는 것을 말합니다. 조작된 함수/스크립트는 프로세스에서 로드된 모듈로 등록되지 않고 DLL을 반사적으로 로드할 수 있으므로 설치 공간을 남기지 않고 작업을 수행할 수 있습니다. PowerShell은 이러한 조작된 스크립트를 실행하는 데 가장 널리 사용되는 애플리케이션 중 하나입니다. 이 이벤트는 PowerShell 스크립트가 DLL을 원격 프로세스에 주입하려고 시도한 파일리스 공격을 나타냅니다.

파일리스 위협: DotNetToJScript 기술을 사용하여 악성 코드 실행
이 이벤트는 CACTUSTORCH와 같은 널리 퍼진 파일리스 공격에서 사용되는 DotNetToJScript 기술을 사용하여 악성 셸 코드를 실행하려는 시도를 나타냅니다. DotNetToJScript 공격 벡터를 사용하면 COM을 통해 노출된 .NET 라이브러리의 도움으로 메모리에서 직접 악성 .NET 어셈블리(DLL, EXE 등)를 로드하고 실행할 수 있습니다. 다른 일반적인 파일리스 공격 기술과 마찬가지로 DotNetToJScript는 컴퓨터 하드 드라이브에 악성 .NET DLL 또는 EXE의 일부를 작성하지 않습니다.

Explore more Security Awareness topics