칼럼 | 'NIST 지침과는 무관한' 최고의 비밀번호 조언

CSO
미국 국립표준기술연구소(NIST)가 디지털 신원 가이드라인, 특별판 800-63-3(Digital Identity Guidelines, Special Publication 800-63-3)에서 발표한 통념을 거스르는 비밀번호 정책 권고안은 많은 논란을 불러일으켰다.

이 가이드라인에는 논란의 여지가 없는 인증 정보가 다수 포함되어 있지만, 새 권고안이 심하게 틀렸다고 생각하는 사람도 많다. 필자는 NIST의 비밀번호 정책에 대해 생각하는 바가 변한 것은 사실이다. 그러나 이를 다루기 전에 필자가 최고의 비밀번호 정책 조언이라고 믿는 것을 설명한다. 

 

ⓒ Getty Images Bank 


올바른 비밀번호 정책 방향 

컴플라이언스 우려를 가지고 있지 않다면, 일반적인 비밀번호 정책은 다음과 같을 것이다. 

- 가급적 다중 인증(Multi-Factor Authentication, MFA)을 이용할 것
- MFA가 가능하지 않은 경우, 특히 보안 도메인 별로 유일하고, 길고, 무작위 비밀번호를 생성한다면, 가급적 비밀번호 관리자(password managers)를 이용할 것 
- 비밀번호 관리자가 가능하지 않을 경우, 길고 단순한 패스프레이즈(passphrases)을 사용할 것
- 어떠한 경우라도, 평범한 비밀번호를 사용하지 말 것(예. 'password', 'qwerty' 등). 그리고 다른 사이트에서 비밀번호를 재사용하지 말 것 


이 조언에 있어서 문제라면 MFA와 비밀번호 관리자가 모든 사이트에서, 그리고 모든 기기에 걸쳐 사용할 수 있는 것은 아니라는 점이다. 따라서 사용자는 어쩔 수 없이 비밀번호를 사용해야 할 경우가 있다. 비밀번호 관리자가 무작위의 길고 복잡한 비밀번호를 선택한다면, 그리고 일부 기기에서만 유효하고 다른 기기에서 유효하지 않다면, 이는 길고 복잡한 비밀번호를 기억하거나 기록해둬야 한다는 의미다.

 
NIST가 비밀번호 정책을 바꾼 이유 

어찌됐든 사용자는 스스로 비밀번호를 만들어야 한다. 이를 길게 만든다면 여러 사이트에서 재사용하거나 약간 변화시켜 사용할 가능성이 있다. 복잡성을 생략하고 길지만 단순한 패스프레이즈을 사용하기 시작한다면, 대개의 경우 단순한 단어를 사용할 것이다. 오늘날 비밀번호 복잡성이 안고있는 문제와 마찬가지로 해커가 보다 쉽게 추측할 수 있는 패스프레이즈를 만들 것이다(사실 복잡성은 진짜 복잡성이 아니다. 대다수가 동일한 글자를 사용하기 때문이다).
'Password', "ThisIsMyPassword"와 같은 비밀번호들이다. 

이러한 비밀번호 재사용 내지 복잡성 결여야말로 NIST가 해당 가이드라인에서 피하고자 하는 더 큰 위험이다. 마이크로소프트 리서치의 상임 연구원인 코막 헐리는 "후자의 문제에 부딪칠 때 사람들은 그냥 단순한 대체물을 사용한다. 20개의 6글자 소문자 비밀번호가 계정의 약 3%를 차지한다"고 말했다. 

이어 헐리는 "20개의 8글자 비밀번호가 약 2%를 차지한다. GPU, 오프라인 공격은 아예 무시하라. 이런 것들은 건성으로 행하는 온라인 추측 공격과 비교조차 되지 않는다. 단순하고 비반복적인 솔트 해시(salted hash)를 가지고 비밀번호를 저장할 때라도 오프라인 공격을 버틸만한 사용자 선택 비밀번호가 얼마나 될지 의문스럽다. 만약 16글자 패스프레이즈을 강제한다면, 일부 구절은 공격자가 충분한 수의 계정을 가질 수 있을 정도로 평범할 것이라고 거의 확신한다. 오프라인 추측에 대한 방어는 파일이 유출되지 않도록 하거나, 반복적인 메모리-하드 해시를 이용하거나, 검출 및 치유 대책을 갖는 것이다"고 설명했다. 


비밀번호에 대한 NIST의 입장 선회 

수십 년 동안 확립된 비밀번호 정책 조언은 길고 복합적인 비밀번호를 정기적으로 변경하도록 요구하는 것이었다. 비밀번호가 얼마나 길어야 하고 복잡해야 하고 빈번하게 변경되어야 하는지는 논란거리였지만 기저의 논리는 논란의 여지가 없었다.

2017년 6월 발간된 NIST의 비밀번호 정책의 최종 버전에서 지금까지 전세계에서 오래 지속되어 온 기저의 논리가 반전됐다. 이제, NIST는 복잡하지 않은 짧은 비밀번호를 사용해도 무방하고 비밀번호는 해킹되지 않는 한 바꿀 필요가 없다고 말한다. 

NIST의 새로운 정책은 과거에 비해 대다수 비밀번호가 오늘날 어떻게 해킹되는지를 반영한 것이다. 컴퓨터 해킹의 처음 수십 년 동안 비밀번호는 거의가 비밀번호 추측 및 크래킹으로, 즉, 비-평문 형식으로부터 평문 형식으로 변환되어 탈취되었다. 이런 공격 환경에서 길고 복잡한 비밀번호는 타당했다.
 
오늘날, 대다수 비밀번호는 기저의 비밀번호 데이터베이스의 재난적 훼손과 소셜 엔지니어링 공격에 의해 탈취된다. 수억 개의 로그인 이름/비밀번호가 인터넷에 떠돌아다니고, 누구나 이에 손쉽게 접근할 수 있거나 이를 구입할 수 있다. 이런 해킹 수법은 비밀번호의 길이나 복잡성과 무관하다. 아울러, 길이 및 복잡성 요건은 사용자가 동일 비밀번호를 무관한 사이트들에서 재사용할 확률을 높였다. 

필자는 한 연구에서 평균적 사용자는 6~7개의 비밀번호를 가지고 있고, 이를 100개 이상의 사이트에서 재사용한다는 사실을 읽은 적이 있다. 이는 재앙을 자초하는 행위다. 기본적으로, NIST는 변화하는 환경을 고려한다면, 구식 권고안을 따르는 것은 오히려 해킹 확률을 높인다고 말했다.  

이런 변화는 거의 모든 컴퓨터 전문가가 믿고 따르는 것을 거부했다. 필자는 새 가이드라인을 따르기를 원하는 컴퓨터 보안 전문가를 단 한 사람도 만난 적이 없다. 더 중요한 것은 어떤 컴퓨터 보안 규제 및 지침 기구(PCI-DSS, HIPAA SOC 등)도 이들의 필수 비밀번호 정책을 갱신할 계획이 없는 것으로 알고 있다. 


비밀번호에 대한 논란  

필자는 NIST를 전적으로 지지했다. 필자는 새 NIST 정책을 논의했고 수립했던 많은 사람과 일해왔다. 이들은 헌신적이고 사려깊은 사람들이고, 컴퓨터 보안을 향상시키기를 원한다. 과거 NIST 결정의 배경이 된 데이터는 대개 납득할만했다. 따라서, 필자는 모든 사람이 새로운 조언을 본능적으로 싫어한다는 이유 때문에 NIST를 반대할 수 없었다. 필자는 데이터를 추종하는 사람이다. 

필자는 NIST의 새로운 조언을 지지하는 기사를 몇 개 게재했고, 필자의 직업 동료이자 친구인 케빈 미트닉 등과 몇 차례 공개 논쟁을 벌인 적도 있다. 케빈은 대단한 논리를 전개했지만, 어느 것도 짧은 비밀번호를 사용하면 쉽게 해킹 당할 수 있다는 증거만큼 중요하지는 않았다. 이 후, 케빈과 다른 사람들은 자신의 주장을 지지하는 더 많은 증거와 사례를 내놓았다. 기존의 조언을 추종해야 할 뿐 아니라 심지어 비밀번호가 더 길어야 한다는 것이다(최소한 12~16자).

 
NIST의 새 비밀번호 조언을 따르지 마라  

필자가 틀렸다. 여러분은 NIST의 새로운 비밀번호 정책을 추종해서는 안 된다. NIST의 새로운 비밀번호 정책의 배경이 되는 데이터를 파고들면서 필자는 이들이 새 결론을 뒷받침할 수 없음을 발견했다. 새 정책을 지지하는 데이터가 없진 않았지만, 필자가 과거에 생각한 것처럼 확실하지는 않았다.
 
필자가 발견한 데이터는 NIST의 새 비밀번호 정책에 대한 지지를 철회하게 만들었다. 중요한 것은 NIST의 조언은 과거의 권한 상승 공격으로부터 비밀번호 또는 이의 조각들이 단순히 탈취된다는 새롭고 진화한 비밀번호 공격 수법을 전제한다. 이런 공격 유형은 현재 지배적이지만, 권한 상승 공격이 없었더라도 원격 공격자는 손쉽게 비밀번호 및 해시를 탈취할 수 있다.
 
필자는 클릭한 순간 비밀번호나 비밀번호 해시를 드러낼 수 있는 이메일 안의 가짜 링크를 여러분에게 보낼 수 있다. 예컨대, 프리뷰 모드로 이메일을 단순히 개봉한다면 그것으로 충분하다. 마이크로소프트는 비밀번호 유출을 방지하는 패치를 출시했지만, 거의 모두가 이를 적용하지 않거나, 여타 방어적 완화 수단을 적용하지 않고 있다. 대다수 기업은 이런 종류의 공격에 취약하다. 

2월 25일에야 패치된 최신 어도비 아크로뱃 익스플로잇을 보자. 어도비 아크로뱃 문서에는 PDF 문서를 여는 순간 자동으로 시작되는 SMB 링크가 있을 수 있었다. 이 익스플로잇은 사용자에게 URL 입수를 승인하도록 요청하는 아크로뱃의 일상적 경고 메시지를 띄우지 않았고, 앞서 논의된 익스플로잇처럼 NT 해시를 드러낼 수 있었다. 생각있는 사람이라면 매립된 UNC 경로를 허용하면 어떤 문서 포맷이든 취약해질 수 있고, 사용자 비밀번호 해시를 유출할 수 있다고 생각할 것이다.  

이메일에 있는 가짜 링크를 클릭하는 피해자는 얼마나 될까? 엄청나게 많다. 수년 동안 소셜 엔지니어링과 피싱 공격은 대다수 성공적인 악성 데이터 유출의 주범이었고, 이는 한동안 변할 것 같지 않다. 대다수 컴퓨터 보안 보고서에 따르면, 소셜 엔지니어링과 피싱은 악성 데이터 유출의 70~90%를 차지한다. 사이버 공격이 제 1의 위협인 것이다. 이런 성공률과 더불어 원격으로 비권한 공격에 의해 비밀번호 해시를 탈취하는 능력이 가세한다면, 위험을 상쇄할 수 있도록 길고 복잡한 비밀번호 외의 어떤 것을 권고할 수 있을지 모르겠다. 


"8글자로는 충분치 않다" 비밀번호의 길이 

NIST의 최소 허용 비밀번호 크기인 8글자는 더 이상 충분하지 않다. 비밀번호 크래커는 시간이 가면서 빨라지고 좋아졌다. 최근까지 8글자 복합 비밀번호는 엄청나게 안전하다고 여겨지기까지는 않았지만, 대부분의 조직이 허용하는 비밀번호였다. 

이런 전제가 최근 붕괴됐다. 오픈소스 비밀번호 해시 크래킹 툴인 해시캣(HashCat)은 8글자 NT 비밀번호 해시는 2.5시간 내에 평문으로 크래킹이 가능하다고 한다. 8글자 비밀번호로는 아무래도 컴퓨팅 환경을 보호하기가 버거운 듯하다. 

미트닉은 최근 12~16 글자의 지극히 복잡한 비밀번호를 성공적으로 크래킹하는 것을 시연했고, 그의 장비는 세계에게 가장 빠른 크래킹 장비도 아니다. 그렇다면 얼마나 길어야 정말로 긴 것일까. 

대답은 '길면 길수록 좋다'다. 하지만 대다수 기업 네트워크에 있어서, 그리고 금융 또는 개인 정보가 포함된 사이트를 보호하는 것에 있어서 비밀번호 자체만으로는 충분하지 않다. 비밀번호를 이용하기는 하되, 진짜 관심있거나 보호해야 할 것에는 이용하지 말라. 진짜 가치있는 것이라면 언제나 MFA를 이용하라. 최소한 MFA보다 더 우수하고 더 강력하고 더 무결한 인증 방식이 나오기 전까지는 말이다. 


비밀번호 변경 시점 찾기  

NIST는 해킹 당했다고 생각할 때에만 비밀번호를 변경하라고 말한다. 과거의 모범 관행이었던 매 45~90일마다 정기적으로 변경하는 것이 아니다. 문제는 비밀번호가 해킹 당했는지 또는 언제 해킹 당했는지 알기가 매우 어렵다는데 있다.
 
필자는 자신이 생성하고 사용하는 모든 비밀번호가 유출되었는지 실시간으로 체크하는 비밀번호 관리자를 이용하고 있다. 필자의 150개가 넘는 비밀번호 가운데 많은 수가 이전에 해킹된 적이 있었고, 필자는 이를 전혀 몰랐다. 지난 수개월 동안 몇 개의 비밀번호가 또 해킹 당했다. 비밀번호 관리자의 자동 체크가 없었다면 필자는 이를 알지 못했을 것이다.

  
NIST를 아예 무시하지는 말라 

필자는 NIST의 비밀번호에 대한 입장에는 찬성하지 않지만, NIST의 나머지 신원 가이드라인은 견실하다. 여기서는 단순한 로그온 비밀번호가 아닌 보다 강력한 인증 기법들로 이동하도록 권고한다. 강력한 인증 도구로서 SMS 메시징의 이용을 지양하고 한층 정교한 기법을 권고한다. 아울러 여러 시나리오에 따른 다양한 인증 강도를 권고하고 있고, 이는 매우 타당하다. 

그러나, 필자는 더 이상 NIST의 새 비밀번호 권고안을 따르라고 말하지 않으며, 필자가 가졌던 처음의 권고는 옳지 않았다. editor@itworod.co.kr