공부해요/리버싱_핵심원리
42. Session in Kernel 6
yenas0
2024. 12. 26. 08:10
반응형
Windows OS kernel 6에서 변경된 세션 관리 정책
- 세션 관리 정책 변화
- Windows Kernel 6부터 세션 관리 정책이 변경
- 그래서 서비스 프로그램에서 사용자 인터페이스(예: 다이얼로그 출력)나 사용자와의 메시지 통신이 XP처럼 정상적으로 동작하지 않게되었다
- 개발 영향
- 특히 사용자와 인터랙티브한 동작을 시도하는 서비스 프로그램이 영향
- XP에서 정상적으로 동작하던 서비스가 Vista나 7에서 문제를 일으킬 수 있게됨
- 리버싱 관점의 중요성
- 기존에 널리 사용되던 CreateRemoteThread() API를 통한 DLL 인젝션이 서비스 프로세스에서는 더 이상 작동하지 않는다..
- 일반 프로세스에서는 여전히 동작하지만, 서비스 프로세스에는 제한이 생김
세션이란?
간단하게 하면 로그온 사용자 환경을 의미한다.
대부분 운영체제는 동시에 여러 사용자의 로그온을 허가하고 각 로그온에 대해 독립된 사용자 환경을 제공한다.
윈도우 xp랑 7이랑 세션 ID할당 방식의 차이를 보면
xp: 첫번째 로그인 사용자의 세션 ID가 시스템 세션(0)과 동일
7: 첫번째 로그인 사용자의 세션 ID가 1로, 시스템 세션(0)과 분리
그래서 xp에서 정상적으로 동작하던게 7에서는 문제가 생기는 것이다.
Session 0 Isolation
windows커널 버전 6이후부터는 보안 강화를 위해서 첫번째 로그온 사용자의 세션을 1로해서 분리했다. 이렇게 하면 서로에 대한 상호작용이 없어져서 시스템 보안이 강화된다.
반응형