소개: ETH2의 시간 서버 공격 및 완화
편집자 주: 이 기사의 출처는이더리움 애호가(ID: ethfans)편집자 주: 이 기사의 출처는
이더리움 애호가(ID: ethfans)여기, 저자: dankrad, 번역: A Jian, 승인을 받아 Odaily에서 복제.
개요: Eth2의 시간 서버 공격도 이전에 논의되었습니다. 그러나 지금까지 주류 의견은 이러한 종류의 공격은 유효성 검사기를 일시적으로 오프라인 상태로 만들고 노드 운영자가 올바른 시간 동기화 조치를 다시 설정하기를 기다리면 노드가 다시 온라인 상태가 될 수 있다는 것입니다. 그러나 노드가 속아서 먼 미래의 에포크에 대한 증명에 서명할 수 있다면 위험은 단순히 일시적으로 오프라인 상태가 되는 것 이상입니다. 전체 네트워크가 실제로 도달할 때까지 잘못 전송된 증명 메시지의 대상 에포크까지 더 이상 증명 메시지에 서명할 수 없습니다(그렇지 않으면 슬래시가 트리거됩니다).
여기
). 합의 규칙의 작동 하에서 이러한 종류의 시간 서버 공격은 공격받은 검증자를 거의 영원히 오프라인 상태로 만들고 관련 이해 관계자도 비활성 유출로 인해 막대한 대가를 치르게 됩니다.
공격면
우리는 다음과 같이 시간 서버 공격을 조작할 수 있습니다. 첫 번째 단계는 시간 서버의 시간을 조작하여 미래의 특정 시간으로 점프하여 공격한 검증자의 시간도 미래로 점프하도록 하는 것입니다(예: 15 최대 20일), 이 시간은 게으름 페널티로 인해 유효성 검사기의 잔액이 0으로 떨어지는 시간보다 짧아야 합니다. 그렇지 않으면 유효성 검사기가 증명 메시지에 다시 서명하지 않습니다.
결과
그런 다음 관련 노드가 실제로 체인과 동기화되어 있다고 생각하도록 속여야 합니다. 그런 다음 증명에 서명합니다. 이는 공격자가 P2P 네트워크 채널에서 미래 시간의 일부 증명 및 블록을 전송하여 여러 피어를 제어하는 경우 항상 가능합니다. 여러 노드를 제어하는 것도 쉽게 달성할 수 있으므로 이는 비현실적인 공격자 가정이 아닙니다.
대상 유효성 검사기가 미래 에포크를 대상으로 하는 증명 메시지에 서명하면 공격자는 메시지를 저장하고 전체 네트워크가 실제로 해당 미래 에포크에 도달할 때까지 유효성 검사기가 더 이상 증명에 서명할 수 없도록 할 수 있습니다. 메시지, 슬래시 원인). 현재 Eth2에 구현된 모든 유효성 검사기 클라이언트에는 유효성 검사기가 충돌하는 증명에 서명하는 것을 방지하는 조치가 있으므로 유효성 검사기는 사실상 오프라인 상태입니다.
결과
공격자는 시간 서버(또는 roughtime과 같은 유사한 시설)를 사용하여 TA가 영향을 미칠 수 있는 모든 유효성 검사기를 제거할 수 있습니다. 그러한 공격은 효과가 일시적인 것이 아니라 훨씬 더 지속적이기 때문에 이전에 동일한 인터페이스를 사용하여 생각한 공격[2]보다 더 나쁩니다. 몇 분 안에 그러한 공격을 감지할 수 있고 모든 전문 노드가 몇 시간 내에 정상 시간을 복구할 수 있지만 피해가 이미 발생했기 때문에 도움이 되지 않습니다. 예를 들어 유효성 검사기로 이어질 수 있습니다. 기하급수적으로 증가하는 게으름 페널티로 인해 네트워크에서 철회될 많은 검증인이 될 수 있습니다.
완화
유효성 검사기 클라이언트 비슬래싱 규칙 추가
유효성 검사기 클라이언트에 비슬래싱 규칙을 추가할 수 있습니다. 모든 메시지에 서명하기 전에 현재 시간을 평가하고 향후 메시지에 미리 서명하지 않도록 요구합니다. 이 방법은 실제로 유효성 검사기 클라이언트와 비콘 체인 노드가 동일한 시스템에 배포되지 않고 공격의 영향을 받지 않는 경우에만 유용합니다. 그러나 이 규칙은 리더가 유효성 검사기의 작업을 차단할 수 있는 향후 증명 메시지를 제안하는 것을 허용하지 않기 때문에 키 분할 유효성 검사기에게는 확실한 개선입니다.
시간 동기화 조치에 대한 보호 기능 추가


