티스토리 뷰
가. 원인
- 보안상 금지되었거나, 부주의하게 사용될 가능성이 많은 API를 사용하는 경우
나. 영향
- 위험한 API를 확인하지 않고 사용 시 보안문제를 야기
- 잘못된 방식으로 사용하여 보안문제를 야기
다. 보안대책
- 보안문제로 금지된 함수를 대체할 수 있는 안전한 함수를 사용
라. 안전한 코드
1. 보안기능을 제공하는 프레임워크의 메소드를 사용
... // 보안기능을 제공받지 못하는 socket 대신 프레임워크의 메소드를 사용 //Socket sock = new Socket( "kisa.or.kr", 8080 ); <= 취약코드 URL url = new URL( "http://www.kisa.or.kr:8080/datasheet" ); URLConnection conn = url.openConnection(); ...
|
2. 잘못된 API 사용 제거
try { ... } catch ( Exception e ) { logger.info( "Error" ); // J2EE 환경에서 System.exit() 메서도 호출 시 웹 어플리케이션을 실행하는 컨테이너를 종료시켜버림 // System.exit(1) ; }
|
마. 진단방법
<멤버변수 사용 확인>
1. 보안에 취약한 API 리스트를 확인
2. 취약한 API를 사용하는지 확인
3. 대체가 가능한 API를 사용할 수 없을 경우, API의 인자와 반환값을 검사하는지 확인
바. 정/오탐 케이스
<정탐 케이스>
1. 버퍼의 값을 복사하기 위해 strcpy() 함수를 사용할 경우
2. J2EE 프로그램에서 System.exit() 를 사용할 경우, 웹 어플리케이션을 실행하고 있는 컨테이너를 종료할 수 있음
'Web Analytics > SW 보안약점 진단원' 카테고리의 다른 글
S/W 보안약점 진단원 합격 및 후기 (2) | 2019.12.16 |
---|---|
[구현보안] API 오용 01 - DNS Lookup에 의존한 보안결정 (0) | 2019.10.07 |
[구현보안] 캡슐화 05 - Private 배열에 Public 데이터 할당 (0) | 2019.10.07 |
[구현보안] 캡슐화 04 - Public 메서드로부터 반환된 Private 배열 (0) | 2019.10.07 |
[구현보안] 캡슐화 03 - 시스템 데이터 정보 노출 (0) | 2019.10.07 |
- Total
- Today
- Yesterday