본문 바로가기
Security & IT terms

[Day 34] Race Condition Attack

by minimalist_2022 2020. 9. 13.

Race Condition

  • 둘 이상의 프로세스나 스레드가 공유 자원에 동시 접근할 때 접근하는 순서에 따라 비정상적인(의도하지 않은) 결과가 발생하는 조건/상황을 의미

Race Condition Attack

  • 실행되는 프로세스가 임시 파일을 만드는 경우, 악의적인 프로그램을 통해 그 프로세스의 실행 중에 끼여들어 임시 파일을 타켓 파일로 연결(심볼릭 링크)하여 악의적인 행위를 하는 것
  • 만약 프로세스가 setuid 설정이 되어 root권한으로 실행된다면 권한 상승을 통해 중요 자원(파일)에 접근 가능

Race Condition Attack 대응 방안

  • 가능하면 임시 파일을 만들지 말고 메모리상에 자료구조를 만들어서 거기에 임시 저장하여 읽고 쓰고 하는 방식으로 해야 함
  • 파일 생성 시 이미 동일한 파일이 있다면 파일 생성 또는 쓰기 금지
  • 사용하고자 하는 파일에 링크가 걸려있다면 실행을 중단
  • 임시파일이 저장되는 디렉토리의 umask를 최하 022로 유지하여 임시로 생성한 파일이 공격자에 의해 삭제되지 않도록 함(umask를 적용하면 755가 되어 group, others의 write 권한이 없으므로 파일 생성/삭제 불가)