728x90
반응형
SMALL
SW개발보안가이드중 구현단계에서의 점검항목은 크게 7가지 이다. (입보시에코캡아)
1. 입력데이터 검증 및 표현
2. 보안기능
3. 시간 및 상태
3-1. 경쟁조건: 검사시점과 사용시점 (TOCTOU)
3-2. 종료되지 않은 반복문 또는 재귀함수
4. 에러처리
5. 코드오류
6. 캡슐화
7. API 오용
이 장에서는 "3.시간 및 상태" 에 대한 점검항목을 설명한다.
3-1. 경쟁조건: 검사시점과 사용시점 (TOCTOU)
구분 | 설명 |
원인/영향 | 병렬실행환경에서 자원을 검사하는 시점(TOC)과 사용하는 시점(TOU)의 상태가 달라서 교착상태에 빠지거나 동기화오류가 발생할 수 있다. |
대응 | ① 공유자원에 대해서는 여러 스레드의 접근을 위해서 동기화 구문을 적용한다. ② 동기화는 성능에 영향을 미치므로 최소한의 임계코드 주변에만 적용한다. (SYNCHRONIZED) |
3-2. 종료되지 않은 반복문 또는 재귀함수
구분 | 설명 |
원인/영향 | 재귀함수의 순환횟수 또는 귀납조건을 설정하지 않아 무한루프에 빠지게 되어 자원을 고갈 취약) int factorial (int i) { return I * factorial(ii-1); } 안전) int factorial (int i) { if (I <= 1) { return I; } return I * factorial(ii-1); } |
대응 | ① 재귀함수 사용시 재귀호출횟수를 제한하거나, 초기값을 설정하여 재귀호출을 제한한다 |
728x90
반응형
LIST
'정보보안' 카테고리의 다른 글
SW보안약점진단원 : 구현단계 - 코드오류 (0) | 2019.11.28 |
---|---|
SW보안약점진단원 : 구현단계 - 에러처리 (0) | 2019.11.27 |
SW보안약점진단원 : 구현단계 - 보안기능 (2/2) (0) | 2019.11.25 |
SW보안약점진단원 : 구현단계 - 보안기능 (1/2) (0) | 2019.11.24 |
SW보안약점진단원 : 구현단계 - 입력데이터 검증 및 표현 (2/2) (0) | 2019.11.23 |