1. 코드 오류
* 코드 오류 보안 약점
1) 널 포인터(Null Pointer) 역참조
- 널 포인터가 가리키는 메모리 위치에 값을 저장할 때 발생하는 보안 약점
- 포인터를 이용하기 전에 널 값을 갖고 있는지 검사하여 방지
2) 부적절한 자원 해제
- 자원을 반환하는 코드를 누락하거나 프로그램 오류로 할당된 자원을 반환하지 못했을 때 발생하는 보안 약점
- 프로그램 내 자원 반환 코드가 누락되었는지 확인하고, 오류로 인해 함수가 중간에 종료 되었을 때 예외처리에 관계없이 자원이 반환되도록 코딩함으로써 방지
3) 해제된 자원 사용
- 이미 사용되어 반환된 메모리를 참조하는 경우 발생하는 보안 약점
- 반호나된 메모리에 접근할 수 없도록 주솔르 저장하고 있는 포인터를 초기화 하여 방지
4) 초기화되지 않은 변수 사용
- 변수 선언 후 값이 부여되지 않은 변수를 사용 시 발생하는 보안 약점
- 변수 선언 시 할당된 메모리를 초기화함으로써 방지
2. 스택 가드(Stack Guard)
(1) 주소가 저장되는 스택에서 발생하는 보안 약점을 막는 기술
(2) 메모리상 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장한 후 그 값이 변경되었을 경우 오버플로우 상태로 판단하여 프로그램 실행을 중단하여 잘못된 복귀 주소 호출을 막음
출처 : 정보처리기사 실기 2024 기본서 / 저자 : 길벗알앤디(김정준, 강윤석, 김용갑, 김우경) / 출판사 : 길벗
'정보처리기사 실기 > 소프트웨어 개발 보안 구축' 카테고리의 다른 글
암호 알고리즘 (0) | 2024.04.24 |
---|---|
캡슐화 (0) | 2024.04.24 |
보안 기능 (0) | 2024.04.23 |
입력 데이터 검증 및 표현 (0) | 2024.04.23 |
Secure SDLC (0) | 2024.04.23 |