Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

AngzavA

[정보처리기사 실기] sec133 ~ 141 본문

정보처리기사

[정보처리기사 실기] sec133 ~ 141

이앙지 2023. 7. 11. 21:03

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 사용