암호화 통신 공격의 이해

 

SSL MITM 공격의 이해

- SSL MITM 공격 원리
  > 공격자는 중간에서 스푸핑 작업을 통해 HTTPS 요청을 기다림
  > 이 때 HTTPS 요청이 생기면 공격자의 가짜 인증서를 클라이언트에 전달
  > 피해와 공격자 사이에서는 공격자의 인증서로 통신
  > 공격자와 서버는 실제 서버의 인증서로 통신


SSL Strip 공격의 이해

- SSL Strip 공격 원리
  > 공격자가 ARP Spoofing 공격 후 피해자가 접속 시까지 기다림
  > 방화벽 정책을 설정하여 80번 포트로 들어오는 것을 임의의 포트로 포워딩
  > 공격자가 SSL Strip 기법으로 SSL 통신을 하지 않도록 만듦
  > 피해자가 서버 접속 시 https가 아닌 http로 접속하게 됨
  > 공격자는 패킷을 캡쳐하여 ID, P/W 추출


암호화 통신 프로토콜 중 SSL/TLS에서 발생할 수 있는 취약점이 존재한다. Heartbleed는 이 중 하나로 서버의 메모리 정보를 유출하는 취약점이며 2014년 발생한 소프트웨어 버그이다. 이 공격으로 개인키 및 세션 쿠기, 암호 등을 훔칠 수 있다.

 

 

Heartbleed의 이해

공격 개요
- HeartBeeld ? 
  > OpenSSL에 포함되어 있는 요소
  > 서버와 클라이언트 사이에 문제가 없는지 안정적인 연결을 유지하기 위한 목적으로 설계
  > 일정 신호를 주고 받을 때 사용하는 확장 규격

- HeartBleed
 -> OpenSSL 1.0.1 버전에서 발견된 취약점
 -> TLS/DTLS(데이터그램 전송 계층 보안)의 HeartBeat 확장 규격에서 발견된 취약점
 -> 서버가 클라이언트로부터 전달받은 데이터와 일치 여부를 검증하지 않은 채 추가적인 정보를 보내 발생하는 취약점
 -> 필요 이상의 정보를 가상 메모리에 속한 내용과 포함하여 보내기 떄문에 메모리 주요 정보가 유출
 -> 영향 받는 버전 : OpenSSL 1.0.1 ~ OpenSSL 1.0.1 / OpenSSL 1.0.2-beta, OpenSSL 1.0.2-beta1

 


 Heartbleed 공격 원리

- HeatBeat 통신 방식
  > 클라이언트가 "POTATO" 6글자 응답을 요구
  > 서버는 클라이언트가 원하는 "POTATO"를 응답
  > 클라이언트가 서버에게 "HAT"이란 단어를 600글자로 응답 요청
  > 서버는 "HAT"의 단어 외 나머지 600글자를 채워 클라이언트에게 전달

 

POODLE의 이해

공격 개요
- Padding Oracle On Downgraded Legacy Encryption의 약어로 취약성 코드 CVE-2014-3566로 표현
 > SSL v3.0을 대상으로 가능한 취약점
 > 암호화와 인증을 바탕으로 하는 브라우저 기반 통신 대상을 공격
 > TLS 연결 설정 과정에서 하위 버전인 SSL 3.0으로 연결 수립을 유도한 뒤, 암호화된 통신 내용을 복호화하는 공격 기법
 > 구글 연구가인 Bodo Moller, Thai Duong and Krzysztof Kotowicz가 발견
 > 특별한 대응 방안이 존재하지 않아 SSL v3.0을 사용하지 않는 것이 최선의 방법
 >  MITM(Man In The Middle) 공격이 선행된 이후 가능