불충분한 인증

justugi·2024년 5월 23일

웹 취약점 진단

목록 보기
14/19

인증(Authentication) : 사용자의 신원을 확인하는 과정으로, 사용자가 주장하는 사람이 맞는지 확인하는 것이다.
인가(Authorization) : 사용자에게 접근 권한을 부여하는 과정으로, 사용자의 신원이 확인된 상태에서 이루어진다.

불충분한 인증

: 적절한 인증 절차를 거치지 않은 권한이 없는 사용자가 시스템에 접근하거나 특정 기능을 사용할 수 있는 취약점이다. 일반적으로 사용자의 신원을 확인하는 과정이 불충분하거나 파라미터 값 변조 등을 통해 타인의 로그인 과정에 접근이 가능한 경우이다.

점검 절차

  1. 중요정보(개인정보 변경 등) 페이지 접근 시 재인증 여부를 확인한다.
  2. 인증 후 페이지에 아이디만을 인증 값으로 하여 변수로 관리되고 있는지 확인한다

보안 대책

  1. 중요정보(개인정보 변경 등)를 표시하는 페이지에서는 본인 인증을 재확인하는 로직을
    구현하고, 사용자가 인증 후 이용 가능한 페이지에 접근할 때마다 승인을 얻은 사용자인지
    페이지마다 검증하여야 한다.
  2. 인증에 성공한다면 일회용 토큰을 발급하여 토큰이 있어야만 개인정보를 볼 수 있도록 프로세스를 구축해야 한다.
  3. 인증 과정을 처리하는 부분에 클라이언트 측 스크립트(Javascript, VBScript 등)를 사용하면
    사용자가 임의로 수정할 수 있으므로, 서버 측 스크립트(PHP, ASP, JSP 등)를 통하여 인증
    및 필터링 과정을 수행한다.

출처
https://www.okta.com/kr/identity-101/authentication-vs-authorization/
https://hanuscrypto.tistory.com/entry/%EC%9D%B8%EC%A6%9D-%EC%9D%B8%EA%B0%80-%EC%B7%A8%EC%95%BD%EC%A0%90
한국인터넷진흥원(KISA) 2021년 주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드 (기반보호팀 이풍환) https://www.kisa.or.kr/2060204/form?postSeq=12&page=1#fnPostAttachDownload

profile
IT 보안, 관심 있는 것을 공부합니다.

0개의 댓글