정보보안/정보보호기초

시스템 권한 탈취 및 레이스 컨디션

록스타★ 2024. 6. 25. 15:18
반응형

시스템 권한 탈취

- 다른 사람의 통신망이나 컴퓨터 시스템에 정당한 접근 권한 없이 접근하거나 허용된 접근 권한의 범위를 초과하여 침입하는 행위

- 권한 상승 역시 보안 경계를 침해하는 행위 중 하나로서 시스템 권한 탈취와 유사한 공격으로 관리자가 의도한 정도보다 더 많은 권한, 시스템이나 애플리케이션에 대한 더 높은 액세스 권한을 획득하는 행위

 

CVE-2021-3156 : Heap-Based Buffer Overflow in Sudo (Baron Samedit)

- sudo에서 힙 오버플로우 취약점 발견, 권한이 없는 모든 사용자는 이 취약점을 악용하여 기본 sudo 구성 사용하여 호스으테 대한 루트 권한 탈취

 

 

 레이스 컨디션

- 두 개 이상의 프로세스가 공용 자원을 병행적으로 (concurrently)읽거나 쓸 때, 공용 데이터에 대한 접근이 어떤 순서에 이루어졌는지에 따라 그 실행 결과가 달라지는 상황을 말함

- ex) 프로세스가 A와 B가 존재하는 병렬 시스템 환경에서는 프로세스 A는 자원사용(파일 읽기)에 앞서 해당 자원(파일)의 존재 여부를 검사, 이 때 프로세스 B가 해당 자원(파일)을 아직 사용(삭제)하지 않았기 때문에, 프로세스 A는 해당 자원(파일)이 존재한다고 판단하고 프로세스 A가 자원 사용(파일 읽기)을 시도하는 시점에 자원(파일)은 사용 불가능한 상태이기 때문에 여러가지 문제(오류 발생, 권한 탈취)가 발생

- 멀티 스레드 환경에서 공유 자원에 여러 프로세스가 사용해 동시 접근이 가능할 때 발생되는 상황

 

그림(1) 레이스 컨디션

 

 

레이스 컨디션 공격 원리 #1

그림(2) 레이스 컨디션 공격 원리 (출처 : 두두아이티)

 

 

레이스 컨디션 공격 원리 #2

그림(3) 레이스 컨디션 공격원리 #2 (출처 : 두두아이티)

 

 

레이스 컨디션 예방 방법

- 공유 자원(ex:파일)을 여러 프로세스가 접근하여 사용할 경우, 동기화 구문을 사용해 한번에 하나의 프로세스만 접근 가능하도록(synchronized, mutex 등) 하는 한편 성능에 미치는 영향을 최소화 하기 위해 임계 코드 주변만 동기화 구문을 사용

 

 

결론

레이스 컨디션 멀티 스레드 환경에서 여러 프로세스가 동시에 접근할 때 발생하는 것이기 때문에 멀티 스레드 환경에서 작업을 진행 한다면 레이스컨디션 관련하여 어느정도의 생각을 가지고 작업을 진행 해야할 것 같다.

 

 

참조

http://duduit.co.kr/main.html

 

http://duduit.co.kr/main.html

 

duduit.co.kr

 

반응형