Web 취약점 진단 - 약한 문자열 강도

1. 약한 문자열 강도(BF) 

 

 

2. 취약점 개요 

 

약한 문자열(패스워드) 강도 취약점은 웹 사이트에서 복잡도 검증이 미흡한 패스워드를 허용할 경우 발생하는 취약점을 말하며, 공격자는 추측 가능하거나 주변 정보를 기반으로 생성한 사전 파일을 이용해 무차별 대입(Brute Force)나 사전 공격(Dictionary Attack)을 수행하여 사용자 계정을 탈취할 수 있는 취약점이다. 탈취한 계정을 통해서 개인정보 유출, 권한 오남용, 추가적인 내부 시스템 공격 등으로 2차 피해로 확산될 수 있다. 

※ 사전 공격(Dictionary Attack) : 사전 공격은 가능성 높은 문자열을 파일로 만들어 아이디나 패스워드를 대입 시도하는 공격 기법 

👍무차별 대입 공격은 가능한 모든 문자열 조합을 순차적으로 생성하여 대입하는 방식이고 사전 공격은 사용 가능성이 높은 문자열을 미리 만들어 대입한다. 

무차별 대입 사전 공격
공격 중 공격 전
모든 조합 가능성 높은 값
현실성 낮음 현실성 높음

👍무차별 대입 공격은 모든 문자열 조합을 실시간으로 생성, 사전 공격은 공격 전에 미리 준비해 대

 

🔍 크리덴셜 스터핑(Credential Stuffing) : 크리덴셜 스터핑은 과거에 유출된 정보를 이용해, 동일한 자격 증명을 여러 웹 사이트나 서비스에 자동으로 대입하여 계정 탈취를 시도하는 공격

 

3. 진단 결과 

 

1) 웹 사이트 로그인 페이지의 로그인 창에 추측 가능한 계정이나 패스워드를 입력하여 정상적으로 로그인되는지 확인

취약한 계정: admin, administrator, manager, guest, test, scott, tomcat, root, user, operator, anonymous 등• 취약한 패스워드: Abcd, aaaa, 1234, 1111, test, password, public, blank 패스워드, ID와 동일한 패스워드 등

 

2) 일정 횟수(3~5회) 이상 인증 실패 시 로그인을 제한하는지 확인

로그인 제한이 없음

 

4. 권고사항

 

1) 시스템 내 존재하는 취약 계정 및 약한 비밀번호를 식별·삭제하고, 사용자가 취약한 비밀번호를 신규로 등록하지 못하도록 비밀번호 정책을 강화하여야 함

2) 강화된 비밀번호 규칙이 반영된 검증 로직을 회원가입, 정보변경, 비밀번호 변경 등 관련 기능 페이지에 모두 적용하여야 함