“NT AUTHORITY \ SYSTEM”은 사용자 또는 그룹입니까?


17

Windows에서는 사용자 System에게 그룹 기호가 표시됩니다 여기에 이미지 설명을 입력하십시오. (내부 Win32 API LookupAccountSid를 사용하면 그룹 SidTypeGroup 인 것으로 보입니다 .)

반면에 프로세스는에서와 system context같이 실행될 수 있습니다 user context. 또한 Microsoft 문서에서는 "시스템 그룹"이 아니라 "시스템 사용자"또는 "시스템 계정"으로 설명합니다.

레거시 목적을 가진 사용자가 그룹으로 표시됩니까?

(또는 Werner Heisenberg 가 관심을 보였을 것입니까?)


참고 : 신약 AUTHORITY \ SYSTEM 사용자가 무엇입니까? 유사하지만 왜 그룹으로 표시되고 사용자처럼 행동하는지에 대한 질문에 대답하지 않습니다.


이것은 아마도 당신의 대답? 여기에 질문 : superuser.com/questions/471769/…
XsiSec

당신은 내 나쁜 사과
해요

SID는 둘 중 하나 일 필요는 없습니다.
user1686

답변:


13

먼저, 액세스 토큰 에는 보안 식별자 (SID) 보다 훨씬 많은 것이 포함 됩니다. 작업 관리자에서 프로그램이 "관리자 권한으로 실행"만하면 사용자가 자신이 아닌 관리자임을 알 수 있으며,이 기적은 SID를 대체하는 것이 아니라 액세스 토큰을 수정함으로써 만 달성됩니다.

둘째, NT-AUTHORITY와 SYSTEM은 다양한 다른 소스 (Microsoft 내부에서도)를 말하지만 계정이나 그룹이 아닙니다. SID에는 일반적으로 필요할 때마다 표시되는 이름이 있습니다. 사용자 계정은 SID를 주요 SID로 액세스 토큰에 제공하며 다양한 유틸리티에서 표시되는 이름을 결정합니다. 그러나 액세스 토큰에는 해당 사용자 계정에 속하는 모든 그룹에 대한 추가 SID가 포함될 수 있습니다. 권한을 확인할 때 Windows는 해당 권한이있는 액세스 토큰에서 SID를 찾습니다.

잘 알려진 일부 Windows SID는 실제로 계정에 속하지는 않지만 Windows에서 이름을보고합니다.

보안 식별자는 위키 백과에 의해 다음과 같이 정의된다

사용자, 사용자 그룹 또는 기타 보안 주체 의 고유 한 불변 식별자 .

SID는 사용자 계정이나 그룹을 정의 할 필요도 없습니다. 단지 일련의 권한을 정의합니다. 위의 Wikipedia 기사는 다음을 추가합니다.

Windows는 SID를 사용하여 사용자와 그룹 구성원을 고유하게 식별하는 ACL (액세스 제어 목록)을 기반으로 리소스에 대한 액세스 권한을 부여하거나 거부합니다. 사용자가 컴퓨터에 로그인하면 사용자 및 그룹 SID와 사용자 권한 수준이 포함 된 액세스 토큰이 생성됩니다. 사용자가 리소스에 대한 액세스를 요청하면 ACL에 대해 액세스 토큰을 검사하여 특정 개체에 대한 특정 작업을 허용하거나 거부합니다.

의 SID는 NT-AUTHORITY\SYSTEM다른 계정에 추가 할 수 있습니다. 예를 들어, 이것은 LocalSystem 계정 에 대해 말합니다 :

LocalSystem 계정은 서비스 제어 관리자가 사용하는 사전 정의 된 로컬 계정입니다. [...] 토큰에는 NT AUTHORITY \ SYSTEM 및 BUILTIN \ Administrators SID가 포함됩니다. 이 계정 은 대부분의 시스템 개체에 액세스 할 수 있습니다.

위의 텍스트에서 Microsoft 문서에서도 시스템 SID에 관한 혼란을 이미 알 수 있습니다. 시스템 SID는 정확히 계정이나 그룹이 아니며 단지 권한 집합입니다. 이 혼동은 다른 유틸리티 및 기사에도 적용되므로 반환 된 정보는 신중하게 검사해야합니다.

Microsoft 기사 Windows 운영 체제의 잘 알려진 보안 식별자는 모든 시스템 SID에 대해 자세히 설명합니다.

영상

결론 : NT-AUTHORITY \ SYSTEM은 그룹이나 계정이 아닌 보안 ID의 이름입니다. 프로그램의 주요 SID 인 경우 작업 관리자에 SYSTEM으로 표시됩니다. 제가 가장 많이 부르는 것은 "의사 계정"입니다.


1
당신이 내 친구를 이길 수 있습니다. 귀하의 답변이 들어 왔을 때 비슷한 답변을 작성하는 중반이되었습니다. 이것이 올바른 설명입니다. 권한 모음 일 뿐이며 그룹 또는 사용자로 표시되는지 여부가 모두 잘못되었습니다. 대부분의 도구는 "사용자 또는"그룹 "만 표시 할 수 있기 때문에 둘 중 하나만 선택할 수 있습니다. 일반적으로 WIn32 API가 SidTypeGroup을 설정하므로 대부분의 응용 프로그램에서 정보를 얻습니다.
Tonny

와! 기존 답변에 보상하기 위해 현상금을 시작하면 어떻게됩니까? 더 나은 답변이 나타납니다. :-) 한 가지 질문 : LocalSystem 계정에도 고유 한 "계정"SID가 있습니까 아니면 NT-AUTHORTY \ SYSTEM SID를 기본 SID로 사용합니까?
Heinzi

1
@Heinzi : LocalSystem은 또 다른 "의사 계정"입니다. 링크 에서 "이 계정은 보안 하위 시스템에서 인식되지 않으므로 LookupAccountName 함수를 호출 할 때 이름을 지정할 수 없습니다"라는 링크 에서이를 확인할 수 있습니다.
harrymc 2016 년

- which are just a set of permissions다음 수행 하는 참고하여주십시오을 시스템 ID가 나에 계정 또는 그룹 ?
René Nyffenegger 2016 년

@ RenéNyffenegger : 둘 다.
harrymc 2016 년

7

당신의 관찰이 정확합니다. NT-AUTHORITY\SYSTEM는 그룹이므로 시스템 그룹 이라고 할 수 있습니다. 이 그룹 은 Windows NT 4 이후로 존재하며 이미 그룹에 속해 있습니다.

스페셜 그룹

[...]

시스템-운영 체제

라는 계정도 있습니다 로컬 시스템이 있는

[...]는 NT AUTHORITY \ SYSTEM을 포함합니다 [...]

이를 SYSTEM 그룹의 구성원 인 시스템 사용자 라고 부를 수 있습니다.

SysInternals PsGetSid 는 SYSTEM에 대한 그룹 이론을 지원합니다.

C:\>PsGetsid.exe S-1-5-18

PsGetSid v1.44 - Translates SIDs to names and vice versa
Copyright (C) 1999-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

Account for YOURPCNAMEHERE\S-1-5-18:
Well Known Group: NT-AUTHORITY\SYSTEM

프로세스를 그룹으로 시작하는 경우 :

보안을 관리하기 위해 프로세스는 액세스 토큰을 얻습니다 . 액세스 토큰에는 SID 만 포함됩니다. 사용자의 SID가 실제로 사용자인지 그룹인지 확인하는 것이 확실하지 않습니다. 원칙적으로 중요하지 않습니다. SID는 액세스 할 수있는 대상을 정의합니다. 아마도 CodeProject 기사 가 구현에 도움이 될 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.