다운그레이드 공격

다운그레이드 공격 또는 버전 롤백 공격은 컴퓨터 시스템이나 통신 프로토콜을 대상으로 한 암호 공격의 한 형태로, 본래 사용 가능한 높은 수준의 동작 모드(예: 암호화된 연결)를 포기하도록 유도해 이전의 낮은 수준 동작 모드로 전환시키는 방식이다. 이러한 낮은 수준의 동작 모드는 일반적으로 구형 시스템이나 이전 버전과의 하위 호환성을 위해 제공된다.

이와 같은 취약점의 사례로는, 공격자가 클라이언트와 서버 사이에서 더 낮은 버전의 TLS 사용을 협상하도록 만들 수 있었던 OpenSSL의 문제가 있다. 이는 다운그레이드 공격의 가장 흔한 유형 가운데 하나로 알려져 있다. 또 다른 예로는 웹 트래픽을 조작해 사용자를 웹사이트의 안전한 HTTPS 버전에서 암호화되지 않은 HTTP 버전으로 리디렉션시키는 공격이 있다.

 공격 
다운그레이드 공격은 흔히 중간자 공격의 일종인 PITM(person-in-the-middle) 공격의 일부로 구현되며, 다른 방식으로는 어려운 암호 공격을 가능하게 하는 수단으로 사용되기도 한다. 다운그레이드 공격은 SSL/TLS 프로토콜 계열에서 반복적으로 지적되어 온 문제이다. 이러한 공격의 대표적인 사례로는 POODLE 공격이 있다.

TLS 프로토콜을 대상으로 한 다운그레이드 공격은 여러 형태로 나타난다. 연구자들은 이를 다음과 같은 네 가지 범주로 나누어 분류하였다.

 대상이 되는 프로토콜 요소
 연산
 버전
 계층
 공격을 가능하게 하는 취약점 유형
 이행 문제
 설계 문제
 신뢰 모델 문제
 공격 방법
 제거
 수정
 주입
 공격으로 인한 피해 수준
 보안 붕괴
 보안 약화

TLS 클라이언트(예: 웹 브라우저)는 레거시 버전에 대한 지원을 유지하는 경우가 많으며, 이러한 점은 POODLE 공격, ClientHello 단편화, DROWN(일명 “특수 익사”)과 같은 다운그레이드 공격에 악용될 수 있다. 이들 공격은 순방향 비밀성이나 인증된 암호화를 지원하지 않는 권장되지 않은 암호 모음이 사용되도록 유도하는 특징을 가진다.

이전 버전과의 호환성을 제거하는 것이 다운그레이드 공격을 방지하는 유일한 방법이 되는 경우도 많다. 그러나 경우에 따라 클라이언트와 서버가 서로를 최신 상태로 인식함으로써 공격을 차단할 수도 있다. 예를 들어 웹 서버와 사용자 에이전트가 모두 HTTP Strict Transport Security를 구현하고, 사용자 에이전트가 해당 서버에 대해 이를 인지하고 있는 경우(이전에 HTTPS로 접속했거나 “HSTS 사전 로드 목록”에 포함된 경우), 악의적인 라우터가 서버가 HTTPS를 지원하지 않는 것처럼 위장하더라도 사용자 에이전트는 HTTP를 통한 접속을 거부하게 된다.

 같이 보기 
 블록체인
 암호 분석
 부채널 공격
 다운그레이드

분류:하위 호환성
분류:네트워크 보안
분류:암호 공격
분류:전송 계층 보안
분류:웹 취약점 공격