read

씨티은행 카드 `고객 정보` 샜다

며칠전 기사입니다. 외국계은행인 씨티은행이 해킹당했다고 야단법석이네요. 그러나 실제 기사 내용을 보면 씨티은행의 보안이 문제가 아니라 전자 지불 시스템상의 보안 문제가 있었던 것입니다. 두 개는 엄연히 다른 업체와 시스템임에도 불구하고 기사 제목을 헷갈리게 잘 썼네요. 신문사 입장에서 좋은 기사란 얼마나 헷갈리게 제목을 쓰느냐에 달려 있는 것 같습니다.

사용자 삽입 이미지
보안성과 사용편이성은 시소의 양 끝에 놓여 있습니다. 한 쪽이 올라가면 다른 한쪽이 내려가게 되지요. 인터넷 뱅킹 한 번 하기 위해 깔리는 수 많은 프로그램들 생각이 나시나요? 왜 그렇게 많이 깔아야 될까요? 뭔 놈의 해킹 감지기들이 그렇게 많을까요? 그걸 죄다 설치하면 보안성이 좋아지기는 한 걸까요?

[러플린칼럼] 은행서 겪은 한국 과학기술의 문제

러플린 카이스트 총장의 칼럼에서도 알 수 있듯이 우리 인터넷 환경에는 분명 문제가 있습니다. 특히 인터넷 뱅킹의 경우 왜 이 모양인지 제 경험에 비추어 한번 얘기해 볼께요.

지금으로부터 한 6년 전에 인터넷 뱅킹을 개발하는 회사에서 일했던 적이 있었습니다. 병역특례였죠. JSP 로 웹프로그래밍을 했었습니다. 보통 한 팀에 Project Manager 1 명과 그 외 수석 개발자 1 명 그리고 개발자 4 명과 웹 페이지 디자이너 2 명 정도로 구성됐었습니다. 나름 괜찮은 구성이었습니다. 전 다른 병역특례 친구들과 함께 '개발자 4명' 중 한 명이었습니다.

그러나 문제는 저를 비롯한 4 명의 개발자들의 수준이었습니다. 전 웹프로그래밍을 따로 공부해 본 적도 없었고 그냥 눈동냥으로 배운 것들로 짜깁기를 하여 코딩을 했습니다. 다른 친구들도 거의 비슷비슷한 수준이었습니다. 지금 생각해보면 위험하기 짝이 없었죠. 나중에 컴퓨터 보안에 대해 조금 공부해 볼 때는 참 많은 도움이 되긴 했습니다. 보안성이 낮으므로 위험!  이라는 딱지가 붙은 예제 코드들이 정말 친숙했거든요. 제가 곳곳의 인터넷 뱅킹과 여러 지불 서비스에 심어놓은 코드 바로 그거였습니다. 그 위험한 웹페이지 들이 아직까지 서비스 되고 있는지는 모르겠네요.

[caption id="" align="aligncenter" width="419" caption="개발. 그까이거 뭐"]사용자 삽입 이미지[/caption]

아무튼 문제는 바로 여기 있습니다. 몸값이 싼 병아리 개발자들을 가지고 프로젝트를 따내서 집을 대충 지은다음, 곳곳에 있는 보안 취약점들에 대한 접근을 최소화 하기 위해 대문에다가 자물쇠들을 주렁주렁 달아놓죠. 자물쇠 또한 외부에서 사다가 달려고 하니 Active X 처럼 쉬운 기술로 만들어진 녀석을 주로 이용한 겁니다. 덕분에 우리는 인터넷 뱅킹 한번 쓸려면 뭘 자꾸 설치하라는 창을 만나게 되는 거지요.

만약 그 때 자물쇠 사는 비용을 가지고 집안 구석구석을 살펴보는 데 썼으면 어땠을까? 하는 생각이 듭니다. 코드에 대한 inspection 을 통해 보안 문제들을 찾아내도록 하는 자그마한 노력을 들였다면, 필요한 자물쇠 개수는 훨씬 적어졌을 겁니다. 하지만 SI 업체의 일정이란 게 그렇듯 항상 쫓기며 일하다 보니 수석 개발자들도 다른 사람에게 신경을 써줄 여유가 없었던 거지요.

적다보니 왜 얘기가 이쪽으로 샜는지 모르겠네요. 이번 전자지불업체 해킹 건과 같은 경우 은행의 파트너들이 최소한 어느 정도 수준의 코드품질을 보장해야 된다고 봅니다. 그러기 위해서 개발 과정에 코드의 품질을 높이고자 하는 프로세스가 들어가야 될 테고요. 실제 개발 환경이 수 많은 문제들로 뒤범벅이 되어 있다는 것을 압니다. 우리나라는 개발자가 개발에만 전념하기 힘든 환경이지요. 그래도 할 수 있는 것부터 시작을 해봐야 옳지 않을까요

Blog Logo

Ki Sung Bae


Published

Image

Gsong's Blog

Developer + Entrepreneur = Entreveloper

Back to Overview