인터뷰

“웹보안, 시큐어코딩 빼곤 생각할 수 없어”

이민형
[디지털데일리 이민형기자] 웹페이지 취약점을 악용한 악성코드 유포를 최소화하기 위해서는 시큐어코딩을 반드시 적용해야한다는 지적이 나왔다.

문일준 빛스캔 대표<사진>는 5일 “SQL인젝션, 크로스사이트스크립팅(XSS)과 같은 기본적인 시큐어코딩조차 이뤄지지 않아 공격자들에게 해킹당하는 웹사이트가 부기지수”라며 “이러한 피해를 최소화하기 위해서는 웹사이트 개발단에서 시큐어코딩을 적용해야 한다”고 말했다.

시큐어코딩이란 소프트웨어의 개발과정에서 개발자의 지식부족이나 실수, 또는 각 프로그래밍 언어의 고유한 약점 등 다양한 원인으로 발생할 수 있는 취약점을 최소화하기 위해, 설계 단계부터 보안을 고려해 개발하는 것을 의미한다.

실제 마이크로소프트(MS)는 개발보안라이프사이클(Software Development Lifecycle, SDL)을 적용하고 어도비시스템즈는 개발보안시스템(SPLC)을 적용한다. 이외에 애플, 오라클, IBM 등은 자체적인 개발보안툴과 방법을 사용해 취약점을 사전에 점검한다.

국내에서도 지난해 공공기관을 대상으로 시큐어코딩을 의무화했으며 올해부터는 20억원 이상 정보화사업에는 시큐어코딩을 적용해야한다.

문 대표는 “요즘같이 웹을 통한 공격이 거세지는 시기에 시큐어코딩이 공공 정보화사업에 의무화된 것은 다행스러운 일”이라며 “그러나 아직 민간에서는 여전히 시큐어코딩을 적용하지 않아 우려스러운 상황”이라고 설명했다.

시큐어코딩이 적용돼 있지 않은 웹사이트들은 쉽게 공격자들로부터 해킹을 당해 악성코드의 유포지, 경유지로 악용된다.

예를 들어 A 사이트에 SQL인젝션에 대한 취약점이 존재한다고 가정하자. 공격자는 A 사이트를 해킹에 악성코드를 심어둔다. 이후 A 사이트에 접속하는 모든 사용자들은 자동으로 악성코드에 감염되게 된다(드라이브 바이 다운로드).

지난해 6.25 사이버공격에서도 이와 동일한 형태의 공격이 이뤄졌다. 당시 공격자는 사용자가 특정 사이트에 접속할 시 디도스 악성코드를 내려받아 공격을 수행하도록 설계했다.

SQL인젝션은 국제웹보안표준기구(OWASP)에서 발표하는 웹 취약점 순위에서 매번 1위를 차지하는, 흔하지만 강력한 취약점이다. 흔하다는 것은 반대로 제거도 수월하다는 의미다. 시큐어코딩을 적용했다면 SQL인젝션 취약점은 쉽게 제거할 수 있다.

문 대표는 “아주 기본적인 취약점을 해결하지 않는 웹사이트가 매우 많다. 시큐어코딩을 민간에도 확산시키기 위해서는 정부의 노력이 필요하다”고 주장했다.

또 문 대표는 정보화사업에 의무적으로 적용되는 시큐어코딩의 맹점도 지적했다. 그는 “현재 시큐어코딩 의무화 제도는 개발을 마친 뒤 유지보수 과정에서 소스코드가 변경되는 경우를 간과하고 있다”며 “개발이 완료된 이후에도 지속적인 이행이 가능하도록 조치가 필요하다”고 설명했다.

이와 같이 웹 취약점으로 인한 사고사례가 늘어나고 있는 이유는 시큐어코딩에 대한 개발자의 인식이 낮기 때문이다. 시큐어코딩을 언급한 프로그래밍 언어 개발에 대한 서적이 드물다는 것이 이를 증명한다.

문 대표는 “개발자를 육성할 때 단순한 코딩능력을 키워주는 것 뿐만 아니라, 코딩 시 발생할 수 있는 취약점에 대한 교육도 함께 진행돼야 한다”며 “처음 개발을 배울 때부터 시큐어코딩을 인지할 수 있도록 만든다면 웹 취약점으로 인한 피해는 점차 낮아질 것으로 본다”고 말했다.

<이민형 기자>kiku@ddaily.co.kr
이민형
webmaster@ddaily.co.kr
기자의 전체기사 보기 기자의 전체기사 보기
디지털데일리가 직접 편집한 뉴스 채널