System Security/Theory

Chapter 10. Race Condition Attack

The_j.n 2015. 8. 18. 05:09

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에 끼어들어 공격자가 행위를 할 수 있는 여지를 만들어 공격한다.