Security & Hacking

SSL Stripping

zeroone-kr 2025. 2. 10. 20:37

 

SSL Stripping

SSL Stripping 이란 HTTPS 를 HTTP 로 downgrade시키는 공격 기법이다.

장점은 브라우저에서 인증서 에러를 표시하지 않아 피해자는 실제 공격이 진행되고 있는지 모른다.

SSL Stripping을 수행하면 평문 통신을 볼 수 있어서 개인정보들을 탈취할 수 있다.

 

 

동작 원리

동작 원리는 mitm(e.g,. proxy, arp poisoning) 이 선행되어야한다.

 

(1) mitm된 상황에서,

(2) 공격자는 중간에서 https redirect 응답을 차단하고,

(3) http로 downgrade 시켜서 클라이언트에게 응답을 준다.

 

이렇게 되면, 브라우저는 그냥 실제 원하는 서버와 잘 통신하고 있다고 생각한다.

비록 실제 구조는 아래와 같지만 말이다.

 

victim --(http)-- attacker --(https)-- server 

 

 

개선 방법

이를 개선하기 위해 HSTS라는 것이 나왔다.

HSTS는 "이제 부터, 이 도메인을 접근할때 반드시 HTTPS로 먼저 접근해"라고 하는 것이다.

하지만, 이 방법은 http response header를 통해 적용이 된다.

브라우저는 해당 response header를 보고 난 뒤 부터 HTTPS로 접근하기 때문에, 첫번째 요청에는 여전히 HTTP로 요청할 수 있고, 이 과정에서 공격자가 개입할 수 있다.

 

이를 개선하기 위해서는 브라우저 소스 코드 내부에 HTTPS방식으로만 접근 가능한 URL을 하드 코딩하여,

"해당 도메인에 해당하는 URL에 접근할때, 반드시 HTTPS방식으로 접근해라"는 방식의 HSTS preloading이라는 기법이 나왔다.

 

 

공격자 관점에서 접근

여러 자료들을 참고 했을떄, SSL Stripping에 대응하려면 HTTPS로 먼저 로드하는 것이 중요한 문제라고 판단한다. 공격자 관점에서 해당 도멘인에 대해 HSTS preloading이 적용되지 않다는 것을 확인하면, SSL Stripping을 확인해볼만한 가치가 있다. HSTS preload URL list는 브라우저 설치할때 적용된다. 크롬 브라우저 같은 경우 해당 URL에서 자세한 내용을 확인할 수 있다.

 

 

참고 자료

https://www.youtube.com/watch?v=MFol6IMbZ7Y

 

https://avicoder.me/2016/02/22/SSLstrip-for-newbies/

 

https://security.stackexchange.com/questions/183467/does-sslstrip-work-only-on-websites-which-use-both-http-and-https

 

https://stackoverflow.com/questions/60606198/what-actually-occurs-in-ssl-strip-attack

 

https://www.chromium.org/hsts/

 

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=aepkoreanet&logNo=221575708943

'Security & Hacking' 카테고리의 다른 글

00_angr_find  (0) 2025.02.10
angr 핵심 개념  (0) 2025.02.10
decrypt_safe_linking 이해  (0) 2025.01.11
SROP  (0) 2025.01.11
CodeQL CTF 정리  (0) 2025.01.01