하나은행은 차세대 시스템을 구축하면서 전체 시스템에 대한 보안성과 안정성을 강화하기 위해 상품처리시스템 등 차세대 전 업무를 대상으로 소스코드 보안 취약점을 사전에 점검해 애플리케이션의 보안 위협을 근본적으로 차단했다. 지금까지 일부 시스템에 소스코드 보안 취약점 점검 툴을 적용한 사례는 많았지만 하나은행처럼 대규모 차세대 시스템 구축 작업에 전사적으로 적용한 경우는 드물다.
최근 사이버 공격은 네트워크나 시스템의 취약점을 이용한 공격에서 애플리케이션의 보안 취약성을 이용한 공격으로 빠르게 변화되고 있다. 가트너에 따르면 전체 사이버 공격의 75%가 애플리케이션의 취약점을 이용한 것으로, 세계적으로 90% 이상의 웹 서버가 보안 위협에 노출된 상태다.
이런 외부 공격의 변화에 따라 국내 시중 은행들도 다양한 대응책을 마련하고 있다. 하나은행 역시 차세대 구축 이전인 2007년 6월부터 외부 공격에 노출되기 쉬운 인터넷뱅킹 시스템을 대상으로 소스코드 상시 취약점 점검 체계를 수립한 바 있다. 유시완 하나은행 본부장은 “소스 코드 분석에 대해 관심을 가졌던 당시 애플리케이션 보안 툴은 개발이 완료된 후 운영하는 단계에서 취약성을 진단하는 데 초점이 맞춰져 있었다”고 말했다.
하지만 하나은행은 애플리케이션 운영 이후 보안 진단은 한계가 있다고 판단, 취약점을 근본적으로 최소화 하는 방안을 찾는 데 주력했다. 프로그램 소스를 개발할 때부터 보안 취약점을 파악하고 개발된 프로그램의 전체 수명주기에 걸쳐 적용할 수 있는 상시 보안체계를 마련하는 데 초점을 뒀다.
◇취약점 분석은 차세대 애플리케이션의 필수=하나은행은 차세대 시스템 구축 시 전 시스템에 대한 소스코드 및 모의 해킹 등 점검을 실시해 보안 취약점이 발견된 시스템에 대해서는 서비스를 오픈하지 않는다는 정책을 수립했다. 이를 위해 ‘클린인터넷’ 캠페인을 대대적으로 진행했는데, 말 그대로 애플리케이션 프로그램의 태생부터 장애 혹은 취약점이 없는 건강한 프로그램을 만들어서 오염되지 않은 환경의 인터넷 뱅킹을 고객에게 서비스 하자는 취지다. 하나은행은 클린인터넷을 강조하면서 소스코드 취약점이 존재하면 서비스를 오픈할 수 없다는 인식을 전체 개발자들에게 인식시켰다.
유 본부장은 “취지에 대해 사전 설명회와 교육을 여러 차례 진행했고, 필요한 경우에는 개별 업무팀을 대상으로 업무 협의를 통해 보안 적용 방법과 조치 방법을 안내하는 등 개발자들에게 필수 조건으로 인지시켰다”고 설명했다.
하지만 촉박한 개발 일정 속에서 취약점 분석을 강조하다 보니 개발담당자와도 적지 않은 의견 충돌이 있었다. 대부분의 시스템 개발 작업은 프로그램 진척도를 점검하고 관리하는 측면이 강하다. 소스코드 취약점 점검은 일반적으로는 개발 작업을 거의 완료한 후 진행하는데 개발 일정을 맞추기도 촉박한 상황에서 소스코드의 문제점을 파악해 수정까지 해야 하기 때문에 개발자들의 불만이 높았다.
하지만 설계 단계부터 보안을 충족시키지 않으면 오픈할 수 없다는 정책을 견지했고 취약점을 내포한 애플리케이션의 개발 기간이 결과적으로는 더 오래 걸린다는 인식이 확산되면서 개발자들이 먼저 취약점 점검을 적극적으로 요청하는 등 변화하는 모습을 보였다.
유 본부장은 “소스코드 점검 프로젝트의 경우 개발와의 충분한 사전 협의를 통해 개발을 방해하거나 개발 일정을 지연하는 업무가 아니라 궁극적으로 개발 완성도를 높이고 개발 업무를 지원해주는 것이라는 인식을 심어주어야 한다”며 “특히 개발자와 보안 담당자간의 협업이 무엇보다 중요하고 이것이 프로젝트 성공의 열쇠”라고 강조했다.
◇전사 보안의식 높아져=하나은행은 취약점 점검 프로세스를 단계화해 상시 점검 체계를 구현했다. 우선 1단계로 개발자가 개발을 완료한 후 점검할 수 있도록 했고, 2단계로 프로그램 운영모드 적용 시에 형상관리와 연동해 점검하도록 했다. 그리고 마지막으로 운영 중인 모든 프로그램에 대한 운영상 취약점을 도출하는 3단계 점검 단계로 구성했다.
하나은행은 이를 통해 전 시스템에 대한 소스코드 점검을 실시해 보안 취약점이 발견될 경우 수정했다. 특히 인터넷뱅킹에 대해서는 개인뱅킹과 기업 뱅킹을 모두 포함해 전체 5271개의 웹 페이지에 대한 전수 진단을 실시했다. 1차 전수 작업에서 400여개의 취약점이 파악됐고 2차에서는 150여개가 발견됐으며 차세대 오픈 직전에는 0 상태가 됐다.
하나은행은 차세대 시스템을 구축하면서 소스코드 개발 단계에서 보안 취약점을 사전 제거해 보다 안전한 IT서비스를 제공할 수 있게 됨은 물론, 무엇보다 개발자들의 보안 의식을 강화시킨 것을 가장 큰 효과로 꼽는다. 전사적으로 보안 수준이 향상됐기 때문이다.
기존 보안 프로젝트의 경우 업무와 별도로 보안 제품을 도입해 방어하고 통제하는 것이 일반적이다. 이는 보안이 보안 담당자만의 프로젝트라는 잘못된 인식을 낳는다. 이에 비해 애플리케이션 개발 단계에서 소스코드 상시 보안 점검을 하게 되면서 개발자나 업무 담당자들 역시 보안의 중요성을 일깨우고 시스템 개발과 구축 단계에서 보안 요소가 자연스럽게 포함됐다.
유 본부장은 “취약점 점검 체계를 마련하고 상시적인 모니터링을 수행하는 것과 보안 의식이 높아진 것에 큰 의미가 있다”며 IT본부내 이슈협의회에서 차세대 이후 1순위는 보안이라고 할 정도로 보안 의식이 높아졌음을 강조했다.
현재 하나은행은 차세대 이후에도 인터넷뱅킹 등 주요 업무 시스템을 대상으로 형상관리 시스템과 연동한 소스코드 상시 취약점 점검 시스템을 운영하고 있다. 또한 신규 프로젝트에 대해서도 개발 과정에서의 보안 가이드를 먼저 제공하고 있다. 차세대 사업을 참조 자료로 활용하고 개발 각 단계별로 소스코드 보안 점검을 실시한다. 또한 취약점이 제거되지 않은 상태에서는 오픈할 수 없는 정책을 사수하고 있다. 하나은행은 인터넷뱅킹 서비스 이용 고객의 금융자산보호과 침해 사고 예방을 위해 인터넷뱅킹 서비스에 대한 하나은행만의 보안서비스를 구현해 특허도 출원 중이다.
미니인터뷰
하나은행 유시완 본부장
--보통 취약점 점검은 보안팀의 주도로 이뤄지는데 어느 부서에서 추진한 것인가.
▲하나은행 소스코드 점검은 한 두 특정 부서에서 주도했다고 말하기 어렵다. 보안부서에서 점검 방향이나 계획 등 전체 점검 정책을 수립하긴 했지만 소스코드 보안 점검의 특성상 개발부서의 적극적인 참여와 도움 없이는 어렵기 때문에 하나은행 IT 전 부서가 함께 참여했다고 얘기할 수 있다.
--소스코드 보안 취약점 점검 솔루션 선정시 어떤 점을 가장 우선시 했나.
▲개발 첫 단계부터 전체 애플리케이션 수명주기에 적용할 수 있는 상시 보안체계, 개발 보안 프로세스 적용 등의 요건을 충촉할 수 있는 솔루션 및 서비스 제공자를 선정하려 노력했다. 그 결과 그 당시 전 세계적으로 가장 많은 레퍼런스를 확보하고 있던 포티파이소프트웨어 솔루션을 선택했다.
--프로젝트 성공요인은 무엇으로 보는가.
▲개발자들의 적극적인 의지가 무엇보다 중요하지만 이와 함께 의사결정권자의 집행의지도 중요하게 작용한다. 일정이 촉박할 경우 의사결정권자의 초기 의지도 약해질 수 있다. 보안 인식을 변화시키기 위한 꾸준한 노력이 동반되어야 한다.
--향후 계획이나 목표는.
▲현재 하나은행 업무 시스템에 적용돼 있는 소스코드 상시 취약점 점검 체계를 하나금융그룹의 주요 업무에 확대 적용해 하나금융그룹을 이용하는 모든 고객들에게 안전한 금융 서비스를 제공할 계획이다. 또한 현재까지 도출된 취약점 관리를 지표화해 더욱 안전한 인터넷 뱅킹 서비스를 제공하도록 노력할 것이다.
성현희기자 sunghh@etnews.co.kr
관련 통계자료 다운로드 e-안전 하나 서비스