KT의 개인정보 유출 사고가 터졌다. 요즘의 해킹 사례는 엄청나게 고도화된 수법도 있지만 의외로 그런 부분들은 관제 센터를 통해 시간이 오래 걸리더라도 결국 파악할 수 있다. 하지만 이번 KT 사태는 범인들이 경찰에 적발되지 않았으면 모른 채 넘어갔을지도 모른다.

사실 당사자인 KT가 이 사건을 통해 어떤 자료가 흘러나갔는지, 어떤 방법으로 털렸는지에 대해 공식적으로 파악하지 못하고 있는 상황이다. 그러다보니 경찰의 수사 결과를 듣고 파악하겠다는 것이 KT의 입장이다. 경찰 조사 결과가 나와야 확실한 해킹 경로나 결과가 나오겠지만, 이번 사건은 보안과 관계된 이들에게 물어봐도 얼개는 파악할 수 있다. 웹개발자와 몇몇 보안 전문가들의 대답을 토대로 문답 형식으로 정리했다.

KT-CI
▲ KT-CI

Q: 별 것 아닌 해킹 수법이라는 이야기가 나오는데.

A: 이번 사건은 해킹이라고 부르기도 어렵다. 이건 그냥 웹사이트의 취약점이 뚫린 것이다. 모든 웹사이트는 쉴새없이 정보를 주고받는다. 거기엔 로그인 정보도 있고, 신용카드 번호나 주민등록번호도 있다. 각 웹사이트들은 그 예민한 정보를 보관한다. 어떤 정보를 요청할 땐 누가 요청한 것인지 확인하는 과정이 따른다. A라는 사람이 가입정보를 요청하면 A의 정보만 줘야 하는데, KT는 A로 로그인해 B의 정보를 요구하면 B의 정보를, C를 요구하면 C를 꺼내줬다. 입력만 하면 자판기처럼 술술 꺼내준 것이다. 암호를 풀거나 해석할 필요도 없는 날데이터가 그냥 나오니 이를 자동화만 거치면 아주 간단하게 원하는 정보를 손에 넣는다. 이건 해커뿐 아니라 웹개발자라면 누구나 아주 간단하게 뽑아낼 수 있다.

Q: 이번에 범인이 쓴 것으로 알려진 '파로스' 프로그램은 뭔가.

A : KT의 웹사이트는 굳이 파로스 프로그램을 쓰지 않아도 다 뚫을 수 있었다. 파로스 프로그램이라기보다는 프록시 해킹이라고 보는 것이 옳다.

이번 해킹 방법은 적절한 인증과정을 거치지 않고 요청자에게 데이터를 보내준 것이 문제다. 로그인만 하면 본인의 정보건 아니건 검증하지 않고 일단 원하는 답을 준다. KT가 했던 인증은 ‘웹사이트에 로그인했느냐’가 전부였다. KT는 고객번호를 기준으로 가입자를 관리하는데, 요청자와 가입자 번호가 일치하는지 체크하지 않고 웹사이트에 로그인한 사람이 요청만 하면 어떤 정보든 다 넘겨줬다.

파로스 프로그램은 서버와 클라이언트 사이에 끼어서 특정 쿼리를 넘겨주고 받는 것을 대신하는 프로그램이다. 고객정보를 서버에 보내고 다시 받아주는 과정을 손쉽게 자동화해주는 프로그램일 뿐이다. 파로스 프로그램이라고 해서 특별한 기능이 있는 건 아니다. 파로스는 홈페이지에서도 바로 내려받아 조금만 손보면 누구나 쓸 수 있다.

Q: 요청한 정보가 암호화되지 않았는데, 그건 문제 아닌가.

A: 서버와 클라이언트 사이에 HTTPS로 보안이 됐을 수는 있다. 하지만 결국 끝단에서 요청한 자료와 요청자를 대조하지 않았기 때문에 정보를 가져와 클라이언트쪽에 올리면 암호화도 그냥 풀리기 때문에 암호화는 별 의미가 없다.

kt-hacking
▲ kt-hacking

Q: 그럼 웹사이트를 어떻게 만들어야 안전한가.

A: 보통은 이런 경우에 요청자와 자료를 대조해 양쪽이 맞아야 정보를 전달해주는 방식을 쓴다. A 이용자로 로그인해 B 이용자의 정보를 요구하면 거절해야 한다. 보통은 이렇게 대량의 정보를 반복적으로 요청하면 본인 확인을 위해 다시 로그인을 시키거나 기계적인 해킹을 의심해 캡차(CAPTCHA)를 입력받는 등의 단계를 거친다. 일단은 반복 작업을 알아채야 하는데 그게 잘 안 됐을 가능성이 높다.

Q: 개인정보를 확인할 떄 공인인증서나 ARS 인증같은 거라도 해야 한다는 말인가.

A: 그건 우리나라에서나 하는 거다. 그것 말고도 방법은 많다. 앞서 이야기한 것처럼 로그인을 다시 하라고 한다거나 캡차같은 방법만으로도 충분히 막을 수 있다. 그게 이상상태를 파악하는 과정이니 그래도 자꾸 다른 정보를 요구하면 그 접근은 차단하는 것이 맞다. 이미 대형 웹사이트들은 다 그렇게 하고 있다.

Q: 그럼 KT처럼 대조하지 않고 두는 경우가 많은가.

A: 개발자들이 재미삼아서도 종종 일부 웹사이트에 쿼리를 날려보기도 하는데, KT는 딱 맞아서 걸려든 사례다. 그것도 한 가지일 뿐이다. 밝힐 수는 없지만 의외로 많은 웹사이트들이 비슷한 방법으로 뚫린다는 건 공공연한 비밀이다. 다만 보통 개발자들은 그런 사례를 발견하면 그 웹사이트에 제보한다. 이를 제보하지 않고 빼내서 돈으로 만들었으니 법적으로 문제가 되는 것이다.

경찰의 조사 결과가 나와봐야 알겠지만, 어쩌면 이번 일당들이 단속된 이유도 KT 때문이 아니라 KT를 통해 정보를 다 긁어낸 뒤 KT와 비슷한 시스템을 가진 웹사이트를 공격하려다가 그쪽 관제 시스템에 걸려 잡혔을 가능성이 높다. KT는 몰랐다고 말했고, 경찰청은 모 증권사와 온라인게임 업체를 해킹하려던 것을 잡았다고 밝힌 것이 이런 추측을 뒷받침한다.

저작권자 © 블로터 무단전재 및 재배포 금지