시큐어코딩 가이드(시큐어 코딩의 필요성)
- 정보보안/시큐어코딩 가이드
- 2022. 8. 8.
공격자의 초점이 지속적으로 애플리케이션 계층을 향해 이동함에 따라 소프트웨어 자원보호가 중요해졌다. 최근 발생되는 인터넷상 공격시도의 약 75%는 소프트웨어보안취약점을 악용하는 것으로, 특히 외부에 공개되어 불특정다수를 대상으로 사용자 정보를 처리하는 웹 애플리케이션의 취약점으로 인해 중요정보가 유출되는 침해사고가 빈번하게 발생되고 있다.
보안강화를 위해 구축해놓은 침입차단시스템과 같은 보안장비로 응용프로그램 취약점에 대한 공격을 완벽히 방어하는 것은 불가능하다. 소프트웨어의 개발보안 미적용으로 제품 출시 때 수정 시 설계 단계보다 30배, 구현 단계 보다 20배가 넘는 수정비용이 필요 한 걸로 조사되었다.
국내의 경우, 2009년부터 전자정부서비스 개발단계에서 소프트웨어 보안약점을 진단하여 제거하는 소프트웨어 개발 보안(시큐어코딩) 관련 연구를 진행하면서, 2012년까지 전자정부지원사업 등을 대상으로 소프트웨어 보안약점 시범진단을 수행하였다.
이러한 소프트웨어 보안약점 제거·조치 성과에 따라 2012년 6월에 행정안전부 ‘정보시스템 구축·운영 지침’이 개정·고시됨으로써 전자정부서비스 개발 시 적용토록 의무화 되었다. 2019년 6월에는 소프트웨어 개발 보안의 법적 근거를 담은 소프트웨어진흥법 개정안이 발의되었고 2020년 12월 10일에 시행됨에 따라 민간분야에서의 소프트웨어 개발보안 영역이 확대되었다.
Python
■ 파이썬 시큐어코딩
프로그래밍 언어의 종류가 다양해짐에 따라 민간에서 타 언어에 대한 시큐어코딩 가이드에 대한 수요가 늘어났다. 이에 민간에서 가장 많이 활용되고 있는 언어 중 선호도가 가장 높은 Python 언어에 대한 시큐어코딩 가이드를 소개하고자 한다.
Python은 1991년에 발표된 고급언어로 플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typing) 대화형 언어이다.
다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부하여 대학을 비롯한 여러 교육 기관, 연구 기관 및 산업계에서 이용이 증가하고 있다.
최근 웹 개발 이외에도 그래픽, 머신러닝 업계에서 선호하는 언어로 최근은 C, JAVA를 제치고 선호도 1위에 오르기도 했다.