경쟁 상태: Difference between revisions
From IT Wiki
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]
- 취약 프로그램이 생성하는 임시 파일의 이름을 파악
- 생성될 임시 파일과 같은 이름의 파일을 생성하고 이에 대한 심볼릭 링크를 생성
- 원본 파일을 지운 채 취약프로그램이 심볼릭 링크를 건 파일과 같은 파일이 생성할 때까지 대기
- 생성되는 순간, 심볼릭 링크를 이용해 파일 내용을 변경
- 시스템은 변경된 파일을 자신이 생성한 임시 파일로 생각하고 프로세스를 진행시킬 것이고, 공격자는 관리자권한으로 실행되는 프로그램에 끼어들어 무언가를 할수 있음