기사 공유하기

KT의 홈페이지가 뚫려서 또 고객정보가 털렸다고 합니다. 이번에도 만만치 않습니다. 1,200만 명의 고객정보가 빠져나갔다고 해요. 대단한 해킹 실력으로 털어간 것도 아니라고 하더군요. 회원 정보를 무작위로 찔러봐서 맞는 게 걸리면 걸리는 대로 가져갔다고 합니다. 틀린 정보로 3~4번 이상 시도하면 강제로 중단시키고 대처를 했어도 됐을 텐데 그걸 안 해서 오랫동안 차근차근 빼내 갔다고 합니다. 1년 동안이나 몰랐대요.

해킹 안 하고 그냥 개발자 도구만 켜도 요금정보, 부가서비스, 핸드폰구매일, 단말기 정보, 고객정보 등등이 쏟아져 나오는 KT 홈페이지
해킹 안 하고 그냥 개발자 도구만 켜도 요금정보, 부가서비스, 핸드폰구매일, 단말기 정보, 고객정보 등등이 쏟아져 나오는 KT 홈페이지 (출처: KT 개인정보 얼만큼 뚫렸나 전격 분석 ! ( 데이터 포함 ) 해킹)

사실 보안은 매우 어렵습니다. 아무리 전체를 철통 같은 태세로 지킨다 해도 어딘가 모를 보안 허점을 이용하면 정보가 송두리째 나갈 수 있기 때문입니다. 게다가 우리나라 국민들의 핵심 개인정보는 주민등록부터 카드번호까지 이미 다 빠져나갈 대로 빠져나가서 여차하면 위험이 더 커질 수 있는 상황이 됐습니다.

하지만 국내에는 아직도 이상하게 구현된, 혹은 오래전에 구현된 이후로 별반 달라지지 않은 웹사이트가 적지 않습니다. 심지어 돈이 엄청나게 많을 것 같은 은행권도 주민등록번호를 암호화도 시켜두지 않은 채 막 이용하고 있거든요. 돈이 없어서 그렇답니다. 정부는 그걸 인정해 주고 있고요. 신기하죠?

어쨌든 이왕 이렇게 된 거 아주 상식적인 수준에서 이상한 방식으로 구현된 사이트들을 가끔 살펴보려고 합니다. 알고 당해야 덜 억울하겠다는 심정입니다. 내부 보안이 엉망이다, 이런 건 겉에서는 알 수가 없으니 알고 계신 분은 제보해주시고요.

첫 번째는 한국철도공사(Korail) 홈페이지입니다.

한국철도공사(Korail) 홈페이지
한국철도공사(Korail) 홈페이지

숫자 4자리 비밀번호만 쓸 수 있었던 곳

한국철도공사 홈페이지는 불과 지난달 (2014년 2월) 말까지만 해도 비밀번호로 숫자 4자리만 사용할 수 있었습니다. 즉 숫자 네 자리만 알면 이름, 전화번호, 주소, 이메일을 알 수 있고 입력한 정보에 따라 휴대폰 번호와 신용카드 번호까지 알 수 있었다는 뜻입니다. 다행히도 지금은 영문 소문자, 숫자, 특수문자로 8~20자리를 이용할 수 있습니다. 물론 기존 회원들은 로그인을 해서 직접 변경을 해야 합니다.

2014년 2월 27일, 드디어 4자리 비밀번호 탈피! 역시 인터넷 강국!
2014년 2월 27일, 드디어 4자리 비밀번호 탈피! 역시 인터넷 강국!

그런데 잠깐, 8~20자리? 영문 소문자? 왜 한국철도공사는 20자가 넘어가는 비밀번호는 이용하지 못하게 할까요? 길게 쓰면 쓸수록 더 안전한 것 아닌가요? 그리고 왜 대문자는 입력을 할 수 없게 할까요? 대문자를 섞으면 그만큼 보안성이 확 올라가는데 말이죠. 2014년에야 겨우 비밀번호 4자리 제한을 풀어놓고 왜 또 제한을 두려고 할까요?

요즘은 비밀번호가 얼마나 막강한지 알려주는 사이트도 있습니다. 한번 테스트해보세요. 단, 절대 진짜 사용하고 있는 비밀번호를 넣지 마세요. 그냥 테스트로 감만 잡으세요.

소문자 6자리 + 숫자 2자리, 총 8자리를 넣어봤습니다. 이 정도는 11분 만에 털 수 있대요.
소문자 6자리 + 숫자 2자리, 총 8자리를 넣어봤습니다. 이 정도는 11분 만에 털 수 있대요.

참, 현장 발권용 비밀번호는 여전히 숫자 4자리라고 합니다.

보안은 당연한 게 아닌 유료 서비스

재밌는 건 한국철도공사는 비밀번호를 8~20자리로 고치기 20여 일 전부터 “안심로그인”이라는 유료 서비스를 시작했습니다. 부가세 포함 매월 1,100원짜리 서비스입니다. 그러니까, 한국철도공사가 자사 홈페이지 서비스의 보안성을 높이기 전부터 회원들에게 개인정보 유출이 두려우면 매월 1,100원씩 내고 이용하라고 광고를 한 것입니다.

여기 벌써 민영화된 건가요? 기본이어야 할 보안 서비스를 월 1,100원씩 받는다면서 이벤트를 하다니요.
여기 벌써 민영화된 건가요? 기본이어야 할 보안 서비스를 월 1,100원씩 받는다면서 이벤트를 하다니요.

자사의 서비스는 안전하지 못한 상태가 기본이고, 안전함을 보장받으려면 돈을 내고 별도의 서비스를 받아야 한다는 걸까요? 이해하기 어려운 발상입니다. 이 서비스를 이용하면 인터넷 이용 시 모든 보안을 다 커버해 주는 것도 아니에요. 단순히 한국철도공사의 홈페이지, 그것도 로그인과 관련된 부분만 지켜주는 거죠. 불안하면 매달 1,100원씩 내랍니다.

신용카드 정보 입력 시 보안 서버 설정 미적용

우리가 보통 ‘웹페이지 A’에서 정보를 입력하면 ‘웹페이지 B’에 연결되고 무언가를 처리합니다. 이때 ‘입력 웹페이지 A’와 ‘처리 웹페이지 B’ 모두 보안 서버 설정 (SSL 적용)을 하는 것이 안전합니다. 물론 2000년대 중반만 해도 ‘처리 페이지 B’에만 SSL 적용을 하는 사이트가 수두룩했습니다. 하지만, ‘웹페이지 B’로 가기 전에 입력을 받는 ‘웹페이지 A’가 위변조될 수도 있고 누군가 정보를 중간에서 가로채 볼 수 있기 때문에 입력을 시작하는 웹페이지부터 SSL 적용을 하는 것이 안전합니다.

카드 정보 일부만 입력하면 바로 결제가 됩니다. 그런데 이 페이지에 SSL 적용은 안 했어요.
카드 정보 일부만 입력하면 바로 결제가 됩니다. 그런데 이 페이지에 SSL 적용은 안 했어요.

하지만 한국철도공사 홈페이지에서 신용카드를 입력하는 웹페이지에는 SSL 적용이 안 되어 있습니다. 그 정보를 받아 처리하는 페이지에만 SSL 적용이 되어 있고요. 만약 고객이 입력한 정보를 네트워크에서 누군가 기다렸다가 중간에 가로채서 중요한 정보가 빠져나가면? 아마도 그건 고객 책임이라고 하겠죠? 한국의 보안 서비스 상식선에서 생각한다면 말이죠. 그게 싫으면 또 다른 유료 서비스를 만들어서 돈을 내라고 할지도 모르겠습니다.

요즘은 금융 서비스가 아니더라도 트위터나 페이스북, 구글 플레이 등 다양한 웹서비스들이 아예 모든 페이지를 다 SSL을 적용해서 HTTPS로 서비스를 하고 있습니다. HTTPS로 서비스를 하면 트래픽이 더 많이 발생하니 부담스러워서 적용을 못한다는 다른 회사 담당자분 이야기도 들어봤는데, 그것도 신석기 시대 이야기죠. (XX항공이었습니다.)

팝업창에 중요한 정보를?

한국철도공사 홈페이지는 브라우저에 팝업을 허용하지 않으면 로그인 후 그냥 빈 페이지가 나옵니다. 아이디, 비밀번호를 제대로 입력하고 로그인을 시도했는데 빈 페이지가 나오면 누구라도 당황하거나 의심을 할 겁니다. 그런데 그렇게 구현이 되어 있네요. 물론 새로고침하면 로그인된 상태로 홈페이지가 제대로 뜨긴 합니다.

이 경우 웃긴 건 CTRL 같은 특수키나 마우스 우클릭을 막아놔서 인터넷 익스플로러에서는 CTRL-R, F, ‘마우스 우클릭 후 새로고침’이 안 돼요. 무조건 주소창에 다시 마우스를 갖다 댄 후 다시 엔터키를 입력해야만 합니다. 더 웃긴 건 크롬이나 사파리에서는 마우스 우클릭이 된다는 겁니다. 마우스 우클릭을 사용할 수 없다는 경고창이 뜨긴 하는데 그냥 잘 됩니다.

이 팝업창에는 그나마 향상된 (8~20자리) 비밀번호 시스템으로 수정하라는 안내문이 들어있습니다. 2014년 5월 27일까지 비밀번호를 변경해야만 서비스를 제대로 이용할 수 있다는 문구도 이 안에 들어있죠. 고객에게 비밀번호를 길게 바꾸라고 강제로 요구하는 걸 보니 이제라도 그나마 보안에 신경을 쓰고 있는 것 같긴 합니다.

매우 중요한 정보를 안내하지만, 팝업창을 허용한 사람만 볼 수 있어요.
매우 중요한 정보를 안내하지만, 팝업창을 허용한 사람만 볼 수 있어요.

그런데 이 팝업 안내문은 “팝업을 차단을 해지”하지 않으면 볼 수 없습니다. 이 정보가 팝업창에 들어있으니까요. 많은 인터넷 이용자들은 팝업으로 뜨는 광고가 보기 싫어 팝업 설정을 막아놓고 컴퓨터를 쓰곤 합니다. 그런데 보안성을 올리고 서비스를 계속 이용할 수 있다는 핵심 정보가 팝업창 안에만 들어있는 것죠. 물론 몇 번째 공지사항을 보면 있긴 합니다만, 이용자가 발견하면 로또고 발견 못 하면 꽝이죠.

팝업창 이야기는 여기까지만 하고 싶은데 한 가지 더 있습니다. 팝업창 안에서 비밀번호를 수정할 때 “비밀번호 수집”에 동의하느냐고 물어봅니다. 동의한다는 체크박스를 선택하지 않으면 변경할 수 없다는 문구도 있습니다. 정말 웃깁니다. 이용자가 한국철도공사의 비밀번호를 변경하면 그 비밀번호는 당연히 한국철도공사의 서버에 저장되겠죠? 왜 이런 물어보나 마나 한 질문을 하는 걸까요?

“동의를 안 하면 비밀번호를 변경할 수 없는데, 너 동의할래, 말래?”

이렇게 물어보는 겁니다. 이런 걸 동의라고 하나요? 저는 ‘울며 겨자 먹기’라고 배웠습니다. 그런데 사실 이건 울며 겨자 먹기도 아니에요. 당연한 걸 묻는 거예요. 배고파서 밥 사 먹으려는 사람에게 “너, 돈을 내야 밥을 먹을 수 있는데, 돈 낼래, 안 낼래?” 라고 물어보는 것과 같아요. 돈 안 내면 밥 안 줄 거면서 왜 물어봅니까.

마무리

한국철도공사 홈페이지는 인터넷 익스플로러가 아니면 레이아웃이 좀 깨지기도 합니다. 석기시대 홈페이지처럼 프레임 태그를 계속 유지하는 바람에 좋은 정보를 발견해서 그걸 공유하고 싶어도 상세 URL 주소를 알 수가 없습니다. 실수로 새로고침을 하면 첫 페이지로 가버리죠.

하지만 한국철도공사 홈페이지는 아주 최고의 사용성을 자랑하는 부분이 있습니다. 결제할 때 액티브엑스/플러그인 이런 것들을 전혀 설치하지 않아요. 그냥 신용카드 정보 입력하면 땡입니다. 바로 결제됩니다. 키보드 보안? 엔프로텍트? 안랩? 그게 뭐죠? 우걱우걱.

그러니, 신용카드 입력 폼부터 SSL이 적용됐으면 좋겠어요. 사용성 좀 후지고, 레이아웃 막 깨지고, 정보 찾기 힘든 건 다 이해해줄 테니 각종 입력 폼이 나오는 웹페이지에 SSL 적용만 좀 해주세요.

관련 글

7 댓글

  1. 아, 정말 속시원하게 잘 써주셨네요. 이런 기사가 많이 공유되어야 합니다. 월 1,100원씩 내고 안심로그인을 하라니.. 진짜 미친 거 같아요.

  2. 정말 조목조목 코레일 홈페이지 보안에 대해서 잘 써 주셨네요. 글 잘 읽었습니다. 분량이 많아서 꼼꼼하게 읽어보진 않았지만 다 맞는 내용인 것 같아서 많은 분들에게 도움이 되는 글이라고 생각합니다. 고맙습니다.

댓글이 닫혔습니다.