SW개발 보안 구현 - 시큐어 코딩 가이드
- 설계 및 구현 단계에서 해킹 등의 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고, 외부 공격으로부터 안전한 소프트웨어를 개발하는 기법 (잠재적인 보안 취약점 사전 제거, 안전한 소프트웨어 개발 목적)
- 소프트웨어 보안 약점을 방지하기 위해, 시큐어 코딩 가이드에 따른 개발 수행 필요!
보안 약점
1) 입력데이터 검증 및 표현
내용 |
대응방안 |
- 프로그램 입력값에 대한 검증 누락 |
- 사용자/프로그램 입력데이터에 대한 유효성 검증체계 수립 - 실패 시 처리 설계 및 구현 |
2) 보안 기능
- 보안 기능(인증, 접근제어, 기밀성, 암호화, 권한관리 등) 의 부적절한 구현 |
- 인증, 접근통제, 권한 관리, 비밀번호 등의 정책이 적절하게 반영되도록 설계 및 구현 |
3) 시간 및 상태
- 거의 동시에 수행 지원하는 병렬 시스템 또는, 하나 이상의 프로세스가 동작하는 관경에서 시간 및 상태의 부적절한 관리 |
- 공유 자원의 접근 직렬화 - 병렬 실행 가능 프레임워크 사용 - 블록문 내에서만 재귀함수 호출 |
4) 에러 처리
- 에러 미처리, 불충분한 처리 등으로 에러 메시지에 중요 정보가 포함 |
- 에러 또는 오류상황을 처리하지 않거나, 불충분하게 처리되어 중요정보가 유출되는 등 보안 약점이 발생하지 않도록 시스템 설계 및 구현 |
5) 코드 오류
- 개발자가 범할 수 있는 코딩 오류로 인해 유발 |
- 코딩 규칙 도출 후, 검증 가능한 스크립트 구성과 경고 순위의 최상향 조정 후 경고 메시지 코드 제거 |
6) 캡슐화
- 기능성이 불충분한 캡슐화로 인해 인가되지 않은 사용자에게 데이터 누출 |
- 디버그 코드 제거 - 필수 정보 외의 클래스 내 프라이빗(Private) 접근자 지정 |
7) API 오용
- 의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API 사용 |
- 개발 언어별 취약 API 화고 및 취약 API 검출 프로그램 사용 |
'📁 정보처리기사' 카테고리의 다른 글
[운영체제/OS] 운영체제의 개념과 종류 (0) | 2021.04.02 |
---|---|
[시큐어 코딩 가이드] 보안 약점 - 입력데이터 검증 및 표현 (0) | 2021.04.01 |
[SW개발 보안] 암호화 알고리즘 (0) | 2021.03.30 |
[SW개발 보안] 공격 기법의 이해 : 취약점 공격 (0) | 2021.03.30 |
[SW개발 보안] 공격 기법의 이해 : 애플리케이션 공격과 네트워크 서비스 공격 (0) | 2021.03.30 |