사전 목록
Race Condition

경쟁 상태 취약점

경쟁 상태 취약점은 여러 작업의 실행 순서와 시점에 따라 보안 검증과 실제 동작 사이의 상태가 달라져 의도하지 않은 결과가 발생하는 약점입니다.

#보안 취약점#경쟁 상태#동시성#TOCTOU

경쟁 상태 취약점

잔액 확인 후 차감, 쿠폰 사용, 파일 권한 확인 후 열기, 비밀번호 재설정, 권한 부여 같은 절차가 원자적으로 처리되지 않을 때 발생합니다. TOCTOU는 검사 시점과 사용 시점의 차이를 악용하는 대표 형태입니다.

핵심 정보

분류보안 취약점

핵심 질문이 개념이 어떤 데이터·시스템·업무에 적용되며 실패할 때 누구에게 어떤 피해가 생기는지 확인합니다.

판단 원칙실제 구현, 권한, 데이터 흐름, 로그와 예외 절차를 함께 평가합니다.

발생 원인과 악용 조건

동시에 많은 요청을 보내거나 상태 변경 타이밍을 맞춰 중복 처리와 제한 우회를 유도할 수 있습니다. 분산 시스템과 비동기 큐에서는 재시도와 지연도 경쟁을 만듭니다.

운영 효과는 데이터 생성 지점, 처리 목적, 사용자와 관리자 권한, 외부 연동, 백업과 로그, 삭제 절차를 연결할 때 확보됩니다. 설계 문서와 실제 운영 상태가 다를 수 있으므로 설정값, 표본 데이터, 접근기록, 변경 이력을 근거로 검증합니다.

영향 범위

중복 결제와 환급, 인증토큰 다중 사용, 권한 우회, 개인정보의 잘못된 연결·삭제가 발생할 수 있습니다. 간헐적으로 나타나 재현과 조사에 시간이 걸립니다.

개인정보 관련 위험에는 기밀성 침해, 잘못된 수정과 삭제, 서비스 중단, 부정확한 프로파일링, 차별적 의사결정, 계정 탈취, 사칭과 2차 피싱이 포함됩니다. 위험 평가는 정보의 민감도, 변경 가능성, 결합 가능성, 노출 기간, 대상 인원, 공격자의 실제 접근 능력을 반영합니다.

진단과 우선순위 판단

공유 상태를 읽고 쓰는 코드, 트랜잭션 경계, 락, 고유 제약, 멱등키, 재시도 정책을 검토합니다. 동시 요청 시험과 정확한 시간 로그를 사용합니다.

검토 결과에는 적용 범위, 남은 위험, 책임자, 개선 기한, 재검증 조건을 기록합니다. 외부 서비스와 오픈소스 구성요소가 관련되면 계약서와 보안 공지, 버전, 데이터 처리 위치, 하위 수탁·의존 관계도 확인합니다.

예방과 완화

보호조치는 예방, 탐지, 대응, 복구 단계에 나누어 배치합니다. 한 통제가 우회되거나 오작동해도 피해가 곧바로 전체 데이터로 확산되지 않도록 권한·네트워크·데이터·로그 통제를 겹쳐 적용합니다.

혼동하기 쉬운 개념

실행 순서가 보안·업무 결과의 정확성을 깨뜨리는 동시성 약점입니다.

공식 참고자료

MITRE Common Weakness Enumeration

NIST CSRC Glossary