AngzavA
[정보처리기사 실기] sec133 ~ 141 본문
Section 133. Secure SDLC
📖Secure SDLC
개념 : 보안상 안전한 소프트웨어를 개발하기 위해 소프트웨어 개발 생명주기에 보안강화를 위한 프로세스를 포함한 것
[대표 방법론]
(1) CLASP : SDLC 초기 단계 보안 강화를 위한 방법론
(2) SDL : 마이크로소프트에서 개선한 방법론
(3) Seven Touchpoints : 소프트웨어 보안 모범사례를 통합한 방법론
[단계별 보안 활동]
요구사항 분석 > 설계 > 구현 > 테스트 > 유지보수
📖소프트웨어 개발 보안 요소
(1) 기밀성 : 인가된 사용자만 접근 허용
(2) 무결성 : 인가된 사용자만 수정 가능
(3) 가용성 : 인가받은 사용자는 시스템 내의 정보 자원 언제든 사용 가능
(4) 인증 : 합법적인 사용자인지 확인하는 행위
(5) 부인 방지 : 증거 제공
>> 시큐어 코딩 : 보안 요소들을 고려하며 코딩하는 것
134 ~ 141 보안 약점
Section 134. 세션 통제
세션통제
개념 : 세션의 연결과 연결로 인해 발생하는 정보를 관리하는 것
보안 약점 : 불충분한 세션 관리, 잘못된 세션에 의한 정보 노출
고려 사항 : 시스템 모든 페이지 로그아웃 가능한 UI 구성, 로그아웃시 세션 완전히 제거, 이전 세션 비종료시 새 세션 생성 금지, 중복 접근에 대한 세션 관리 정책 수립
관리 방법 : 최소 128비트 길이, 난수 알고리즘, URL Rewrite 금지, 이전 세션ID 삭제, 장기 접속 주기적으로 재할당 설정
Section 135. 입력 데이터 검증 및 표현
(1) SQL injection : 웹 응용 프로그램에 SQL을 삽입하여 내부 DB 서버 데이터 유출 및 변조, 동적 쿼리에 예약어 및 특수문자가 입력되지 않게 필터링 되도록 설정하여 방지
(2) 크로스사이트스크립팅(XSS) : 웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보 탈취, 비정상적인 기능 수행 유발, 사용자 정보를 html 태그에 < > & 등으로 치환하여 방지
(3) 메모리 버퍼 오버플로 : 연속된 메모리 공간을 사용하는 프로그램에서 메모리 범위를 넘어선 위치에서 자료를 읽거나 쓰려고 할때, 할당 메모리 범위를 넘어선 위치에서 자료를 읽거나 쓰려고 할 때 발생하는 보안 약점, 버퍼 크기 설정으로 방지
Section 136. 보안 기능
적절한 인증 X, 부적절한 인가, 잘못된 권한 설정, 취약한 암호화 알고리즘, 중요정보 평문저장 및 전송, 하드코드된 암호화 키
Section 137. 시간 및 상태
보안 약점
(1) TOCTOU 경쟁 조건 : 시점을 고려하지 않고 코딩하는 경우, 동기화 구문을 사용하여 해당 자원에는 한번에 하나의 프로세스만 접근 가능하도록 구성함으로써 방지
(2) 종료되지 않은 반복문 또는 재귀함수 : 종료 조건 정의하지 않았거나 논리 구조상 종료될 수 없는 경우
Section 138. 에러처리
보안 약점 : 오류메세지를 통한 정보노출, 오류 상황 대응 부재, 부적절한 예외 처리
Section 139. 코드 오류
널 포인터 역참조 : 널 포인터가 가르키는 메모리의 위치에 값을 저장할때 발생, 널값 검사로 방지
부적절한 자원 해제 : 자원을 반환하는 코드 누락, 프로그램 오류로 자원 반환 못했을 때, 예외처리 관계없이 반환 코딩
해제된 자원 사용 : 이미 사용 종료된 메모리 참조, 접근 못하게 주소 저장
초기화되지 않은 변수 사용 : 변수 선언 후 값이 부여되지 않은 변수를 사용, 할당된 메모리 초기화
스택가드 : 주소가 저장되는 스택에서 발생하는 보안 약점을 막는 기술 ex) 널 포인터 역참조
Section 140. 캡슐화
개념 : 정보 은닉이 필요한 중요한 데이터와 기능을 불완전하게 캡슐화하거나 문제 예방을 위한 보안 점검 항목
보안 약점 : 잘못된 세션에 의한 정보 노출, 제거되지 않고 남은 디버그 코드, 시스템 데이터 노출, Public 메소드로부터 반환된 private 배열, private 배열에 public 데이터 할당
접근 제어자 : 선언할 때 외부로부터의 접근을 제한하기 위해 사용되는 예약어
접근 제어자 | 클래스 내부 | 패키지 내부 | 하위 클래스 | 패키지 외부 |
Public | O | O | O | O |
Protected | O | O | O | X |
Default | O | O | X | X |
Private | O | X | X | X |
Section 141. API 오용
DNS Lookup에 의존한 보안 결정, 취약한 API 사용
'정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] sec181 ~ 190 (0) | 2023.07.13 |
---|---|
[정보처리기사 실기] sec175 ~ 180 (0) | 2023.07.12 |
[정보처리기사 실기] sec163 ~ 173 (0) | 2023.07.12 |
[정보처리기사 실기] sec142 ~ 148 (0) | 2023.07.12 |
[정보처리기사 실기] CH.09-1 : 소프트웨어 개발 보안 설계 (0) | 2023.07.11 |