취약점 진단 가이드/DBMS 취약점 진단 가이드

D-17(중) 패스워드 확인함수가 설정되어 적용

H.J.World 2021. 7. 28. 10:10
728x90
반응형

※ 해당 가이드는 2021년 기준입니다.

주요정보통신기반시설 관리기관은 -정보통신기반 보호법- 제9조에 따라, 주요정보통신기반시설로 신규 지정된 후 6개월이내, 그리고 매년 취약점 분석/평가를 실시하여야 한다. 취약점 분석/평가는 453개의 관리적/물리적/기술적 점검항목에 대한 주요정보통신기반시설의 취약여부를 점검하여, 악성코드 유포, 해킹 등 사이버 위협 대응을 위한 종합적 개선과정이다.


주요정보통신기반시설 취약점 네트워크 장비 점검 항목

■ 취약점 개요

○ 점검개요 : 패스워드 복잡도를 확인하는 PASSWORD_VERIFY_FUNCTION 값이 설정되어 있는지 점검

○ 점검목적 : PASSWORD_VERIFY_FUNCTION 값을 설정하여 기본적인 패스워드 정책을 적용하고 이를 통해 로그인에 대한 보안성을 강화하여 저장중인 데이터의 안전성을 높이고자 하는 목적

○ 보안위협 : PASSWORD_VERIFY_FUNCTION 값이 설정되어 있지 않을 경우, 비인가자가 각종 공격(무작위 대입 공격, 사전 대입 공격 등)을 통해 취약한 패스워드가 설정된 사용자 계정의 패스워드를 획득하여 획득한 사용자 계정 권한을 통해 저장되어 있는 데이터의 유출, 수정, 삭제 등의 위험 발생

○ 점검대상 : Oracle, ALTIBASE, TIBERO

○ 판단기준

- 양호 : 패스워드 검증 함수로 검증이 진행되는 경우

- 취약 : 패스워드 검증 함수가 설정되지 않은 경우

 

■ 점검방법 및 조치방안

Oracle

Step 1 설정 확인(SQL*Plus)
SQL> SELECT profile, limit FROM dba_profiles, (SELECT limit AS def_pwd_verify_func FROM dba_profiles WHERE resource_name = 'PASSWORD_VERIFY_FUNCTION' AND profile = ' DEFAULT‘) WHERE resource_name= ’PASSWORD_VERIFY_ FUNCTION‘ AND REPLACE(limit, 'DEFAULT’,def_pwd_verify_func) in ('UNLIMITED', ’NULL');
(반환 레코드가 존재하는 경우 취약)
Step 2 패스워드 복잡도를 강제하는 패스워드 검증 함수를 생성, 사용


ㆍ패스워드 확인 함수 적용 예시
SQL> Alter profile default limit
SQL> Password_verify_function_verify_password_dod;

PARAMETER 설명
FAILED_LOGIN_ATTEMPTS log on 시도 반복 허용 횟수
PASSWORD_LIFE_TIME password의 수명 날짜 기간
PASSWORD_REUSE_TIME password의 재사용 금지 날짜 기간
PASSWORD_REUSE_MAX password의 재사용 가능한 최대 횟수
PASSWORD_VERIFY_FUNCTION password의 검증 함수로 검증 진행
PASSWORD_LOCK_TIME passwordlog on 허용 횟수 실패 후 계정 잠김 날짜 기간
PASSWORD_GRACE_TIME password가 만료된 후 password_life_time 경과되어 비밀번호를 변경해야 할 경우, password를 변경할 수 있는 기간을 날수로 지정

Altibase

Step 1 다음 명령어를 통해 PASSWORD_VERIFY_FUNCTION COLUMN 값을 확인(값이 없을 경우 패스워드 유효성 검사 함수가 미설정)


select * from system_.sys_users_;
Step 2 PASSWORD_VERIFY_FUNCTION 프로퍼티 설정
ALTER USER 유저명 LIMIT (프러퍼티 숫자);


) ALTER USER TESTUSER LIMIT (PASSWORD_VERITY_FUNCTION default);
ㆍ패스워드 유효성 검사 함수 적용 확인




ㆍ패스워드 유효성 검사 기본 함수로 설정됨을 확인

Tibero

Step 1 사용자별 패스워드 프로파일 적용 여부 확인


select * from dba_users;
Step 2 설정되어 있을 경우 프로파일 설정 내용 확인


select * from dba_profiles;
Step 3 설정되어 있지 않을 경우 프로파일 생성 시(또는 수정 시 alter profile) 패스워드 정책 설정


ㆍ정책 적용 시 다음 명령어를 사용
CREATE PROFILE prof LIMIT


) CREATE PROFILE prof LIMIT
failed_login_attempts 3
password_lock_time 1/1440
password_life_time 90
password_reuse_time unlimited
password_reuse_max 10
password_grace_time 10
password_verify_function verify_function;

 

■ 조치 시 영향

일반적으로 무관

 

PASSWORD_VERIFY_FUNCTION

이 프로파일에 명시된 사용자가 데이터베이스에 로그인 할 때 패스워드 확인을 위해 PL/SQL 함수가 사용되도록 명시하는 프로파일

 

728x90
반응형