원격코드실행(RCE) (Remote Code Execution)

정보보안학
한 줄 정의: 공격자가 원격지에서 대상 시스템에 임의의 명령이나 코드를 실행시킬 수 있게 되는 취약점 또는 그 결과를 말합니다.

쉽게 풀면

원격코드실행은 남의 컴퓨터를 마치 내 컴퓨터인 것처럼 명령을 내릴 수 있게 되는 상황입니다. 집 열쇠를 훔쳐 문을 열고 들어가는 것을 넘어서, 아예 집 안의 모든 기능을 마음대로 조작할 수 있게 되는 것과 비슷합니다. 웹사이트의 입력값 처리 오류나 소프트웨어의 결함을 이용해 공격자가 서버에서 자신이 원하는 프로그램을 실행시킬 수 있게 되면 이를 원격코드실행이라고 부릅니다. 이는 정보보안에서 가장 심각한 등급의 취약점 중 하나로 분류됩니다.

왜 중요한가

원격코드실행은 시스템 전체 장악으로 이어질 수 있는 최고 위험도의 취약점이기 때문에 정보보안학 연구에서 핵심적으로 다뤄집니다. 취약점 발굴, 패치 우선순위 결정, 침투테스트 방법론 연구 등 다양한 영역에서 원격코드실행 가능 여부가 중요한 판단 기준이 됩니다. 성공할 경우 공격자가 시스템 권한을 완전히 장악할 수 있어 랜섬웨어 유포나 데이터 탈취의 진입점으로 가장 빈번하게 악용되는 취약점 범주 중 하나로 취급됩니다.

논문에서는 이렇게 쓰입니다

"해당 라이브러리의 역직렬화 처리 과정에서 발견된 결함은 최종적으로 원격코드실행(RCE)으로 이어질 수 있음을 실증하였다."

소프트웨어 결함이 어떻게 심각한 취약점으로 발전하는지를 보여준 연구 사례입니다.

"CVSS 점수가 9점 이상으로 평가된 취약점의 상당수가 원격코드실행 가능성을 포함하고 있었다."

취약점 심각도 평가와 원격코드실행 가능성의 상관관계를 분석한 사례입니다.

조금 더 깊게 보면

원격코드실행은 메모리 손상 취약점, 안전하지 않은 역직렬화, 명령어 삽입 등 다양한 경로를 통해 발생할 수 있습니다. 이러한 취약점은 흔히 CVSS 점수 체계에서 매우 높은 심각도로 평가되며, 공격자가 별도의 인증 없이 원격에서 코드를 실행할 수 있는 경우 위험도가 더욱 높게 산정됩니다. RCE는 입력값 검증 미비, 역직렬화 취약점, 메모리 손상 버그 등을 악용해 공격자가 원하는 코드를 대상 시스템에서 실행시키는 취약점 유형으로, 공개된 취약점 등급 체계(CVSS)에서 대체로 최상위 위험도로 분류됩니다. 인증 이전 단계에서 발생하는 비인증 RCE는 로그인 절차 없이도 공격이 가능해 특히 위험도가 높게 평가되며, 공개된 익스플로잇 코드가 유포될 경우 대규모 자동화 공격으로 이어지기도 합니다.

주의할 점

원격코드실행이 가능하다는 것과 실제로 그 공격이 손쉽게 이루어진다는 것은 다른 문제이며, 방어 체계나 실행 환경의 조건에 따라 악용 난이도가 크게 달라질 수 있습니다.

관련 용어