불충분한 인증은, 민감한 데이터에 취약한 인증 메커니즘이 구현되어 있을 경우 발생하는 취약점 입니다.
인증 기능(로그인, 중요 페이지에 대한 2차 인증 등)은 구현하였으나 추측 가능한 패스워드, 취약한 인증 프로세스로 구현되어 있으면 해커가 이를 우회하여 정보를 탈취 할 수 있는 취약점 입니다.
해당 취약점을 대비하는 이유는, 단순한 비밀번호 입력을 통하여 쉽게 로그인을 시도 할 수 있거나, 권한이 없는 사용자가 중요 정보 페이지에 접근하여 정보를 유출하거나 변조할 수 있기 때문 입니다.
#방법1
이를 대비하기 위해서는 먼저 인증이 필요한 곳에서의 비밀번호를 단순하게 입력받는 것이 아니라 특수기호가 포함된 단어로 입력을 받게 하는 것 입니다.
JavaScript를 통하여 브라우저에서 1번, Java를 통하여 서버에서 1번씩 검증을 해 줍니다.
아래는 간단하게 볼 수 있는 자바스크립트를 활용한 비밀번호 정규식 점검 함수 입니다.
https://lts0606.tistory.com/547
#방법2
로그인시 메일인증, 문자인증 및 소셜로그인 인증 등을 통하여 "인증" 프로세스의 복잡도를 늘리는 것 입니다.
아니면 아에 로그인 기능을 소셜로그인으로 변경 하는 것도 좋습니다.
* 소셜 로그인 관련 샘플 내용
https://lts0606.tistory.com/489
#방법3
권한없이 페이지에 이동을 하게 되는 경우 해당 페이지에서의 인증이 반드시 이루어져야 합니다.
단순하게 메뉴만 가림으로써 사용자가 페이지 주소를 기억하여 인증 없이 접근이 가능한 행위가 예로 들 수 있습니다.
가장 대표적인 해결 방법은 웹 서버의 세션을 통한 페이지 접근시 확인 방법 입니다.
또는 JWT 토큰 기법을 활용한 페이지 접근 권한 확인 등을 들 수 있겠습니다.
* JWT 관련 간단 내용
https://lts0606.tistory.com/530
불충분한 인증(IA)이라는 취약점은 불충분한 인가(IN)와 내용이 대동소이하여 통합이 되어서 요즘에는 불충분한 인가(IN) 취약점으로 좀 더 많이 나온다고 합니다.
이상으로 불충분한 인증(IA)에 대해서 간단하게 살펴보았습니다.
궁금한점 또는 틀린 부분은 언제든 연락주세요! 👻
'웹 취약점(Web vulnerability)' 카테고리의 다른 글
14. 크로스 사이트 리퀘스트 변조(CSRF) (0) | 2021.12.06 |
---|---|
13. 취약한 패스워드 복구(PR) (0) | 2021.12.06 |
11. 크로스 사이트 스크립팅(XS, XSS, Cross Site Scripting) (0) | 2021.12.02 |
10. 악성 콘텐츠(CS) (0) | 2021.12.02 |
9. 정보 누출(Information Leakage) (0) | 2021.11.29 |
댓글