경쟁 상태: Difference between revisions

From IT위키
No edit summary
No edit summary
 
Line 1: Line 1:
[[분류:보안]][[분류:정보보안기사]]
[[분류:보안]]
[[분류:정보보안기사]]
 
;Race Condition
;Race Condition


* 공유 자원에 대해 여러 개의 프로세스가 동시에 접근을 시도할 때 접근의 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태
*공유 자원에 대해 여러 개의 프로세스가 동시에 접근을 시도할 때 접근의 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태
* 프로세스 간의 자원 경쟁을 유발하여 권한을 획득하는 기법으로 활용된다.
*프로세스 간의 자원 경쟁을 유발하여 권한을 획득하는 기법으로 활용된다.
** ex) 버그를 갖고 있는 System Program과 침입자의 Exploit Program이 거의 같은 시간대에 실행되어 System Program이 갖는 권한으로 Exploit Program이 실행되는 경우
**ex) 버그를 갖고 있는 System Program과 침입자의 Exploit Program이 거의 같은 시간대에 실행되어 System Program이 갖는 권한으로 Exploit Program이 실행되는 경우
 
== 일반적 조건 ==
 
* 파일의 소유자가 root이어야 함
* SetUID 비트를 가져야 함
* 바로 생성되는 임시 파일의 이름을 알고 있어야 함
 
==일반적인 절차==
 
#취약 프로그램이 생성하는 임시 파일의 이름을 파악
#생성될 임시 파일과 같은 이름의 파일을 생성하고 이에 대한 심볼릭 링크를 생성
#원본 파일을 지운 채 취약프로그램이 심볼릭 링크를 건 파일과 같은 파일이 생성할 때까지 대기
#생성되는 순간, 심볼릭 링크를 이용해 파일 내용을 변경
#시스템은 변경된 파일을 자신이 생성한 임시 파일로 생각하고 프로세스를 진행시킬 것이고, 공격자는 관리자권한으로 실행되는 프로그램에 끼어들어 무언가를 할수 있음
 
== 참고 문헌 ==


== 일반적인 절차 ==
* [https://q.fran.kr/문제/14168 2020년도 국가공무원 9급 공채 필기시험 정보시스템 보안 16번]
# 취약 프로그램이 생성하는 임시 파일의 이름을 파악
# 생성될 임시 파일과 같은 이름의 파일을 생성하고 이에 대한 심볼릭 링크를 생성
# 원본 파일을 지운 채 취약프로그램이 심볼릭 링크를 건 파일과 같은 파일이 생성할 때까지 대기
# 생성되는 순간, 심볼릭 링크를 이용해 파일 내용을 변경
# 시스템은 변경된 파일을 자신이 생성한 임시 파일로 생각하고 프로세스를 진행시킬 것이고, 공격자는 관리자권한으로 실행되는 프로그램에 끼어들어 무언가를 할수 있음

Latest revision as of 01:09, 4 October 2021

분류:보안 분류:정보보안기사

Race Condition
  • 공유 자원에 대해 여러 개의 프로세스가 동시에 접근을 시도할 때 접근의 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태
  • 프로세스 간의 자원 경쟁을 유발하여 권한을 획득하는 기법으로 활용된다.
    • ex) 버그를 갖고 있는 System Program과 침입자의 Exploit Program이 거의 같은 시간대에 실행되어 System Program이 갖는 권한으로 Exploit Program이 실행되는 경우

일반적 조건[edit | edit source]

  • 파일의 소유자가 root이어야 함
  • SetUID 비트를 가져야 함
  • 바로 생성되는 임시 파일의 이름을 알고 있어야 함

일반적인 절차[edit | edit source]

  1. 취약 프로그램이 생성하는 임시 파일의 이름을 파악
  2. 생성될 임시 파일과 같은 이름의 파일을 생성하고 이에 대한 심볼릭 링크를 생성
  3. 원본 파일을 지운 채 취약프로그램이 심볼릭 링크를 건 파일과 같은 파일이 생성할 때까지 대기
  4. 생성되는 순간, 심볼릭 링크를 이용해 파일 내용을 변경
  5. 시스템은 변경된 파일을 자신이 생성한 임시 파일로 생각하고 프로세스를 진행시킬 것이고, 공격자는 관리자권한으로 실행되는 프로그램에 끼어들어 무언가를 할수 있음

참고 문헌[edit | edit source]