Vulnerability Analysis 2
2024. 3. 30. 20:56ㆍCERT
목차
- Vulnerable file Existence Vulnerability
- Account Management Vulnerability
- Real - name Authentication Vulnerability
- Exposing sensitive information on transmission Vulnerability
Vulnerable file Existence Vulnerability
정의
- 취약한 파일: 업데이트가 주기적으로 되어있지 않은 파일 혹은 기타 사유로 인해 관리가 소홀하여 접근 권한 및 암호화 설정이 되어 있지 않은 파일등을 말함
- 취약한 파일 존재 취약점: 취약한 파일의 존재로 인해 기타 중요한 파일들이 외부로 유출되거나 시스템 자체에 영향성이 가해질 수 있는 취약점을 말함.
보안 위협
- 기타 중요한 파일들이 소유자 권한 설정이 안되어 있거나, 암호화 설정이 안되어 있다면, 외부로 유출되거나 조작될 가능성이 있음
- 웹 루트 하위에 내부 문서나 백업파일, 로그파일, 압축파일과 같은 파일이 존재할 경우 파일명을 유추하여 파일명을 알아내고, 직접 요청하여 해킹에 필요한 서비스 정보를 획득
점검방법
- 웹서버의 가상 디렉토리로 이동하여 다음에 제시되는 확장자의 파일을 찾아 불필요한 정보가 포함 되었는지 여부를 판단
※ 문서파일일 경우 내용에 개인정보 등의 주요정보 존재여부 확인 필요
Windows 의 검색 방법
- 예) dir /[웹서버디렉토리] /s *.bak
Unix, Linux 의 검색 방법
- 예) find /[웹서버디렉토리] -name "*.bak"
대응방안
- 웹서버는 개발과 운영 환경을 분리하여 운영 환경에서 소스 코드 수정 또는 테스트 목적의 임시 파일을 생성하지 않도록 함
- 웹 서버의 디렉토리에 존재하는 기본 설치 파일, 임시 및 백업 파일을 조사하여 웹 사용자가 접근하지 못하도록 조치
Account Management Vulnerability
정의
- 계정 관리: 조직이 필요로 하는 보안 정책을 수립하고 정책에 따라 자동으로 사용자의 정보와 권한을 관리하는 솔루션
- 계정 관리 또한 추상적이며, 방대하기에 관련 보안 조치 중 패스워드 복잡도 설정을 대표로 하나 기술
계정 관리(패스워드 복잡도 설정)
- 정의:패스워드 복잡성 관련 정책이 설정되어 있는지 점검하여 비인가자의 공격(무작위 대입 공격, 사전 대입 공격 등)에 대비가 되어 있지 않은 상태를 말함
보안위협
- 복잡성 설정이 되어있지 않은 패스워드는 사회공학적인 유추가 가능 할 수있으며 암호화된 패스워드 해시값을 무작위 대입공격, 사전대입 공격 등으로 단시간에 패스워드 크렉이 가능함
참고: ※ 패스워드 복잡성: 사용자 패스워드 설정 시 영문(대문자, 소문자), 숫자, 특수문자가 혼합된 일정 길이 이상으로 패스워드를 설정하는 방법
대상 : SOLARIS, LINUX, AIX, HP-UX 등
판단 기준
- 양호 : 패스워드 최소길이 8자리 이상, 영문·숫자·특수문자 최소 입력 기능이 설정된 경우
- 취약 : 패스워드 최소길이 8자리 이하, 영문·숫자·특수문자 최소 입력 기능이 설정되어 있지 않은 경우
조치 방법
- 계정과 유사하지 않은 8자 이상의 영문, 숫자, 특수문자의 조합으로 암호 설정및 패스워드 복잡성 옵션 설정
< 패스워드 관리 방법 >
1. 영문, 숫자, 특수문자를 조합하여 계정명과 상이한 8자 이상의 패스워드 설정
※ 다음 각 목의 문자 종류 중 2종류 이상을 조합하여 최소 10자리 이상 또는, 3종류 이상을 조합하여 최소 8자리 이상의 길이로 구성
- 영문 대문자(26개)
- 영문 소문자(26개)
- 숫자(10개)
- 특수문자(32개)
2. 시스템마다 상이한 패스워드 사용
3. 패스워드를 기록해 놓을 경우 변형하여 기록
■ LINUX - RHEL5
- 패스워드 복잡성 설정 파일 확인 #/etc/pam.d/system-auth, /etc/login.defs 내용을 내부 정책에 맞도록 편집
- /etc/pam.d/system-auth 파일 설정
- 패스워드 정책 설정 예시
Real - name Authentication Vulnerability
정의
- 사용자 본인 확인 과정상에서 취약한 프로그램이 악용되어 사용자 정보가 변조되는 취약점
보안 위협
- 사용자의 신원 도용, 금융적 손실, 개인 정보 유출 등으로 이어짐
※ 「정보통신망 이용촉진 및 정보보호 등에 관한 법률」에 의거, 국가기관, 지방자치단체 및 공공단체 등에서 운영하는 게시판은 사용자 본인을 확인하기 위한 방법 및 절차가 마련되어야 함
점검방법
웹 프록시(Proxy) 프로그램을 이용하여 실명정보를 수정하는 방법으로 취약점 점검을 수행
- 관리하고 있는 웹서버 내의 실명인증 페이지로 이동
- 프록시(Proxy) 프로그램을 이용하여 실명인증 과정 중에 발생하는 네트워크 트래픽을 모니터링
- 실명인증 성공 후의 결과정보를 조작
- 공격자는 취약점이 존재하는 웹서버에 정상적인 사용자의 개인정보로 접속하여 실명 인증 수행한다.
- 웹서버(또는 개인)는 인증기관으로 실명정보 확인을 요청한다.
- 실명정보를 확인한 인증기관은 웹서버에 사용자의 나이, 성별, 연락처 등의 개인정보를 전달하며 사용자에게는 "실명인증 성공" 메시지를 전달한다.
- 공격자는 수신한 실명인증 결과를 웹 프록시 툴을 이용하여 임의의 사용자로 변조 후 가입 또는 글 작성을 완료한다.
- 취약점이 존재하는 웹서버는 사용자가 요청한 정보를 검증과정 없이 신뢰하여 변조된 사용자의 가입(또는 글 작성)을 허용한다.
대응 방안
- 중요한 정보가 있는 홈페이지(실명 등)는 인증 기관으로부터 온 사용자 정보와 공격자로부터 온, 변조된 정보를 비교하여 재인증을 적용
- 안전하다고 확인된 라이브러리나 프레임워크를 사용
Exposing sensitive information on transmission Vulnerability
정의
- 프로그램이 보안과 관련된 민감한 데이터를 평문으로 통신채널을 통해서 송수신 할 경우, 통신채널 스니핑을 통해 인가되지 않은 사용자에게 민감한 데이터가 노출될 수 있는 취약점
보안 위협
- 중요한 텍스트 정보(id, password)와 같은 정보가 노출되어 공격자가 이를 악용하여 타인의 계정 정보를 사칭 및 도용할 수 있다.
- 노출된 정보를 공격자가 악용하여 이후 사회 공학 공격 등에 이용하여 추가적인 2차 피해를 발생 가능성 있음
점검 방법
- 점검 하고자하는 웹서버에 로그인 시도를 한다.
- 점검 도구는 와이어샤크를 이용한 패킷 스니핑을 통해 실제로 송수신하는 패킷들을 저장한다.
- 저장된 패킷들 중 로그인 인증관련 패킷들만을 집중 분석하여 암호화 여부를 확인하다.
- http 통신을 하는 웹 사이트로 테스트
- 실제로 회원가입하여 id 및 pw를 기입 후 로그인 시도
- 와이어샤크로 확인한 결과, id, pw 그대로 노출
대응방안
- 중요 정보 전송시 반드시 SSL 혹은 TLS 등의 암호화 통신 프로토콜을 사용한 HTTPS 통신만을 사용하도록 함.
'CERT' 카테고리의 다른 글
Vulnerability Analysis 4 (0) | 2024.05.22 |
---|---|
Vulnerability Analysis 3 (0) | 2024.04.20 |
Vulnerability Analysis 1 (2) | 2024.03.26 |
Shodan (0) | 2024.03.09 |
Vulnerability Analysis Using Google Hacking (0) | 2024.02.10 |