스터디/Authentication vulnerabilities

Authentication vulnerabilities 3

hel1oworld 2026. 4. 14. 18:25

1. 이론 : Vulnerabilities in other authentication mechanisms

사용자가 자동 로그인을 키는 경우(= 로그인 유지하기)는 보통 쿠키 값을 저장하여 컴퓨터 브라우저 확인.

따라서 보안을 위해서
1) 쿠키 값에는 비밀번호 내용 들어가면 안 됨.
2) 쿠키 값은 base64와 같은 단순 양방향 인코딩으로 암호화 하면 안 됨.
즉, 쿠키 값 유추할 수 없도록 쿠키 생성 방식에 관련된 내용을 비밀로 해야함. (해당 내용 파일도 숨겨야함)
3) XSS가 가능한 경우, 공격자는 다른 사용자의 "로그인 유지" 쿠키를 탈취하고 이를 통해 쿠키 생성 방식을 추론할 수 있음.
XSS는 막아야 좋긴하지..

 

2. 이론 : 비밀번호 재설정

사용자가 비밀번호 재설정을 요청했을 때 크게 2가지 방법이 있음.

1) 인증된 이메일을 통해 새로운 비밀번호 전송(즉, 서버에서 새로 만든 비번)
이 때 유출되지 않도록 주의
새로 만든 비밀번호는 바로 변경하도록 유도

2) 비밀번호 재설정 URL로 이동시키기
이 때 URL에는 사용자의 정보(ID등)가 표시되지 않도록 해야함.
왜냐, ID가 표시되면 해당 ID를 다른 것으로 변경해서 바꿀수도 있음.
그래서 URL은 높은 엔트로피를 가진 URL과 토큰 정보를 갖고 있으면 어느정도 해결됨.

 

3. 이론 : Preventing attacks on your own authentication mechanisms

자체 인증 시 주의할 점
1) 사용자 자격인증을 http등 보안 없는거 ㄴㄴ. https로 안전하게!
2) 비밀번호 보안 사용자한테 맡기기 ㄴㄴ. 서버에서 popular example is the JavaScript library "zxcvbn", which was developed by Dropbox 같은 프로그램으로 비밀번호 검사기 사용
3) 사용자 이름 사용 금지.
4) 모든 로그인에 대해서 동일한 http 상태 코드 반환, 동일한 응답 시간 적용
5) 무차별 대입 공격 방지(IP 기반 등)
6) 검증 로직 확실하게!
7) 비밀번호 재설정 등 로그인 뿐 아닌 보조 기능도 보안 철저하게!
8) 2차 검증은 안전하게! (다양한 방법 있음 ㅇㅅㅇ)

'스터디 > Authentication vulnerabilities' 카테고리의 다른 글

Authentication vulnerabilities 2  (0) 2026.04.13
Authentication vulnerabilities  (0) 2026.03.31