Web Analytics/SW 보안약점 진단원
[구현보안] 코드오류 04 - 초기화되지 않은 변수 사용
SalaYH
2019. 10. 7. 21:48
반응형
가. 원인
- C언어에서 스택 메모리에 저장하는 변수를 초기화하지 않고 사용하는 경우
나. 영향
- 초기화 하지 않은 변수는 이전 함수에 사용되었던 내용을 포함하고 있음
- 메모리에 저장되어 있는 값을 읽거나 특정코드를 실행
다. 보안대책
- 모든 변수를 사용전에 반드시 올바른 초기값을 할당
라. 안전한 코드
1. 변수에 초기값 설정
int x = 0; int y = 0; ... switch( position ) { case 0: x = 10; break; defualt: y = 10; break; } setCursorPosition( x, y );
|
마. 진단방법
<변수 초기화 확인>
1. 변수를 선언하는 코드를 확인
2. 선언 시 변수를 초기화 하는지 확인
바. 정/오탐 케이스
<정탐 케이스>
1. 별도의 변수를 초기화 하지 않는 디폴트 생성자를 호출 뒤 변수를 사용 시
반응형