티스토리 뷰
가. 원인
- 디버깅 목적으로 삽입된 코드가 제거되지 않은 경우
나. 영향
- 민가정보나 시스템 제어를 허용하는 디버그 코드가 존재할 경우, 인증우회 / 정보노출 등이 발생 가능
다. 보안대책
- SW 배포 전 디버그 코드를 반드시 확인 및 삭제
- 디버그 목적으로 사용하는 main 함수를 삭제
라. 안전하지 않은 코드
1. 디버그 함수 및 코드 존재
class LoginManagement{ ... // 디버그 목적의 main 함수 존재 public static void main( String[] args ) { ... }
public boolean requestLogin( String id, String password ) { boolean bLogined = false; // 관리자 계정으로 자동 로그인하는 디버그 코드 존재 if( DEBUG ) { session.setAttribute( "LoginID", "admin" ); bLogined = true; return bLogined; } .... } }
|
마. 진단방법
<디버그 코드 확인>
1. 개발 중 사용한 테스트 목적의 디버그 코드가 존재하는지 확인
2. J2EE 환경에서 Main 함수가 존재하는지 확인
바. 정/오탐 케이스
<정탐 케이스>
1. J2EE와 같은 응용 프로그램에서 디버깅용인 main() 함수가 존재할 경우
'Web Analytics > SW 보안약점 진단원' 카테고리의 다른 글
[구현보안] 캡슐화 04 - Public 메서드로부터 반환된 Private 배열 (0) | 2019.10.07 |
---|---|
[구현보안] 캡슐화 03 - 시스템 데이터 정보 노출 (0) | 2019.10.07 |
[구현보안] 캡슐화 01 - 잘못된 세션에 의한 데이터 정보 노출 (0) | 2019.10.07 |
[구현보안] 코드오류 04 - 초기화되지 않은 변수 사용 (0) | 2019.10.07 |
[구현보안] 코드오류 03 - 해제된 자원 사용 (0) | 2019.10.07 |
- Total
- Today
- Yesterday