나의 IP: 알 수 없음 · 내 상태: 보호됨미보호알 수 없음

주요 내용으로 건너뛰기

NTLM이란? Windows NTLM과 Kerberos 비교

NTLM(NT LAN Manager)은 사용자의 신원을 인증하고 활동의 무결성 및 기밀성을 보호하기 위해 Microsoft에서 제공하는 보안 프로토콜 모음입니다. 하지만 오픈소스 프로토콜 Kerberos(커버로스)에 의해 대체되고 말았지요. Windows의 NTLM 인증에 관해 이 게시물에서 알아보고 Kerberos와 비교해보세요.

NTLM이란? Windows NTLM과 Kerberos 비교

NTLM이란?

사이버 보안은 역동적으로 변화하는 기술 분야입니다. 따라서 연구자와 전문가는 날마다 새롭게 다가오는 위협에 맞서 네트워크 및 응용 프로그램 보안을 개선하기 위해 지속적으로 노력합니다. 신기술 LAN 관리자를 의미하는 New Technology LAN Manager의 약자인 NTLM은 취약점이 있던 이전 버전의 LAN 관리자(또는 LM이라고 불림)를 대체하기 위해 1993년에 도입된 Windows 기본 인증 프로토콜입니다. 이전 버전과 비교하여 NTLM 인증은 사용자의 실제 암호를 전송하는 대신 해싱을 사용하고 사용자 토큰을 생성하여 권한 부여 및 인증을 제공하는 등 몇 가지 중요한 개선 사항을 제공했습니다.

기본 인증과 NTLM의 차이점은 무엇인가요?

NTLM 인증은 다이제스트 인증의 보다 안전한 변형인 ‘챌린지-응답 ‘체계로 작동합니다. NTLM은 인코딩되지 않은 사용자 이름과 암호 대신 Windows 자격 증명을 사용하여 챌린지 데이터를 변환합니다. 이 말은 즉, 인증을 요청하는 시스템이 서버에 연결하면 서버가 시스템에 유효한 해시 응답을 제공하도록 요청한다는 뜻입니다. NTLM 인증은 클라이언트와 서버 간에 여러 번의 교환이 필요합니다. 이 프로세스를 통해 네트워크를 통해 비밀번호를 직접 전송하지 않고도 사용자 자격 증명을 확인할 수 있습니다.

NTLM 인증은 Windows 인증과 동일한가요?

통합 Windows 인증(IWA)은 HTTP 협상 인증, NT 인증, NTLM 인증, 도메인 인증, 윈도우 통합 인증, Windows NT 챌린지/응답 인증 또는 간단히 Windows 인증과 같은 여러 이름으로도 알려져 있습니다.

NTLM 인증은 최신 인증인가요?

NTLM 인증은 수년 동안 Windows 기반 네트워크에서 널리 사용되어 온 인증 프로토콜이지만 몇 가지 보안 취약점이 있어 결국 Kerberos와 같은 최신 인증 프로토콜에 의해 대체되었습니다. 이에 Microsoft는 NTLMv2라는이름의 두 번째 버전의 NTLM을 출시했습니다. 원래 버전에 비해 NTLMv2는 분명히 개선되었지만, 상호 인증과 적절한 싱글 사인온(SSO) 기능 지원 없이는 오픈소스 Kerberos의 강력한 인기와 경쟁할 수 없었습니다.

NTLM 인증 프로세스 작동 방법

위에서도 설명했듯이 NTLM 인증 프로세스는 클라이언트(사용자 컴퓨터)가 서버의 리소스에 액세스하려고 시도하고 요청을 보내는 ‘챌린지-응답 모델’을 기반으로 합니다. 이에 대한 응답으로 서버는 무작위로 생성된 숫자인 챌린지를 클라이언트에 보냅니다. 챌린지를 완료하고 사용자의 비밀번호를 알고 있음을 증명하기 위해 클라이언트는 이 숫자를 사용하여 사용자의 비밀번호를 해시합니다. 도메인 컨트롤러는 사용자의 신원을 확인하고 네트워크의 리소스에 대한 액세스를 관리하는 등 NTLM 인증에서 핵심적인 역할을 합니다. 해싱 및 암호화를 사용하면 사용자의 보안된 NTLM 자격 증명이 네트워크를 통해 직접 전송되지 않습니다.

‘챌린지-응답 인증 모델’은 세 단계로 구성됩니다:

  1. 협상 메시지: 클라이언트는 협상 메시지 또는 유형 1 메시지를 서버로 보냅니다. 이 메시지에는 클라이언트의 기능에 대한 정보(예: 최고 NTLM 버전 지원)가 포함되어 있습니다.
  2. 챌린지 메시지: 서버는 챌린지 메시지 또는 유형 2 메시지를 다시 전송하여 협상 메시지에 응답합니다. 이 메시지에는 무작위로 생성된 서버 챌린지 및 서버의 기능에 대한 기타 세부 정보가 포함되어 있습니다.
  3. 인증 메시지: 서버가 클라이언트의 응답을 확인합니다. 클라이언트의 응답이 올바르면 서버는 요청된 리소스에 대한 액세스 권한을 부여합니다.

NTLM 보안 관련 우려 사항

대부분의 NTLM 보안 문제는 암호화와 관련이 있습니다. AES 및 SHA-256과 같은 최신 암호화를 지원하지 않기 때문에 릴레이, 패스더해시, 부르트 포스(무차별 암호 대입) 공격과 같은 다양한 사이버 공격에 취약할 수 있습니다. 예를 들어, 패스 더 해시 공격의 경우 공격자는 클라이언트와 서버 측의 다양한 위치에서 찾을 수 있는 사용자 이름과 비밀번호 해시를 사용하여 사용자를 사칭합니다.

NTLM은 비밀번호 솔팅 기능을 지원하지 않기 때문에 동일한 비밀번호는 동일한 해시를 생성하게 됩니다. 따라서 공격자는 수백만 개의 비밀번호와 해시로 구성된 데이터베이스를 사용하여 올바른 비밀번호를 찾을 수 있습니다.

“솔팅(salting)이란? 솔트(salt)는 단방향 해시 함수에서 다이제스트를 생성할 때 추가되는 바이트 단위의 임의의 문자열입니다. 그리고 이 원본 패스워드에 솔트 문자열을 더 추가하여 다이제스트를 생성하는 것을 솔팅(salting)이라 합니다.”

또한 NTLM은 비밀번호만 알면 시스템에 액세스하는 데 충분하지 않기 때문에 보안을 크게 강화할 수 있는 MFA(다단계 인증) 옵션을 지원하지 않습니다. 따라서 공격자가 비밀번호 해시만 입수하면 추가 인증 절차 없이 시스템에 액세스할 수 있습니다.

NTLM 대 Kerberos

Kerberos(커버로스)와 NTLM을 비교해 볼까요? 미국의 MIT에서 만든 Kerberos는 더 나은 기술 덕분에 결국 Windows 시스템에서 NTLM을 대체했습니다. 두 인증 방법의 차이점을 살펴보겠습니다.

NTLM의 장점

  • pros
    더 간단한 구성 – NTLM은 Kerberos에 비해 구성 및 설정이 더 쉽습니다.
  • pros
    Windows 지원 – NTLM은 이전 Windows 버전을 포함한 많은 시스템에서 지원됩니다.
  • pros
    연결이 필요 없는 인증 – 세션 상태에 의존하지 않고 각 요청을 독립적으로 인증할 수 있습니다.
  • pros
    NTLM 프록시 – 프록시는 NTLM을 인식하지 못하는 애플리케이션이 NTLM 인증을 사용하여 안전하게 통신할 수 있는 방법을 제공할 수 있습니다.

NTLM의 단점

  • cons
    보안 취약 – NTLM에서 사용하는 해싱 기반 인증은 Kerberos에서 사용하는 암호화 방식만큼 강력하지 않습니다.
  • cons
    싱글 사인온(SSO) 지원 부족 – NTLM에서는 사용자가 다른 리소스에 액세스하려면 자격 증명을 다시 입력해야 합니다.
  • cons
    사이버 공격에 취약 – 오래된 암호화와 취약한 암호화로 인해 NTLM은 패스더해시 및 패스더티켓 공격과 같은 사이버 공격에 취약합니다.

Kerberos의 장점

  • pros
    최신 암호화 – 이 암호화는 최신 사이버 보안 문제에 완벽하게 대비되어 있습니다.
  • pros
    상호 인증 – 클라이언트와 서버가 서로를 인증하므로 중간자 공격을 방지하는 데 도움이 됩니다.
  • pros
    액세스 제어 – Kerberos를 사용하면 네트워크에 접속할 수 있는 사람과 접속할 수 없는 사람을 제어할 수 있습니다.
  • pros
    시간에 민감한 티켓 시스템 – Kerberos는 엄격한 시간 기반 티켓 시스템을 사용하여 훨씬 더 안전한 환경을 제공합니다.
  • pros
    싱글 사인온(SSO) – 싱글 사인온 옵션을 활용하면 한 번 인증 후 다시 인증할 필요가 없으므로 사용자의 편의를 돕습니다.

Kerberos의 단점

  • cons
    복잡성 – Kerberos는 NTLM에 비해 더 많은 구성과 설정이 필요하므로 배포 및 유지 관리가 더 어렵습니다.
  • cons
    시간 동기화 필요 – 일반적으로 장점이지만, 서버 간의 정확한 시간 동기화에 의존하는 Kerberos는 여러 시간대에 걸쳐 있는 환경에서는 문제가 될 수 있습니다.
  • cons
    호환성 문제 – 구형 시스템은 Kerberos와 호환되지 않을 수 있으며, 일부 네트워크에서는 사용 방법이 제한될 수 있습니다.

Kerberos가 NTLM을 대체한 이유

NTLM은 잠시 동안은 충분했지만 발전하는 해킹 기술을 따라잡지 못했습니다. 앞서 언급했듯이 NTLM은 솔팅을 지원하지 않습니다. 솔팅(salting)과 페퍼링(peppering)은 해시를 변경하는 두 가지 암호화 방법으로, 동일한 콘텐츠가 동일한 해시 값을 생성하지 않도록 합니다. 일반적으로 동일한 버전의 소프트웨어에는 동일한 해시를 사용하지만 비밀번호에는 사용하지 않을 수 있습니다. 시스템에서 비밀번호를 소금에 절이지 않은 상태로 유지하면 공격자는 해시를 수백만 개의 비밀번호 해시 모음과 비교하여 비밀번호를 알아낼 수 있습니다.

그 밖에도 사이버 범죄의 증가로 인해 더 강력한 암호화 알고리즘에 대한 요구가 높아졌고, NTLM은 충분한 보호 기능을 제공하지 못했기에 결국 Kerberos 인증에 자리를 내어주고 말았습니다. Windows가 결함이 있는 인증 프로토콜을 개발하는 데 많은 시간을 낭비한 것처럼 보일 수 있습니다. 하지만 기억해야 할 것은 그 당시의 사이버 보안과 사이버 범죄 환경이 지금에 비해 훨씬 덜 복잡했다는 사실입니다. 그 때는 NTLM이 잘 작동했지만 지금은 충분한 인증 프로토콜이 아닙니다.

어제의 신기술이 오늘의 보안 허점이 될 만큼, 기술의 발전은 너무나도 빠릅니다. 이러한 급격한 보안 분야 변화의 홍수 속에서 온라인 보안을 지키는 습관은 너무나도 중요합니다. 사용자 스스로 VPN이나 비밀번호 관리자 프로그램을 온라인 일상에 사용하는 것을 추천하는 이유입니다.

클릭 한 번으로 시작하는 온라인 보안.

세계 최고의 VPN으로 보안을 유지하세요