Security number

대한인터넷방송 | 2014-09-06 오전 8:35:28 | 조회수 : 908 | 공개

길고 복잡한 패스워드가 더 이상 필요 없는 이유

 



 


패스워드 도난과 오용이 너무 흔해져서 수백만 명 정도가 당하는 피해는 뉴스 거리도 되지 못한다. 요즘은 피해자의 수가 최소한 10억 명은 되어야 하는 것 같다.

이런 흥미로운 범죄 활동에 이어 발표되는 기사들은 언제나 그렇듯이 별 효과 없는 해결책을 제시하는 경향이 있다. 바로 “길고 복잡한 패스워드”를 사용하라는 것인데, 물론 필자도 수년 전에 같은 해결책을 추천한 바 있다. 하지만 시대가 변했다.

오늘날의 패스워드 해킹
 패스워드 해킹은 우리가 패스워드를 사용하기 시작할 때부터 오랫동안 있어 왔다. 대부분의 경우에 선택된 수단은 패스워드 추측 또는 크랙킹(Cracking), 즉 특정 중간 형태를 평문 형태로 변환하는 것이었다. 하지만 시간이 지나면서 방법이 발전했다.

물론, 지금도 인간 해커(또는 악성 소프트웨어)가 사람들의 패스워드를 추측하고 있으며, 때로는 성공률도 꽤 높은 편이다. 예를 들어, 가장 인기 있는 악성 소프트웨어 프로그램 중 하나인 컨피커(Conficker) 는 약 100개의 하드 코딩된 단순한 패스워드로 수십만 개에서 수백억 개의 드라이브 공유를 성공적으로 해킹했다. 이처럼 패스워드 추측도 여전히 가능하지만, 요즘은 다른 방법을 더 많이 사용하고 있다.

오늘날 발생하는 패스워드 도난의 대부분은 피싱(Phishing) 또는 인증 데이터베이스 해킹을 통해 이루어지고 있다. 피싱은 대부분 이메일 메시지 또는 웹 사이트가 독자로 하여금 실제 인증서를 가짜 로그온 프롬프트에 입력하도록 유도함으로써 이루어진다. 지금은 세상 모든 사람들이 피싱을 가려낼 수 있다고 생각하겠지만, 보고서에 따르면 여전히 기록적인 수치를 나타내고 있다. 분명 많은 성공적인 APT(Advanced Persistent Threat) 공격들이 스피어 피싱(Spear Phishing)으로 시작된다. 소셜 미디어 사이트와 악성 애플리케이션 덕분에 피싱이 그 어느 때보다도 성공적이다.

하지만 해커들이 패스워드를(또는 해시(Hash) 등의 사용할 수 있는 중간 형태)를 성공적으로 훔치는 가장 보편적인 방법은 인증 데이터베이스 절도를 통해서이다. 해커들은 웹 사이트 또는 개인적인 디렉토리 공간에 침입하여 패스워드/해시를 다운로드한다. 이 두 가지 종류의 공격이 오늘날 거의 모든 패스워드 도난 공격을 구성하고 있다. 다른 방법들은 대부분 요란하기만 할 뿐이다. "위험한 게임(WarGames)"의 매튜 보더릭 행세를 하는 인간 공격자들의 시대는 이미 오래 전 이야기이다.

그렇다면 인증서 도난에 대해서 가장 성공적인 방어책은 무엇일까? 어쨌든, 길고 복잡한 패스워드를 사용하는 방법은 분명 아니다. 공격자들은 길고 복잡한 패스워드를 간단하게 훔치고 작별인사와 함께 홀연히 사라질 것이다.

진부한 패스워드
 그렇다고 해서 패스워드를 사용하는 것이 나쁘다는 뜻은 아니다. 단지 약간의 도움만 될 뿐이다. 하지만 처음에 수백 번의 시도 동안 바로 추측할 수 없는 패스워드를 선택한다면, 상당한 효과가 있다.

 "keylargo"를 패스워드로 사용해도 "Key$Largo14$!"를 패스워드로 사용하는 만큼의 방어 효과가 있다. 더욱 길고 복잡한 패스워드 때문에 패스워드를 추측하는 사람들과 크랙커들은 고생하겠지만 이런 위협의 위험성은 대부분의 환경에서 측정이 불가능하다.

그렇다면 길고 복잡한 패스워드는 필요 없을까? 그렇다. 바로 그 말이다.

이제 전 세계의 많은 보안 전문가들이 필자의 생각이 왜 틀렸는지에 대해 설명하려 들 것이다. 하지만 대부분의 패스워드가 최종 사용자가 입력하는 것 또는 해킹된 인증 데이터베이스에서 직접 도난 당하고 있다면, 더욱 길거나 복잡한 패스워드를 사용한다고 해서 무슨 소용이 있을까?

사용자만 더 힘들어질 뿐이다. 더욱 강력한 해시와 알고리즘을 통한 "더욱 안전한" 인증 프로토콜을 사용하는 것은 대부분 크게 도움이 되지 않는다. DES에서 B크립트(Bcrypt)로 전환한다고 해도 별로 도움이 되지 않는다. 패스워드 해시에서 케베로스(Kerberos) 티켓으로 바꾼다 해도 마찬가지이다. 왜냐하면 오늘날의 패스워드 공격자들은 프로토콜의 약점을 공격하는 것이 아니기 때문이다. 더욱 강력한 인증 포로토콜을 사용해도 별 이득이 없다.

어떻게 아냐고? 왜냐하면 대부분의 기업이 오늘날 더욱 강력한 프로토콜을 사용하고 있지만, 올해만 하더라도 수십억 개의 패스워드를 도난 당했기 때문이다. 필자는 "우리가 B크립트 또는 케베로스를 사용했더라면 인증 데이터베이스 해킹을 막을 수 있었을 것이다"라고 말하는 보안 전문가를 본 적이 없다. 누구도 이런 이야기를 들을 일은 없을 것이다. 더 이상 그 어떤 해커들도 이런 구식 솔루션을 신경 쓰지 않는다.

효과적인 방법
 그렇다고 해서 손 놓고 포기하라는 뜻은 아니다. 여기에서 피싱 공격과 인증 데이터베이스 도난이라는 주요 원인을 해결하는 두 가지 방어책에 대해 알아보도록 하자.

피싱 공격을 방지하기 위해서는 최종 사용자의 인식을 더 높이고(필자는 경각심을 높이기 위해 사용자들을 고의적으로 피싱하는 것도 중요하다고 생각한다), 다양한 피싱 방지 툴을 사용해야 한다. 많은 브라우저에 피싱 방지 툴이 탑재되어 있지만, 이를 사용하는 사람들은 거의 없다. 또한, 사용자가 알려진 피싱 사이트에 접속할 때 경고하는 다양한 서비스들이 존재한다. 이런 서비스들은 백신 스캐닝 소프트웨어와 마찬가지로 정확도 문제가 있기는 하지만, 언제나 그렇듯이 아무것도 없는 것보다는 낫다.

 


하지만 무엇보다도 호스트 제공업체들이 인증 데이터베이스를 도난 당하지 않도록 잘 대비하는 것이 중요하다. 즉, 악당들과 악성 소프트웨어가 인증 데이터베이스를 관리하는 시스템의 최고 관리자 권한 계정에 접근하기가 훨씬 힘들도록 해야 한다는 뜻이다. 이는 충분히 할 수 있는 조처이다. 이 영역에서 가장 효과적인 방어책은 승격된 그룹의 모든 영구적인 구성원을 포기하는 것이다. 그 효과는 엄청나다.

또한 필자는 이중 인증(Two-Factor Authentication)이 중요하다고 생각한다. 이중인증 체제를 지원하는 기업 네트워크와 공공 서비스가 증가하고 있다. 하지만 대부분의 공공 웹 사이트가 여전히 이중 인증을 지원하고 있지 않다는 점은 안타깝다.

무엇보다도 악당이 이중 인증을 위한 인증 데이터베이스 또는 서비스에 접속할 수 있다면 게임은 끝난다. 가장 좋은 예로 2011년 RSA와 RSA의 이중인증 솔루션인 시큐어ID에 대한 공격을 들 수 있다. RSA 는 초기에 RSA 시큐어ID 정보를 포함하여 자체 인프라가 해킹 당했으며, 추가적인 고객 정보 해킹은 발생하지 않을 것이라고 밝혔다. 결국, 이 말은 지켜지지 못했다.

또한 최종 사용자 또는 기기가 이중인증을 통해 인증하더라도 운영체제 또는 디렉토리 수준에서 이중인증 토큰이 동작하지 않는 경우가 종종 발생한다는 사실을 인지하는 것이 중요하다. 성공적인 이중인증 후, 모든 인증 및 접속 제어는 (일반적으로 다른 디지털 대표 형식의) 단일 인증을 사용하는 것으로 알고 있다. 악당이 이런 단일 인증 토큰을 훔치면 이중인증 여부에 관계없이 게임은 끝이다.

이중인증을 지원하는 많은 웹 사이트들이 이를 요구하지 않고 있다. 악당들에게는 좋은 소식이다. 이중인증을 활성화하고 웹 사이트에 이중인증 만을 사용한다고 알리더라도 악당들은 기술 지원을 요청하고 거짓말로 이중인증을 단일 인증으로 되돌릴 수 있다. 때로는 이 모든 것들이 사용자에 관해 인터넷에서 손쉽게 얻을 수 있는 정보를 통해 답을 얻을 수 있는 엄청나게 취약한 "보안 질문"에 답함으로써 이루어질 수 있다.

마지막으로 이중인증 솔루션은 관련 엔드포인트 노드가 해킹된 경우, 궁극적으로 사용자 또는 기기를 보호하지 않는다는 사실이 수십 년 동안 입증되었다. 필자가 처음에 이에 관한 기사를 작성한 것이 2006년이었지만 당시에도 이미 오래된 이야기였다. 은행 계좌를 훔치는 트로이 목마 바이러스는 이미 오래 전부터 이중인증을 회피해 왔다.
어떻게 이런 것이 가능할까? 쉽게 말해서 악당들이 사용자의 엔드포인트 노드를 관리할 수 있다면 악의적인 목적을 달성하기 위해 원하는 것은 무엇이든 위조할 수 있다. 심지어 그들은 사용자의 계정을 탈취하여 새로운 모든 정보를 가로챌 수 있다. 사용자를 고립시키는 것이 탈취하는 것보다 훨씬 쉽다.

기타 패스워드 보호책
 필자는 다른 2가지 방어책을 선호한다. 우선, 여러 패스워드 도메인 또는 웹 사이트에서 동일한 패스워드를 사용하지 않는 것이 좋다. 우리는 모두 수십 개의 웹 사이트와 네트워크를 이용하고 있다. 사용하고 있는 웹 사이트의 수가 많을수록 악성 해킹의 위험이 증가하고, 결국 실제로 그런 일이 발생하게 된다. 모든 곳에서 동일한 로그온 인증을 사용하지 않는다면 악당들에게 한 번 이상 같은 피해를 입지 않을 수 있다.

둘째로 모든 사이트의 패스워드를 주기적으로 변경하는 것이 좋다. 필자는 1년에 한 번씩 패스워드를 변경한다. 자신이 사용하고 있는 패스워드 중 하나 정도는 해커의 데이터베이스에 등록되어 있으며, 사용될 날만 기다리고 있다는 생각을 해야 한다. 1년에 한 번씩 또는 위험을 더욱 낮추기 위해 그보다 자주 패스워드를 변경함으로써 해커들이 부당하게 얻은 것들의 효과를 시간이 지남에 따라 낮출 수 있다. 물론, 자신의 패스워드가 저장된 인증 데이터베이스를 보호하는 모든 사람들과 프로세스가 이에 동참한다는 가정 하에 효과를 볼 수 있다. 하지만 우선은 자기 자신만 통제할 수 있기 때문에 자신부터 시작하자.

우리가 살고 있는 세상과 마찬가지로 패스워드 해킹 방법과 툴도 늘 똑같은 것이 아니다. 강력한 인증 프로토콜에 의해 보호되는 길고 복잡한 패스워드를 사용하는 구형 기기는 시간이 지날수록 효과가 떨어진다. 피해를 입히는 것은 아니지만 해커들을 막는데 크게 도움이 되지 않는다. 대신에 적절한 패스워드를 사용하고 주기적으로 변경하며 사이트마다 다른 패스워드를 사용하고 가능하면 이중인증을 선택하자.

해커가 이미 사용자의 로그온 인증을 손에 넣었다면 사용자가 보호하려는 데이터 또는 서비스에 접근할 수 있는 능력도 있다는 사실은 잠시 접어두도록 하자. 우선은 걸음마부터 시작할 때이다




태그 :
댓글 : 0
다음 포스트 :: Gallexy note 4
이전 포스트 :: USB driver speed