728x90
반응형
SMALL
이번 장에서는 SW개발보안가이드중 분석/설계단계에서 검증해야할 항목중 SR3. 에러처리와 SR4. 세션통제
에 관한 점검항목에 대해서 설명하고자 한다.
SR3. 에러처리
SR3-1. 예외처리
항목 | 설명 |
1) 명시적인 예외처리 | - 명시적인 예외처리는 예외처리블록을 이용해서 대응 (Exception처리) |
2) 런타임 예외처리 | - 런타임 예외의 경우에는 입력값의 범위를 체크하여 애플리케이션이 정상적으로 동작할 수 있는 값만 사용되도록 보장해야 한다. |
3) 상세한 에러정보 노출 방지 | - 에러가 발생한 경우 지정된 페이지를 통해 공지 - 오류메시지에 중요 시스템 정보 노출 금지 - 오류발생에 대한 로깅 처리 |
구현단계 | 오류메시지를 통한 정보노출 시스템 데이터 정보 노출 (캡슐화) |
SR4. 세션통제
SR4-1. 세션통제
항목 | 설명 |
1) 세션간 데이터 공유 금지 | - ① 컨트롤러 컴포넌트, ②싱글톤 객체로 생성되는 서비스 컴포넌트 에서는 멤버 변수나 클래스 변수는 세션간에 공유되는 데이터가 되므로 생성하지 않도록 한다. 예) 잘못된 세션에 의한 정보노출 (캡술화) - 싱글톤객체의 멤버에 대한 경쟁조건 방지하기 위한 동기화(SYN) 처리 |
2) 세션의 안전한 관리 | - 모든 페이지에서 언제나 로그아웃이 가능하도록 - 로그아웃을 요청하면 사용자에게 할당된 모든 세션을 제거하는 메소드 사용 예) session.Invalidate() 메소드는 세션에 저장된 정보를 완전히 제거해줌. - 세션타임아웃 설정 - 일정시간 사용하지 않은 세션은 자동 로그아웃 - 세션ID가 포함된 쿠키에 대해서는 HttpOnly속성을 설정하여 XSS공격에 대비 - 사용자가 패스워드 변경시 현재 활성화된 세션을 삭제하고 다시 할당한다. |
3) 세션ID의 안전한 관리 | <세션ID 생성> - 세션ID는 서버에서 생성해서 사용 - 세션ID는 최소 128 비트의 길이로 생성되어야 하며, 난수알고리즘을 적용하여 예측불가능한 값이 사용되어야 한다 <세션ID 사용> - URL rewrite 를 사용하는 경우 세션ID가 URL에 노출될수 있으므로 사용 하지 않는다. <세션ID 폐기> - 로그인 성공시 할당받은 세션ID는 파기하고 새로운 값으로 재할당하여 세션ID고정 공격에 대응 - 일정시간 주기적으로 세션ID 재할당 한다. |
728x90
반응형
LIST
'정보보안' 카테고리의 다른 글
SW보안약점진단원 : 구현단계 - 입력데이터 검증 및 표현 (2/2) (0) | 2019.11.23 |
---|---|
SW보안약점진단원 : 구현단계 - 입력데이터 검증 및 표현 (1/2) (0) | 2019.11.22 |
SW보안약점진단원 : 분석/설계단계 - 보안기능 (0) | 2019.11.20 |
SW보안약점진단원 : 분석/설계단계 - 입력 데이터 검증 및 표현 (1) | 2019.11.19 |
SW보안약점진단원 - 분석/설계 단계 (0) | 2019.11.18 |