Race Condition
- 둘 이상의 프로세스나 스레드가 공유 자원에 동시 접근할 때 접근하는 순서에 따라 비정상적인(의도하지 않은) 결과가 발생하는 조건/상황을 의미
Race Condition Attack
- 실행되는 프로세스가 임시 파일을 만드는 경우, 악의적인 프로그램을 통해 그 프로세스의 실행 중에 끼여들어 임시 파일을 타켓 파일로 연결(심볼릭 링크)하여 악의적인 행위를 하는 것
- 만약 프로세스가 setuid 설정이 되어 root권한으로 실행된다면 권한 상승을 통해 중요 자원(파일)에 접근 가능
Race Condition Attack 대응 방안
- 가능하면 임시 파일을 만들지 말고 메모리상에 자료구조를 만들어서 거기에 임시 저장하여 읽고 쓰고 하는 방식으로 해야 함
- 파일 생성 시 이미 동일한 파일이 있다면 파일 생성 또는 쓰기 금지
- 사용하고자 하는 파일에 링크가 걸려있다면 실행을 중단
- 임시파일이 저장되는 디렉토리의 umask를 최하 022로 유지하여 임시로 생성한 파일이 공격자에 의해 삭제되지 않도록 함(umask를 적용하면 755가 되어 group, others의 write 권한이 없으므로 파일 생성/삭제 불가)
'Security & IT terms' 카테고리의 다른 글
[Day 125] 정보공유분석센터(Information Sharing & Analysis Center) (0) | 2020.12.13 |
---|---|
[Day 88] Database Sharding (데이터베이스 샤딩) (0) | 2020.11.06 |
[Day 26] DML, DDL, DCL, TCL (0) | 2020.09.05 |
[Day 25] SAC(Server Access Control or System Access Control) (0) | 2020.09.04 |
[Day 24] 위험관리, 위험 대응 전략 (0) | 2020.09.03 |