[clearfix]
1. 개요
2011년 SK커뮤니케이션즈에서 운영하는 네이트와 싸이월드회원 3,500만 명 전원의 개인 정보가 유출된 대형 사고.2011년 7월 26일에 네이트 및 싸이월드 서버가 해킹을 당하여 개인 정보가 모두 빠져나갔음에도 이틀 후인 7월 28일이 되어서야 사태 파악을 하고 사건 고백을 하면서 네티즌들의 비난이 쏟아지고 있다.
일단 사건 직후 알려진 정보에서는 내부 개발자 PC를 집중 공격하여 정보를 빼내갔으며 빼내간 정보에는 주민등록번호, 실명, 혈액형, 비밀번호 등 모든 개인 정보가 총망라되어 있었다.
한편 SK커뮤니케이션즈에서 운영하는 이글루스에서도 정보가 유출되진 않았는지 회원들의 불안이 있었다. 사건 보도 당일 아침 이글루스에서는 접속 장애도 있었기에 해킹 때문이 아니냐는 우려도 컸지만 그나마 다행히도 이글루스의 개인 정보는 네이트와는 분리되어 보관되어 안전하다고. #
사건을 간단히 설명하자면 해커들이 이스트소프트의 알집 업데이트 서버를 해킹하여 알집 이용자들이 업데이트를 실시하면 알집을 통해 해킹 프로그램을 깔리도록 하였고 그로 인해 네이트 일부 직원들이 감염되면서 관리자 계정이 해킹 당한 사건이라 하겠다. 한마디로 말하자면 트로이목마 신세가 된 것이다. 알집 업데이트파일이 목마가 되어 바이러스를 싣고 내부로 들어간 것이다. 이스트소프트에 따르면 해커들은 SK컴즈 사무실에서 사용하던 특정 IP 대역에서만 작동하도록 하여서 일반인들은 감염되지 않았을 것이라고 밝혔다.
여기서 몇 가지 문제가 보인다. 우선 해당 직원들이 사용하던 알집 프로그램이 가정용이었다는 것.[1] 물론 기업의 경우 일괄적으로 라이센스를 구매하여 이용하며 이 경우 개인용 버전을 설치/사용하더라도 라이센스 위반은 아니다.[2] 하지만 가장 큰 문제는 백신 프로그램을 만들어내는 이스트소프트의 업데이트 서버가 해커한테 털렸다는 것. 또한 외부 방화벽은 안철수연구소에서 제공했는데, 이 사고는 안랩의 담당 범위 밖에 있었다.[3] 사내에서 쓰던 백신은 노턴이었다.
2. SK컴즈 측의 해명
SK컴즈 측에서는 최신의 암호화 기술을 사용하여 비밀번호 및 주민등록번호를 암호화했기 때문에 유출되지는 않을 것이라 주장했다. 이는 사실일 수도 있고 아닐 수도 있다.그러나 제아무리 암호화된 주민번호라 할 지라도 결국에는 다 알아낼 수 있다. 어차피 암호화 알고리즘(특히 이런 경우에는 단방향)이 그다지 많지도 않고, 주민번호는 알파벳이 들어가지도 않는데다 규칙이 존재하므로 경우의 수도 얼마 안 되기 때문에 역으로 계산해 맞춰보지 않고 주먹구구식으로 암호화(해당 금융사가 쓴 알고리즘을 이용하여)한 뒤 비교해도 비교적 쉽게 알아낼 수 있다. 아래쪽에 MD5해쉬에 관한 내용은 참고만 하기 바란다. 애초에 해쉬값을 해커가 생성-비교하면 끝나는 것이므로 해쉬값 생성 과정에서 보안 안정성 논해봐야 다 헛발질이다. 그 알고리즘에 취약점이 있건 없건 이런식으로 노가다를 통해(사실은 컴퓨터로 다 자동으로 하므로 노가다도 아니다) 알아내면 그런 보안 허점따윈 안 써도 된다는 의미.
그러니까 주민번호는 이미 털린 것.
2.1. 배경 지식
우선 암호화 기술에 대한 기본적인 사항들을 정리하자. 이 문제와 관련된 기술은 암호화/복호화 기술과 해쉬 함수라고 할 수 있다.암호화는 사용자의 정보를 남들이 볼 수 없도록 하는 것이며 시스템에서 데이터를 암호화하거나 원래의 데이터로 복호화할 수 있는 키를 따로 보관하게 된다. 따라서 키를 어떻게 보관할 것인가가 중요한 문제이다. 암호화를 할 때는 무작위값을 적용해서 하기 때문에 원래의 데이터가 똑같더라도 암호화를 할 때마다 전혀 다른 값이 나오게 되며 원래의 데이터들에 어떠한 패턴이 있다고 하더라도 암호에서 그 패턴에 관련된 정보를 키 없이 알아낼 수는 없어야 하도록 규정하고 있다.
이와 달리 해쉬 함수는 단방향 함수로 누구나 주어진 데이터의 해쉬값은 계산할 수 있지만 역방향으로 주어진 해쉬 함수에 대응되는 데이터는 아무도 계산할 수 없는 알고리즘이다. 역방향으로 계산할 수 있는 키 값은 존재하지 않는다. 비밀번호는 사용자 정보보다 민감해서 시스템측에서 사용자의 비밀번호를 마음대로 열어볼 수 있는 것은 바람직하지 않으므로 비밀번호는 암호화를 하기보다 해쉬 함수를 이용하는 경우가 많다. 많은 경우 해쉬 함수를 '단방향 암호화' 라는 식으로 암호화와 섞어서 이야기하고 있지만 암호화와 해쉬 함수는 개념 자체가 완전히 다르다.
2.2. 비밀번호 관련 내용
우선 비밀번호는 일단 방송상에 공개된 정보나 여러 정황상으로 네이트가 MD5 해쉬 알고리즘을 쓴 것으로 추정된다. 그런데 MD5는 이미 취약점과 공격법이 발견된 안전하지 못한 해쉬 알고리즘이며 '최신의' 알고리즘이라는 것과는 거리가 멀다. 현재 관련 업계에서는 가장 최신의 SHA 해쉬 알고리즘의 사용을 권장하고 있다. 다만 취약점이 발견되었다고 해도 MD5를 쓰는 경우에는 원래의 비밀번호를 쉽게 알아낼 수 있다는 것은 아니다. 직접 메시지를 역산해서 계산하는 것은 해쉬 알고리즘에서도 가장 어려운 공격에 해당되며 MD5라고 해서 그 정도로까지 뚫린 것은 아니다. 그러나 취약한 알고리즘인 것은 사실이므로 안전하다고도 뚫렸다고도 하기가 다소 애매하다.SBS에서 SK컴즈가 사용한 것과 동일한 암호화 방법을 적용한 sbs911 암호를 불과 3초만에, 8자 암호의 경우 최장 30분만에 해독하는 장면을 시연하여 논란을 불러왔다. 관련 기사. 해쉬 함수의 특성상 주어진 데이터의 해쉬는 누구나 계산할 수 있기 때문에 여섯자리 정도의 비밀번호라면 모든 가능한 비밀번호를 조사하는 것도 불가능은 아니다.
이에 대해 SK컴즈 측에서 밝히기를 비밀번호는 SBS에서 시연한 방식과는 달리 외부에 공개되지 않은 코드를 섞은 상태로 단방향 해쉬 알고리즘을 써서 암호화했다고 밝혔다. 일단 해쉬 알고리즘을 적용했기에 다시 복원하는 것은 불가능하며 해커들이 취할 수 있는 유효한 공격 방법은 무작위 대입법이나 사전 공격을 통한 암호 탐색이다. 이러한 공격을 하려면 당연히 가능한 암호의 숫자가 적을수록 좋다. 그런데 시스템에서 다른 코드를 섞었다면 키보드로 입력 가능하지 않은 문자가 섞일 수 있으므로 가능한 암호의 숫자가 크게 늘어나게 되어 공격이 그만큼 어려워지게 되는 것이다. SK 컴즈는 그 많은 비밀번호를 모두 해킹하기에는 천문학적 시간이 걸릴 것이라 주장하였다. 더불어 SK컴즈의 보안을 담당하고 있는 안철수연구소 및 다른 보안업계 관계자들도 네이트의 견해에 동의하며 단시간에 모든 비밀번호를 해독하는 것은 불가능할 것이라 밝혔다. 관련 기사.
위의 서술은 비밀번호의 저장 방식에 대한 이해가 부족해서 나온 오류이다. 암호를 해싱하기 이전에는 임의의 문자열을 섞는데, 이 문자열을 솔트라고 하고 해싱 알고리즘이 충분히 느리다면 솔트는 유출되어도 지장이 없다(일반적으로 해시된 비밀번호와 같은 곳에 저장한다). 하지만 MD5는 현대의 하드웨어에서는 엄청나게 빠른 속도로 작동되는 알고리즘이며 (적당히 비싼 하드웨어로 초당 3000억번 이상의 대입이 가능), bcrypt에서 하는 식으로 결과를 다시 입력으로 먹이는 루프를 적게는 수천번에서 많게는 수십만번씩 반복한 결과를 저장하는 식으로 일부러 느리게 하지 않는 이상 솔트가 되어있든 안 되어있든 무작위 대입법이나 딕셔너리 공격(아래에서 서술하는 약한 암호에 대한 공격)으로 깨기 쉽다.
물론, 암호 저장 체계에서 가장 취약한 부분은 맞추기 쉬운 비밀번호이다. 비밀번호가 7자 이하라면 그 자체로 맞추기 쉽다(경우의 수가 적어서). 해커들은 이미 털린 암호 데이터베이스에서 꺼내온 수없이 많은 암호들을 이미 가지고 있기 때문에, 그 패턴을 파악해 가장 흔한 암호부터 대입한다. 안전하다고 생각할지 모르겠지만 이미 취약한 암호 리스트에 올라와 있는 경우일 수도 있기 때문에 암호 선정에 주의하자. 아마 가장 먼저 털린 암호들은 가지고 있는 암호들과 똑같거나 유사한 암호였을 확률이 높다.
2.3. 주민등록번호 등 개인 정보 관련 내용
주민등록번호는 암호처럼 사용자 입력과 같은지 확인만 하면 되는 게 아니라 데이터 자체를 저장할 필요가 있으므로 해쉬 알고리즘이 아닌 암호화를 이용한다. 즉 키값을 이용해서 암호화-복호화가 가능한 양방향 알고리즘을 적용한다. SK컴즈 측에서는 주민번호의 경우에는 최신 기술이자 국제 표준인 128-bit key AES로 암호화했기 때문에 현재의 기술로는 절대 해독을 못할 것이라 밝혔다.하지만 이에 대해서 보안업계의 반응은 엇갈리고 있다. 만약 해킹하는 과정에 키값째로 털렸으면 그냥 보안이고 나발이고 없이 그대로 복호화할 수 있는 상황이다. 또한 128-bit key AES가 은 SK컴즈의 발표와는 달리 최신 기술이 아니라는 논란이 있다. 비판하는 쪽에서는 현재 128-bit key AES은 취약점이 다수 발견되었고 공격 방법 등도 여럿 발견된 알고리즘이라고 비판한다. 게다가 분산 컴퓨팅을 통해 128-bit key AES의 키를 털어버린 사례도 있어서 AES의 취약점이 제기된 이후 미국 NSA에서는 AES 개발자 및 업계 관계자들과 함께 분석한 결과 128-bit key AES의 보안성에 문제가 있음을 인정하고 절대 털리면 안 되는 고급 보안 자료는 192-bit key AES나 256-bit key AES 사용을 권장하였다.
그러나 AES의 취약점이나 공격 방법이라는 것은 side-channel attack이라는, 암호 그 자체가 아닌 암호화/복호화를 하는 시스템을 공격하는 방식이다. 예컨대 몇몇 특정 메시지를 암호화하는데 걸리는 시간을 측정해서 키를 추정하는 식이다. 아니면 최근에는 차분 공격이라는 방식으로 '암호화를 직접 수행하는' 칩에 물리적으로 접근하여 고의적으로 오류를 발생시켜 AES를 무용지물화 시키는 방법들에 대한 논문들이 2012년에 속속 등장하고 있다. 이러한 공격은 동일한 알고리즘이라도 어떤 방식으로 구현되었는지에 따라 통할 수도 있고 통하지 않을 수도 있으므로 일괄적으로 말하기 어렵지만 암호문 자체만이 유출된 경우에 적용할 수 있는 종류의 공격은 아니다. 즉 이번 사건과 같은 경우에 대해서라면 AES는 충분히 안전하다고 할 수 있다. 더군다나 side-channel 공격은 아직 개념증명(Proof of Concept) 단계에서 크게 벗어나지 못하고 있어서 '확실한 대 AES 공격법은 아니다' 라는 게 아직까지의 일반적인 정론.
마찬가지로 128-bit AES도 암호 자체를 통해서 키가 노출된 바는 없으며 128-bit key를 사용하지 않도록 권고하는 것은 빠른 속도로 발전하는 컴퓨팅 환경과 앞으로 개발될지도 모르는 다른 공격법을 대비하는 차원에서이지 128-bit AES에 대한 유효한 공격법이 이미 발견되었기 때문은 아니다. 128-bit AES를 깰 방법이 이미 발견되었다면 한가하게 192/256 비트 키를 이용할 것을 권장하는 게 아니라 128-bit AES의 사용을 즉시 중단했을 것이다.[4]
또 다른 비판으로는 설령 키값을 털리지 않았더라도 주민등록번호는 단순히 13자리 숫자, 게다가 일정한 규칙이 있는 값으로만 구성되어 있기 때문에 무작위 대입법이나 사전 공격에 매우 약한 구조라는 것. 이 점은 다소 논란의 여지가 있다. 우선 사전 공격이나 무작위 대입법은 MD5 등의 해쉬값에 적용되는 것이며[5] 암호 알고리즘에서는 이러한 공격은 '메시지의 패턴과 관계없이' 불가능해야 정상이다. 다만 암호 알고리즘을 제대로 적용하려면 모든 자료를 암호학적으로 충분히 무작위적인 값(cryptographic random value)을 적용해서 암호화했어야 하는데 이는 어렵지 않은 일이지만 실제 프로그램에서는 C의 rand()의 결과를 무작위적인 값으로 이용하는 등의 실책[6]을 저지르는 경우가 가끔 발견되기 때문에 공격받을 가능성도 없지는 않다. 뭐 사실 현존하는 모든 암호학 알고리즘에서 Brute Force(전수 조사)에 걸리지 않는 알고리즘 하나 없고 아무리 국제 표준이라고 해도 그건 말 그대로 당시 컴퓨터 기준으로 충분히 뚫리지 않을 수 있다는 거지 시간이 지나면 뚫린다. 실제로 과거 사용했던 DES나 3-DES의 경우 당시에 전수조사는 거의 힘들다는 소리가 있었으나 요즘은 그냥 답이 없다. 취약점도 나와있고[7] 심지어 전수조사를 해도 당시와 비교해서 연산 속도의 차이가 안드로메다라서...
2.4. 기타 관련 사항
일단 네이트 측에서는 유저에게 해킹 여부 확인 서비스 및 최근 로그인 시도 내역 보기 서비스를 제공했는데 상당한 수의 사용자가 새벽에 정체불명의 IP로 로그인을 시도하다 로그인 성공한 기록을 발견하고 충격과 공포에 빠졌다.2012. 4. 대구지방법원 김천지원 구미시법원 (2011가소17384)에서 최초로 100만 원을 지급하라는 판결을 내렸다.
2013. 2. 서울서부지방법원 (2011가합11733) 판결로 1인당 20만 원씩 지급하라는 말과 함께, 그 이유로 보안관리자가 업무종료시 로그아웃을 안했기 때문이라는 설명이 붙어 있다.
2014. 4. 서울남부지방법원은 패소 판결했다.
2015. 3. 서울고등법원 (2013나20047)은 위자료 20만 원을 인정하지 않았다. 관련 기사
2018. 1. 대법원은 원고에게 패소 판결한 원심을 확정했다 (2015다24904 외 다수).
2018. 6. 대법원은 최초로 승소 판결한 1심 판결을 깨고 사건을 대구지방법원으로 돌려보냈다(2014다20905).
3. 이후 상황
서울행정법원은 개인 정보를 제외한 수사기록을 공개하라고 판결했다.2011년 기준으로 중국이나 대만 등의 웹사이트에서는 '한국' 등의 검색어를 넣기만 해도 한국 사람들의 이름과 주민등록번호가 줄줄이 뜨고 있다(...)
선거 활동이나 홍보 등의 목적으로 미니홈피를 운영해 왔던 이명박 대통령이나 정치인, 국회의원 등의 개인 정보도 털린 사실이 확인되었다. 여기서 조금만 더 유추해보면 지금까지 미니홈피를 운영해 왔던 온갖 유명인사며 연예인, 배우, 가수들의 개인 정보도 깡그리 털렸으리라는 추측은 아주 쉽다.
전 국민의 70% 정도의 개인 정보가 털린 셈이다.
방송통신위원회는 뒤늦게 국내 포털 등 인터넷 사업자들이 보유한 개인 정보에서 주민등록번호를 제외하고 신규 가입시에도 주민등록번호를 요구하지 못하게 하는 안, 즉 인터넷 실명제 폐지를 추진 중이다. # 인터넷 실명제에 반대하던 사람들은 해냈다 해냈어 SK가 해냈어.txt의 느낌을 받았을 것이다(...)
네이트에서는 " 그럼 주민번호 지우면 될 거 아냐" 라는 대응을 했으나 법적으로는 도토리만 구매해도 주민등록번호를 5년간 남겨야 한다는 점에서 사실상 불가능 일이었다.
그리고 이 사건에 대해 집단 소송 카페가 개설되는 등 소비자들의 분노가 모이고 있으나 현실적으로 정보 보안의 중요성에 대한 인식이 시궁창인 한국 사회의 실정상 이 일에서 원고 승소의 확률은 낮다고 한다. 일단 판례상 기업의 개인 정보가 해킹 당한 사건에서 회사의 책임을 물은 소송이 거의 원고 패소라서... 판사가 판례에 대항할 용자가 아닌 한 승산이 희박하다. 피해자 카페들은 "기업에 경종을 울리겠다" 하지만 2008년 옥션이 털렸을 때 이후로도 이런 일이 끊이지 않는 것을 보면...
그리고 8월 4일 SK컴즈에서 사용하는 이스트소프트의 백신을 이용해 악성코드가 유포된 단서를 포착해 조사 중이라고 한다. #
결국 이스트소프트의 알툴즈 업데이트 DB서버가 해킹된 후 이것의 업데이트 기능을 이용, SK컴즈의 PC를 뚫었으며 원격으로 정보를 유출시킨 것이 확인됐다. 즉, 애초에 원인은 이스트소프트가 뚫린 것.
주민번호 도용 확인을 위해 사람들이 일시에 KISA가 제공하는 확인 사이트에 몰리는 바람에 사이트가 다운되기도 했다.
한편 법원도 재판관 선정에 골머리를 앓고 있다. 법원은 중립 원칙을 지키기 위해 재판시 관련 사건과 전혀 관련 없는 판사를 배정하는데 네이트 해킹에서 피해를 입지 않은 판사를 찾기 힘들어서(...) 배정할 사람이 마땅치 않기 때문이다.[8] 피해를 입지 않은 다른 판사들을 찾는 중이라고 하지만 피해자가 전 국민의 70%라 쉽지는 않은 모양.
그리고 아니나 다를까 " 이게 다 북한 탓이다" 라는 북한 드립의 용자가 다시 나왔지만 사이버 수사대측에서는 그렇게 단정지을 수 없다는 반응을 보였고 범인이 중국이든 북한이든 털린 것 자체가 중요한데 언제까지 북한드립만 치며 호구짓할 거냐는 평론들도 나오고 있는 상황이다.
현재 피해자들을 중심으로 해서 기존에 유출된 주민등록번호를 폐기하고 새로운 주민등록번호를 발급해달라는 청원이 있는 상태다.
한편 9월 22일 국회 문방위 국정감사에서 김을동 의원이 이명박 대통령을 비롯한 국무위원, 국회의원 대부분의 개인 정보가 유출되었다고 주장했다.
한편 2011년 10월 23일에는 해킹으로 획득한 개인 정보를 토대로 대대적인 국내 계정 탈취 시도가 있었다. 정상적인 계정이 스팸글을 도배하는 등 혼란스러웠다.
그러나 2012년 4월 26일, 대구지법에서 위자료 100만 원을 지급하라고 판결했다. 당연히 SK컴즈는 항소했으나 만약 이대로 지급해야 한다면 최대 3500만 명 분의 위자료, 즉 35조폭탄을 맞고 회사가 망해버릴 듯하다. 물론 전부 고소하리란 보장은 없긴 하다
2018년 1월 28일 대법원 1부는 싸이월드에 배상책임이 없다고 판결했다 (2015다24904). 관련 기사 따라서 나머지 사건들도 원고패소로 정리되었다. 최초로 원고 승소로 판결했던 사건은 원고 패소취지로 파기환송되었다(2014다20905).
별개로 2017년 6월 15일 대법원은 SK컴즈가 운영하던 싸이월드, 네이트, 옥션 등을 이용하다가 개인 정보 유출 사고로 주민등록번호가 유출되었을 시 조리상 주민등록요구권의 변경요구신청권을 인정하는 판례를 했다. [9](2013두2945) 이 판례는 행정법의 개인 정보 보호 관련 문제에서 꼭 나오는 것이니 행정법 공부를 한다면 꼭 기억하자.
4. 주식 시장에서의 반응
사건 발표 직후인 7월 28일과 7월 29일 SK컴즈 주가가 4~5% 정도씩 빠졌으나 8월 1일에 11% 넘는 급등을 하면서 해킹 사건 이전의 주가로 되돌아갔고 안철수연구소 같은 보안주들도 덩달아 급등했다. 반면에 해킹의 빌미를 제공한 이스트소프트는 8월 5일 폭풍급락. 2012년 4월 26일 위자료를 지급하라는 판결이 나오면서 주가가 급하락세다.
[1]
알집은 가정용은 무료이나 기업용은 돈 받고 파는 방식의 수익 모델을 취하고 있다.
[2]
약관에 따라 다르지만 일반적으로 가정용/기업용을 따로 발매하는 회사의 경우 위반은 아니지만 합법적이라고도 보기 힘들다. 이른바 그레이존.
[3]
안철수연구소의 관제 범위는 순수하게 서버 외부에서 방화벽 침입 단계다. 사내는 안철수연구소의 관제 범위가 아니다. 또한 기업 내부에서 정보 유출을 우려해 외부 회사에 내부 관제를 요청하는 일은 없다. 관제를 하게 될 경우 직원들을 전부 감시하며 간섭을 해야 한다는 것인데 회사 입장에서 타인에게 회사 내부 정보를 볼 수 있게 하는 것은 매우 꺼림직한 일.
[4]
물론 아직까지도 DES 같은 경우에는 현재의 컴퓨팅 파워로는 짧은 시간에 공격할 수 있는 방법이 있음에도 완전히 사라지지 않았다.
[5]
Rainbow Table이라는 아주 훌륭한 게 있다.
[6]
C의 rand() 함수는 일반적인 기준으로는 그런대로 무작위라고 할 수 있지만 암호학적인 관점에서는 충분히 무작위라고 할 수 없다. 암호학적으로 충분히 무작위인 결과를 얻으려면 arc4random()을 이용하는 등의 다른 방법을 써야 한다. 아니면 아에 initial vector값을 시스템 자체에서 변조시키든지 하는 방법도 있다.
[7]
참고로 알고리즘을 제작한 사람은 만들 당시 이 취약점에 대해서 알고 있었다고 전해진다.
[8]
형사소송법 제17조에서, 제척 사유로 첫번째로 법관이 피해자인 경우다.
[9]
자세히 설명하자면 피해자의 의사와 무관하게(동의하지 않고) 주민등록번호가 유출되었을 때 주민등록번호 변경 요구가 법률의 대상적격에 맞지 않는다는 이유로 거부한 것이 대해 대법원에서 조리상 변경요구청구권을 인정한 것이다.