Chapter 10. Race Condition Attack
1. Race Condition
- Computer 내에서 한정된 자원을 동시에 이용하려는 여러 Process가 자원의 이용을 위해 경쟁을 벌이는 현상을 말한다.
- Process가 여러 개 실행되게 되면 운영체제에서 할당하는 자원(권한, CPU etc.)를 서로 사용하려 하는데 이 과정에서 Process 하나를 끝마치고 다른 Process가 실행되는 것이 아닌 동시에 실행시켜 자원 할당이 고루고루 이루어지기 때문에 발생하는 현상이다.
- Race Condition 공격은 Process들이 경쟁 하는 것과 SetUID와 같은 권한 상승을 이용해 권한을 얻어내는 공격방법이다.
2. Race Condition Attack
- Race Condition 현상을 이용해 공격하기위한 조건
· Program이 SetUID와 같은 권한 상승을 시켜줄 수 있는 권한이 주어져 있어야한다.
· 해당 Program이 임시 File을 해당 Program의 관리자 권한으로 생성해야한다.
· 임시 File이 생성되는 위치를 알아야한다.
- Race Condition 공격 방법
· 생성될 임시 File과 같은 File을 생성
· 임시 File에 대한 Symbolic Link를 생성
· 원본 File을 지운 후 취약 Program이 Symbolic Link를 건 File과 같은 File을 생성할 때까지 기다린다.
· 생성 후 Symbolic File을 이용해 File의 내용을 변경한다.
· System은 변경된 File을 자신이 생성한 임시 File로 생성하고 Process를 진행시킨다.
· 공격자는 관리자 권한으로 실행되는 Program에 끼어들어 공격자가 행위를 할 수 있는 여지를 만들어 공격한다.
'System Security > Theory' 카테고리의 다른 글
Chapter 12. Format String Attack (0) | 2015.08.18 |
---|---|
Chapter 11. Shared Memory (0) | 2015.08.18 |
Chapter 9. 취약점 분석 (0) | 2015.08.18 |
Chapter 7. BOF(Buffer OverFlow) III (0) | 2015.08.18 |
Chapter 6. BOF(Buffer OverFlow) II (0) | 2015.08.18 |