티스토리 뷰
가. 원인
- 인가 사용자만 접근해야 하는 기능에 올바른 접근권한 검증을 수행하지 않을 경우
나. 영향
- 권한없는 사용자에 의해 기능이 사용됨
- 권한없는 사용자에 의해 데이터가 유출
다. 보안대책
- 역할에 따라 제공되는 정보와 기능의 노출을 최소화
- 사용자 권한 별 ACL을 적용
- URL 조작을 통해 리소스에 직접 접근할 수 없도록 차단
- 파라미터 조작을 통한 직접 접근을 할 수 없도록 차단
라. 안전한 코드
1. 권한검증
public ModelAndView deleteUserInfo( ... ) { String userID = (String) session.getAttribute("LoginID"); ... // 로그인 사용자가 유저정보를 삭제할 권한이 있는지 확인 if ( checkUserAuthOfDeleteUserInfo( userID ) ) showAlert( "Not Allowed" ); ... deleteMemberInfo(request); ... }
|
마. 진단방법
<적절한 인증여부 확인>
1. 중요기능에 대한 접근 및 변경 권한을 설정하였는지 확인
2. 설정한 권한검증을 수행하는지 확인
3. 권한검증을 서버측 코드에서 수행하는지 확인
바. 정/오탐 케이스
<정탐 케이스>
1. LDAP 쿼리문에 별도의 사용자 인증에 대한 제어를 하지 않을 경우
( env.put( Context.SECURITY_AUTHENTICATION, "none");
<오탐 케이스>
1. 삭제 액션을 수행할 권한을 확인한 뒤 기능을 수행할 경우
'Web Analytics > SW 보안약점 진단원' 카테고리의 다른 글
[구현보안] 보안기능 04 - 취약한 암호화 알고리즘 사용 (0) | 2019.10.04 |
---|---|
[구현보안] 보안기능 03 - 중요한 자원에 대한 잘못된 권한 설정 (0) | 2019.10.04 |
[구현보안] 보안기능 01 - 적절한 인증없는 중요기능 허용 (0) | 2019.10.04 |
[구현보안] 입력 데이터 검증 및 표현 15 - 포멧 스트링 삽입 (0) | 2019.10.04 |
[구현보안] 입력 데이터 검증 및 표현 14 - 메모리 버퍼 오버플로우 (0) | 2019.10.04 |
- Total
- Today
- Yesterday