시큐어코딩을 위한 소스코드 보안 취약점 진단은 보안 전문가가 자동화된 진단 툴과 수동 작업으로
소스코드에 내재하고 있는 보안 취약점을 탐지하여 개발된 소프트웨어의 안전성과 신뢰성을 확보할 수 있는 진단 서비스입니다.
소프트웨어 결함, 오류 등의 잠재적 보안 취약점을 소스코드 보안 취약점 진단을 통해 원인을 파악하고 위협 요소를 제거합니다.
시큐어코딩을 위한 소스코드 보안 취약점 진단은 소프트웨어 보안을 강화하는 데 중요한 역할을 합니다. 이를 통해 개발된 소프트웨어의 안전성과 신뢰성을 확보할 수 있습니다.
소스코드 취약점 진단은 다양한 방법을 사용하여 소프트웨어의 취약점을 확인하고 제거하는 프로세스입니다.
소스코드 취약점 진단을 통해 입/출력 값의 검증과 중요한 시큐어 코딩 기법의 적용 여부를 확인합니다.
이는 사용자로부터의 입력값이 적절하게 검증되고 처리되는지 확인하여 악의적인 입력에 대한 대비를 강화하고, 시스템 내부에서 발생할 수 있는 잠재적인 보안 취약점을 제거하는 데 도움이 됩니다.
또한, 개발 시 작성된 서비스 관련 문서를 활용하여 보안 취약점 진단을 실시합니다.
연동 규격서, 서버 규약서, UI 문서, 아키텍처 및 플로우 문서 등을 분석하여 시스템의 전반적인 구조와 동작을 이해하고 보안 약점을 식별합니다.
이를 통해 시스템 전체적인 보안 취약점을 평가하고 보완할 수 있습니다.
행정자치부 고시 제2015-45호 행정기관 및 공공기관 정보시스템 구축 〮운영 지침
조항 | 설명 및 해설 |
---|---|
제 50조 (소프트웨어 개발보안 원칙) |
신규개발의 경우 : 소스코드 전체 / 설계단계 산출물 유지보수의 경우 : 유지보수로 인해 변경된 산출물 및 소스코드 전체 |
제 51조 (소프트웨어 개발보안 활동) |
제안서 평가 시 소프트웨어 개발보안을 위해 소프트웨어 보안약점 진단도구 사용 여부 (국가정보원 CC인증 항목) |
제 52조 (보안약점 진단기준) |
소프트웨어 보안약점을 필수 진단항목으로 포함 |
제 53조 (보안약점 진단절차) |
소프트웨어 보안약점 진단도구를 사용할 경우, 미래창조과학부 장관이 고시한 “정보보호시스템 평가․인증 지침”에 따라 국가정보원장이 인증한 보안약점 진단도구를 사용하여야 한다. (국정원 EAL2 CC인증) |
구분 | 항목 | ||||||
---|---|---|---|---|---|---|---|
입력데이터 검증 및 표현 | SQL 삽입 | 코드 삽입 | 경로 조작 및 자원 삽입 | ||||
크로스사이트 스크립트 | 운영체제 명령어 삽입 | 위험한 형식 파일 업로드 | |||||
신뢰 되지 않는 URL 주소로 자동접속 연결 | 부적절한 XML 외부 개체 참조 | XML 삽입 | |||||
LDAP 삽입 | 크로스사이트 요청 위조 | 서버사이드 요청 위조 | |||||
HTTP 응답분할 | 정수형 오버플로우 | 보안기능 결정에 사용되는 부적절한 입력값 | |||||
|
|||||||
보안기능 | 적절한 인증 없는 중요기능 허용 | 부적절한 인가 | 중요한 자원에 대한 잘못된 권한 설정 | ||||
취약한 암호화 알고리즘 사용 | 암호화되지 않은 중요 정보 | 하드코드된 중요정보 | |||||
충분하지 않은 키 길이 사용 | 적절하지 않은 난수 값 사용 | 취약한 비밀번호 허용 | |||||
부적절한 전자서명 확인 | 부적절한 인증서 유효성 검증 | 사용자 하드디스크에 저장되는 쿠키를 통한 정보 노출 |
|||||
|
|||||||
|
|||||||
시간 및 상태 |
|
||||||
에러처리 | 오류 메시지 정보노출 | 오류상황 대응 부재 | 부적절한 예외 처리 | ||||
코드오류 | Null Pointer 역참조 | 부적절한 자원 해제 | 해제된 자원 사용 | ||||
|
|||||||
캡슐화 |
|
||||||
API 오용 |
|