ClickCease 원격 코드 실행 공격: 정의

원격 코드 실행 공격: 공격의 정의, 시스템 보호 방법

스테판 벤터

2023년 3월 14일 - 기술 에반젤리스트

사이버 범죄자들은 취약한 시스템을 표적으로 삼기 위해 다양한 전략을 사용하며, 원격 코드 실행(RCE) 공격은 가장 일반적인 전략 중 하나입니다. 실제로 2020 글로벌 위협 인텔리전스 보고서에 따르면 RCE 공격은 가장 일반적인 공격 기법으로 관찰되었습니다.

전 세계 어디에서든 위협 행위자가 시스템을 공격할 수 있다는 점이 RCE 공격의 간단한 매력입니다. RCE는 공격자는 무사히 빠져나갈 수 있는 반면 기업의 운영, 데이터, 비즈니스는 돌이킬 수 없는 피해를 입을 수 있는 원거리 공격을 용이하게 합니다.

이 도움말에서는 원격 코드 실행 공격이 무엇인지 간략히 설명하고, 원격 실행 공격의 가장 적절한 실제 사례 몇 가지를 소개하며, 성공적인 RCE 공격을 방지하기 위해 조직이 따라야 할 모범 사례를 간략히 설명합니다.

 

원격 코드 실행 공격이란 정확히 무엇인가요?

 

원격 실행 공격은 원격 공격자가 내 서버에서 코드를 실행하는 것을 말합니다. 즉, 공격자는 취약점을 사용하여 사용자가 전 세계 어디에 있든, 또는 공격자가 전 세계 어디에 있든 상관없이 사용자의 장치 또는 서버에 액세스하여 명령을 실행할 수 있습니다.

RCE 공격은 형태와 형태가 다양합니다. 공격자는 특정 목적을 달성하기 위해 단순히 컴퓨터에서 악성 코드를 실행할 수도 있지만, RCE 공격은 공격자가 상승된 권한을 사용하여 애플리케이션 및 서비스에 액세스하는 등 디바이스를 완전히 완벽하게 제어할 수 있음을 의미할 수도 있습니다.

일반적으로 RCE 공격은 어떤 종류의 취약점을 악용하는 데 의존합니다. 네트워크 방어의 취약점, 애플리케이션의 보안 취약점, 패치되지 않은 운영 체제 취약점 등이 그 예입니다.

 

RCE 공격은 ACE 공격과 어떻게 다른가요?

 

참고로, RCE 공격은 임의 코드 실행(ACE) 공격의 하위 집합입니다. RCE 공격과 마찬가지로 ACE 공격의 경우 공격자는 사용자의 허락 없이 사용자의 컴퓨팅 장비에서 자신이 선택한 임의의 명령을 실행하며, 이는 악의적인 목적을 가지고 실행됩니다. 물론 ACE 공격과 RCE 공격의 차이점은 RCE 공격의 경우 가해자가 원격에 있는 반면, ACE 공격의 배후에 있는 공격자는 사용자의 구내에 있을 수 있다는 점입니다.

 

일반적인 RCE 공격 유형

 

원격 실행 공격의 광범위한 범위와 위험성에 대한 이해를 돕기 위해 가장 일반적인 RCE 공격 벡터 몇 가지를 간략히 설명하겠습니다. 이러한 공격은 모두 특정 취약점에 의존하며, 각 시나리오에서 공격자는 시스템에 무단으로 액세스하는 것을 목표로 합니다. 세 가지 일반적인 공격 형식이 있습니다:

 

역직렬화 공격

데이터 직렬화는 필드와 객체와 같은 복잡한 데이터 구조를 간단한 순차 데이터 스트림으로 전송할 수 있는 더 평평한 데이터 구조로 변환하는 작업입니다. 이 데이터 스트림을 복원해야 하는데, 이 과정을 역직렬화라고 합니다. 역직렬화 과정에서 실수로 바이너리 코드가 실행될 수 있으므로 이 단계에 공격자가 개입할 수 있습니다. 공격자는 직렬화된 데이터를 수정하여 변경된 데이터 객체에 코드를 삽입하려고 시도합니다.

 

버퍼 오버플로 공격

원격 공격에만 국한되지 않는 일반적인 전략은 버퍼 오버플로 공격입니다. 여기서 공격자는 메모리에 저장된 데이터를 덮어쓸 수 있는 취약점을 악용합니다. 위협 행위자는 네트워크 컨트롤러와 같은 간단한 장치를 충돌시키거나, 컴퓨터의 데이터를 파괴하거나, 실제로 악의적인 코드를 컴퓨터에 삽입하기 위해 이 공격을 사용할 수 있으며, 이를 통해 공격자는 RCE 공격을 수행할 수 있습니다.

 

유형 혼동 공격

코드가 전달된 객체의 무결성을 확인하기 위한 조치를 취하지 않으면 유형 혼동을 일으킬 위험이 있습니다. 유형 혼동은 공격자가 객체 유형에 불일치를 만드는 것만으로 임의의 명령을 실행할 수 있는 코드를 몰래 삽입할 수 있기 때문에 위험합니다.

 

RCE 공격의 목표

 

시스템에 대한 무단 액세스와 마찬가지로 RCE 공격의 목적은 매우 다양합니다. RCE 공격의 동기는 비즈니스 분야, 고객, 보유하고 있는 데이터에 따라 달라집니다. 공격의 목적은 다음 중 하나일 수 있습니다:

  • 침투 및 모니터링. 공격자는 기업 스파이 활동과 같이 네트워크 내부에 침투하기 위해 RCE 공격을 간단히 사용할 수 있습니다. RCE는 더 광범위한 공격의 첫 단계가 될 수 있으며, 여기에는 지속적인 운영 모니터링이 포함될 수 있습니다.

 

  • 데이터 도용. RCE 공격은 추가 코드 설치의 문을 열어 데이터 전송으로 이어질 수 있습니다. 사이버 범죄자는 RCE 공격을 시작으로 사용자의 컴퓨팅 리소스에 대한 통제권을 확보하여 결국 대량의 데이터를 빼낼 수 있습니다.

 

  • 혼란. 공격자는 RCE 취약점을 사용하여 시스템에 침입하여 시스템을 중단시킬 수 있습니다. 예를 들어, 간단한 버퍼 오버플로 공격만으로도 운영이 크게 중단될 수 있습니다. 결과적으로 원격 공격자는 온라인 상태를 오프라인 상태로 만들거나, 여러분이나 여러분의 고객에게 불편을 주거나 비용을 발생시키는 또 다른 장애를 일으킴으로써 목표를 달성할 수 있습니다.

그러나 많은 보안 침해를 유발하는 한 가지 목표가 있으며, 이는 아마도 현장에서 RCE 공격의 높은 유병률의 원인일 것입니다.

 

불법 크립토마이닝 - RCE 공격의 배후에 있는 동인

 

사이버 보안 업체 Imperva의 2018년 설문조사에는 놀라운 수치가 포함되어 있습니다. Imperva의 조사에 따르면 모든 RCE 공격의 거의 90%가 한 가지 목표에 의해 동기 부여되었습니다.즉, 피해자의 하드웨어에 크립토마이닝 소프트웨어를 설치 및 실행하는 것입니다.

왜 범죄자들이 시스템에 크립토마이닝 소프트웨어를 설치하기 위해 시스템에 크립토마이닝 소프트웨어를 설치하는 데? 간단히 말해, 암호화폐 채굴은 큰 수익을 가져다줄 수 있지만, 암호화폐 채굴에 필요한 컴퓨팅 리소스가 있는 경우에만 가능합니다.

RCE 공격을 통해 범죄자는 암호화폐를 수익성 있게 채굴할 수 있는 충분한 암호화 문제를 해결하기 위해 사용자의 컴퓨팅 리소스를 악용하려고 시도합니다. RCE 공격을 통해 전기, 하드웨어 리소스 등에 대한 비용을 지불하지 않고도 사용자의 장비에서 암호화폐 채굴 소프트웨어를 실행할 수 있습니다.

언뜻 보기에는 다른 사람이 여러분의 컴퓨팅 리소스를 사용해 수학 문제를 푸는 것에 대해 왜 그렇게 걱정해야 하는지 의아해하실 수도 있지만, 몇 가지 유의해야 할 점이 있습니다. 첫째, RCE를 사용하는 크립토마이닝은 전력 소비와 하드웨어 마모 측면에서 막대한 비용이 발생할 수 있습니다.

다음으로, 시스템에 승인되지 않은 소프트웨어가 있으면 더 광범위하고 광범위한 위반으로 이어질 수 있습니다. 또한 규정 준수 의무를 위반하게 됩니다. 아무리 무해해 보이는 코드일지라도 범죄 행위자가 시스템에서 알려지지 않은 무단 코드를 실행하도록 허용해서는 안 됩니다.

 

주목할 만한 예 RCE 취약점

 

RCE 공격은 프론트엔드 소프트웨어부터 서버 인프라에 이르기까지 모든 것에 영향을 미치는 수많은 사례 중에서 선택하기가 어려울 정도로 흔하고 광범위하며 광범위하게 퍼져 있습니다. RCE 공격이 실제로 얼마나 널리 퍼져 있는지를 설명하기 위해 몇 가지 예를 살펴보겠습니다.

Log4j는 큰 문제입니다. 2021년 12월 10일, Log4j의 심각한 취약점인 Log4Shell(CVE-2021-44228)이 공개되었습니다. 심각도 수준이 심각하고 최대 CVSS 점수가 10점인 이 취약점은 알리바바 클라우드 보안팀의 첸 자오준이 발견했습니다. 이 취약점은 널리 사용되는 Java 로깅 프레임워크인 Log4j2의 거의 모든 버전에 영향을 미칩니다.

상당수의 Java 애플리케이션 프레임워크가 기본 로깅 프레임워크로 Log4j를 사용합니다. 대표적인 예로는 Apache Struts 2가 있습니다. 따라서 이 취약점은 매우 위험하고 널리 퍼져 있는 RCE 취약점입니다. 이미 여러 번 익스플로잇된.

다음으로 인기 있는 커뮤니케이션 플랫폼인 Discord를 예로 들어보겠습니다. 2020년 10월에 한 보안 연구원이 이 플랫폼의 데스크톱 앱에서 RCE 취약점을 발견했습니다. 이 연구원은 Discord 앱에서 원격 코드를 실행하기 위해 세 가지 취약점을 연결해야 했기 때문에 가장 눈에 띄는 취약점은 아니었지만, 그럼에도 불구하고 RCE 취약점은 1억 명 이상의 Discord 활성 사용자에게 잠재적으로 영향을 미칠 수 있는 실제 취약점이었습니다.

또 다른 일반적인 커뮤니케이션 플랫폼인 vBulletin은 "엄청나게 쉽게 익스플로잇할 수 있는" RCE 버그를 겪었습니다. 블리핑 컴퓨터에 따르면 이 익스플로잇은 단 한 줄의 코드에 의존하며, 소니와 Steam부터 Pearl Jam과 NASA에 이르기까지 유명 기업들이 사용하는 게시판에 영향을 미쳤습니다. 제로데이 익스플로잇이 공개되자마자 공격이 시작되었고, 당시 vBulletin의 포럼에도 영향을 미쳤을 정도로 그 영향은 실제적이었습니다.

그 예는 무수히 많습니다. SMBGhost RCE 취약점. 2020년 6월, FBI에 따르면 심각한 RCE 해킹이 어떻게 대규모 공격으로 이어질 수 있는지 보여주는 개념 증명이 공개되었습니다. 하지만 Microsoft는 이 취약점에 대한 수정 사항을 발표했지만 패치가 항상 일관되게 적용되는 것은 아니며, 이 점은 다음 섹션에서 다시 다룰 예정입니다.

이는 야생에 널리 퍼져 있는 RCE 취약점의 몇 가지 예에 불과합니다. 예시는 매일 계속 쏟아져 나오고 있습니다, 데일리 스윅에 지속적으로 올라오는 RCE 공격 목록만 봐도 알 수 있습니다..

RCE 공격으로부터 자신을 보호하기 위한 모범 사례

 

공격자가 컴퓨팅 리소스를 크립토마이닝하기 위해 시스템을 노리는 것인지, 아니면 훨씬 더 심각한 목적을 위해 공격하는 것인지는 알 수 없습니다. 어느 쪽이든 RCE 공격을 포함한 사이버 공격의 위험을 최소화하기 위해 필요한 예방 조치를 취해야 합니다. 다음은 몇 가지 주요 단계입니다:

  • 조기 경보 및 모니터링. RCE 공격을 항상 예방하는 것은 불가능할 수 있지만, 조기 경보 시스템은 보안 침해가 발생했거나 공격이 성공하여 불법 코드가 지속적으로 실행되는 상황을 알려줄 수 있습니다. 마찬가지로 모니터링 시스템은 손상된 서버를 가리키는 비정상적인 동작을 식별하는 데 도움이 될 수 있습니다.
  • 방화벽 및 기타 보안 소프트웨어. 일반적인 자동화된 공격을 방지할 수 있는 도구를 배포하세요. 예를 들어 웹사이트 애플리케이션 방화벽(WAF)을 고려하세요. 마찬가지로 취약점 스캔 도구와 침투 테스트 도구를 배포하고 실행하여 RCE 공격이 발생할 수 있는 위치를 파악하여 너무 늦기 전에 취약점을 수정할 수 있도록 하세요.
  • 대응 계획 수립. 아무리 철저한 보안 조치를 취해도 RCE 공격을 100% 피하기는 어렵습니다. 이러한 상황에 대비하여 조직이 공격을 신속하게 종료하고 발생할 수 있는 여파로부터 신속하게 복구하는 데 도움이 될 수 있는 대응 계획을 수립하세요.

위의 모든 사항이 중요하지만, 원격 공격으로부터 컴퓨팅 운영을 안전하게 보호하는 데 있어 다른 어떤 정책이나 조치보다 더 큰 효과를 발휘할 수 있는 핵심 정책이 있습니다.

 

패치가 중요한 이유

 

RCE 공격은 일반적으로 알려진 보안 취약점을 악용합니다. 이러한 알려진 취약점은 일반적으로 소프트웨어 공급업체에서 소프트웨어 패치를 통해 수정합니다. 하지만 패치의 문제점은 패치를 적용해야 한다는 것입니다. 적용.

컴퓨팅 리소스 운영자는 알려진 취약점이 악용되지 않도록 하드웨어 및 소프트웨어 리소스에 정기적으로 패치를 적용해야 합니다. 상식처럼 보이지만, 알고 보면 일관된 패치를 적용하는 것은 언뜻 보기만큼 쉽지 않습니다.

CSO Online에 따르면 지속적인 패치의 어려움은 그 이유를 설명할 수 있습니다, 침해 사고의 60%는 효과적인 패치가 있지만 패치가 적용되지 않은 취약점을 악용하여 발생합니다. - 패치가 적용되지 않은 취약점을 악용하는 것으로 나타났습니다.

시기적절하고 일관된 패치는 쉽지 않습니다. 패치를 적용하려면 시스템을 다시 시작해야 하는 경우가 많기 때문에 리소스 집약적이고 중단 시간이 길어집니다. 하지만 도움이 될 수 있는 효과적인 도구가 있습니다.

한 가지 예로 다음을 고려하십시오. KernelCare - 서버를 재시작하거나 다운타임 없이도 Linux 서버를 일반적인 취약성으로부터 안전하게 보호하는 TuxCare의 자동 패치 도구 서버 재시작이나 그에 따른 다운타임 없이 일반적인 취약성으로부터 서버를 안전하게 보호합니다.

 

 

RCE 공격이 빈번하게 발생하고 있으며 예방이 중요합니다.

 

RCE 공격이 심각한 결과를 초래할 수 있다는 것은 의심의 여지가 없습니다. 값비싸고 리소스를 많이 소모하는 암호화폐 채굴자의 존재부터 데이터 도난 그리고 비즈니스 크리티컬 다운타임. RCE 공격은 운이 나쁜 사람에게만 발생하는 드문 사건이 아니라 흔한 일입니다.

따라서 조직은 RCE 공격에 대해 알고 있어야 하며 이러한 공격에 대해 강력하게 방어해야 합니다. 위에서 몇 가지 팁을 언급했지만 가장 중요한 것은 패치 적용입니다.

TuxCare의 KernelCare 라이브 패치 서비스를 사용하면 서버 재시작을 자동화하여 RCE 공격으로부터 패치를 자동화하고 서버 재시작을 제거하여 Linux 워크로드를 안전하게 보호할 수 있습니다. 여기에서 KernelCare에 대해 자세히 알아보세요..

 

요약
설명
원격 코드 실행 공격이 무엇인지, 실제 사례 몇 가지를 짚어보고 이를 방지하기 위한 모범 사례를 간략하게 설명하겠습니다.
작성자
게시자 이름
TuxCare
게시자 로고

Kernel 재부팅, 시스템 다운타임 또는 예정된 유지 보수 기간 없이 취약성 패치를 자동화하고 싶으신가요?

TuxCare로 라이브 패치에 대해 알아보기

TuxCare 게스트 작가 되기

시작하기

메일

가입

4,500

Linux & 오픈 소스
전문가!


뉴스레터 구독하기