Linux vs. Windows Ransomware

2023. 11. 24. 11:39카테고리 없음

(1) 공격 타겟의 차이

  • Linux 용 랜섬웨어는 Window 랜섬웨어 보다 더 명확하게 내부 네트워크의 서버 액세스를 지향한다.
  • Windows 용 랜섬웨어는 개인용 컴퓨터와 조직용 사용자 워크스테이션(개인과 엔드포인트)를 타겟으로 진행한다면, Linux 용 랜섬웨어는 서버 준야에서 배포가 효과적이다.
  • 즉, Linux 랜섬웨어는 Windows 위협에 비해 중대형 조직을 대상으로 공격을 진행한다.

(2) 암호화하기 위한 폴더 및 파일에 대한 접근 방식 차이

  • Windows 용 랜섬웨어는 중요 시스템 폴더를 피하려고 시도하는 반면, Linux 용 랜섬웨어는 매개변수나 구성을 통해 직접 지정된 폴더 및 파일을 암호화한다.
  • 이러한 차이로 인해 공격자들의 특이한 행동이 존재한다 :
    • CL0P 랜섬웨어는 파일과 폴더를 구분하기 위해 '.' 문자를 이용한다.
    • 이는 Winodws에서는 효과적이지만 Linux에서는 작동하지 않는 경우가 있다.
    • 그렇기 때문에 Linux에서는 파일 확장자가 크게 중요하지 않다.
    • 반대로, 특정 파일을 지정하는 CL0P과는 반대로 일반적으로는 "u01", "u02", "u03", "u04", "home", "root", "opt"와 같은 폴더들을 위주로 설정을 반복한다.
    • 이는 악성 코드가 시스템에 침투한 후에 특정 경로를 암호화하여 시스템을 장악하거나 데이터를 유출하는 등의 행동을 수행하는 것을 의미한다.

Linux에서의 데이터 유출, WebShell

  • Linux에서 일반적으로 유출에 대한 감염 벡터는 도난당한 자격 증명을 이용한 합법적인 도구 사용이다.
    • 이를 통해 액세스 권한을 얻어 다른 도구에 대한 배포없이 서버에서의 데이터를 추출할 수 있다.
    • 이때 액세스 권한 획득을 위해서 취약점 악용을 한다. 이러한 취약점을 악용하여 서버에 접근하는 많은 시나리오에서 웹쉘의 배포와 연관되어 있다.
    • 이는 웹쉘이 리눅스 명령어를 실행 할 수 있는 능력 이외에도 피해자 서버에서의 파일 업로드 및 다운로드 기능이 존재하기 때문이다
    • 따라서 웹쉘들은 서버 내부로 침투한 후에 서버에서 데이터를 업로드하거나 다운로드하여 정보를 훔치는 등의 행동을 수행하는 도구로 사용된다.
  • Windows에서는 Linux의 Curl, Wget과 같은 합법적인 도구 사용과 유사하게 RDP, WinoSCP, RClone을 사용한다.
  • 점차 랜섬웨어 샘플의 지속성 측면에서도 발전됨에 따라 Merlin, Poseidon과 같은 백도어를 사용한 Linux 랜섬웨어도 볼 수 있다.

랜섬웨어 동향

  • 예전에는 피해자 파일 및 폴더를 암호화하고 2차로 파일을 가로챘었다.
  • 최근에는 이러한 암호화 과정을 건너뛰고 후속 갈취를 통한 정보 도용에 집중한 캔페인들이 수행되고 있다.
  • 즉, 파일을 도난하여 유출 사이트에 민감한 데이터를 유출하겠다는 협박을 통한 이중 갈취를 악용하고 있다.
  • 대표적으로 CL0P 랜섬웨어가 해당 캠페인을 수행하고 있다.

(3) 랜섬웨어로 인해 시스템에 미치는 영향 차이

  • Windows에서는 이미 ShadowCopy 삭제, 일반적인 백업 비활성화, 보안 도구 비활성화 또는 우회 시도를 목표로 하는 명령을 엄격하게 모니터링하고 있다.
  • Linux에서는 백업 및 보안 도구 종료에 대한 우려가 아직 Windows만큼 일반적이지 않다.
  • 이를 해결하기 위해서는 적절한 모니터링 유지를 통한 초기 감지만으로도 극복이 가능하다.
    1. Mutex
      • 랜섬웨어는 동일한 시스템에 랜섬웨어가 여러 번 실행되는 것을 방지하기 위해 Mutex를 생성한다.
      • 예를 들어 Lockbit 랜섬웨어는 /tmp/locker.pid라는 파일을 생성하는데, 이 파일을 실행하여 랜섬웨어 존재 여부를 파악하고, 존재한다면 프로세스를 즉시 종료한다.
      • 이러한 Mutex를 이용한 탐지도 가능하다
    2. 로그
      • 탐지와 관련된 간단하고 덜 효과적인 방법은 로그 파일이다.
      • 예를들어 HelloKitty와 Monti 랜섬웨어는 실행 및 암호화에 대한 정보와 함께 각각 work.log 및 result.txt 파일을 생성한다.
      • 특히, 이들의 내부 문자열을 매우 특징정이다.
      • 이때 로그 파일이 해당 랜섬웨어 공격의 실행을 방해해서는 안된다.
    3. ESXi 시스템의 가상화
      • 모니터링 가능한 명령 실행 관련 사례는 ESXi 시스템의 가상화 관련 경우이다.
      • Linux 지향 랜섬웨어들은 ESXi 버전이 존재하거나 직접 호환되는 방식으로 컴파일 된다.
      • 그렇기 때문에 랜섬웨어 샘플에는 샐행 중인 컴퓨터 목록과 암호화를 허용하도록 중지하는 기능을 보유하는 것이 일반적이다.
      • 이러한 EXSi 관련 명령어 실행은 암호화 직전의 순간이기 때문에 암호화를 예상하고 감지 및 방어를 할 수 있다.
      • 대표적인 샘플이 Royal과 Gwisin 및 BlackCat(APHLV)이 있다.

(4) 암호화 체계, OpenSLL, AES, RSA

랜섬웨어 위협에는 암화화페가 존재한다.

 

Windows에서는 API 자체에 위임하거나 CryptoPP, libgcrypt 암호화 라이브러리를 사용한다.

Linux에서는 OpenSLL 라이브러리를 사용하여 모든 암호화 작업을 수행한다.

 

실제로 Linux 용 랜섬웨어 샘플 중 일부는 바이너리 자체에 암호화 라이브러리가 정적으로 연결되어 위협 코드의 50% 이상을 차지하고 있다.

이중에서도 ChaCha20/RSA 및 AES/RSA 알고리즘 사용이 설계 결함과 공개 암호 해독기 발생 가능성이 낮다.

다양한 암호화 알고리즘을 가지고 있는 Windows에서도 ChaCha20/RSA 및 AES/RSA 알고리즘이 더 효율적인 만큼 Linux에서는 훨씬 더 적은 수의 변형으로 해당 알고리즘을 사용하고 있다.

  • Lazarus APT 그룹의 최근 해킹 사고에서도 복호화키로 ChaCha20 Key를 사용함

즉, 이들은 RSA를 일반적인 암호화 초석으로 선호하며, RSA를 기본 비대칭으로 선택한다.

이는 암화화를 할때 AES에 의존하며 ChaCah20이 여러 랜섬웨어 샘플(제품군)에 일반적인 대안임을 보여준다.

  • 물론 예외도 존재한다.
    • 그 예로, CL0P이 있다. ESXiArgs는 대칭 암호화를 위해 Sosemanuk를 사용하는 반면, CL0P은 비대칭 암호화를 사용하는 일반적인 시점에서 RC4를 사용한다.
    • 하지만, 대부분의 위협 행위자들은 안전성이 두번째 고려사항이며, 가장 우선적으로 효율성을 우선시하기 때문에 대부분 비교적 균일한 암호화 도구를 사용하고 있다.

이러한 사용 암호화 도구와 우선순위를 이용하여 위협을 보다 쉽게 탐지 할 수 있다.