2018.11.16

글로벌 칼럼 | RDP 공격에 피해를 입었다면, 책임은 사용자에게 있다

Roger A. Grimes | CSO
RDP(Remote Desktop Protocol)에 대한 마이크로소프트 기본 보안 지침만 따르면, 이를 악용해 해킹을 시도하는 해커들을 막을 수 있다.


Credit: Getty Images Bank 

필자는 여러 커뮤니티에서 마이크로소프트와 RDP(Remote Desktop Protocol)에 대해 비난하는 이들을 보았다. 이들은 변형 랜섬웨어나 크립토마이너가 RDP를 통해 자신들의 환경을 해킹한다고 주장했다. 이로 인해 많은 이가 마이크로소프트 윈도우에게 책임을 떠넘기면서 마이크로소프트 보안에 대해 욕을 하고 있었다.

이는 잘못된 범인을 비난하는 것이다.

이쯤에서 분명히 해야 할 것이 있다. RDP 때문에 해킹 당한 것이라면 그 문제는 자신이나 자신의 조직에게 있다. 마이크로소프트나 RDP는 아무런 문제가 없다. RDP 주변에 VPN을 설치할 필요가 없다. 기본 네트워크 포트를 변경할 필요도 없다. 단지 기본 보안 설정을 사용하거나 이미 사용했어야 하는 무수히 많은 다른 보안 방안들을 구현해야 한다. RDP 때문에 해킹 당했다면 이는 그동안 수많은 좋은 컴퓨터 보안 방어책을 하나도 사용하고 있지 않았다는 의미이기도 하다.

랜섬웨어와 RDP
샘샘(SamSam)과 같은 많은 랜섬웨어 프로그램과 크라이시스(Crysis)와 같은 크립토마이너들은 액세스 가능한 RDP 서비스에 대해 무차별 대입 공격(brute-force guessing attacks)을 시도한다. 그래서 많은 기업이 자사의 RDP 서비스를 해킹 당할 것이라고 미국 FBI와 DHS(Department of Homeland Security)에서 이미 경고한 바 있다.

이 경고는 "당신의 보안은 형편없다!"다. 이는 악성코드 프로그램이 패치되지 않은 취약점에 대해 제로데이 공격을 실행하는 것과는 다르다. 대부분의 공격자는 원격 액세스 계정에서 쉽게 추측할 수 있는 비밀번호를 찾기 위해 최소한의 시도밖에 하지 않으며, 이를 통해 관리자 수준의 액세스 권한을 획득한다.

만약 자신이 마이크로소프트가 정한 기본 설정을 그대로 두는 것으로 선택했다면 매우 안전할 것이다. 기본적으로 마이크로소프트는 기본 제공 관리자 그룹(RID 501)의 구성원만 RDP를 사용할 수 있도록 했다. 이 계정은 비밀번호 추측 공격을 막기에 충분한 길고 복잡한 비밀번호를 요구한다. 특히 계정 잠금 정책을 병행해 비밀번호 시도 회수를 제한하고 있다. RDP 악성코드가 자신이 관리하는 컴퓨터에 침입했다는 것은 RDP 접근 가능 계정의 비밀번호가 매우 취약하고 계정 잠금 정책을 활성화하지 않았다는 걸 의미한다.

필자는 이것이 마이크로소프트의 잘못이 아니라고 확신한다.

RDP 보안 우수 사례
보안 RDP에 대한 수십 년간의 모범 사례 가운데 하나를 따른다면, 이중으로 보호받을 수 있다. 예를 들어, 마이크로소프트는 오랫동안 기본 관리자 이름을 바꾸라고 권장했으며, 이를 허용하는 그룹 정책 옵션을 제공한다. 또한 대화형 로그온(Interactive Logon)에 '마지막 사용자 이름을 표시 안함'을 활성화하도록 권장해왔다.
이 기능을 사용하면 비밀번호를 추측하는 악성코드 프로그램은 공격을 시작할 사용자 이름을 알지 못한다. 게다가 계정 잠금 정책으로 쉽게 추측할 수 없게 된다.

나아가 마이크로소프트는 RDP를 사용하기 위해 로그온하려는 모든 컴퓨터에 대해 신뢰할 수 있는 디지털 인증서를 배포하고 사용하도록 권장한다. 원격 장치에 신뢰할 수 있는 디지털 인증서가 설치되지 않으면 로그온 비밀번호를 추측할 수도 없다. 컴퓨터 보안 전문가들은 인증 자격 증명으로 다중요소 인증을 요구한다. 마이크로소프트는 이런 모범 사례를 10년 이상 권장하고 지원해왔다.

RDP가 실제 문제가 되는 경우
원격 액세스 서비스를 사용하다 보면 기본 설정 또는 모범 사례를 사용해 방어할 수 없는 취약점을 시스템에 추가할 수 있는 경우가 있다. 좋은 예가 바로 RDP 또는 관련 서비스가 패치되지 않은 취약점이 알려진 때다. 이런 일은 발생하긴 하지만 상당히 드문 일이다. 이런 상황은 RDP 등장 이후 지난 수십년 동안 2~3번밖에 발생하지 않았는데, 이는 윈도우 NT 4.0에서 처음 발생했다.

가장 최근의 치명적인 RDP 취약점은 2012년으로 거슬러 올라간다. 이는 원격으로 악용될 수 있었으며, 한번의 악의적인 연결로 성공적인 인증없이 원격 로그온을 처리할 수 있었다. 관리자는 악의적인 사람이 이를 활용하기 전에 매우 빠르게 패치했다. 그 이후 RDP를 악용할 수 있는 심각한 취약점은 하나도 없었다.

RDP의 오픈소스 경쟁자인 OpenSSH와 비교해보자. OpenSSH는 지난 2년간 9건을 포함해 1999년 이래로 93건의 취약점이 발견됐다. 필자는 OpenSSH 취약점을 갖고 리눅스와 BSD를 비판하는 이를 본 적이 없다.

RDP를 보호하기 위해 해야 할 일
우선 VPN 추가, 기본 TCP/IP 포트 변경 및 기타 보호 방법을 사용해 공개적으로 액세스할 수 있는 RDP 연결을 보호하는 것은 나쁘지 않다. 디지털 인증서를 요구하는 마이크로소프트의 최선의 권장 사항은 선도적이긴 하지만 굳이 따를 필요는 없다.

계정 잠금 설정이 활성화되어 있는 상태에서 기본적으로 허용 가능한 비밀번호 정책을 조금 높게 설정(시도 회수 제한 100번)하더라도 추가 보호는 필요하지 않다. 컴퓨터 세상에는 걱정하고 해결해야 할 것들이 너무나 많다. 이미 해결된 문제를 두번 이상 해결할 필요는 없다.

필자는 이전에 포트노킹(port knocking)과 다른 포트를 사용하는 것을 신봉하고 있었다. 포트노킹은 방화벽을 연결하기 전에 미리 좌물쇠를 채워두고 사전에 결정된 일련의 포트에 핑을 날려야 하는 방식이다. 이제는 전혀 그럴 필요가 없다. 이런 방식은 이미 안전한 시스템에 복잡성만 추가할 뿐이다.

결론적으로 랜섬웨어 또는 공격자가 RDP를 통해 자신의 시스템이나 네트워크를 성공적으로 해킹했다면, 그건 RDP 문제가 아니라 많은 문제를 유발할 수 있는 여러 가지 안전하지 않은 위험한 작업을 수행하고 있는 것이다.

마이크로소프트와 RDP가 자신들이 만든 문제가 아닌 것에 대해 비판받는 것은 옳지 않다. 비밀번호 추측 문제라면 오히려 리눅스나 OpenSSL을 비판하는 것이 맞다. editor@itworld.co.kr  


2018.11.16

글로벌 칼럼 | RDP 공격에 피해를 입었다면, 책임은 사용자에게 있다

Roger A. Grimes | CSO
RDP(Remote Desktop Protocol)에 대한 마이크로소프트 기본 보안 지침만 따르면, 이를 악용해 해킹을 시도하는 해커들을 막을 수 있다.


Credit: Getty Images Bank 

필자는 여러 커뮤니티에서 마이크로소프트와 RDP(Remote Desktop Protocol)에 대해 비난하는 이들을 보았다. 이들은 변형 랜섬웨어나 크립토마이너가 RDP를 통해 자신들의 환경을 해킹한다고 주장했다. 이로 인해 많은 이가 마이크로소프트 윈도우에게 책임을 떠넘기면서 마이크로소프트 보안에 대해 욕을 하고 있었다.

이는 잘못된 범인을 비난하는 것이다.

이쯤에서 분명히 해야 할 것이 있다. RDP 때문에 해킹 당한 것이라면 그 문제는 자신이나 자신의 조직에게 있다. 마이크로소프트나 RDP는 아무런 문제가 없다. RDP 주변에 VPN을 설치할 필요가 없다. 기본 네트워크 포트를 변경할 필요도 없다. 단지 기본 보안 설정을 사용하거나 이미 사용했어야 하는 무수히 많은 다른 보안 방안들을 구현해야 한다. RDP 때문에 해킹 당했다면 이는 그동안 수많은 좋은 컴퓨터 보안 방어책을 하나도 사용하고 있지 않았다는 의미이기도 하다.

랜섬웨어와 RDP
샘샘(SamSam)과 같은 많은 랜섬웨어 프로그램과 크라이시스(Crysis)와 같은 크립토마이너들은 액세스 가능한 RDP 서비스에 대해 무차별 대입 공격(brute-force guessing attacks)을 시도한다. 그래서 많은 기업이 자사의 RDP 서비스를 해킹 당할 것이라고 미국 FBI와 DHS(Department of Homeland Security)에서 이미 경고한 바 있다.

이 경고는 "당신의 보안은 형편없다!"다. 이는 악성코드 프로그램이 패치되지 않은 취약점에 대해 제로데이 공격을 실행하는 것과는 다르다. 대부분의 공격자는 원격 액세스 계정에서 쉽게 추측할 수 있는 비밀번호를 찾기 위해 최소한의 시도밖에 하지 않으며, 이를 통해 관리자 수준의 액세스 권한을 획득한다.

만약 자신이 마이크로소프트가 정한 기본 설정을 그대로 두는 것으로 선택했다면 매우 안전할 것이다. 기본적으로 마이크로소프트는 기본 제공 관리자 그룹(RID 501)의 구성원만 RDP를 사용할 수 있도록 했다. 이 계정은 비밀번호 추측 공격을 막기에 충분한 길고 복잡한 비밀번호를 요구한다. 특히 계정 잠금 정책을 병행해 비밀번호 시도 회수를 제한하고 있다. RDP 악성코드가 자신이 관리하는 컴퓨터에 침입했다는 것은 RDP 접근 가능 계정의 비밀번호가 매우 취약하고 계정 잠금 정책을 활성화하지 않았다는 걸 의미한다.

필자는 이것이 마이크로소프트의 잘못이 아니라고 확신한다.

RDP 보안 우수 사례
보안 RDP에 대한 수십 년간의 모범 사례 가운데 하나를 따른다면, 이중으로 보호받을 수 있다. 예를 들어, 마이크로소프트는 오랫동안 기본 관리자 이름을 바꾸라고 권장했으며, 이를 허용하는 그룹 정책 옵션을 제공한다. 또한 대화형 로그온(Interactive Logon)에 '마지막 사용자 이름을 표시 안함'을 활성화하도록 권장해왔다.
이 기능을 사용하면 비밀번호를 추측하는 악성코드 프로그램은 공격을 시작할 사용자 이름을 알지 못한다. 게다가 계정 잠금 정책으로 쉽게 추측할 수 없게 된다.

나아가 마이크로소프트는 RDP를 사용하기 위해 로그온하려는 모든 컴퓨터에 대해 신뢰할 수 있는 디지털 인증서를 배포하고 사용하도록 권장한다. 원격 장치에 신뢰할 수 있는 디지털 인증서가 설치되지 않으면 로그온 비밀번호를 추측할 수도 없다. 컴퓨터 보안 전문가들은 인증 자격 증명으로 다중요소 인증을 요구한다. 마이크로소프트는 이런 모범 사례를 10년 이상 권장하고 지원해왔다.

RDP가 실제 문제가 되는 경우
원격 액세스 서비스를 사용하다 보면 기본 설정 또는 모범 사례를 사용해 방어할 수 없는 취약점을 시스템에 추가할 수 있는 경우가 있다. 좋은 예가 바로 RDP 또는 관련 서비스가 패치되지 않은 취약점이 알려진 때다. 이런 일은 발생하긴 하지만 상당히 드문 일이다. 이런 상황은 RDP 등장 이후 지난 수십년 동안 2~3번밖에 발생하지 않았는데, 이는 윈도우 NT 4.0에서 처음 발생했다.

가장 최근의 치명적인 RDP 취약점은 2012년으로 거슬러 올라간다. 이는 원격으로 악용될 수 있었으며, 한번의 악의적인 연결로 성공적인 인증없이 원격 로그온을 처리할 수 있었다. 관리자는 악의적인 사람이 이를 활용하기 전에 매우 빠르게 패치했다. 그 이후 RDP를 악용할 수 있는 심각한 취약점은 하나도 없었다.

RDP의 오픈소스 경쟁자인 OpenSSH와 비교해보자. OpenSSH는 지난 2년간 9건을 포함해 1999년 이래로 93건의 취약점이 발견됐다. 필자는 OpenSSH 취약점을 갖고 리눅스와 BSD를 비판하는 이를 본 적이 없다.

RDP를 보호하기 위해 해야 할 일
우선 VPN 추가, 기본 TCP/IP 포트 변경 및 기타 보호 방법을 사용해 공개적으로 액세스할 수 있는 RDP 연결을 보호하는 것은 나쁘지 않다. 디지털 인증서를 요구하는 마이크로소프트의 최선의 권장 사항은 선도적이긴 하지만 굳이 따를 필요는 없다.

계정 잠금 설정이 활성화되어 있는 상태에서 기본적으로 허용 가능한 비밀번호 정책을 조금 높게 설정(시도 회수 제한 100번)하더라도 추가 보호는 필요하지 않다. 컴퓨터 세상에는 걱정하고 해결해야 할 것들이 너무나 많다. 이미 해결된 문제를 두번 이상 해결할 필요는 없다.

필자는 이전에 포트노킹(port knocking)과 다른 포트를 사용하는 것을 신봉하고 있었다. 포트노킹은 방화벽을 연결하기 전에 미리 좌물쇠를 채워두고 사전에 결정된 일련의 포트에 핑을 날려야 하는 방식이다. 이제는 전혀 그럴 필요가 없다. 이런 방식은 이미 안전한 시스템에 복잡성만 추가할 뿐이다.

결론적으로 랜섬웨어 또는 공격자가 RDP를 통해 자신의 시스템이나 네트워크를 성공적으로 해킹했다면, 그건 RDP 문제가 아니라 많은 문제를 유발할 수 있는 여러 가지 안전하지 않은 위험한 작업을 수행하고 있는 것이다.

마이크로소프트와 RDP가 자신들이 만든 문제가 아닌 것에 대해 비판받는 것은 옳지 않다. 비밀번호 추측 문제라면 오히려 리눅스나 OpenSSL을 비판하는 것이 맞다. editor@itworld.co.kr  


X