SSL을 이용한 통신을 할 때 Server와 Client는 보안 채널을 통해 데이터를 주고 받게 되며 보안 채널을 만들기 위해서 SSL 혹은 TLS가 사용된다.

 

TCP/IP 구조의 경우 Server와 Client가 직접연결되는 것이 아니기에 중간에 공격자에 의해 데이터가 변조될 가능성이 있다.

 

Client가 Server와 SSL 통신을 하고 있는 중이라면 공격이 불가능 하겠지만 SSL연결을 요청하는 초기 단계라면 이야기는 달라진다.

 

SSL MITM Attack

 

MITM은 공격자가 중간에서 SSL인증서만을 가로채는 공격기법이다. (네 이게 답니다. 이 과정에 전문 지식을 요할 뿐...)

이는 공격자가 사용자에게 서버인척 가짜 인증서를 송신한다.

이를 수신한 사용자는 가짜 인증서에 있는 공개키로 개인정보등을 암호화해서 공격자에게 보내준다.

공격자는 이를 이용해 서버에게서 SSL 인증서를 발급 받는다.

 

1. 사용자 <-> 공격자 (가짜 인증서를 활용한 정보 탈취)

2. 공격자 <-> 서버 (탈취한 정보를 이용한 SSL 인증) 

 

HTTPS를 벗겨내는 Strip 공격과는 다른 방식이다.

SSL Strip Attack

SSL Strip Attack

 

Client가 Client Hello Message를 전송 할 때 이를 가로챈 공격자는 자기가 마치 사용자인 것 처럼 Client Hello Message를 Server에게 전달해준다. Server는 Server Hello Message와 서버 인증서를 공격자에게 제공해준다.

이렇게 보안 인증서가 나오기전 사이를 탈취하면서 SSL Strip Attack이 성립된다.

사용사 <--HTTP--> 공격자 <--HTTPS--> 서버 

형식을 띄게 된다.

 

1. 사용자 --> 공격자 (사용자가 서버에세 SSL 인증서를 발급받기 위한 절차 수행중)

2. 공격자 --> 서버 ( 그 절차 사이에 끼어들어 자기를 거쳐 가게끔 함)

3. 사용자 <-> 공격자 (HTTP로 통신 진행)

4. 공격자 <-> 서버 (HTTPS로 통신 진행)

'Basic Concepts > Network' 카테고리의 다른 글

UPnP(Universal Plug & Play)  (0) 2020.04.01
curl(Clinet URL)  (0) 2020.03.17
SSL (Secure Socket Layer)  (0) 2020.02.26
HSTS(HTTP Strict Trasport Security)  (0) 2020.02.25
IPS/IDS  (0) 2020.02.08

+ Recent posts