Netwrix 1Secure는 데이터와 아이덴티티 전반에 걸쳐 통합된 가시성을 제공합니다 - 14일간 무료로 전체 액세스가 가능합니다.무료 평가판 시작

리소스 센터블로그

SMBv3 취약점 해설

SMBv3 취약점 해설

Jun 25, 2024

업무 환경은 변화해 왔습니다. 코로나19 이전에도 하이브리드 및 원격 근무가 존재했지만, 팬데믹 기간과 그 이후에는 이러한 근무 방식이 더욱 보편화되었습니다. 오늘날 기업은 전 세계 어디서나 직원들이 업무를 수행하고 회사 리소스에 접근할 수 있는 유연성을 제공하며, 그 중심에는 Server Message Block (SMB) 프로토콜이 있습니다. 하지만 이러한 유연성은 기존의 전통적인 경계(퍼리미터) 기반 보안 모델만으로는 부족하기 때문에, 더 중대한 사이버 보안 과제를 불러올 수 있는 문을 열었습니다.

이 문서는 특히 SMBv3에서 발생할 수 있는 이러한 사이버 보안 우려를 살펴보고, 이를 식별하고 완화하기 위한 실질적인 조치를 제공합니다.

SMBv3란 무엇인가요?

서버 메시지 블록(Server Message Block, SMB)은 애플리케이션, 컴퓨터, 장치가 네트워크를 통해 파일, 프린터, 시리얼 포트와 같은 리소스를 통신하고 공유할 수 있게 해주는 네트워크 프로토콜을 말합니다. SMB는 로컬 영역 네트워크(LAN) 또는 인터넷을 통해 클라이언트(리소스에 대한 액세스를 요청하는 장치)와 서버(리소스를 제공하는 장치) 간의 통신을 지원합니다.

SMB는 1980년대에 처음 만들어진 이후 여러 차례 개선(성능 및 보안 강화 포함)을 거쳤으며, 그중 최신 버전이 SMBv3입니다.

SMBv3 취약점

SMBv3에서 큰 개선이 이루어졌음에도 불구하고, 여전히 일부 보안 취약점이 존재하며, 그중 원격 코드 실행이 가장 우려되는 유형 중 하나입니다. 원격 코드 실행(Remote code execution, RCE)은 공격자가 일반적으로 원격으로 컴퓨터나 네트워크에서 악성 코드를 실행하거나 실행되게 하여 완전한 제어권을 획득할 수 있도록 하는 보안 취약점입니다.

SMBGhost (CVE-2020-0796)

2020년 3월 10일, Microsoft는 SMBv3에서 새로 확인된 취약점(CVE-2020-0796)에 대한 정보를 실수로 공개했습니다. Microsoft는 이 정보를 빠르게 삭제했지만, 연구자들은 이미 이를 확인해 두었습니다. 그 결과 Microsoft는 공식 권고문 를 이틀 뒤(2020년 3월 12일) 게시하게 되었습니다.

이러한 사건들은 보안 업계가 CVE-2020-0796을 SMBGhost라고 부르게 만들었습니다. Microsoft에 따르면, 이 취약점은 서버에서 원격 코드 실행으로 이어질 수 있으며, 이는 심각한 취약점인 만큼 항상 중대한 우려 사항입니다.

Microsoft의 권고문은 악의적인 공격자가 대상인 SMBv3 서버에 대해 특수하게 제작된 패킷을 전송함으로써 이 취약점을 악용할 수 있다고 강조했습니다. 이는 SMBv1 취약점 과 매우 유사합니다. 이 취약점의 무서운 점은 연구자들이 이를 “웜 형태로 전파될 수 있는(wormable)” 것으로 평가했다는 점인데, 즉 누군가가 여러분의 한 대의 장비를 악용하면 환경 내에서 다른 장비로 잠재적으로 확산될 수 있다는 의미입니다.

특히 영향을 받는 버전은 SMBv3의 최신 버전인 3.1.1이었습니다. 또한 Microsoft는 이 취약점이 1903 및 1909 버전을 실행 중인 모든 Windows 10과 Windows Server에 영향을 준다고 명시했습니다.

다행히도 이 문제를 피하기 위한 잠재적 완화 조치와 우회 방법이 있으며, 2020년 3월 12일 기준으로 Microsoft는 patch 이 취약점을 해결하는 패치를 배포했습니다.

CVE-2022-24508

SMBGhost 이후 2년이 지난 2022년 3월 8일, Microsoft는 SMBv3와 관련된 또 다른 보안 업데이트를 배포했습니다. Win32 파일 열거(Enumeration) 원격 코드 실행 취약점으로 설명되는 CVE-2022-24508은 SMBv3를 지원하는 Windows 10 2004 버전 및 그 이후 버전에 주로 영향을 미치는 또 다른 RCE(원격 코드 실행) 취약점이었습니다.

SMBGhost만큼 CVE-2022-24508에 대한 정보가 많지는 않지만, Microsoft가 이 취약점의 심각도를 “important(중요)”으로 지정했다는 점은 주목할 만합니다. 즉, 조직은 이를 예방하기 위한 조치를 취함으로써 필요한 만큼의 관심을 계속 기울여야 합니다.

SMBv3 취약점의 위험과 영향

SMBv3의 가장 중요한 보안 취약점이 RCE이므로, 이 섹션에서는 이 위협과 관련된 위험을 살펴봅니다. 여기에는 다음이 포함됩니다:

  • 무단 액세스: RCE 공격의 가장 첫 번째 영향은 악의적인 행위자가 조직의 내부 네트워크에 무단으로 접근하게 되는 것입니다. 이로 인해 권한 상승 같은 심각한 결과가 초래될 수 있으며, 이는 공격자에게 네트워크 내에서 더 큰 권한을 부여해 더 해로운 작업을 수행할 수 있게 합니다.
  • 데이터 침해: 데이터, 특히 내부 회사 데이터(기업 기밀)는 조직이 가장 중요하게 보호해야 하는 자산 중 하나입니다. 이 데이터가 잘못된 손에 넘어가면 치명적인 결과가 초래됩니다. 따라서 공격자들이 RCE 공격을 수행하는 주요 이유 중 하나는 민감한 회사 데이터를 훔치기 위해서입니다.
  • 악성코드 전파: 공격자가 네트워크 내부에 침투하면 권한 상승 을 통해 다른 연결된 네트워크와 장치로 악성 코드를 확산시킬 수 있습니다.
  • 랜섬웨어 공격: 위협 행위자는 RCE 공격을 사용해 회사의 자원을 “인질로 잡을 수도 있습니다.” 이런 상황에서는 공격자가 영향을 받는 네트워크에서 회사 관리자를 차단하거나 필수 데이터를 암호화한 뒤, 액세스를 대가로 비용을 요구합니다.
  • 규정 미준수: 데이터 유출는 데이터 처리 방법을 규정하는 법과 규정(예: 일반 데이터 보호 규정(General Data Protection Regulation, GDPR) 및 건강보험 양도성 및 책임에 관한 법(Health Insurance Portability and Accountability Act, HIPAA))을 준수하지 못할 위험을 조직에 초래할 수 있습니다. 이는 해당 규제기관의 막대한 과태료로 이어지며, 고객 신뢰의 상실로도 이어질 수 있습니다.
  • 재정적 손실: 위에서 논의한 위험은 단독으로든 또는 결합된 형태로든, 영향을 받는 조직에 상당한 손실을 초래할 수 있습니다. 기업은 몸값을 지불하는 것부터 다운타임으로 인한 손실을 복구하는 과정, 규정 준수와 관련된 과태료를 납부하는 과정에 이르기까지 심각한 재정적 손실의 위험에 직면할 수 있습니다.

SMBv3 취약점의 예방 및 완화

SMBv3 취약점을 예방하기 위한 첫 번째(그리고 가장 분명한) 단계는 과거에 Microsoft가 제공한 패치를 적용하는 것입니다. 이는 알려진 해결책이 있는 식별된 취약점을 완화하는 데 가장 효과적인 방법입니다.

어떤 이유로든 단기간에 패치를 적용할 수 없다면, Microsoft는 위협 행위자가 이를 악용하지 못하도록 하는 임시 해결 방법을 확인했습니다. 문제는 SMB 압축에 있으므로 SMB에서 이 기능을 끄면 이를 악용하려는 공격자로부터 보호할 수 있습니다.

Set-ItemProperty -Path "HKLM: SYSTEMCurrentControlSetServicesLanmanServerParameters" DisableCompression -Type DWORD -Value 1 -Force

위의 PowerShell 코드는 레지스트리를 업데이트하고 SMB 서버에서 압축 기능을 끕니다. 이는 SMB 클라이언트를 보호하지 않습니다. 클라이언트를 업데이트하는 데 필요한 코드는 아래에 있습니다:

Set-ItemProperty -Path "HKLM: SYSTEMCurrentControlSetServicesLanmanServerParameters" DisableCompression -Type DWORD -Value 0 -Force

다행히도 레지스트리에 대한 위 두 업데이트 모두 적용을 위해 재부팅이 필요하지 않습니다.

가질 수 있는 한 가지 질문은 SMB 압축을 끄면 어떤 영향이 있는지입니다. Microsoft는 advisory에서 SMB 압축이 아직 Windows나 Windows Server에서조차 사용되지 않는다고 언급합니다. 따라서 부정적인 성능 영향은 없습니다.

SMBv3 취약점과 관련된 위험을 완화하기 위한 모범 사례

패치를 적용하는 것은 필수이며 SMBv2 취약점으로부터 보호하는 데 도움이 되지만, 다음을 포함하여 조직의 네트워크를 최대한 안전하게 유지하기 위해 할 수 있는 여러 가지가 있습니다.

최신 SMB 버전을 사용하세요

최신 SMB 버전에는 보통 네트워크를 더 안전하게 만드는 데 도움이 되는 업데이트가 포함되어 있습니다. 앞서 언급했듯이 Microsoft는 SMB를 처음 만들고 난 이후 여러 차례에 걸쳐 SMB에 대한 업데이트를 릴리스했습니다. 최신 버전은 SMBv3이지만, 해당 버전 내부에서도 여전히 소규모 업데이트가 있었으며, 이 글을 작성하는 시점 기준으로 가장 최신 버전은 Windows 10 및 Windows Server 2016용으로 제작된 SMB 3.1.1입니다. 예를 들어, 이 버전에는 여러 업데이트가 포함되어 이전 버전보다 더 안전하게 만들어졌습니다. 예:

  • 암호화
  • 디렉터리 캐싱
  • 사전 인증 무결성
  • 롤링 클러스터 업그레이드 지원

네트워크를 분리하세요

공격이 발생하면 위협 행위자는 권한 상승을 사용해 연결된 네트워크 전반으로 피해를 확산시킬 수 있습니다. 네트워크를 더 작고 분리된 구간 또는 서브넷으로 나누면 공격의 규모와 범위를 줄일 수 있습니다. 이렇게 하면 해커가 한 구간의 취약점을 악용하더라도, 이를 사용해 네트워크의 다른 구간에 접근할 수 없습니다.

네트워크 트래픽 모니터링

패치를 적용하고 보안 모범 사례를 구현하더라도, 네트워크 내에서 의심스럽거나 비정상적인 행위는 물론 알려진 공격 시그니처까지 계속 관찰해야 합니다. 이를 위해 다음 전략을 적용할 수 있습니다:

  • 정상적인 네트워크 동작의 기준선을 설정하세요. 이 기준에서 벗어나는 모든 행위는 잠재적 위협으로 플래그(경고)해야 합니다.
  • 침입 탐지 시스템(Intrusion Detection Systems, IDS)과 침입 방지 시스템(Intrusion Prevention Systems, IPS)을 활용하세요
  • 네트워크 트래픽 분석 도구를 사용하세요
  • 엔드포인트 텔레мет리 데이터와 동작(행위) 패턴을 분석하세요
  • 네트워크 장치에서 로깅을 활성화하세요

방화벽 구성

방화벽은 네트워크의 무결성을 보호하는 데 매우 유용할 수 있습니다. 방화벽은 ‘차단(deny)’ 정책을 적용하여, 방화벽 설정에서 ‘허용(allowed)’ 범주에 속하지 않는 모든 들어오는(수신) 트래픽과 나가는(발신) 트래픽을 네트워크가 차단하도록 동작합니다. 예를 들어, 방화벽을 구성해 SMB 트래픽을 특정 IP 주소나 서브넷으로 제한하면 원격 실행 공격으로 인한 무단 액세스를 예방하는 데 도움이 될 수 있습니다.

Netwrix가 어떻게 도와드릴 수 있는지

SMB 취약점은 이미 존재해 왔고 앞으로도 계속 존재할 것입니다. 하지만 이것이 현실이라고 해서 이를 현상 유지로 받아들이고 아무 조치도 하지 않아야 한다는 뜻은 아닙니다. 보안 취약점과 그에 따른 위험으로부터 조직의 네트워크를 보호하기 위해 선제적인 조치를 취할 수 있으며, 그렇게 해야 합니다.

다행히도 Netwrix가 도와드릴 수 있습니다. 당사는 Identity Threat Detection and Response (ITDR) solutions 를 통해 마음의 평안을 드릴 수 있습니다. Netwrix ITDR 솔루션은 실시간 알림을 제공하여 잠재적인 위협을 식별하도록 돕습니다. 위협이 확인되면, 이러한 솔루션은 사전 설정된 플레이북으로 위협을 빠르고 자동으로 차단하는 데 도움을 줍니다. 마지막으로 Netwrix는 네트워크를 공격 전 상태로 복원하여 빠른 복구 프로세스를 가능하게 합니다.

SMBv3 취약점을 예방하기 위한 선제적 솔루션이 필요하신가요? 오늘 문의하세요 이를 통해 저희가 어떻게 도와드릴 수 있는지 알아보세요.

공유하기

더 알아보기

저자 소개

Asset Not Found

Kevin Joyce

제품 관리 책임자

Netwrix의 제품 관리( Product Management ) 책임자입니다. Kevin은 사이버 보안에 대한 열정이 있으며, 특히 공격자들이 조직 환경을 악용하기 위해 사용하는 전술과 기술을 이해하는 데 집중합니다. Active Directory 및 Windows 보안에 초점을 맞춰 제품 관리 분야에서 8년의 경험을 쌓아, 조직이 Identity, 인프라 및 데이터를 보호할 수 있도록 솔루션을 구축하는 데 그 열정을 더했습니다.