# 재생 공격이란 무엇입니까?

재생 공격이라고도 하는 재생 공격은 악의적인 엔터티가 유효한 데이터를 가로채서 네트워크를 통해 재전송하는 사이버 공격입니다. 원래 데이터(일반적으로 인증된 사용자로부터)의 유효성으로 인해 네트워크의 보안 프로토콜은 일반적으로 이 공격을 정상적인 데이터 전송으로 취급합니다. 동시에 재생 공격을 수행하는 해커가 원본 정보를 가로채서 그대로 다시 전송하기 때문에 일반적으로 해커는 데이터를 크랙할 필요가 없습니다.

## 해커는 재생 공격으로 무엇을 할 수 있습니까?

재생 공격은 겉보기에 유효한 자격 증명을 전송하여 보호된 네트워크에 저장된 다른 정보에 액세스할 수 있습니다. 또한 금융 기관이 중복 거래를 하도록 속여 공격자가 피해자 계정에서 직접 자금을 인출할 수 있습니다. 경우에 따라 해커는 서로 다른 암호화된 메시지의 서로 다른 부분을 결합하고 결과 암호문을 네트워크에 업로드하는데, 이를 소위 클리핑 공격이라고 합니다. 해커는 종종 이러한 유형의 공격을 사용하여 네트워크에서 더 중요한 정보를 얻고 이 정보를 사용하여 시스템을 추가로 손상시킵니다.

재생 공격은 몇 가지 명백한 위험을 내포하지만 이를 단독으로 사용하는 해커의 성공은 제한적입니다. 공격자는 전송되고 있고 네트워크에서 거부되지 않은 데이터를 변조할 수 없으므로 이러한 공격의 효과는 이전 데이터를 재전송하는 것으로 제한됩니다. 그리고 이러한 공격은 일반적으로 방어하기 쉽습니다. 타임스탬프 데이터 전송과 같은 기본 방어는 단순 재생 공격을 방지할 수 있습니다. 또한 서버는 반복되는 메시지를 캐시하고 특정 횟수가 지나면 해당 메시지에 대한 연결을 끊어 공격자가 만들 수 있는 연속 재생 횟수를 제한할 수 있습니다.

## 암호 화폐에서 재생 공격이 중요한 이유

이러한 공격은 암호화폐 세계에만 국한되지 않지만 특히 암호화폐 거래 및 블록체인 원장의 보안 환경과 관련이 있습니다. 블록체인 원장은 일반적으로 "하드 포크"로 알려진 프로토콜 변경 또는 업그레이드를 거치기 때문입니다. 하드 포크가 발생하면 기존 원장은 두 개로 분할되어 하나는 레거시 버전의 소프트웨어를 실행하고 다른 하나는 업데이트된 버전을 실행합니다. 일부 하드포크는 원장 업그레이드만을 위한 것이고 다른 하드포크는 새로운 암호화폐를 보다 효율적으로 형성하기 위한 것입니다. 후자 유틸리티의 가장 확실한 예는 2017년 8월 1일에 발생한 하드 포크로, 비트코인 ​​캐시가 비트코인 ​​원장에서 포크되도록 허용한 업데이트입니다.

이러한 하드 포크가 발생하면 이론적으로 공격자가 블록체인 원장에 대한 재생 공격을 수행할 수 있습니다. 하나의 원장에서 처리된 트랜잭션은 하드 포크 후 다른 체인에서 유효할 수 있습니다. 따라서 한 원장에서 일정량의 암호화폐를 수락한 사람이 다른 원장으로 전환하여 트랜잭션을 복사할 수 있으며, 이러한 방식으로 동일한 양의 암호화폐를 두 번째로 부정하게 받을 수 있습니다. 그리고 지갑은 원장의 공유 기록의 일부가 아니기 때문에 하드 포크 이후 블록체인에 액세스하는 사용자는 이러한 공격을 받지 않습니다.

## 블록체인은 이러한 공격으로부터 어떻게 보호합니까?

실제로, 재생 공격에 대한 분기된 블록체인 원장의 취약성이 우려의 원인이지만 대부분의 하드 포크에는 이러한 공격을 방지하도록 특별히 설계된 보안 프로토콜이 포함되어 있습니다. 블록체인 재생 공격에 대한 효과적인 조치는 두 가지 범주로 나뉩니다. 하나는 필수 재생 보호이고 다른 하나는 선택적 재생 보호입니다. 필수 재생 보호에서는 하드 포크에 의해 생성된 새 원장에 특수 표시가 추가되어 새 원장에서 이루어진 트랜잭션이 이전 원장에서 유효하지 않으며 그 반대의 경우도 마찬가지입니다. 이 방법은 비트코인 ​​캐시가 비트코인에서 포크되었을 때 구현된 보호입니다.

이 필수 재생 보호는 하드 포크가 발생하는 즉시 자동으로 적용됩니다. 선택적 재생 보호를 사용하려면 사용자가 트랜잭션을 수동으로 변경하여 재생되지 않도록 해야 합니다. 선택적 재생 보호는 하드 포크가 새 원장을 포크하는 것이 아니라 주요 암호 화폐 원장에 대한 업데이트를 위한 것일 때 효과적입니다.

이러한 마스터 원장 솔루션 외에도 개별 사용자는 재생 공격으로부터 자신을 보호하기 위해 자체 조치를 취할 수 있습니다. 이를 수행하는 한 가지 방법은 원장이 특정 수의 블록을 가질 때까지 전송되는 토큰을 잠그는 것이므로 동일한 양의 토큰을 가진 재생 공격으로부터 네트워크 유효성 검사를 방지할 수 있습니다. 그러나 모든 지갑이나 원장이 이 기능을 제공하는 것은 아닙니다.

## 요약하다

재생 공격이 성공적으로 구현되면 실제로 네트워크 보안에 위협이 됩니다. 다른 유형의 공격과 달리 재생 공격은 데이터 암호 해독에 의존하지 않으므로 점점 더 강력해지는 보안 프로토콜에 대한 악의적인 행위자에게 효과적인 "솔루션"이 됩니다. 그러나 블록체인 시스템이 영향을 받지 않도록 효과적으로 방지할 수 있는 몇 가지 강력한 솔루션도 있습니다. 특히 강제 재생 보호를 사용하면 하드 포크가 발생한 후 공격자에 의한 트랜잭션 복제를 효과적으로 방지할 수 있습니다.
