p.775~790, 5-70, 20년 3회 기출문제
점검 항목 |
설명 |
세션 통제 |
세션의 연결과 연결로 인해 발생하는 정보를 관리하는 것 * 세션: 서버와 클라이언트의 연결 ※ 보안 약점: 불충분한 세션 관리, 잘못된 세션에 의한 정보 노출 |
입력 데이터 검증 및 표현 |
입력 데이터에 대한 유효성 검증체계를 갖추고, 검증 실패 시 이를 처리할 수 있도록 코딩하는 것 ★ ※ 보안 약점: SQL 삽입, 경로 조작 및 자원 삽입, 크로스사이트 스크립팅(XSS; Cross-Site Scripting), 운영체제 명령어 삽입, 위험한 형식 파일 업로드, 신뢰되지 않는 URL 주소로 자동접속 연결 |
보안 기능 |
인증, 접근제어, 기밀성, 암호화 등의 기능 ★ ※ 보안 약점: 적절한 인증 없는 중요기능 허용, 부적절한 인가, 중요한 자원에 대한 잘못된 권한 설정, 취약한 암호화 알고리즘 사용, 중요정보 평문 저장 및 전송, 하드코드 된 암호화 키 사용 ★ |
시간 및 상태 |
동시 수행을 지원하는 병렬 처리 시스템이나 다수의 프로세스가 동작하는 환경에서 시간과 실행 상태를 관리하여 시스템이 원활히 동작되도록 코딩하는 것 ★ ※ 보안 약점: TOCTOU(Time of Check Time of Use) 경쟁 조건, 종료되지 않는 반복문 또는 재귀함수 |
에러처리 |
소프트웨어 실행 중 발생할 수 있는 오류들을 사전에 정의하여 에러로 인해 발생할 수 있는 문제들을 예방하는 것 ※ 보안 약점: 오류 메시지를 통한 정보 노출, 오류 상황 대응 부재, 부적절한 예외처리 |
코드 오류 |
개발자들이 코딩 중 실수하기 쉬운 타입 변환, 자원의 반환 등을 고려하며 코딩하는 것 ★ ※ 보안 약점: 널 포인터(Null Pointer) 역참조, 부적절한 자원 해제, 해제된 자원 사용, 초기화되지 않은 변수 사용 |
캡슐화 |
데이터(속성)와 데이터를 처리하는 함수를 하나의 객체로 묶어 코딩하는 것 ※ 보안 약점: 잘못된 세션에 의한 데이터 정보 노출, 제거되지 않고 남은 디버그 코드, 시스템 데이터 정보 노출 등 |
API 오용 |
API를 잘못 사용하거나 보안에 취약한 API를 사용하지 않도록 고려하여 코딩하는 것 ※ 보안 약점: 취약한 API 사용, DNS lookup에 의존한 보안 결정 |
#세입보시 에코캡아
1) 세션 설계시 고려 사항 ★
- 모든 페이지에서 로그아웃이 가능하도록 UI(User Interface) 구성
- 로그아웃 요청 시 할당된 세션이 완전히 제거되도록 함
- 세션 타임아웃은 중요도가 높으면 2~5분, 낮으면 15~30분으로 설정
- 이전 세션이 종료되지 않으면 새 세션이 생성되지 못하도록 설계
- 패스워드 변경 시 활성화된 세션을 삭제한 후 재할당
2) 세션 ID의 관리 방법 ★
- 안전한 서버에서 최소 128비트의 길이로 생성
- 예측이 불가능하도록 안전한 난수 알고리즘 적용
- 노출되지 않도록 URL Rewrite 기능을 사용하지 않는 방향으로 설계
- 로그인 시 로그인 전의 세션 ID를 삭제하고 재할당
- 장기간 접속하고 있는 세션 ID는 주기적으로 재할당되도록 설계
3) 크로스 사이트 스크립팅(XSS; Cross-Site Scripting) ★
- 웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나, 비정상적인 기능 수행을 유발하는 보안 약점
→ HTML 태그의 사용을 제한하거나 스크립트에 삽입되지 않도록 ‘<’, ‘>’, ‘&’ 등의 문자를 다른 문자로 치환함으로써 방지
4) 부적절한 자원 해제 ★
- 자원을 반환하는 코드를 누락하거나 프로그램 오류로 할당된 자원을 반환하지 못했을 때 발생하는 보안 약점
→ 오류로 인해 함수가 중간에 종료되었을 때, 예외처리에 관계없이 자원이 반환되도록 코딩함으로써 방지
'정보처리기사 필기 총정리 > 5과목: 정보시스템 구축 관리' 카테고리의 다른 글
서비스 공격 유형 ★★★ (0) | 2020.10.06 |
---|---|
암호 알고리즘 ★★★ (0) | 2020.10.06 |
Secure SDLC ★ (0) | 2020.10.06 |
데이터베이스 관련 신기술 ★★★ (0) | 2020.10.06 |
하드웨어 관련 신기술 ★★★ (0) | 2020.10.06 |
댓글