티스토리 뷰
반응형
가. 원인
- 일방향 해쉬 함수를 사용할 때 솔트를 적용하지 않은 경우
나. 영향
- 레인보우 테이블 등을 통해 모든 해쉬값을 미리 계산하여, 암호문의 원문을 추출
다. 보안대책
- 해쉬 값을 생성할 때 반드시 솔트를 적용
라. 안전한 코드
1. 솔트 적용
public String getPasswordHash( String password, byte[] salt ) { MessageDigest md = MessageDigest.getInstance( "SHA-256" ); md.reset(); md.update( salt ); String result = md.digest( password.getBytes() ); return result; }
|
마. 진단방법
<솔트 확인>
1. 해쉬함수 사용하는 소스코드를 확인
2. 해쉬 사용 시 MessageDigest 객체를 사용하는지 확인
3. 해쉬값을 생성 전에 솔트를 적용하는지 확인
바. 정/오탐 케이스
<정탐 케이스>
1. Salt값 없이 SHA-512 패쉬값을 생성하고 있을 경우
반응형
'Web Analytics > SW 보안약점 진단원' 카테고리의 다른 글
[구현보안] 보안기능 16 - 반복된 인증시도 제한 기능 부재 (0) | 2019.10.06 |
---|---|
[구현보안] 보안기능 15 - 무결성 검사없는 코드 다운로드 (0) | 2019.10.06 |
[구현보안] 보안기능 13 - 주석문 안에 포함된 시스템 주요정보 (0) | 2019.10.06 |
[구현보안] 보안기능 12 - 사용자 하드디스크에 저장되는 쿠키를 통한 정보노출 (0) | 2019.10.06 |
[구현보안] 보안기능 11 - 취약한 비밀번호 허용 (0) | 2019.10.06 |
댓글
반응형
최근에 올라온 글
- Total
- Today
- Yesterday