300x250
TOCTOU(Time of Check, Time of Use) 는 컴퓨터 시스템의 보안 취약점 중 하나로, 검사 시점과 사용 시점 간의 시간 차이를 악용하는 공격 기법을 의미합니다.
TOCTOU 공격 개념
- 어떤 리소스(파일, 메모리 등)를 접근하기 전에 권한을 확인(검사)하고, 그 후에 해당 리소스를 사용하는 프로그램의 특성을 악용합니다
- 검사 시점과 사용 시점 사이에 리소스가 변경되도록 유도하여, 원래는 접근이 허용되지 않는 리소스를 부적절하게 접근하거나 조작합니다.
TOCTOU 공격 시나리오
- 파일 접근 권한 확인 : 애플리케이션이 check_access()를 호출하여 사용자가 특정 파일에 접근할 권한이 있는지 확인합니다.
- 파일 교체 : 공격자는 이 확인과 사용 사이의 시간 차이를 이용해 권한이 없는 파일을 같은 이름으로 교체합니다.
- 파일 사용 : 애플리케이션은 이미 접근 권한을 확인했다는 가정하에 open_file()을 호출하여 파일을 엽니다.
- 결과 : 권한이 없는 파일을 공격자가 읽거나 수정할 수 있게 됩니다.
TOCTOU 취약점이 흔히 발생하는 환경
- 파일 시스템: 임시 파일을 생성하거나 접근할 때
- 네트워크 애플리케이션: 권한 인증 후 연결 유지 시
- 멀티스레드 환경: 여러 프로세스가 같은 자원을 공유할 때
TOCTOU 방어 기법
- 원자적 연산(Atomic Operation) 사용
- 검사와 사용을 하나의 원자적 연산으로 묶어 실행
• 예: open()과 O_CREAT | O_EXCL 플래그를 함께 사용하여 파일 생성 시 경쟁 조건 방지. - 권한 재확인 : 자원 사용 직전에도 권한을 다시 확인
- 임시 파일 관리 강화 : /tmp 디렉토리 대신 mkstemp() 같은 안전한 함수 사용
- 동기화 메커니즘 적용 : Mutex나 Semaphore로 동시 접근을 제어
- 보안 API 사용 : 최신 보안 패치가 적용된 API 사용을 권장
300x250
'IT > 보안' 카테고리의 다른 글
펌웨어 기반의 보안 자동화 솔루션 (0) | 2025.02.21 |
---|---|
N2SF(국가망보안체계) 가이드라인 주요 특징 및 적용 방안 (0) | 2025.02.21 |
웹 애플리케이션 방화벽(WAF, Web Application Firewall) (4) | 2025.02.18 |
EMP 공격(Electromagnetic Pulse Attack) (2) | 2025.02.18 |
변조와 위조 (0) | 2025.02.17 |