다음은 SUID 프로그램이 일반 권한에서 관리자 권한으로 상승하여 처리… | [정보보안기사 필기] 22년 2회차 기출문제 상세 페이지
1[정보보안기사 필기] 22년 2회차
다음은 SUID 프로그램이 일반 권한에서 관리자 권한으로 상승하여 처리하는 정상적인 과정을 나타내고 있다. 심볼릭 링크를 이용한 레이스 컨디션 공격이 실행되는 단계는?
1
1단계
2
2단계
3
3단계
4
4단계
해설
임시 파일이 만들어진 뒤 프로그램이 그 파일을 실제로 열어 처리하기 직전인 3단계에서 공격이 성립한다.
그림의 흐름은 일반 권한에서 '프로그램 실행 → SetUID로 인한 프로세스 권한 상승'을 거쳐, 관리자 권한 영역에서 '임시 파일 생성 → 프로그램 동작 및 임시 파일 처리 → 프로그램 종료'로 이어지며, 각 구간 경계가 ①~④단계로 표시되어 있다. ③단계 경계선이 바로 임시 파일 생성과 임시 파일 처리 사이에 놓여 있다.
공격자는 임시 파일이 생성된 시점과 그 파일을 사용하는 시점 사이의 빈틈을 노려, 생성된 임시 파일을 지우고 같은 이름으로 /etc/passwd 같은 중요 파일을 가리키는 심볼릭 링크를 걸어 둔다. 그러면 관리자 권한으로 동작 중인 프로그램이 링크를 따라가 엉뚱한 파일을 덮어쓰게 된다.
대응은 임시 파일 이름을 예측 불가능하게 만들고, 열 때 O_EXCL·lstat 등으로 심볼릭 링크 여부를 확인해 생성과 사용을 원자적으로 처리하는 것이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
