[디지털데일리 최민지기자] 끊임없이 보안사고로 인해 소프트웨어(SW) 개발보안을 적용해야 한다는 목소리가 커지고 있다. 특히 개발단계부터 보안을 함께 고려하면, 장기적으로 개발 비용 절감을 꾀하고 효율적인 정보보호 정책을 구현할 수 있다는 설명이다.
한국인터넷진흥원(KISA)에 따르면, 개발보안 적용을 통해 확연하게 비용을 감소시킬 수 있다. 설계과정 결함을 제품출시 때 수정한다면 설계단계보다 30배 많은 비용을 투입해야 한다. 코딩과정 결함도 마찬가지다. 통합과정 결함의 경우, 20배가 넘는 수정비용이 필요하다.
정보보호 취약성 수정비용의 경우, 제품이 모두 구현되고 실현된 후 유지보수 단계에 들어섰다면 설계단계 때보다 60배 이상 많은 비용이 투입된다. 정보보호 투자수익률도 설계단계에서는 24%, 구현단계 15%, 테스팅단계 12%로 나타났다.
상황은 이렇지만 기업들은 사고가 발생한 후에야 각종 솔루션과 정책을 채택하고 있다. 응용SW에 내재된 보안취약점을 악용한 계정탈취·정보유출 등 침해사고가 끊임없이 발생하고 있는 이유 중 하나다.
제품을 설계할 때부터 보안을 고려해서 만든다면 아무래도 개발비용이 기존보다 더 들어가게 된다는 인식 때문이다. 이를 비용부담으로 여기고 대부분 보안관련 기능을 수행하는 솔루션을 필요할 때마다 추후 덧붙이는 방식을 택한다는 것이다.
하지만, 사고가 발생한 후에는 이미 기업·기관 신뢰도는 추락한 후며, 보안 솔루션과 제품을 도입하면서 유지보수 비용과 호환성 검증 등 오히려 더 많은 비용을 내야 하는 상황에 처할 수 있다.
조은래 KISA 전자정부보호팀 책임은 “여기어때와 빗썸 사례를 보면 알 수 있듯이 웹 애플리케이션에 취약점이 있으면 아무리 튼튼한 방화벽 등이 있어도 뚫릴 가능성이 존재한다”며 “여기어때는 설계나 구현단계에서 코드 몇 줄로도 해결될 수 있었던 부분이며, 빗썸의 경우 자동화된 도구가 들어갈 수 없도록 SW를 구축했으면 발생하지 않았을 사고”라고 지적했다.
여기어때는 지난해 99만여건의 개인정보가 유출됐는데, 데이터베이스(DB)에 대한 질의값을 조작하는 SQL 인젝션 공격을 당했다. DB 명령어가 정상적인 요청인지, SQL 인젝션 공격인지 구분하지 못해 나타난 사고다. 3만6487건의 개인정보를 유출당한 빗썸의 경우, 해커가 3434여개 IP에서 약 200만번의 사전대입공격을 수행했다.
양 사례 모두 설계단계에서 기본적인 보안정책을 수행했다면 피할 수 있었던 사고다. 여기어때는 설계·구현단계에서 SQL인젝션 공격을 파악할 수 있는 코드 몇 줄로 해결될 수 있었고, 빗썸은 자동화된 도구가 들어갈 수 없도록 SW를 구축하면 됐을 일이다. SQL인젝션과 사전대입공격은 흔한 공격기법으로 알려져 있다.
한편, 정부는 ‘SW개발보안 가이드’를 마련했다. 또한 행정기관은 제안요청서에 SW 개발보안 적용을 명시하도록 해, 기업들이 공공기관 사업을 수주하기 위해서라도 설계단계부터 보안을 고려할 수 있도록 하겠다는 방침이다. 이 외에도 SW보안약점 진단원 자격제도를 운영하고, SW개발보안 교육을 실시하고 있다. 하반기에는 인식제고를 위한 컨퍼런스와 경진대회도 열린다.
조 책임은 “SW 개발보안을 위해 초기에 비용이 많이 들어가지만, 개발보안을 하지 않을 경우 향후 더 많은 유지보수 비용이 발생할 수 있다”며 “프로젝트 발주자가 돈을 지불하지 않으면 개발자들이 SW 개발보안을 진행하기 어려운 부분이 있기 때문에 인식 교육도 이뤄져야 한다”고 말했다.