SecuFiby TechFi
위험SW-TS-01CWE-367⏱️ SW-TS 시간 및 상태

검사 시점과 사용 시점(TOCTOU)

Time-of-check Time-of-use

파일이나 자원의 존재를 확인한 시점과 실제 사용 시점 사이에 상태가 변경되어 발생하는 취약점

⚡ 발생 원인

검사와 사용 사이의 간격 동안 다른 프로세스가 자원 변경

💥 보안 영향

권한 상승, 임의 파일 접근·덮어쓰기

취약한 코드 vs 안전한 코드

취약한 코드 (python)

# 취약한 코드 - 검사 후 사용 사이에 파일 변경 가능
import os
if os.path.exists('/tmp/myfile'):        # 검사 시점
    # ← 다른 프로세스가 심볼릭 링크 교체 가능
    with open('/tmp/myfile', 'w') as f:  # 사용 시점
        f.write(data)

안전한 코드 (python)

# 안전한 코드 - 원자적 연산 사용
import os
# O_CREAT|O_EXCL: 파일 없을 때만 생성 (원자적)
try:
    fd = os.open('/tmp/myfile', os.O_CREAT | os.O_EXCL | os.O_WRONLY)
    with os.fdopen(fd, 'w') as f:
        f.write(data)
except FileExistsError:
    pass
🛡️

ISMS-P 인증기준 연계

2.10.1 보안 시스템 운영

🔬 AI 코드 진단

내 코드에 검사 시점과 사용 시점(TOCTOU) 취약점이 있는지 바로 확인하세요

코드를 붙여넣으면 AI가 KISA 7대 보안약점 기준으로 검사 시점과 사용 시점(TOCTOU) 등 취약점을 자동 분석합니다.

AI 코드 진단 실습 →

전문가 보안 점검

검사 시점과 사용 시점(TOCTOU) 등 SW 보안약점을 전문가가 직접 점검해드립니다

ISMS-P 선임심사원이 직접 수행하는 수탁사 보안성 검토 서비스입니다.
KISA SW 개발보안 가이드 기준으로 코드·시스템 전체를 점검하고 ISMS-P 심사 증적을 제공합니다.

⏱️ SW-TS 관련 취약점 (시간 및 상태)