모의해킹/Web

HTTPS TLS/SSL 취약점 판단방법론

logthink 2020. 1. 29. 16:12

*nmap HTTPS 진단 명령줄
1. 암호문, SSLv2, 인증서 정보 확인
>>nmap --script ssl-cert,ssl-enum-ciphers -p 443,465,993,995 www.example.com

2. SSL 서비스만 확인
>>nmap -sV --reason -PN -n --top-ports 100 www.example.com

3. openssl로 Client-initiated 재협상과 Secure 재협상 테스트
>>openssl s_client -connect www2.example.com:443

4. sslyze 테스트
>>./sslyze.py --regular example.com:443

*네트워크 통신 관련 문제
사용자의 중요 정보 SSL 3.0 설계상 취약점과 이를 활용한 공격으로 TLS 연결 설정과정에서 하위 버전인 SSL 3.0으로 연결 수립을 유도한 뒤, 패딩 오라클 공격을 통해 암호화된 통신내용을 복호화 하여 민감한 데이터를 확인하는 공격 기법은? 1.SSL Pulse
2.SOCBC
3.POODLE
4.SSLlabs


데이터 평문 전송 대응방안으로 제시된 ( )은 HTTP프로토콜에 보안기능을 제공하기 위한 오픈소스 라이브러리이다. C언어로 구현된 중심 라이브러리 안에는 기본적인 암호화 기능 및 여러 유틸리티 함수들이 구현되어 있다. 이 때 괄호안에 정답을 고르시오
1. IPSec
2. OpenSSL
3. Kerberos
4. MySQL

평문전송을 보호하기 위해 HTTPS등 보안기능을 적용한다. 이러한 보안 프로토콜에서 중요정보를 평문으로 획득하기 위해 가장 효과적인 공격 or 툴은?
1. 데이터 수집을 위한 Promiscuous 모드 활성화
2. nmap으로 Smurf 공격
3. 버프스위트로 악성 스크립트 삽입
4. SSLstrip를 사용해 SSL MITM 공격

HTTP통신하는 진단 시 서버의 응답값 설명으로 옳지 않은것은?
1. 201 Create : 응답으로 새 리소스를 생성하며, 보통 POST요청 및 일부 PUT요청 이후의 상태코드이다.
2. 204 No Content : 요청에 대해 응답해줄 수 있는 콘텐츠가 없다.
3. 202 Accepted : 요청에 대해 확인했으며, 그에 응하여 행동한다.
4. 205 Reset Content : 요청 완수한 이후 사용자 에이전트에게 요청

'금융부문 암호기술 활용가이드'에 따르면 안전한 암호 통신 프로토콜은 ( ) 이상의 암호 프로토콜을 사용한다. 이 때 괄호안에 정답을 고르시오
1. TLS 1.2
2. TLS 1.1
3. SSL 3.0
4. SSL 2.0
1. SSL (Secure Socket Layer) 및 TLS (Transport Layer Security)전송계층 상에서 클라이언트,서버에 대한 인증 및 데이터 암호화 수행 - 클라이언트서버 양단 간 응용계층TCP 전송계층 사이에서 안전한 보안 채널을 형성해 주는 역할을 수행하는 보안프로토콜 ㅇ 주요 응용 - HTTP (HTTPS), FTP, TELNET, SMTP, SIP, POP, IMAP 등 에서 사용 가능 - 주로, 웹 브라우저웹 서버 사이의 안전한 보안 채널을 제공하기 위해 많이 사용됨 ㅇ 오픈 소스 구현 例) OpenSSL 2. SSL/TLS 역사 ㅇ 최초 제안 : 넷스케이프사 - 버젼 : SSL v1.0 (1994.7), SSL v2.0 (1994.12), SSL v3.0 (1996.11) * SSL v3.0은 그 당시 사실상의 보안 표준이었음 ㅇ SSL의 표준화 기여 => TLS 표준 - SSL v3.0 을 참고로하여 RFC 2246(1999년)으로 표준화된 것이 TLS 임 - 버젼 : TLS 1.0 (RFC 2246,1999) : SSL v3.1에 해당, TLS 1.1 (RFC 4346, 2006), TLS 1.2 (RFC 5246, 2008) ※ 따라서, SSL 및 TLS는 본질적으로 같으며 버전이 다른 정도임 3. SSL/TLS 주요 기능 ㅇ 상호 인증 - 공개키 인증서를 이용하여 서버,클라이언트의 상호 인증 - 즉, 클라이언트/서버 두 응용 간에 상대방에 대한 인증 ㅇ 메세지 압축 - 디폴트는 Null (즉, 무 압축) . (압축 알고리즘은 미리 정해지지 않고 협상으로 지정 가능) ㅇ 메세지 인증 (메세지 무결성) - 메세지 인증 코드 HMAC에 의한 메세지 무결성 제공 (HMAC MD5, HMAC SHA-1 등) ㅇ 암호화세션 키 생성(대칭 키 합의)을 위한 키 교환 - RSA : 두 키(공개 키개인 키)가 하나의 수 체계를 형성 (서버 공개 키 사용) - Diffie-Hellman : Diffie-Hellman 프로토콜을 기반으로 한 키 교환 방식 ㅇ 생성된 공유 비밀키에 의해 암호화종단간 안전한 연결 통로 제공 - 스트림 암호화 : 40, 128 비트RC4 - 블록 암호화 : IDEA, 40,56 비트DES, 168 비트3DES4. SSL/TLS 특징 ㅇ 클라리언트/서버 기반의 프로토콜 ㅇ 응용 프로그램(어플리케이션) 자체 구현 가능 - 대부분의 다른 보안 프로토콜(EAP,IPsec 등)은 운영체제 등에 밀접하게 관련됨 ㅇ 인증 구조 : X.509 - X.509에서 규정된 공개키 인증서 교환에 의해 상대방에 대한 인증 수행 ㅇ 키 교환 방식 : (협상 선택 가능) - Null, RSA 공개 키 교환, Anonymous Diffie-Hellman 키 교환, Ephermeral Diffie-Hellman 키 교환, Fixed Diffie-Hellman 키 교환, Fortezza ㅇ 대칭키 암호화 방식 : (협상 선택 가능) - RC2 (40), RC4 (40), RC4 (128), DES, Triple DES, IDEA 등 ㅇ 해쉬 알고리즘 : (협상 선택 가능) - Null, MD5, SHA-1 5. SSL/TLS 프로토콜 스택전송계층 TCP 위에서, `보안 소켓/보안 채널/터널링`을 구성  - 응용계층에서 생성된 데이터에 대한 보안(인증,무결성,기밀성),압축 등의 서비스 제공 - SSL/TLS 보안 터널을 위한 TCP/UDP 포트번호 . 例) 보안 HTTP를 위한 포트번호 443 (HTTPS) - 한편, UDP 상에서도 가능한 버젼으로, . DTLS (Datagram Transport Layer Security) RFC 6347(2012년)가 있음 ㅇ 프로토콜 스택SSL/TLS 구성 프로토콜 참조  - 크게, 하위 레코드 계층 프로토콜(단편화,압축,무결성,암호화,인증 기능 제공)과 상위 핸드세이크 관련 프로토콜들로 구성됨 6. SSL/TLS 핸드세이크 단계 ※ ☞ SSL/TLS 핸드세이크 참조


>>정보통신기술용어설명 : http://www.ktword.co.kr/word/abbr_view.php?m_temp1=1957