일반적으로 소프트웨어를 개발할 때, 보안을 신경쓰면서 개발하는 분들은 많지 않을 것입니다.


하지만 우리가 C, JAVA 등의 언어를 이용하여 개발할 때, 수많은 보안약점들이 내재되어 있다고 봐도 무방합니다.


이 보안약점이란 무엇일까요?


'소프트웨어 보안약점' 이란 소프트웨어 개발 시, 소프트웨어에 결함이 될 수 있는 논리적인 오류나 버그, 실수 등 이후 취약점으로 발생될 수 있는 근본 원인을 뜻합니다.


그렇다면 '소프트웨어 보안취약점' 이란 무엇일까요?

'소프트웨어 보안취약점' 이란 정보시스템(소프트웨어)에 실제로 내재되어있는 위험요소들로, 공격자가 이를 악용해서 해당 시스템의 정상적인 작동을 방해하거나 정보유출, 권한 상승 등을 일으킬 수 있는 것입니다.

> 소프트웨어 보안약점과 소프트웨어 보안취약점은 용어는 비슷해보이나, 소프트웨어의 보안사고를 대비하기 위해서는 원천적인 소프트웨어 보안약점을 제거하는 것이 필요합니다.


현재는 행정안전부에서 '행정기관 및 공공기관의 정보시스템 구축.운영 지침' 을 통하여 개발자가 구현(개발)단계에서 확인해야 하는 47개의 보안약점을 정의하고 있습니다.

(지금은 행정기관이나 공공기관 등의 공공 정보화 사업에서 의무화 되어 지키도록 강제하고 있지만, 민간에서도 해당 지침을 참고하여, 보다 안전한 소프트웨어를 개발하는 것이 필요하다고 생각합니다.)


크게 7개의 보안약점 유형으로 분류되고 있고, 각 유형별 세부 항목들로는 47개로 정의하고 있으며 이에 대한 자세한 설명은 다음 포스팅에서 다루도록 하겠습니다.


WRITTEN BY
SiriusJ

,