시스템 보안 이론 6
레이스컨디션
- 개념
- 여러 프로세스 또는 스레드가 공유 자원에 동시에 접근할 때 발생하는 시간차를 악용하는 공격 기법
- 공격자는 시간차를 이용하여 시스템의 예상치 못한 동작을 유발
- 권한 상승, 데이터 변조, 시스템 충돌 등을 초래할 수 있음
- 특징
- 시간 의존성
- 시간차를 이용한 공격이기 때문에 성공 여부는 시스템 상태 및 타이밍에 의존
- 버퍼 오버플로우나 SQL 인젝션과 같은 취약점 공격은 특정 결함을 이용하기 때문에 성공률이 더 높음
- 공격 난이도
- 시스템 동작 방식을 정확히 이해하고 시간차를 정밀하게 조작해야 성공 가능
- 다른 공격 유형은 자동화 도구가 많이 개발되어 있어 상대적으로 공격이 쉬움
- 예시
- 파일 생성 및 삭제
- 파일 생성과 동시에 공격자가 해당 파일을 삭제하여 파일 시스템의 불일치를 발생시킴
- 결과적으로 시스템 오류나 데이터 손실을 유발
- 프로세스 조작
- 여러 프로세스가 공유 자원에 접근할 때 순서를 조작하여 프로세스 동기화를 방해
- 시스템 오류나 예기치 않은 동작을 유발
- TOCTTOU (Time of Check to Time of Use)
- 파일 접근 권한 확인 시점과 실제 파일 사용 시점 사이의 시간차를 악용
- 이를 통해 권한 없는 파일에 접근하거나 시스템 동작을 변경