데이터 전송 프로토콜인 HTTP/2, 구현 잘못하면 네트워크 위험

2021-08-06 13:30
  • 카카오톡
  • 네이버 블로그
  • url
데이터 전송 프로토콜 중 하나인 HTTP/2는, 그 자체로는 크게 문제가 없으나 실제 네트워크 환경에서 구현될 때 취약한 방식으로 되기 때문에 문제가 된다. 이를 조사한 연구원은 ‘다운그레이드 하지 않고 HTTP/2를 종단간 방식으로 구현하면 된다’고 강조한다.

[보안뉴스 문가용 기자] HTTP/2을 구현하는 과정에서 꽤나 많은 취약점이 발생하고, 이 때문에 수많은 웹사이트들이 위험에 노출되어 있는 상태라는 연구 결과가 이번 주 개최된 보안 행사 블랙햇(Black Hat)에서 발표됐다. 보안 업체 포트스위거(PortSwigger)의 연구 책임자인 제임스 케틀(James Kettle)이 발표를 맡았다.


[이미지 = utoimage]

케틀은 강연을 통해 자신이 넷플릭스와 같은 유명 사이트들을 HTTP/2 구현 취약점을 통해 공략할 수 있었다고 소개하며 “아마존의 애플리케이션 로드 밸런서와 임퍼바(Imperva)의 클라우드 웹 애플리케이션 방화벽을 사용하는 웹사이트들이 특히 취약하다”고 주장했다. “이런 사이트들의 서버들로 들어가는 요청들을 제 서버로 우회시킬 수 있었습니다.”

HTTP/2는 H2라고도 하는 프로토콜로, 2015년 처음 발표됐다. 지금은 전 세계 모든 웹사이트들의 50%가 HTTP/2를 사용하고 있는 상태다. HTTP/2는 이전 버전인 HTTP/1.1보다 빠르고 간편한 것으로 알려져 있다. 케틀은 HTTP/2에 대해 “데이터가 어떤 형태로 구성되고, 어떤 방식으로 클라이언트와 서버 사이를 오가는지 정의한다”고 설명한다. 또한 “이러한 과정 전체를 클라이언트와 서버 모두에서 관리할 수 있으며 뒷단의 복잡한 내용들은 애플리케이션들에 노출시키지 않는다”고 덧붙였다.

하지만 HTTP/2를 ‘종단간’의 방식으로 활용하지 않을 경우 다양한 보안 문제가 야기될 수 있다. “주로 조직들에서는 프론트엔드 서버가 HTTP/2 프로토콜로 클라이언트들에 데이터를 전송하도록 하고, 클라이언트가 서버에 요청을 보낼 때는 HTTP/1.1을 쓰도록 구현하고 있습니다. 정확히는 클라이언트의 요청을 HTTP/1.1 프로토콜로 재작성 해서 백엔드 서버에 보내고 있죠. HTTP/2로 구현된 것 같지만 사실상 백엔드와 HTTP/1로 통신하는 겁니다.”

케틀은 “말도 안 된다고 코웃음 치는 분들이 많으실 거 같은데, 실제로 이런 설정을 유지하는 조직이 비현실적으로 많다”고 강조한다. “예를 들어 아마존의 애플리케이션 로드 밸런서(Application Load Balancer)의 경우 이런 식의 통신 방법을 해제할 수 없습니다. 이렇게 HTTP/2를 구현할 경우 공격자는 이른 바 디싱크(Desync) 공격을 할 수 있게 됩니다.”

HTTP 디싱크 공격이란, “간단히 설명해 백엔드 서버들이 프론트엔드 서버, 로드 밸런서, 프록시 서버에서 들어오는 연속적인 요청들을 접수해 처리하는 방식에 기인한 취약점을 악용하는 것을 말한다”고 케틀은 설명한다. “예를 프론트서버는 HTTP/2로 데이터를 교환합니다. 그러니 HTTP/2가 지정하는 포맷과 길이로 데이터를 만들어 백엔드 서버로 보내죠. 그런데 백엔드는 HTTP/1.1로 구성되어 있다면, 이 데이터를 이해하지 못합니다. 이 부분에서 충돌이 생기는데, 이를 공격적으로 악용할 수 있습니다.”

그는 이러한 공격이 가능하다는 걸 증명하기 위해 넷플릭스의 웹사이트를 침해하는 실험을 진행했다고 한다. 넷플릭스의 프론트엔드 서버는 HTTP 프로토콜을 다운그레이드 시키는 방식으로 백엔드 서버와 통신하고 있었다고 한다. 그렇기 때문에 데이터의 길이가 잘 맞지 않는 일이 발생했고, 케틀은 익스플로잇을 개발해 이 지점을 공략했다. 넷플릭스의 백엔드가 프론트엔드로부터 들어온 요청을 케틀의 서버로 자동으로 전송하도록 한 것이다.

물론 실험이었으니까 여기까지만 공격을 성공시켰지만, 케틀이 공격을 더 진행했다면 넷플릭스 백엔드 서버에서 악성 코드를 실행하고, 사용자 비밀번호와 신용카드 정보를 훔칠 수 있었을 것이라고 한다. 케틀은 이러한 익스플로잇 가능 사실을 넷플릭스 측에 알렸고, 넷플릭스는 케틀에 2만 달러의 상금을 제공했다. 현재 이 취약점은 해결된 상태다.

또 케틀은 아마존의 애플리케이션 로드 밸런서에서도 HTTP/2가 잘못 구현되어 있는 것을 발견할 수 있었다고 한다. 특정 메시지 헤더 정보가 HTTP/1.1 방식으로 요청의 길이를 추정하고 있었고, 이를 통해 프론트엔드 서버로부터 들어오는 요청을 자신의 서버로 우회시키는 데 다시 한 번 성공할 수 있었다고 한다. 이를 연구하다가 한 사법 기관의 포털이 이러한 취약점에 노출되어 있는 걸 발견했다고 잠깐 언급하기도 했다.

케틀은 “아마존 로드 밸런서를 사용하는 거의 모든 웹사이트들이 이 취약점에 노출되어 있을 것”이라고 덧붙였다. 임퍼바의 WAF에서도 비슷한 특징들과 위험들이 발견됐다고 한다. 케틀은 조직들이 HTTP/2와 관련된 취약점을 네트워크에서 탐지할 수 있게 도와주는 도구인 HTTP 리퀘스트 스머글러(HTTP Request Smuggler)를 발표하기도 했다. 이 툴은 깃허브(https://github.com/portswigger/http-request-smuggler) 페이지에서 열람 및 다운로드가 가능하다.

케틀은 “HTTP/2의 가장 큰 문제는 사용자 조직들이 HTTP/2를 일부 구간에서 다운그레이드하고 있다는 것”이라며 “제발 다운그레이드 하지 말라”고 강조했다. “처음부터 끝까지 HTTP/2를 유지하면 문제가 생기지 않습니다. 물론 100% 방어가 되지는 않을 겁니다만 HTTP/1.1을 혼합해 사용하는 것보다는 훨씬 안전할 겁니다.”

3줄 요약
1. HTTP의 최신 버전인 HTTP/2, 구현 단계에서 취약한 부분 발생됨.
2. 특히 HTTP/2와 HTTP/1.1을 혼합해 사용하고 있다는 게 가장 큰 문제.
3. 네트워크가 이런 부분을 탐지할 수 있게 해 주는 무료 도구가 현재 깃허브에 발표됨.

[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 지인테크

    • 인콘

    • 엔텍디바이스코리아

    • 핀텔

    • KCL

    • 아이디스

    • 씨프로

    • 웹게이트

    • 엔토스정보통신

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 지오멕스소프트

    • 원우이엔지

    • HS효성인포메이션시스템

    • TVT코리아

    • 이화트론

    • 다누시스

    • 테크스피어

    • 홍석

    • 슈프리마

    • 인텔리빅스

    • 시큐인포

    • 미래정보기술(주)

    • 유니뷰

    • 비전정보통신

    • 아이원코리아

    • 인터엠

    • 위트콘

    • 성현시스템

    • 한국씨텍

    • 투윈스컴

    • 스피어AX

    • 다후아테크놀로지코리아

    • 한결피아이에프

    • 경인씨엔에스

    • 디비시스

    • 트루엔

    • 세연테크

    • 프로브디지털

    • 동양유니텍

    • 포엠아이텍

    • 넥스트림

    • 핀텔

    • 위즈코리아

    • 삼오씨엔에스

    • 벨로크

    • 피앤피시큐어

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 네이즈

    • 케이제이테크

    • 셀링스시스템

    • (주)일산정밀

    • 아이엔아이

    • 새눈

    • 미래시그널

    • 인빅

    • 유투에스알

    • 에이티앤넷

    • 케비스전자

    • 한국아이티에스

    • 엣지디엑스

    • 네티마시스템

    • 에이앤티글로벌

    • 이엘피케이뉴

    • 와이즈콘

    • 현대틸스
      팬틸트 / 카메라

    • 제네텍

    • 구네보코리아주식회사

    • 창성에이스산업

    • 에이앤티코리아

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 티에스아이솔루션

    • 엔에스티정보통신

    • 엔시드

    • 포커스에이아이

    • 넥스텝

    • 엘림광통신

    • 메트로게이트
      시큐리티 게이트

    • 레이어스

    • 주식회사 에스카

    • 엠스톤

    • 글로넥스

    • 유진시스템코리아

    • 카티스

    • 세환엠에스(주)

Copyright thebn Co., Ltd. All Rights Reserved.

MENU

회원가입

Passwordless 설정

PC버전

닫기