본문 바로가기
📁 정보처리기사

[SW개발 보안] 시큐어 코딩 가이드

by 박개봄 2021. 4. 1.
728x90

SW개발 보안 구현 - 시큐어 코딩 가이드

 - 설계 및 구현 단계에서 해킹 등의 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고, 외부 공격으로부터 안전한 소프트웨어를 개발하는 기법 (잠재적인 보안 취약점 사전 제거, 안전한 소프트웨어 개발 목적)

 

 - 소프트웨어 보안 약점을 방지하기 위해, 시큐어 코딩 가이드에 따른 개발 수행 필요!

 

보안 약점

1) 입력데이터 검증 및 표현

내용

대응방안

  - 프로그램 입력값에 대한 검증 누락
 - 부적절한 검증
 - 잘못된 형식 지정

 - 사용자/프로그램 입력데이터에 대한 유효성 검증체계 수립

 - 실패 시 처리 설계 및 구현

 

2) 보안 기능

 - 보안 기능(인증, 접근제어, 기밀성, 암호화, 권한관리 등) 의 부적절한 구현

 - 인증, 접근통제, 권한 관리, 비밀번호 등의 정책이 적절하게 반영되도록 설계 및 구현

 

3) 시간 및 상태

 - 거의 동시에 수행 지원하는 병렬 시스템 또는, 하나 이상의 프로세스가 동작하는 관경에서 시간 및 상태의 부적절한 관리

 - 공유 자원의 접근 직렬화

 - 병렬 실행 가능 프레임워크 사용

 - 블록문 내에서만 재귀함수 호출

 

4) 에러 처리

 - 에러 미처리, 불충분한 처리 등으로 에러 메시지에 중요 정보가 포함

 - 에러 또는 오류상황을 처리하지 않거나, 불충분하게 처리되어 중요정보가 유출되는 등 보안 약점이 발생하지 않도록 시스템 설계 및 구현

 

5) 코드 오류

 - 개발자가 범할 수 있는 코딩 오류로 인해 유발

 - 코딩 규칙 도출 후, 검증 가능한 스크립트 구성과 경고 순위의 최상향 조정 후 경고 메시지 코드 제거

 

6) 캡슐화

 - 기능성이 불충분한 캡슐화로 인해 인가되지 않은 사용자에게 데이터 누출

 - 디버그 코드 제거

 - 필수 정보 외의 클래스 내 프라이빗(Private) 접근자 지정

 

7) API 오용

 - 의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API 사용

 - 개발 언어별 취약 API 화고 및 취약 API 검출 프로그램 사용

 

728x90