권한인증 취약점이란?
- 권한인증 취약점은 사용자 인증 등에 사용되는 여러 정보를 수정하여 접근 권한이 없는 정보에 접근하여 기밀 정보를 조회 또는 변경하고 악용할 수 있는 취약점
- 공격 방식에 따라 아래와 같이 분류된다.
- URL/Parameter 변조
- 세션 탈취(불충분한 세션 관리)
- 쿠키 변조
URL/Parameter 변조
- 웹 서버에 전송되는 모든 HTTP 요청 값(URL, Parameter 등)을 조작해 접근 권한이 없는 정보에 접근하는 방식
세션 탈취(불충분한 세션 관리)
- 웹 애플리케이션 사용자가 로그인 시 발급되는 세션ID가 일정한 규칙을 가지고 발급되거나 세션 타임아웃을 너무 길게 설정한 경우 공격자가 사용자 세션ID가 유추하거나 유출되어 사용자의 권한이 도용되는 방식
쿠키 변조
- 쿠키(Cookie)를 변조하여 다른 사용자로 전환하거나 권한 상승을 수행하는 방식
권한인증 취약점 대응 방안
- 중요한 정보가 있는 웹 페이지는 재인증(2차 인증)을 적용
- 개발 시 안전하다고 확인된 라이브러리나 프레임워크(OpenSSL, ESAPI의 보안 기능 등)를 사용하여 개발
- 사용자 권한에 따른 ACL(Access Control List)을 설정
- 응용 프로그램이 제공하는 정보와 기능을 역할에 따라 배분함으로써 공격 노출면을 최소화
- 로그인할 때 마다 예측이 불가능한 새로운 세션ID를 발급하도록 설계하고 이 때 기존 세션ID는 파기한다.
- 세션 만료 시간을 설정하여 일정 시간 움직임이 없을 경우 자동으로 로그아웃 되도록 설정
- Cookie 대신 Session 방식을 사용하여 사용자 인증을 구현하는 것이 좀 더 안전하다.
'CERT > 웹 취약점' 카테고리의 다른 글
[웹 취약점]에러처리 취약점의 정의 및 대응 방안 (0) | 2023.05.06 |
---|---|
[웹 취약점]SQL Injection 취약점의 정의 및 대응 방안 (0) | 2023.05.06 |
[웹 취약점] Cross-Site Scripting(XSS) 취약점의 정의 및 대응 방안 (0) | 2023.05.06 |
웹 쉘(Web Shell)의 정의 및 피해 사례 및 실습 (0) | 2023.04.29 |
[웹 취약점]공개용 웹 게시판 취약점의 정의 및 대응 방안 (0) | 2023.04.15 |