"코드 한줄만 더넣었다면"…'여기어때'·'빗썸'은 어떻게 뚫렸나

머니투데이 이해인 기자 2018.07.29 11:00
글자크기

기초적 방법으로 해킹…'시큐어코딩' 중요성↑…"설계 단계부터 보안 신경써야"

"코드 한줄만 더넣었다면"…'여기어때'·'빗썸'은 어떻게 뚫렸나


"모텔에서 즐거우셨습니까?"

2017년 3월, 4000여명에 이르는 숙박 앱(애플리케이션) '여기어때' 이용자들은 불쾌한 내용을 담은 문자메시지를 받고 당혹감을 감출 수 없었다. 해킹으로 이용자 정보가 유출되면서 숙박 이용 내용을 담은 문자가 발송된 것. 당시 이용자명을 비롯해 휴대폰 번호 등 고객 정보 323만건이 유출된 것으로 알려졌다.

해킹 원인은 'SQL 인젝션'. SQL인젝션은 데이터베이스에 대한 질의 값을 조작해 해커가 원하는 자료를 빼내는 공격기법이다. 해커가 정보를 탈취할 때 사용하는 가장 흔한 공격 방식 중 하나다. 숙박 이용 내역이라는 민감정보를 다루면서 가장 기초적인 해킹 기법에 대한 방어책 조차 마련하지 않았던 것.



최근 논란이 된 가상통화 거래 사이트 '빗썸' 해킹 또한 '여기어때' 처럼 허탈할 만큼 기초적인 공격 기법으로 해킹됐다. 방송통신위원회와 한국인터넷진흥원(KISA) 조사 결과에 따르면 빗썸 해킹 기법은 약 200만번의 사전대입공격을 통해 이뤄졌다. 사전대입공격은 해커가 사전에 확보한 ID와 비밀번호 혹은 일반적으로 흔히 사용되는 정보파일을 가지고 프로그램을 통해 하나씩 모두 대입시켜 보는 방법이다. 하루에도 수억원의 자산이 거래되는 가상통화 사이트지만 '여기어때'와 마찬가지로 기초적인 해킹 방어 시스템 조차 구축하지 않았던 것이다.

이처럼 기본적인 보안 시스템도 갖추지 않은 사례가 늘면서 '시큐어코딩'의 중요성이 강조되고 있다. 시큐어코딩은 SW 개발과정에서 개발자의 실수, 논리적 오류 등으로 인해 발생할 수 있는 보안취약점을 미리 찾아내 제거함으로써 사이버위협으로부터 대응할 수 있는 프로그래밍 방법론이다.



오주형 KISA 정보보호산업본부 팀장은 27일 "여기어때 해킹 사건은 설계나 구현 단계에서 코드 몇 줄로도 해결될 수 있는 간단한 문제였다"며 "지난해 조사 결과 전체 보안약점 중 97%가 SW 보안약점으로 나타날 정도로 국내 사이트들의 보안이 취약하다"고 지적했다.

우리나라는 2012년 12월부터 행정자치부와 한국인터넷진흥원이 함께 'SW 보안 의무제도'를 마련했다. 이후 진행된 공공정보화사업을 시작으로 공공분야의 SW 개발에 있어서 시큐어코딩 적용이 의무화됐다. 그러나 민간분야는 아직 의무 사항이 아니다. 이로 인해 '여기어때'나 '빗썸' 사태처럼 허무하게 고객 정보를 탈취당하는 사건이 일어나고 있다.

시큐어코딩은 SW 개발과정에서부터 SDLC(SW 개발 생명주기) 단계별로 요구되는 보안 수준에 맞춰 SW 보안취약점 탐지 및 개선을 진행한다. 이를 통해 프로그래밍 과정에 포함된 취약점을 이용한 악의적 사이버공격을 사전에 차단할 수 있다.


SDLC는 SW의 생성에서 소멸까지의 과정을 단계별로 나눈 것으로, 각 단계별 주요활동과 산출물을 통해 프로젝트의 진행방향을 파악하고 손쉬운 관리가 가능하다. SDLC는 크게 정의 단계와 개발 단계, 유지보수 단계 등으로 나뉜다. 이 과정마다 시큐어코딩을 통해 노출되는 취약점을 탐지해 제거한다.

오 팀장은 "미국표준기술연구소에 따르면 제품출시 후 결함을 수정할 경우 SW 설계 단계에 결함을 수정하는 것보다 비용이 30배 많이 든다"며 "수정 전에 해킹을 당한다면 한 기업이 존폐기로에 놓일 수도 있는 만큼 기업들이 경각심을 가져야한다"고 말했다.

TOP