R's Hacking Daily Log

HSTS 본문

Daily-Note/web

HSTS

hanhxx 2023. 3. 15. 15:49

HSTS :: Http Strict Transport Security

user의 브라우저가 항상 https를 통해서 web page에 연결되도록 보장함으로써 user를 보호하는 역할을 수행한다. 

 

쉽게 말해, HSTS의 역할은 

http connection → https connection으로 redirect

하는 것!!

 

 

어떤 Domain에 대해 HSTS를 적용할 수 있다면 Browser는 HTTP 대신  HTTPS를 사용한다. 

그렇다면 HSTS 정보는 어디서 볼 수 있을까?

 

 

 

HSTS Response Header 

http or https protocol에서는 server와 client 사이의 request & response가 오고 간다. 

여기서 말하는 response의 header에서 HSTS 정보를 볼 수 있다.

 

 

simplest form)

Strict-Transport-Security : max-age = 31536000 (seconds)

 

 

recommanded form)

Strict-Transport-Security : max-age = 31536000; includeSubdomain; preload;

 

 

위와 같이 HSTS가 적용된 경우, 

Browser에게 "이 도메인에 대해 HSTS를 활성화하고 지정 시간동안 기억해!"라고 말하는 것이며

기억해! 라고 말한 후로 해당 도메인에 연결하고자 할 때는 자동적으로 https 연결이 이뤄지게 된다. 

 

 

max-age는 Browser가 "어떤 도메인에 대해 HSTS가 활성화되어 있다"는 걸 기억해야 하는 기간을 나타낸다. 

단위가 초(seconds)이고 위에서의 예시는 초로 1년(year)을 지정하고 있는 것.

 

 

 

HSTS의 약점(?)

Http에서 Https로 redirect 하는 타이밍이 MITM(Man in the middle) attack의 기회가 될 수 있다..!!

 

http → https로 redirect될 때,

본래 도메인으로의 접속을 공격자들이 가로채서 악성 사이트로 바꿔치기되는 것이다 (OoO)

 

 


+ Memo

application layer에서 web service를 이용할 때 흔히 사용하는 protocol인 http.

 

간단하게 http + security = https 라고 볼 수 있는데, 생각보다 https가 적용되지 않은 경우가  많다 보니

HSTS와 같은 policy가 등장하게 된 것 같다. 

'Daily-Note > web' 카테고리의 다른 글

DVWA로 보는 간단한 CSRF 실습  (0) 2023.04.08
CSRF Defense  (0) 2023.04.08
XSS  (0) 2023.04.05
CSRF Attack  (0) 2023.04.04
Cookie & Session & Token  (0) 2023.04.02
Comments