74 views
재시도, 인종 조건 또는 지연 시간의 남용 재시도, 레이스 조건 또는 지연 시간의 남용은 여러 프로세스가 공유 리소스에 동시에 접근하고 수정하는 소프트웨어의 취약점을<a title="슬롯사이트 슬롯사이트인포" href="https://www.slotsite.info/" target="_blank" rel="noopener noreferrer">슬롯사이트</a> 악용하는 데 사용되는 기술을 말하며, 결과는 예측할 수 없는 실행 시기에 따라 달라집니다. 인종 조건 레이스 상태는 시스템의 동작이 제어할 수 없는 이벤트의 타이밍이나 순서에 따라 달라질 때 발생합니다. 공격자는 체크(Time-of-Check)와 이후 동작(Time-of-Use) 사이의 보안 프로세스를 중단하라는 요청의 타이밍을 조작하여 이를 악용하여 무단 동작을 허용할 수 있습니다. 영향: 익스플로잇은 보안 침해, 데이터 손상, 권한 상승 또는 서비스 거부 상태를 초래할 수 있습니다. 학대의 예: 쿠폰, 할인 또는 기프트 카드를 여러 번 사용할 수 있습니다. 계좌 잔액을 초과하는 자금 이체. 짧은 "레이스 창" 내에서 여러 요청을 동시에 전송하여 속도 제한(예: 로그인 시도)을 우회합니다. 인증 단계를 건너뛰기 위해 다단계 로그인 프로세스를 조작합니다. 재시도 및 지연 시간 남용 재시도 패턴은 분산 시스템에서 일시적인 네트워크 또는 서비스 장애를 처리하는 데 필수적입니다. 그러나 이 패턴의 남용은 일시적인 지연이나 예상치 못한 지연 시 시스템이 작업을 처리하는 방식과 관련이 있습니다. 메커니즘: 공격자는 시스템에서 지연 시간을 유도하거나 악용하여 레이스 조건이 가능한 작은 시간 프레임인 "레이스 윈도우"를 증가시킬 수 있습니다. 공격자는 트랜잭션의 일부를 늦추거나 재시도를 강제함으로써 두 번째 악의적인 프로세스가 공유 데이터를 방해할 수 있는 기회를 만들 수 있습니다. 결과: 무분별하거나 제대로 구현되지 않은 재시도는 지연 증폭, 자원 소진 및 연쇄 시스템 장애(서비스 거부)를 초래할 수 있습니다. idempotency로 설계되지 않은 시스템(작업을 아무리 실행해도 동일한 결과를 보장)은 재시도를 통한 악용에 특히 취약합니다. 예방 및 완화 동기화 메커니즘: 잠금, 음소거 또는 세마포어를 사용하여 여러 프로세스가 공유 리소스에 액세스할 때 상호 배제를 보장합니다. 원자 작전: 중간 상태를 피하기 위해 공유 데이터를 포함하는 작전을 하나의 분리할 수 없는 단계로 수행합니다. 데이터베이스 트랜잭션 격리: 적절한 데이터베이스 트랜잭션 격리 수준(예: 직렬화 가능)을 사용하여 데이터 무결성과 일관성을 유지하되, 모든 경우에 완전한 보호를 보장할 수는 없습니다. Idempotency: 작업을 Idempotency로 설계하여 재시도나 지연으로 인해 요청을 반복해도 종료 상태가 변경되거나 의도하지 않은 부작용이 발생하지 않습니다. 신중한 재시도 구현: 자원 소진을 초래할 수 있는 무한 루프나 신속하고 무제한적인 재시도를 피하면서 재시도 논리를 신중하게 구현합니다.