본문 바로가기
IT관련/JAVA_정리 노트

[ 정보처리기사 ] 소프트웨어 개발 보안 설계 _ 보안기능, 에러처리, 세션통제, 코드 오류, API오용

by XoX 2021. 6. 29.
728x90

 

해당내용은 <수제비 정보처리기사> 책을 참고하여 작성된 개인적인 용도의 요약본입니다.

 

Ⅰ소프트웨어 설계

Ⅱ 소프트웨어 개발

Ⅲ 데이터베이스 구축

Ⅳ 프로그래밍 언어 활용

Ⅴ 정보시스템 구축관리

    Chapter 01 소프트웨어 개발방법론 활용

    Chapter 02 IT 프로젝트 정보시스템 구축관리

    Chapter 03 소프트웨어 개발 보안 구축

        1. 소프트웨어 개발 보안 설계

        2. 소프트웨어 개발 보안 구현

    Chapter 04 시스템 보안 구축

 


1. 소프트웨어 개발 보안 설계

1) 보안기능

(1) 보안 기능 개념

개발 단계에서 인증, 접근제어, 기밀성, 암호화, 권한 관리 등을 적절하게 구현하기 위한 보안 점검 항목

(2) 보안 기능 취약점

  • 적절한 인증 없이 중요 기능 허용
  • 부적절한 인가
  • 취약한 암호화 알고리즘 사용
  • 중요 정보 평문 저장 및 전송
  • 하드 코드 된 비밀번호

 

2) 에러 처리

(1) 에러 처리 개념

프로그램 실행 시 발생하는 에러를 예외 처리하지 못하거나, 에러 정보에 중요한 정보가 포함될 때 발생할 수 있는 취약점을 예방하기 위한 보안 점검 항목

 

(2) 에러 처리 취약점

  • 취약한 패스워드
  • 오류 메시지 통한 정보 노출
  • 오류 상황 대응 부재
  • 적절하지 않은 예외 처리

 

3) 세션 통제

(1) 세션 통제 개념

다른 세션 간 데이터 공유 금지 등 세션을 안전하게 관리할 수 있도록 설계한다.

※ Session: 클라이언트와 서버의 논리적인 연결

(2) 세션 통제 취약점

불충분한 세션관리

 

4) 코드 오류

(1) 코드 오류 개념

프로그램 변환 시 오류, 서버의 리소스 자원의 부적절한 반환(버퍼 오버플로우)등 개발자가 흔하게 실수하는 프로그램 오류를 예방하기 위한 보안 점검 항목

(2) 코드 오류 취약점

  • 널 포인터 역참조
  • 정수를 문자로 변환
  • 부적절한 자원 해체
  • 초기화되지 않은 변수 사용

 

5) 캡슐화

(1) 캡슐화 개념

캡슐화는 외부에 은닉이 필요한 데이터와 필요한 기능성을 불충분하게 캡슐화했을 때 인가되지 않은 사용자에게 데이터 유출, 권한 문제 등이 발생할 수 있는 보안 취약점 예방을 위한 보안 검증 항목들

(2) 캡슐화 취약점

  • 잘못된 세션에 의한 데이터 정보 노출
  • 제거되지 않고 남은 디버그 코드
  • 민감한 데이터를 가진 내부 클래스 사용
  • 시스템 데이터 정보 노출

 

6) API 오용

(1) API 오용 개념

서비스에서 제공되는 이용에 반하는 방법으로 API를 이용하거나 보안에 취약한 API를 오용하여 발생할 수 있는 보안 취약점 예방을 위한 보안 검증 항목들

(2) API 오용 취약점

  • DNS Lookup에 의존한 보안 결정
  • 위험하다고 알려진 함수 사용
  • 널(Null) 매개변수 미검사
728x90
반응형

댓글