728x90

secure SDLC

- 소프트웨어 개발 생명 주기에 보안을 추가한 것

 

세션 통제

- 세션 관리에 대한 보안 점검 항목

1. 불충분한 세션 관리

 - 특정 규칙으로 세션 ID 발급 or 너무 긴 타임아웃 -> 하이제킹으로 비정상적 세션 접근가능

2. 잘못된 세션 정보 노출

 - 싱글톤 패턴에서 레이스 컨디션으로 동기화 오류 or 맴버 변수 노출 ->지역변수 활용

 

입력 데이터 검증 및 표현

 - 입력 데이터로 인한 문제 예방 보안 점검 항목

1. SQL 삽입 : 입력란에 SQL을 삽입하여 무단 DB 접근 -> 입력데이터에 예약어, 특수문자 안되도록 필터링

2. 시스템 명령어 삽입 : 웹인터페이스에서 시스템 명령어를 전달하지 않도록 방지

3. 경로조작 자원 삽입 : 데이터 입출력 경로 조작을 통한 공격 -> 필터링

4. 크로스사이트 스크립팅 : 페이지에 악의적 스크립트 삽입 -> HTML 태그 사용 제한

5. 위험한 형식 파일 업로드 : 악의적 파일 업로드 -> 확장자 제한, 실행 속성 제거

 

보안 기능

- 구현 단계에서 보안 점검 항목

1. 하드코드된 패스워드 : 소스 유출시 정보 유출 -> 변수 사용 변경

2. 부적절한 인가 : 접근 제어 없는 경로를 통해 접근 -> 접근 제어 검사

3. 잘못된 권한 설정 : 시스템 자원 접근 -> 관리자만 사용하도록 권한 설정

4. 중요 정보 평문 전송 : 평문 취득 정보 노출 -> 암호화후 전송

5. 취약한 보안 알고리즘 : 암호 해석 -> 강화된 알고리즘 사용

 

시간 및 경쟁

- 병렬 처리 환경에서 원할한 동작을 위한 보안 점검 항목

1. TOCTOU 경쟁 조건 : 검사 시점과 사용시점을 고려하지 않아 발생하는 보안약점 -> 동기화

2. 종료되지않는 반복문 : 잘못된 반복문 설계 -> 종료되도록 확인

 

에러처리

- 오류를 에러처리를 통해 문제예방을 위한 보안점검항목

1. 오류메시지를 통한 정보 노출 : 실제 환경, 사용자 정보 등 노출 -> 노출 메시지 최소화

2. 오류 상황 대응 부재 : 에러 처리 미비로 발생 -> 예외처리 구문작성

3. 부적절한 예외처리 : 에러를 한번에 처리하거나 세분화하지 않음 -> 세분화하여 예외처리

 

코드 오류

- 잘못된 코드로 인한 문제 예방 보안점검항목

1. 널포인터 역참조 : 함수가 널포인터 반환하여 사용해 발생 -> 사용전 널여부 확인

2. 해제된 자원 사용 : 자원 해제 된 메모리 참조. 잘못된 동작 발생 -> 메모리 포인터 초기화

3. 부적절한 자원 해제 : 자원이 반환 코드 누락하거나 되지 않아 자원 부족 발생 -> 자원 해제하도록 구현 

4. 초기화 되지않은 변수 사용 : 부적절한 값 사용 -> 선언시초기화

 

캡슐화

- 캡슐화하여 정보 노출을 예방하기 위한 보안점검 항목

1. 잘못된 세션에의한 정보 노출 : 다중 스레드 환경서 싱글톤 페턴의 레이스 컨디션으로 동기화 오류 노출. 변수 제한

2. 시스템 데이터 노출

3. 제거되지 않은 디버그 코드 : 디버그 메시지가 외부 유출 -> 디버그 코드 삭제

4. public 메소드에 private 배열 반환 : private 배열에 접근가능해짐. -> 값복사하거나 메소드로 값 변경 

5. private 배열에 public 데이터 할당 : private 배열을 접근 가능해짐 -> 직접 값 저장

 

API 오용

- API 잘못 사용하여 발생하는 문제 예방 보안점검항목

1. DNS Lookup에 의존한 보안 결정 : DNS lookup을 악용하여 접근 통제 -> dns 보다 아이피 주소로 접근

2. 취약한 API 사용 : strcat(), strcpy() 처럼 보안 취약한 함수 -> 안전한 API 사용

 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

빅데이터 - 1. 빅데이터, 데이터 과학, 활용  (0) 2020.11.17
네트워크  (0) 2020.05.23
테스트  (0) 2020.05.23
데이터모델  (0) 2020.05.22
서버  (0) 2020.05.22

+ Recent posts