요약
덴마크 CPR 유출 사건에서 관리자 계정까지 비밀번호 ‘123456’을 쓴 것으로 드러났습니다.
덴마크 일간지 폴리티켄은 중앙 주민등록 시스템(CPR)에 침입하는 데 쓰인 업체 계정 가운데 적어도 3개가 이 비밀번호를 썼다고 보도했습니다. 코펜하겐 포스트는 이 보도를 전하며 업체와 전문가, 해커의 말을 정리했습니다.
왜 중요한가
- 약 880만 개 CPR 번호와 연결된 정보가 직원 2명인 작은 업체의 계정을 거쳐 빠져나갔습니다.
- 주소 확인 같은 정당한 필요가 있으면 민간 기업도 CPR을 조회할 수 있습니다. 그래서 접근권을 받은 업체의 보안이 등록부 전체의 보안과 직결됩니다.
- 당국은 이번 일 뒤 CPR 번호만으로 본인을 확인하지 말라고 권고하고, 등록부 전체의 보안 점검에 나섰습니다.
핵심 내용
- 오덴세의 IT 기업 페이스(Pays ApS)에서 관리자 계정을 포함해 최소 3개 계정이 ‘123456’을 썼습니다.
- 오르후스 대학교의 옌스 뮈루프 페데르센 교수는 흔한 비밀번호 목록에서 맨 먼저 시도되는 값이라며 "가망 없는" 수준이라고 평가했습니다.
- 대표 소피 라우르센은 해킹당한 업체가 자사가 맞다고 인정하고, 합법적인 조회 권한이 악용됐다고 말했습니다.
- 익명의 해커는 소기업 전 직원의 유출된 비밀번호로 들어가 직접 만든 프로그램 2개로 데이터를 빼냈다고 주장했습니다.
- 접근은 9월 10일부터 21일 17시간 이어졌고, 당국은 조회 요금 청구서가 이례적으로 많이 나온 뒤에야 침입을 알아챘습니다.
HN 반응
- 많은 이용자는 비밀번호보다 분당 600명을 조회해도 감시하지 못하고 청구서로 발견한 시스템의 책임이 더 크다고 봤습니다.
- 보안과 생산성은 부딪친다는 의견에는 비밀번호 관리자와 통합 로그인(SSO, 한 번 로그인으로 여러 시스템을 쓰는 방식)이 둘 다 높인다는 반론이 나왔습니다.
제가 나이가 들어서 이러나 싶지만, 저는 모두에게 책임이 있다고 봅니다. 내부 고발자에게만 지나치게 초점을 맞추는 언론부터, 그 회사의 제3자 접근을 승인해 준 사람들, 규제 담당 팀, 추가 점검을 지시하지 않은 사람까지 전부요.
시스템에 문제가 생겨도 왜 대대적인 조직 개편이 없는지 이해가 안 됩니다. 늘 "아, 그래서 사다리 맨 아래 사람을 해고했습니다"로 끝나죠.
제가 별난 소리를 한다고 생각하실 수도 있지만, 회사 생활을 오래 하다 보면 큰 사고가 터졌을 때 엉뚱한 사람이 책임지고 잘리는 일을 정말 많이 봅니다. 게다가 그 문제를 찾아내서 알린 사람이 잘리는 경우도 흔하고요. 직접 겪어 보기 전에는 믿기지 않을 정도입니다. 결국 도덕과 리더십이 썩은 겁니다.
이런 사건에서 특정 개인에게 공감하는 댓글이 보여서 말을 얹었습니다. 진짜 배려는 점검 체계와 책임자를 전면 재정비하고 책임을 나눠서 근본 영역을 바로잡는 것입니다.
올라갈수록 다들 아주 "어린애 같은"(좋은 의미는 아닙니다) 책임관에 기대는 것 같습니다. 의도만 따지는 방식이죠.
나는 그 일을 시켰을 뿐이고, 뻔한 결과가 나오길 의도한 건 아니니까 그게 생긴 건 내 잘못이 아니라는 식입니다.
그런데 이제는 상사들이 AI를 "고용"해서 똑같은 짓을 하죠.
이런 게 제 생각이 유별나다는 증거인 줄 이제 알았습니다.
저는 "ChatGPT가 샌드박스를 해킹해 빠져나와서 HuggingFace까지 해킹했다" 같은 표현을 아무렇지 않게 씁니다. 그러면 사람들이 대개 제가 OpenAI에는 잘못이 없다고 말하는 것처럼 반응하는데, 제 입장은 전혀 그렇지 않습니다. 제가 보기에 최종 책임은 어디까지나 작업을 시킨 사람에게 있습니다. 이런 사건으로 달라지는 점은, 앞으로는 아무도 "그게 가능한 줄 몰랐다"거나 "우리 지시를 그렇게 해석할 줄은 몰랐다"는 변명조차 할 수 없다는 것입니다.
사람이 실수했을 때나 지금처럼 AI가 실수했을 때나 대응은 다층 방어여야 합니다. 지시하는 쪽은 명확하게 지시해야 하고, 지시를 따르는 존재(사람이든 기계든)는 지시를 수행하는 방법만이 아니라 무엇이 범위를 벗어나 금지되는지도 알아야 합니다. "명령을 따른다"와 "합법적인 명령을 따른다"의 차이 말입니다.
접근 방식이 아주 엔지니어답네요. A에서 B로 선만 그으면 다 잘 돌아간다는 식입니다. 현실은 다릅니다. 사람들은 태연하게 지시를 무시하고, 업무 분석은 수십 년 전부터 이미 가망 없는 일이고, AI는 인간의 지식을 바탕으로 만들어졌으니 앞으로도 뭘 할지 뻔하죠. 그럼 어쩌자는 겁니까? 완벽한 준수를 전제하지 않고 불완전함과 실패를 감안해서 시스템을 만들려면 어떻게 해야 할까요? 그런 걸 가르치는 학문이 없습니까?
그게 공학입니다.
맞습니다. 그리고 이론상 우리가 더 높은 기준을 요구받는 데는 이유가 있습니다. 예전에는 AI 때문에 선을 긋기가 더 어렵다고 생각했습니다. 엔지니어인 제가 어떤 일을 두고 실현 불가능하다(불가능하다는 게 아니라 잘못됐고 할 가치가 없다는 뜻입니다)고 말해도 AI가 있으면 묵살당할 수 있으니까요. 그런데 이제 더 복잡한 모델 == 더 많은 돈이니, 돈으로 선을 그을 수 있게 됐습니다. 그리고 그건 경영진에게 기술적 타당성보다 훨씬 강력한 언어입니다.
저는 분명 엔지니어식으로 접근하지만, 공학은 절대로 A에서 B로 선만 긋고 그걸로 충분하다고 기대하지 않습니다.
말씀하신 대로 현실은 그렇게 단순하지 않습니다. 모든 시스템은 어느 정도 예측 가능한 말도 안 되는 상황을 감당해야 합니다. 예를 들어 다리는 교통량과 바람만이 아니라, 누군가 술에 취해 배를 몰다가 들이받을 가능성까지 견뎌야 합니다.
맞습니다. 게다가 AI는 그 위에 자기만의 혼란을 더 얹습니다. 머신러닝은 뭐든 잘하려면 엄청난 수의 예시가 필요하니, LLM은 "기업 운영법 온라인 강좌를 전부 읽었다"에서 끝나지 않고, 최근 상식 실패의 시연으로 유명해진 "세차장이 100m 거리에 있는데 걸어갈까요, 운전해서 갈까요?" 같은 사례의 비즈니스 버전도 50개쯤 안고 있을 가능성이 높습니다.
그런 학문은 많습니다. 수학과 컴퓨터 과학만 빼고 전부일지도 모르죠. 아니, 통계는 수학의 일부이고 컴퓨터 과학에도 내결함성 문제가 있으니 수학과 컴퓨터 과학까지 포함해도 되겠네요.
네, 전적으로 동의합니다. 지역 뉴스에서는 어느 회사인지, 그리고 비밀번호가 123456이었다는 점에 초점을 맞췄습니다.
이번 유출에서 잘못된 모든 것 가운데 비밀번호가 허술했다는 점과 계정을 도용당한 회사에는 가장 적게 초점을 맞추고, 기나긴 실패의 사슬 반대쪽 끝에 가장 많이 초점을 맞춰야 합니다.
한 회사가 갑자기 분당 600명을 조회하는데도 왜 모니터링이 없었습니까? 왜 청구서를 만들 때에서야 발견됐습니까?? 그리고 어떻게 그렇게 취약한 비밀번호가 가능했고, 2단계 인증 등등은 왜 없었습니까?
시스템이 오래될수록 제대로 된 보안 감사를 한 번도 받지 않았을 가능성이 높고, 또는 오래된 인터넷 표준이 대부분 그렇듯 상당한 암묵적 신뢰를 전제로 만들어졌을 가능성이 높습니다.
2FA는 있으면 좋지만 지원 비용이 상당히 듭니다. 토큰을 잃어버리는 사람, 번거로움에 짜증 내는 사람, 설정 방법을 알아내지 못하는 사람(특히 노년층)이 생기니까요.
제가 본 감사는 그런 식으로 이뤄지지 않습니다. 중요한 시스템이면 중요한 것이고, 중요하다면 데이터를 건드리는 모든 것이 감사를 받습니다. 공유 계정이나 취약한 자격 증명을 포함한 비밀번호 정책 문제는 가장 먼저 발견되었을 겁니다. 제 짐작에는 계층 구조와 제3자 서비스 파트너 사이 어딘가에 너무 깊이 묻혀서 이 회사가 결국 제대로 된 감사를 받지 못한 것 같습니다.
아이고, 비용이다! 번거로움이다! 그럼 대충 하는 게 낫겠네요.
지금 인구 600만 명인 나라 얘기를 하고 있는 겁니다. 그중 많은 수가 고령이거나, 컴퓨터를 거의 다루지 못하거나, 사실상 글을 거의 읽지 못합니다. 아니면 스마트폰이 아예 없어서 도서관 공용 컴퓨터로만 정부 서비스를 이용하죠.
정부 서비스는 이런 상황에서도 모두 작동해야 합니다. 그건 시민의 권리니까요.
제가 요점을 놓친 걸 수도 있는데, 부모 댓글은 관리자 계정에 2FA가 없었던 이유를 묻는 거 아닌가요?
무능은 그로 인해 아무 탈 없이 이득을 볼 수 있는 한 계속될 겁니다.
지금 우리 시스템은 경영진이 자기 관할에서 벌어지는 일에 책임지지 않는 것을 강하게 부추깁니다.
이런 유출이 터져도 투자자는 돈을 잃지 않고요.
그래서 이런 것들이 바뀌기 전에는 달라지지 않을 겁니다.
저는 그 사람을 탓하지 않겠습니다. 보안팀은 오로지 보안 관련 목표만 위해 일하는 경향이 있고, 허용만 된다면 최고 수준의 보안을 위해 모든 활동을 서슴없이 멈춰 세웁니다. 반대편에는 생산성과 업무 완수를 목표로 삼는 사람들이 있습니다. 그들은 생산성을 극대화하려고 가장 빠른 길을 서슴없이 택하죠. 당신 목표가 생산성이 아니라면 내 목표도 보안이 아닙니다.
서로 반대로 작용하는 두 힘이 줄다리기를 하는 겁니다. 두 부서를 감독하는 상위 권한자가 균형 잡힌 우선순위를 정하는 법을 전혀 모르면 상황은 더 나빠지고요. 예를 들어 금융회사에서는 보안팀이 마피아 두목처럼 군림합니다. CEO를 포함해 누구도 왜 그렇게 많은 보안 계층이 필요한지 감히 따지지 못합니다.
(아마 의도하신 건 아니겠지만) 잘못된 이분법을 제시하고 계십니다. 보안이 사용성과 충돌할 수는 있어도, 비밀번호 생성과 관리 같은 기본 조치는 이미 해결된 문제입니다. 사실 비밀번호 관리자를 쓰는 편이 123456이라도 직접 입력하는 것보다 더 편합니다 :)
물론 비밀번호 관리자를 잠금 해제해야 하는데, 회사 IT가 브라우저 확장 프로그램도 데스크톱 앱도 허용하지 않아서 브라우저와 연동이 안 되고 웹 앱에 묶여 있다면 얘기가 다르죠 ...
하, 저는 123456을 입력할 필요도 없어요. 편하라고 브라우저 비밀번호 관리자에 저장돼 있거든요. 체크메이트.
저도 123456은 안 쳐요. 5에서 멈춥니다.
보안팀의 전형적인 다음 수순은 이렇죠. 비밀번호 필드를 가리거나, 클릭해서 입력하는 비밀번호 같은 꼼수로 비밀번호 관리자가 작동하지 못하게 막습니다. 이유요? 엿이나 먹으라는 거죠, 그냥...
더 나은 팀이 필요하시겠네요.
좋은 건 우리 몫이 아니죠.
직원이 두 명뿐인 회사에서는 회사 내 정치를 부릴 여지가 별로 없을 텐데요.
꼭 그래야 하는 건 아니고, 둘을 적대 관계로 놓는 것은 오히려 역효과입니다. 서로 대립하지도 않을 수 있는 두 대안 사이에서 "균형"을 잡는다고 착각하는 것이 문제입니다. 그러다 C++ std::span 같은 게 나옵니다. 덜 안전하면 당연히 더 빠르겠지 하는 생각으로, 쓸데없이 위험하게 표준화된 타입이죠. [모건 프리먼 목소리로: 하지만 더 빠르진 않았습니다]
보안과 생산성이 서로 반대로 작용하지 않는 세상 이야기를 꼭 듣고 싶네요.
우선 대부분의 사람은 인증을 안 해도 된다면 분명히 더 생산적일 겁니다.
그 단순한 경우만이라도 그런 세상을 만들어 보여 주시면, 제 주장을 접겠습니다.
싱글 사인온(SSO)이 실제로 아주 뻔하고 익숙한 예입니다. 보안은 더 좋아졌죠(이제 우리가 쓰는 65개 시스템이 전부 같은 보안으로 보호되고, 그 보안을 업그레이드하면 65개 시스템이 전부 업그레이드됩니다). 그런데 생산성도 더 좋아졌습니다. 이제 인증 시스템 수십 개와 씨름하지 않고 한 번 로그인하는 것만으로 일을 할 수 있으니까요.
또 쉬운 방법으로(이미 했는데 제가 못 본 게 아니라면) Microsoft Entra가 인증에 보안 키를 기본으로 켜 둘 수 있겠죠. 비밀번호나 휴대폰 앱을 쓰는 것보다 번거로움은 줄고 보안은 더 좋아집니다.
따지자면 로그인을 아예 안 해도 되는 쪽이 여전히 생산성은 더 높을 텐데요.
그러니 여전히 절충을 하고 있는 겁니다.
아니요, 잠깐만 생각해 보면 이건 따질 거리도 못 됩니다. 로그인은 인증과 상관이 없습니다. "showdead나 noprocrast 같은 내 설정을 쓰고 싶다, 내 즐겨찾기 목록을 관리하고 싶다" 같은 문제입니다. 인증과 보안은 다른 사람이 허락 없이 당신 계정에 접근하거나 계정을 바꾸거나 당신 재산을 쓰지 못하게 하려는 것이지, 자원이 무한하고 모두가 완전히 똑같다는 전제와는 아무 상관이 없습니다.
아닙니다.
우리 동네 달걀 한 바구니 판매상도 100% 동의하겠네요.
어느 쪽이든 달걀은 전부 같은 곳(같은 컴퓨터)에 계속 보관됩니다. 다만 한쪽은 달걀을 고급 완충 포장에 담아 주고, 다른 쪽은 달걀 하나하나에 아무 재료나 둘둘 감아 놓을 뿐이죠.