카드정보 유출, 더 알아야할 불편한 진실

전문가 칼럼입력 :2014/01/27 09:22    수정: 2014/01/27 09:23

임백준
임백준

세상에는 세 가지 종류의 지식이 있다. 우선 알려진 앎(known knowns)이 있다. 우리는 우리가 그들에 대해서 알고 있음을 안다. 알려진 모름(known unknowns)도 있다. 우리는 우리가 그들에 대해서 모르고 있음을 안다. 하지만 알려지지 않은 모름(unknown unknowns)도 있다. 우리는 우리가 그들에 대해서 모르고 있다는 사실을 알지 못한다.

네오콘의 핵심인물이었던 도날드 럼스펠드 국방장관이 남긴 유명한 말이다. 그는 '알려지지 않은 모름'이라는 알쏭달쏭한 레토릭을 동원해서 이라크 전쟁으로 대표되는 테러와의 전쟁을 합리화했다. 사람의 심리는 알지 못하는 일 앞에서 쉽게 두려움에 사로잡히기 때문이다.

작금에 벌어지고 있는 개인정보 유출 사태는 '알려지지 않은 모름'에 대한 일반 시민들의 두려움을 증폭시키고 있다. 사건이 터지고 나서야 고구마줄기처럼 줄줄이 끌려나오며 드러나는 SC은행이나 씨티은행의 사건이 아니더라도, 과연 국민, 롯데, 농협을 제외한 다른 곳은 안전한가라는 근본적인 질문을 던지지 않을 수 없기 때문이다.

지난 번 칼럼에서 미국의 유명한 잡화점/백화점인 타기(Target)과 니만 마커스(Neiman Marcus)가 해킹을 당했다는 소식을 전했다. 해가 바뀌면서 크게 뉴스가 되고 있는 니만 마커스의 해킹을 니만 마커스가 회사차원에서 처음으로 인지한 것은 작년 12월이었다.

그들은 한 동안 사건을 공개적으로 드러내지 않고 쉬쉬하다가 브라이언 크렙스라는 기자가 사건을 눈치 채고 개인 블로그에 글을 싣자 비로소 (마지못해서) 사건을 공개했다.

놀라운 것은 실제로 해킹이 일어난 시점이 무려 지금으로부터 6개월 전인 7월이었다는 점이다. 장장 6개월 동안 이 사건은 '알려지지 않은 모름'의 영역에서 존재해 왔다. 은밀함을 사랑하는 해커들에게 6개월 동안의 '알려지지 않은 모름'은 솜사탕처럼 달콤했을 것이다.

해킹된 고객정보를 손에 넣은 러시아의 해커들이 그런 정보를 가지고 6개월 동안 어떤 일을 할 수 있었을 지를 생각하면 등골이 서늘하다. 그런데 이와 같은 '알려지지 않은 모름'이 니만 마커스만의 일이었을까.

로이터는 지난 12일에 타깃과 니만 마커스 외에 비슷한 해킹수법에 의해 민감한 정보를 도난당한 회사가 세 곳 정도 더 있다고 보도했다. 세 회사의 이름은 아직 밝혀지지 않았다. 로이터의 보도가 아니더라도 비슷한 방식으로 당한 곳이 현재 거론되고 있는 회사만이 아닐 거라는 점은 상상하기 어렵지 않다.

데이터 보안에 대한 인식이 일반적으로 우리보다 앞서 있는 미국의 회사들이 이렇게 무인지경으로 뚫리고 있음을 생각해본다면, 우리나라 회사들이 소장하고 있는 데이터가 과연 안전하게 보호되고 있는가라는 질문에 대한 답은 굳이 확인할 필요가 없을 것 같다.

타깃과 니만 마커스를 해킹하는데 사용된 소프트웨어는 해커들 세계에서 'ree4'라는 아이디로 알려진 러시아의 17세 소년이 작성했다. 블랙포스(BlackPOS)와 같은 사이버범죄 소프트웨어 매장에서 기본옵션만을 장착한 소프트웨어가 단돈 1천800달러에, 그리고 훔친 데이터를 암호화하는 추가옵션이 장착된 소프트웨어가 2천300달러에 거래되었다고 한다.

러시아와 우크라이나의 해커들은 이러한 소프트웨어를 구입해서 일반매장에서 사용되고 있는 판매시점관리(Point of Sales) 시스템을 파고들었다. POS 시스템은 우리가 일반 상점이나 백화점의 계산대에서 흔히 보는 컴퓨터 시스템을 의미한다.

타깃의 경우 전문적인 해커들이 웹서버를 공략해서 내부 서버를 장악하는 방식으로 타깃 POS 시스템에 악성코드를 침투시켰고 니만 마커스의 경우에는 매장에서 사용하는 POS 시스템의 비밀번호가 터무니없이 간단한 것이라서 해커들이 손쉽게 POS 장비를 해킹할 수 있었다고 한다. (니만 마커스는 이러한 사실을 인정하지 않는다.)

이런 말을 하면 자기 얼굴에 침 뱉기이지만, 뉴저지에 있는 한국계 회사에 다니는 아는 동생이 부탁을 해서 주말 시간을 이용해서 POS 장비 납품업체에 들어가는 소프트웨어를 제작해 준 적이 있다. 이때 프로젝트를 진행하는 사람들이 POS 장비를 둘러싼 데이터 보안에 대해서 무지할 뿐만 아니라 보안에 대해서 고민을 해야 할 필요성을 느끼지 못하는 것을 보고 놀랐다.

결국 내가 작성한 코드는 악의적인 의도를 가진 해커들의 공격 앞에서 무력한 코드가 되고 말았는데, 백화점이나 일반상점에 가면 점원들이 사용하는 POS 시스템이 눈에 들어오면서 저것들 또한 얼마나 해킹하기 쉬운 것들일까에 대해서 생각을 하는 버릇이 생겼다.

POS 장비라는 것이 대부분 마이크로소프트사에서 제공하는 임베디드 시스템을 기반으로 하는데, 사실상 윈도 운영체제와 다를 것이 없다. 이러한 시스템에 악성코드가 설치되고 나면 해당 POS 장비에서 입력되는 신용카드 정보는 고스란히 러시아에 있는 해커들의 손에 차곡차곡 쌓인다. 아르바이트를 해서 번 돈으로 여자 친구에게 예쁜 목도리를 선물해주려고 카드를 긁는 청년은 자기도 모르는 사이에 러시아의 허름한 아파트에 사는 갱에게도 선물을 주는 셈이다.

직원들과 회식을 하고 카드를 긁는 부장님도 마찬가지고, 차에 기름을 넣기 위해서 카드를 긁는 홍길동씨도 마찬가지다.

'알려지지 않은 모름'의 가능성에 대해서 생각해보자. 신용카드를 발행하는 회사들이 악의를 품은 내부개발자나 해커에게 속수무책으로 털리는 마당에 한국의 백화점이나 상점에서 사용하는 POS 시스템들은 해커들의 공격 앞에서 얼마나 잘 견딜 수 있도록 작성되어 있을까.

'부정사용방지 시스템'과 같은 핵심적인 코드마저 외주를 주는 어이없는 관행이 일반화 되어있는 한국 사회에서 POS 시스템처럼 ‘하찮은’ 소프트웨어는 얼마나 많은 외주의 사다리를 타고 내려가 작성되었을지 생각하면 아찔하다.

프로젝트가 외주의 사다리를 한 칸 건너면 시스템의 보안수준이라는 수건은 때가 묻어서 더러워지고, 두 번 건너면 걸레가 된다.

그렇기 때문에 개발에 따르는 비용을 아끼기 위해서 생명을 위협할 지경으로 개발자를 쥐어짜는 ‘외주’의 관행은 개발자만의 문제가 아니다. 잠이 부족한 파일럿이 비행기 탑승객의 생명을 위협하는 것처럼, 비정상적인 처우를 받으면서 노동을 착취당하는 개발자들은 소중하게 다루어져야 하는 데이터와 개인정보를 보호하지 못하고 위협에 노출시킨다.

이런 의미에서 카드사 정보 유출사태를 둘러싼 한국 사회의 해법은 근본부터 잘못되었다. 누군가에게 사과를 받고, 누군가를 문책하고, 누군가가 사임하고, 벌금을 받아서 해결되는 문제는 없다. 우리가 뒷북을 치며 난리를 떠는 동안 어딘가에 있는 누군가는 자신의 데이터베이스에 쌓이는 정보를 바라보며 미소를 짓는다. 지금이라도 정신을 차리고 일부 카드사 내부 보안을 철저하게 개선한다고 해도 그것은 지극히 부분적인 해법에 불과하다.

단기적으로는 매장에서 사용되고 있는 모든 POS 시스템에서 당장 블랙포스의 악성코드를 검출하기 위한 백신프로그램을 돌려서 안전을 확인해야 한다. 그리고 해킹을 당한 사실을 알고도 숨기는 회사에게 벌을 내리는 법이 제정되어야 한다.

중기적으로는 완전히 근절하기 힘든 카드번호의 유출보다 개인신상정보나 카드번호의 오용을 막을 수 있는 '부정사용방지 시스템' 강화에 노력을 기울여야 한다. (이러한 시스템은 수출도 가능하다. 아주 작은 이스라엘 벤처기업이 이런 알고리즘을 개발해서 큰돈을 벌었다. 우리라고 못할 이유가 없지 않은가.)

그리고 가장 중요한 장기적인 해법으로는 프로그래머가 싼값에 부려먹을 수 있는 머슴이라는 착각을 바로잡아야 한다. 어린 아이들에게 코딩교육을 시키는 것보다 소프트웨어 개발에 대한 사회적인 인식을 바로잡는 것이 더 시급하고 근본적이다.

예를 들어 업계에 만연한 악의적인 관행을 바로잡기 위해서 1단계 이상의 외주는 법으로 금지해야 한다. 소프트웨어 개발은 (심지어 야근수당과 같은 당근을 동원한다고 해도) 하루에 8시간 이상 할 수 없도록 법으로 보장해야 한다. 대기업에게 몰리는 일감을 중소기업에게 나누어주기 위한 방법이 구체적으로 모색되어야 하고, 나이를 먹으면서 코딩을 손에서 놓는 것이 아니라 나이를 먹을수록 코딩경륜이 존중받는 풍토가 조성되어야 한다.

관련기사

불행하게도 우리는 우리가 무엇을 알지 못하는지 모른다. 전 세계의 해커들이 우리나라를 포함하여 경제적으로 발전한 사회를 잠식하고 있는 수준은 아마도 우리가 상상하는 것 이상일 것이다. 이러한 해커들과의 싸움은 특정 개인이나 부서에서 일시적으로 담당할 수 있는 일이 아니다.

멋진 백신프로그램이나 사이버수사대가 일거에 해결할 수 있는 문제가 아니다. 장관이나 대통령이 나선다고해도 달라질 것이 없다. 그것은 시작과 끝이 없는 지루한 전쟁이다. 어떤 의미에서 그것은 문화전쟁이다. 개발자들을 위한 개발자들의 건강한 문화가 정립되지 않는다면 결코 이길 수 없는 끝나지 않는 싸움이다.

*본 칼럼 내용은 본지 편집방향과 다를 수 있습니다.

임백준 IT컬럼니스트

한빛미디어에서 『폴리글랏 프로그래밍』(2014),『누워서 읽는 퍼즐북』(2010), 『프로그래밍은 상상이다』(2008), 『뉴욕의 프로그래머』(2007), 『소프트웨어산책』(2005), 『나는 프로그래머다』(2004), 『누워서 읽는 알고리즘』(2003), 『행복한 프로그래밍』(2003)을 출간했고, 로드북에서 『프로그래머 그 다음 이야기』(2011)를 출간했다. 삼성SDS, 루슨트 테크놀로지스, 도이치은행, 바클리스, 모건스탠리 등에서 근무했고 현재는 맨해튼에 있는 스타트업 회사에서 분산처리, 빅데이터, 머신러닝과 관계된 업무를 수행하고 있다.