2017.12.01

비밀번호 해킹에 당할 수밖에 없는 이유와 안전한 비밀번호 만들기

Maria Korolov | CSO

전문가들은 이제 더 이상 기업들이 전통적인 비밀번호에만 보안을 맡겨선 안 된다고 입을 모은다. 이제는 다중 인증(multi-factor authentication, FTA), 생체 인식 및 싱글 사인온(Single Sign-On, SSO) 기술로 옮겨갈 때가 됐다는 것이다. 버라이즌이 최근 내놓은 데이터 유출 조사 보고서에 따르면, 해킹과 관련된 데이터 유출 사건의 81%는 허술한 비밀번호나 유출된 비밀번호와 관련이 있었다.

우선, 비밀번호 해킹 기술에 대한 이야기부터 나눠보자. 해킹 방식은 타깃이 기업인지, 개인인지, 혹은 일반 대중인지에 따라 달라질 지 몰라도, 결과는 언제나 같다. 해커의 승리로 끝나는 것이다.

비밀번호 해시 파일 유출을 통한 비밀번호 해독
만일 기업의 모든 비밀번호가 한 번에 털리는 사건이 발생한다면, 이는 십중 팔구 비밀번호 파일이 유출되었기 때문이다. 비밀번호를 그냥 글자 그대로 기록해 텍스트 파일 형태로 보관하는 기업이 있는가 하면, 좀 더 보안에 민감한 기업들은 비밀번호 파일에 해시를 설정해 두기도 한다. 버로딘(Verodin)의 CISO 브라이언 콘토스는 해시 파일을 사용하면 도메인 컨트롤러나 LDAP, 액티브 디렉토리 같은 기업 인증 플랫폼의 비밀번호를 보호할 수 있다고 말했다.

그런데 해시조차도 더 이상 안전하지 않다. 해시는 비밀번호를 뒤섞어 놓는다. 비밀번호가 정확한지 확인하기 위해 로그인 시스템에서는 사용자가 입력한 비밀번호를 뒤섞은 후 이를 기존에 파일이 존재하는 해시 처리된 비밀번호와 비교한다.

이런 해시 비밀번호 파일을 공략하는 공격자들은 간단한 검색 작업을 통해 해시를 해독할 수 있는 "레인보우 테이블(rainbow table)"을 사용한다. 이들은 또 비밀번호 크래킹에 특화된 하드웨어를 구매하거나, 아마존, 마이크로소프트와 같은 퍼블릭 클라우드 공간을 대여하거나, 프로세싱 작업을 위한 봇넷을 제작 또는 대여하기도 한다.

설령 공격자가 비밀번호 크래킹 전문가가 아니라고 해도, 이런 작업은 얼마든지 아웃소싱할 수 있다. 콘토스는 "수시간, 수일, 또는 수주 동안 이들 서비스를 대여하면 된다. 그리고 이런 서비스는 보통 지원도 함께 제공된다. 이 분야에는 이미 전문화된 서비스가 다양하게 제공되고 있다"고 말했다.

그 결과, 해시 처리된 비밀번호를 푸는데 걸리는 시간도 점점 짧아지고 있다. 지금까지 꽤 안전하다고 여겨졌던 비밀번호들조차도 그러하다. 콘토스는 "사람들이 비밀번호를 어떤 방식으로 설정하는지 직접 경험해 본다면, 아마 80~90% 이상의 비밀번호는 24시간 내로 해독할 수 있을 것이다. 충분한 시간과 자원만 주어진다면 세상에 풀지 못할 비밀번호는 없다. 문제는 이런 푸는 과정이 몇 시간 내로 끝나는지, 아니면 며칠, 몇 주씩 걸리느냐다"고 말했다.

특히 컴퓨터가 랜덤으로 생성한 비밀번호가 아닌, 인간이 만들어 낸 비밀번호는 더욱 그렇다. 문장으로 된 긴 비밀번호는 사용자가 기억하기에도 편리하고 더 안전한 것이 사실이지만, 그렇다고 해도 강력한 MFA를 대체하지는 못한다.

해시 파일 유출이 특히 더 치명적인 이유는 모든 작업이 공격자의 컴퓨터에서 이뤄지기 때문이다. 해시 파일이 유출된 경우 웹사이트나 애플리케이션에 트라이얼 비밀번호를 입력해 볼 필요조차도 없다.

콜파이어 랩(Coalfire Labs) 보안 연구원 저스틴 앤젤은 "자사에서는 해시캣(Hashcat)을 더 선호한다. 우리는 전용 비밀번호 해독 머신과 함께 다수의 그래픽 프로세싱 유닛을 사용해 암호학적 해시 알고리즘을 통해 비밀번호를 해독한다. 이런 방식으로 우리는 하루 사이에도 수천 개의 비밀번호를 복원하곤 한다"고 말했다.

봇넷으로 대규모로 공략 가능
대규모 공용 웹사이트를 공략할 때 공격자들은 봇넷을 이용해 여러 가지 비밀번호와 아이디 조합을 시도한다. 다른 웹사이트에서 훔친 로그인 정보 리스트 및 사람들이 일반적으로 사용하는 비밀번호 목록을 사용한다.

리버맨 소프트웨어(Lieberman Software Corp.) 대표 필립 리버맨에 따르면, 이런 리스트를 구하는 것은 어렵지 않으며 무료로, 또는 아주 적은 금액으로 구매할 수 있다. 그리고 여기에는 전체 인터넷 사용자의 40%에 달하는 사람들의 로그인 정보가 포함되어 있다. 리버맨은 "야후와 같은 큰 기업들의 정보 유출 사건으로 인해 범죄자들이 악용할 수 있는 방대한 분량의 로그인 정보 데이터베이스가 생겨났다"고 말했다.

그리고 이런 비밀번호 정보는 생각보다 그 유효기간이 길다. 프리엠트 시큐리티(Preempt Security) CTO 로먼 블래크먼은 "정보 유출 사건이 발생한 후에도 여전히 기존 비밀번호를 바꾸지 않는 사용자들이 적지 않다"고 말했다.

예를 들어 공격자들이 은행을 표적으로 삼았다고 하자. 동일한 은행 계정에 여러 번 로그인을 시도했다가는 단번에 보안 시스템이 작동해 로그인 시도를 차단하거나 기타 보안책이 발동될 것이다.

엔트레피드(Ntrepid Corp.)의 수석 연구원 랜스 코트렐은 "이를 아는 공격자들은 유출된 이메일 주소와 함께 가장 널리 사용되는 대표적인 비밀번호 가운데 하나를 골라 로그인을 시도한다"며, "이들은 수중에 넣은 이메일 주소들에 대표적인 비밀번호를 입력하며 해킹을 시도한다. 이 때문에 어떤 계정이든 여러 번 로그인에 실패하는 일이 없게 된다"고 설명했다.

며칠 뒤 이들은 똑같은 수법으로, 이번에는 다른 비밀번호를 가지고 해킹을 시도한다. 코트렐은 "수백 만 대에 이르는 감염된 컴퓨터의 봇넷을 사용하기 때문에 표적 웹사이트에서는 이 모든 로그인 시도가 사실은 한 소스에서 행해지고 있다는 것을 알아채지 못하게 된다"고 덧붙였다.

기업들도 점차 이 문제를 인식하고 해결책을 찾고 있다. 링크드인, 페이스북, 구글 등의 계정을 이용해 로그인하는 서드파티 인증 서비스는 사용자가 기억해야 하는 비밀번호 수를 줄여준다. 이중 인증(two-factor authentication, 2FA) 방식은 이미 클라우드 개발업체와 금융 서비스 웹사이트, 그리고 메이저 유통업체들에서는 널리 사용되고 있다.

시큐어웍스 (SecureWorks)의 보안 연구원 제임스 베트키는 "표준 기관들 역시 이 문제에 관심을 가지고 적극적으로 개입하고 있다"고 말했다. 지난 6월, NIST는 이 문제만을 집중적으로 다룬 '디지털 아이덴티티 가이드라인(Digital Identity Guidelines)'을 업데이트해 출간했다.

베트키는 "이 가이드라인은 복잡한 비밀번호를 설정하고, 주기적으로 이를 변경하는 행위가 사실은 비밀번호를 더욱 취약하게 만들 수 있음을 인정한다. 왜냐하면 이를 관리하고 기억하는 데 진절머리를 느낀 사용자들이 점점 썼던 비밀번호를 다시 재사용 하거나, 예측 가능한 패턴으로 재활용하기 때문이다"고 말했다.


2017.12.01

비밀번호 해킹에 당할 수밖에 없는 이유와 안전한 비밀번호 만들기

Maria Korolov | CSO

전문가들은 이제 더 이상 기업들이 전통적인 비밀번호에만 보안을 맡겨선 안 된다고 입을 모은다. 이제는 다중 인증(multi-factor authentication, FTA), 생체 인식 및 싱글 사인온(Single Sign-On, SSO) 기술로 옮겨갈 때가 됐다는 것이다. 버라이즌이 최근 내놓은 데이터 유출 조사 보고서에 따르면, 해킹과 관련된 데이터 유출 사건의 81%는 허술한 비밀번호나 유출된 비밀번호와 관련이 있었다.

우선, 비밀번호 해킹 기술에 대한 이야기부터 나눠보자. 해킹 방식은 타깃이 기업인지, 개인인지, 혹은 일반 대중인지에 따라 달라질 지 몰라도, 결과는 언제나 같다. 해커의 승리로 끝나는 것이다.

비밀번호 해시 파일 유출을 통한 비밀번호 해독
만일 기업의 모든 비밀번호가 한 번에 털리는 사건이 발생한다면, 이는 십중 팔구 비밀번호 파일이 유출되었기 때문이다. 비밀번호를 그냥 글자 그대로 기록해 텍스트 파일 형태로 보관하는 기업이 있는가 하면, 좀 더 보안에 민감한 기업들은 비밀번호 파일에 해시를 설정해 두기도 한다. 버로딘(Verodin)의 CISO 브라이언 콘토스는 해시 파일을 사용하면 도메인 컨트롤러나 LDAP, 액티브 디렉토리 같은 기업 인증 플랫폼의 비밀번호를 보호할 수 있다고 말했다.

그런데 해시조차도 더 이상 안전하지 않다. 해시는 비밀번호를 뒤섞어 놓는다. 비밀번호가 정확한지 확인하기 위해 로그인 시스템에서는 사용자가 입력한 비밀번호를 뒤섞은 후 이를 기존에 파일이 존재하는 해시 처리된 비밀번호와 비교한다.

이런 해시 비밀번호 파일을 공략하는 공격자들은 간단한 검색 작업을 통해 해시를 해독할 수 있는 "레인보우 테이블(rainbow table)"을 사용한다. 이들은 또 비밀번호 크래킹에 특화된 하드웨어를 구매하거나, 아마존, 마이크로소프트와 같은 퍼블릭 클라우드 공간을 대여하거나, 프로세싱 작업을 위한 봇넷을 제작 또는 대여하기도 한다.

설령 공격자가 비밀번호 크래킹 전문가가 아니라고 해도, 이런 작업은 얼마든지 아웃소싱할 수 있다. 콘토스는 "수시간, 수일, 또는 수주 동안 이들 서비스를 대여하면 된다. 그리고 이런 서비스는 보통 지원도 함께 제공된다. 이 분야에는 이미 전문화된 서비스가 다양하게 제공되고 있다"고 말했다.

그 결과, 해시 처리된 비밀번호를 푸는데 걸리는 시간도 점점 짧아지고 있다. 지금까지 꽤 안전하다고 여겨졌던 비밀번호들조차도 그러하다. 콘토스는 "사람들이 비밀번호를 어떤 방식으로 설정하는지 직접 경험해 본다면, 아마 80~90% 이상의 비밀번호는 24시간 내로 해독할 수 있을 것이다. 충분한 시간과 자원만 주어진다면 세상에 풀지 못할 비밀번호는 없다. 문제는 이런 푸는 과정이 몇 시간 내로 끝나는지, 아니면 며칠, 몇 주씩 걸리느냐다"고 말했다.

특히 컴퓨터가 랜덤으로 생성한 비밀번호가 아닌, 인간이 만들어 낸 비밀번호는 더욱 그렇다. 문장으로 된 긴 비밀번호는 사용자가 기억하기에도 편리하고 더 안전한 것이 사실이지만, 그렇다고 해도 강력한 MFA를 대체하지는 못한다.

해시 파일 유출이 특히 더 치명적인 이유는 모든 작업이 공격자의 컴퓨터에서 이뤄지기 때문이다. 해시 파일이 유출된 경우 웹사이트나 애플리케이션에 트라이얼 비밀번호를 입력해 볼 필요조차도 없다.

콜파이어 랩(Coalfire Labs) 보안 연구원 저스틴 앤젤은 "자사에서는 해시캣(Hashcat)을 더 선호한다. 우리는 전용 비밀번호 해독 머신과 함께 다수의 그래픽 프로세싱 유닛을 사용해 암호학적 해시 알고리즘을 통해 비밀번호를 해독한다. 이런 방식으로 우리는 하루 사이에도 수천 개의 비밀번호를 복원하곤 한다"고 말했다.

봇넷으로 대규모로 공략 가능
대규모 공용 웹사이트를 공략할 때 공격자들은 봇넷을 이용해 여러 가지 비밀번호와 아이디 조합을 시도한다. 다른 웹사이트에서 훔친 로그인 정보 리스트 및 사람들이 일반적으로 사용하는 비밀번호 목록을 사용한다.

리버맨 소프트웨어(Lieberman Software Corp.) 대표 필립 리버맨에 따르면, 이런 리스트를 구하는 것은 어렵지 않으며 무료로, 또는 아주 적은 금액으로 구매할 수 있다. 그리고 여기에는 전체 인터넷 사용자의 40%에 달하는 사람들의 로그인 정보가 포함되어 있다. 리버맨은 "야후와 같은 큰 기업들의 정보 유출 사건으로 인해 범죄자들이 악용할 수 있는 방대한 분량의 로그인 정보 데이터베이스가 생겨났다"고 말했다.

그리고 이런 비밀번호 정보는 생각보다 그 유효기간이 길다. 프리엠트 시큐리티(Preempt Security) CTO 로먼 블래크먼은 "정보 유출 사건이 발생한 후에도 여전히 기존 비밀번호를 바꾸지 않는 사용자들이 적지 않다"고 말했다.

예를 들어 공격자들이 은행을 표적으로 삼았다고 하자. 동일한 은행 계정에 여러 번 로그인을 시도했다가는 단번에 보안 시스템이 작동해 로그인 시도를 차단하거나 기타 보안책이 발동될 것이다.

엔트레피드(Ntrepid Corp.)의 수석 연구원 랜스 코트렐은 "이를 아는 공격자들은 유출된 이메일 주소와 함께 가장 널리 사용되는 대표적인 비밀번호 가운데 하나를 골라 로그인을 시도한다"며, "이들은 수중에 넣은 이메일 주소들에 대표적인 비밀번호를 입력하며 해킹을 시도한다. 이 때문에 어떤 계정이든 여러 번 로그인에 실패하는 일이 없게 된다"고 설명했다.

며칠 뒤 이들은 똑같은 수법으로, 이번에는 다른 비밀번호를 가지고 해킹을 시도한다. 코트렐은 "수백 만 대에 이르는 감염된 컴퓨터의 봇넷을 사용하기 때문에 표적 웹사이트에서는 이 모든 로그인 시도가 사실은 한 소스에서 행해지고 있다는 것을 알아채지 못하게 된다"고 덧붙였다.

기업들도 점차 이 문제를 인식하고 해결책을 찾고 있다. 링크드인, 페이스북, 구글 등의 계정을 이용해 로그인하는 서드파티 인증 서비스는 사용자가 기억해야 하는 비밀번호 수를 줄여준다. 이중 인증(two-factor authentication, 2FA) 방식은 이미 클라우드 개발업체와 금융 서비스 웹사이트, 그리고 메이저 유통업체들에서는 널리 사용되고 있다.

시큐어웍스 (SecureWorks)의 보안 연구원 제임스 베트키는 "표준 기관들 역시 이 문제에 관심을 가지고 적극적으로 개입하고 있다"고 말했다. 지난 6월, NIST는 이 문제만을 집중적으로 다룬 '디지털 아이덴티티 가이드라인(Digital Identity Guidelines)'을 업데이트해 출간했다.

베트키는 "이 가이드라인은 복잡한 비밀번호를 설정하고, 주기적으로 이를 변경하는 행위가 사실은 비밀번호를 더욱 취약하게 만들 수 있음을 인정한다. 왜냐하면 이를 관리하고 기억하는 데 진절머리를 느낀 사용자들이 점점 썼던 비밀번호를 다시 재사용 하거나, 예측 가능한 패턴으로 재활용하기 때문이다"고 말했다.


X