기업에서 신규로 서비스를 개발 시 어플리케이션 보안을 위해 소프트웨어 라이프사이클의 초기 단계에서부터 보안성 검토를 수행해야 하며, 구축(도입) 전 단계부터 조직 정보보호를 위한 요구 사항들이 반영되어야 한다.
만약 구축 및 설계 단계에서 정보보호에 대한 요구사항이 반영되지 않은 경우 취약점 분석을 통하여 취약점을 제기하고, 운영 및 프로세스를 재순환해야 하며, 이 경우 개발 초기에 적용하는 것과 비교하여 많은 비용이 소모된다.
모의해킹 점검하는 방식 중에는 블랙 박스, 그레이 박스, 화이트 박스 등이 있다. 블랙 박스 점검은 외부에서 보여지는 웹 사이트만(URL정보만을) 으로 판단하여 취약점을 분석하는 것이고, 화이트 박스 점검은 소스 파일만을 보고 취약점을 분석하는 것이다.이 중간 단계에 그레이 박스 점검이 있으며, 이것은 웹 사이트에서 발견된 취약점과 소스파일을 비교하며 더욱 상세하게 분석하는 것이라 생각하면 된다.
소스코드 분석할시(Gray Box, White Box ) Secure Coding 에 대한 전문 지식을 습득해야 하며, 환경에 따라수동분석, 자동분석에 대한 활용법을 익혀야 한다.
아래 도서 및 URL은 관련 업무에 참고할만한 것들이다.
[참고 도서들]
- Visual Studio 2005의 안전한 C/C++ 라이브러리를 이용하여 코드 공격 막아내기 : http://msdn.microsoft.com/ko-kr/magazine/cc163794(en-us).aspx
- 안전한 문자열에 대한 MSDN 온라인 문서 http://msdn.microsoft.com/en-us/library/ms647466.aspx
- C 런타임 라이브러에 의해 제공되는 안전 문자열 함수에 대한 목록 : http://msdn.microsoft.com/en-us/library/wd3wzwts(VS.80).aspx
(제프리 리처의 Windows VIA C/C++ 참고)
[PHP 소스코드 진단 관련]
- http://sourceforge.net/projects/rips-scanner/files/
- http://websec.wordpress.com/2010/06/11/rips-a-static-source-code-analyser-for-vulnerabilities-in-php-scripts/