보안 식별자
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
보안 식별자(SID)는 윈도우 운영 체제에서 보안 주체를 고유하게 식별하는 데 사용되는 값이다. SID는 SID를 발급한 기관을 나타내는 식별자 권한 값, 주요 SID, 머신 SID, 서비스 SID 등으로 구성된다. 중복 SID 문제는 디스크 복제를 통해 윈도우 시스템 이미지를 배포할 때 발생할 수 있으며, 파일 접근 권한에 영향을 미칠 수 있다. 윈도우 운영체제에서는 중복 SID가 일반적으로 문제가 되지 않지만, SID를 감지하는 다른 프로그램에서는 보안 문제가 발생할 수 있다.
더 읽어볼만한 페이지
- 윈도우 NT 아키텍처 - WoW64
WoW64는 64비트 윈도우에서 32비트 응용 프로그램을 실행하기 위한 호환성 계층으로, 32비트 코드를 변환하고 시스템 자원을 관리하며 파일 시스템 리디렉션을 제공하지만, 완벽한 호환성을 보장하지 않고 성능 오버헤드 및 API 관련 문제점을 가질 수 있다. - 윈도우 NT 아키텍처 - 로컬 보안 인증 하위 시스템 서비스
- 고유 식별자 - MAC 주소
MAC 주소는 네트워크 장치를 식별하는 고유한 48비트 식별자로, IEEE 802 MAC 주소로 알려져 있으며, 최근 스푸핑 악용 및 개인 정보 보호를 위한 랜덤화 기술이 논의되고 있다. - 고유 식별자 - 범용 상품 부호
범용 상품 부호(UPC)는 소매점에서 상품을 식별하기 위해 상품 포장에 인쇄되는 널리 사용되는 바코드의 일종으로, 12자리 숫자로 구성된 UPC-A를 포함한 다양한 변형이 존재한다. - 식별자 - 아카이벌 리소스 키
아카이벌 리소스 키(ARK)는 디지털, 물리적, 추상적 자원의 영구적인 식별을 위한 체계로, 분산된 웹 환경에서 관리 주체의 약속을 통해 객체의 보존과 접근성을 제공하며, ARK Alliance가 국제적인 사용을 장려하고 한국에서도 활용된다. - 식별자 - 바코드
바코드는 다양한 폭의 막대와 공백 조합으로 정보를 나타내는 기호로, 상품 식별, 재고 관리 등에 사용되며 1차원과 2차원 바코드가 존재하고 바코드 스캐너로 판독되어 산업 효율성을 높인다.
보안 식별자 | |
---|---|
개요 | |
이름 | 보안 식별자 (Security Identifier, SID) |
종류 | 보안 주체 |
사용 | 윈도우 NT 계열 운영체제 |
설명 | 윈도우 NT 계열 운영체제에서 보안 주체를 식별하기 위해 사용되는 고유한 가변 길이 식별자 |
상세 정보 | |
구조 | SID 구조는 다음과 같이 구성된다. |
SID 구조 - 버전 | SID 구조의 버전 번호 (현재는 1) |
SID 구조 - 식별자 권한 | SID의 최상위 권한을 나타내는 값 (일반적으로 NT AUTHORITY) |
SID 구조 - 상대적 식별자 (RID) | 특정 권한 내에서 보안 주체를 식별하는 가변 길이의 상대적 식별자 배열 |
형식 | S-R-X-Y1-Y2-Yn |
형식 - S | SID를 나타내는 문자 |
형식 - R | 수정 수준 (Revision level) |
형식 - X | 식별자 권한 값 |
형식 - Y1-Y2-Yn | 하위 권한 또는 상대적 식별자 (RID) |
주요 SID | |
주요 SID - S-1-0 | Null Authority |
주요 SID - S-1-1 | World Authority |
주요 SID - S-1-2 | Local Authority |
주요 SID - S-1-3 | Creator Authority |
주요 SID - S-1-5 | NT Authority |
주요 SID - S-1-16 | Mandatory Label Authority |
주요 SID - S-1-17 | Ownership Authority |
주요 SID - S-1-18 | Authentication Authority |
주요 SID - S-1-19 | Impersonation Authority |
주요 SID - S-1-20 | Cloud Authority |
주요 SID - S-1-21 | Domain Authority |
잘 알려진 SID | |
잘 알려진 SID - S-1-5-10 | Self |
잘 알려진 SID - S-1-5-11 | Authenticated Users |
잘 알려진 SID - S-1-5-12 | Restricted Code |
잘 알려진 SID - S-1-5-13 | This Organization |
잘 알려진 SID - S-1-5-14 | Other Organization |
잘 알려진 SID - S-1-5-15 | Certificate Authority |
잘 알려진 SID - S-1-5-17 | IUSR |
잘 알려진 SID - S-1-5-18 | LocalSystem |
잘 알려진 SID - S-1-5-19 | Local Service |
잘 알려진 SID - S-1-5-20 | Network Service |
잘 알려진 SID - S-1-5-32-544 | Administrators |
잘 알려진 SID - S-1-5-32-545 | Users |
잘 알려진 SID - S-1-5-32-546 | Guests |
잘 알려진 SID - S-1-5-32-547 | Power Users |
잘 알려진 SID - S-1-5-32-548 | Account Operators |
잘 알려진 SID - S-1-5-32-549 | Server Operators |
잘 알려진 SID - S-1-5-32-550 | Print Operators |
잘 알려진 SID - S-1-5-32-551 | Backup Operators |
잘 알려진 SID - S-1-5-32-552 | Replicators |
잘 알려진 SID - S-1-5-64-10 | NTLM Authentication |
잘 알려진 SID - S-1-5-64-14 | SChannel Authentication |
잘 알려진 SID - S-1-5-64-21 | Digest Authentication |
잘 알려진 SID - S-1-113 | Local Account |
잘 알려진 SID - S-1-114 | Local Account and Member of Administrators Group |
주의 사항 | |
보안 | SID는 시스템의 중요한 보안 요소이므로 안전하게 관리해야 함 |
2. SID 구조
SID는 "S-1-5-21-3623811015-3361044348-30300820-1013"와 같은 형태로 표현된다.[15][16] 각 부분에 대한 자세한 설명은 #구성 요소 문단을 참고하라.
S | 1 | 5 | 21-3623811015-3361044348-30300820 | 1013 |
---|---|---|---|---|
SID 문자열을 나타낸다. | SID 버전 번호이다. | 식별자 권한 값이다. | 도메인 및 로컬 컴퓨터 식별자이다. | 상대 ID (RID)이다. 기본값으로 생성되지 않은 그룹이나 사용자는 1,000 이상의 상대 ID 값을 가진다. |
사용할 수 있는 식별자 권한 값은 #식별자 권한 값 문단을 참고하라.
2. 1. 구성 요소
SID는 "S-1-5-21-3623811015-3361044348-30300820-1013"와 같은 형태로 구성된다. 각 구성 요소는 다음과 같은 의미를 갖는다.구성 요소 | 의미 |
---|---|
S | SID 문자열임을 나타낸다. |
1 | SID 버전 (현재는 1만 사용됨). |
5 | 식별자 권한 값 (Identifier Authority Value). |
21-3623811015-3361044348-30300820 | 도메인 또는 로컬 컴퓨터 식별자. |
1013 | 상대 ID (RID, Relative ID). 기본값으로 만들지 않은 그룹이나 사용자는 1,000 이상의 상대 ID값을 가진다. |
2. 2. 식별자 권한 값
SID를 발급한 기관을 나타내는 식별자 권한 값은 다음과 같다.[15][16]값 | 설명 |
---|---|
0 | 권한 없음(Null Authority) |
1 | 워드 권한(World Authority) |
2 | 로컬 권한(Local Authority) |
3 | 작성자 권한(Creator Authority) |
4 | 비고유 권한(Non-unique Authority) |
5 | NT 권한(NT Authority) |
9 | 리소스 관리자 권한(Resource Manager Authority) |
10진수 | 이름 | 표시 이름 | 최초 도입 | 참고 | 비고 |
---|---|---|---|---|---|
0 | Null Authority | 예: "Nobody" (S-1-0-0) | |||
1 | World Authority | (표시되지 않음) | 예: "Everyone"과 같은 잘 알려진 그룹 (S-1-1-0) | ||
2 | Local Authority | (표시되지 않음) | 예: "CONSOLE LOGON"과 같은 플래그 SID | ||
3 | Creator Authority | ||||
4 | Non-unique Authority | ||||
5 | NT Authority | NT AUTHORITY\ | NT 보안 하위 시스템에서 관리. "BUILTIN" 및 모든 액티브 디렉터리 도메인과 같은 많은 하위 권한이 있다. | ||
7 | Internet$ | Internet$\ | Windows 7 | ||
9 | Resource Manager Authority | Windows Server 2003[3][4] | |||
11 | Microsoft Account Authority | MicrosoftAccount\ | Windows 8[5] | ||
12 | Azure Active Directory | AzureAD\ | Windows 10 | ||
15 | Capability SIDs | Windows 8, Windows Server 2012[6][7][8] | 모든 기능 SID는 S-1-15-3으로 시작. 설계상, 기능 SID는 친숙한 이름으로 확인되지 않음. 가장 일반적으로 사용되는 기능 SID는 다음과 같음. S-1-15-3-1024-1065365936-1281604716-3511738428-1654721687-432734479-3232135806-4053264122-3456934681 | ||
16 | Mandatory Label\ | Windows Vista | 강제 무결성 제어의 일부로 사용 | ||
18 | Asserted Identity |
SID는 "S-1-5-21-3623811015-3361044348-30300820-1013"와 같은 형태로 나타나며, 각 부분은 다음과 같은 의미를 가진다.[15][16]
기능 SID는 레지스트리 데이터에서 찾을 수 있으며, 설계상 친숙한 이름으로 확인되지 않는다. 레지스트리 데이터에서 SID를 찾지 못하면 알려진 기능 SID가 아니며, 일반적인 확인되지 않은 SID로 문제 해결을 할 수 있다. 타사 기능 SID일 가능성이 적으며, 이 경우 친숙한 이름으로 확인되지 않는다.[7]
3. 주요 SID
S 1 5 21-3623811015-3361044348-30300820 1013 이 문자열은 SID를 가리킨다. SID 규격의 버전 번호. 식별자 권한 값. 도메인 및 로컬 컴퓨터 식별자 상대 ID (RID). 기본값으로 만들지 않은 그룹이나 사용자는 1,000 이상의 상대 ID값을 가진다. 10진수 이름 표시 이름 참고 0 Null Authority 예: "Nobody" (S-1-0-0) 1 World Authority (표시되지 않음) 예: "Everyone"과 같은 잘 알려진 그룹 (S-1-1-0) 2 Local Authority (표시되지 않음) 예: "CONSOLE LOGON"과 같은 플래그 SID 3 Creator Authority 4 Non-unique Authority 5 NT Authority NT AUTHORITY\ NT 보안 하위 시스템에서 관리. "BUILTIN" 및 모든 액티브 디렉터리 도메인과 같은 많은 하위 권한이 있다. 7 Internet$ Internet$\ 9 Resource Manager Authority 11 Microsoft Account Authority MicrosoftAccount\ 12 Azure Active Directory AzureAD\ 15 Capability SIDs 모든 기능 SID는 S-1-15-3으로 시작. 설계상, 기능 SID는 친숙한 이름으로 확인되지 않음. 16 Mandatory Label\ 강제 무결성 제어의 일부로 사용 18 Asserted Identity
3. 1. Well-known SID
SID | 설명 |
---|---|
S-1-1-0 | 모든 사용자 |
S-1-5-14 | 원격 상호 로그온 접속 (Remote Interactive Logon) |
S-1-5-18 | 로컬 시스템 (Local System) - 운영 체제가 사용하는 서비스 계정 |
S-1-5-19 | NT 권한, 로컬 서비스 |
S-1-5-20 | NT 권한, 네트워크 서비스 |
S-1-5-29 | 네트워크 서비스 |
S-1-5-domain-500 | 시스템 관리자를 위한 사용자 계정. 기본적으로 시스템 전반을 제어할 수 있는 유일한 사용자 계정이다. |
S-1-5-domain-501 | 개인 계정이 없는 게스트 사용자 계정. 이 사용자 계정은 암호를 요구하지 않는다. 기본적으로 게스트 계정은 활성화되지 않는다. |
S-1-5-domain-512 | 도메인 관리자(Domain Admins) - 소속된 사용자들이 도메인을 관리할 수 있는 전역 그룹. 기본적으로 도메인 관리자 그룹은 도메인 컨트롤러를 포함하여 도메인에 참가하는 모든 컴퓨터의 관리자 그룹 멤버이다. 도메인 관리자는 임의의 그룹 멤버가 만든 객체의 기본 소유자이다. |
S-1-5-domain-513 | 도메인 사용자(Domain Users) |
S-1-5-domain-514 | 도메인 게스트(Domain Guests) - 기본적으로 도메인 내장 게스트 계정, 곧 한 명의 멤버만을 가지는 전역 그룹이다. |
S-1-6 | 사이트 서버 권한(Site Server Authority). |
S-1-7 | 인터넷 사이트 권한(Internet Site Authority). |
S-1-8 | 교환 권한(Exchange Authority). |
S-1-9 | 리소스 관리자 권한(Resource Manager Authority). |
4. 머신 SID
머신 SID(S-1-5-21)는 컴퓨터를 고유하게 식별하는 데 사용된다. 이 SID는 `SECURITY` 레지스트리 하이브의 `SECURITY\SAM\Domains\Account`에 저장되며, `F`와 `V`라는 두 개의 값을 갖는다. `V` 값은 데이터 끝에 컴퓨터 SID가 포함된 바이너리 값(마지막 96비트)이다.[11] 백업은 `SECURITY\Policy\PolAcDmS\@`에 있다.
NewSID는 컴퓨터에 대한 새로운 무작위 SID를 생성한다. 컴퓨터 SID를 구성하는 3개의 하위 권한 값 96비트를 대체하는 진정한 무작위 96비트 값을 생성한다. 머신 SID 하위 권한 형식은 도메인 SID에도 사용되는데, 이 경우 머신은 자체 로컬 도메인으로 간주된다.
머신 SID는 Start8과 같은 일부 무료 평가판 프로그램에서 평가판 재시작을 막기 위해 컴퓨터를 식별하는 데 사용되기도 한다.
4. 1. 머신 SID 디코딩
머신 SID는 레지스트리에 원시 바이트 형태로 저장된다. 이를 더 일반적인 숫자 형태로 변환하려면 세 개의 리틀 엔디안 32비트 정수로 해석하고 십진수로 변환한 다음 하이픈으로 구분한다.예시 | 2E,43,AC,40,C0,85,38,5D,07,E5,3B,2B |
---|---|
1) 바이트를 3개의 섹션으로 나눈다: | 2E,43,AC,40 - C0,85,38,5D - 07,E5,3B,2B |
2) 각 섹션의 바이트 순서를 반대로 한다: | 40,AC,43,2E - 5D,38,85,C0 - 2B,3B,E5,07 |
3) 각 섹션을 십진수로 변환한다: | 1085031214 - 1563985344 - 725345543 |
4) 기계 SID 접두사를 추가한다: | S-1-5-21-1085031214-1563985344-725345543 |
5. 서비스 SID
서비스 SID는 서비스 격리 기능으로, 윈도우 비스타 및 윈도우 서버 2008에 도입된 보안 기능이다.[12] "제한 없음" SID 유형 속성을 가진 모든 서비스는 서비스 호스트 프로세스의 액세스 토큰에 서비스별 SID가 추가된다. 서비스 SID는 서비스 계정을 생성해야 하는 관리 부담 없이 단일 서비스에 대한 권한을 관리할 수 있도록 해준다.
"dnscache" 서비스는 `NT SERVICE\dnscache` 또는 `S-1-5-80-859482183-879914841-863379149-1145462774-2388618682`로 참조할 수 있으며, 이 둘은 같은 의미를 가진다.
5. 1. 서비스 SID 생성
각 서비스 SID는 서비스 이름을 기반으로 생성되며, `S-1-5-80-{SHA-1(서비스 이름)}` 형태를 가진다.[12] 서비스 SID는 서비스 격리를 위해 윈도우 비스타 및 윈도우 서버 2008에 도입되었다.`sc.exe` 명령어를 사용하여 이 특수 SID 값을 생성할 수 있다. 예를 들어 "dnscache" 서비스의 경우 다음과 같다.
```text
C:> sc showsid "dnscache"
NAME: dnscache
SERVICE SID: S-1-5-80-859482183-879914841-863379149-1145462774-2388618682
```
"dnscache" 서비스는 `NT SERVICE\dnscache` 또는 `S-1-5-80-859482183-879914841-863379149-1145462774-2388618682`로 참조할 수 있으며, 이는 같은 의미를 가진다. 서비스 SID는 서비스 이름에 의해서만 결정되므로, 주어진 서비스의 SID 값은 해당 서비스가 실행되는 모든 머신에서 항상 동일하다.
6. 중복 SID 문제
윈도우 NT/2000/XP 기반 시스템에서 디스크 복제를 통해 이미지를 배포하는 경우, 머신 SID가 중복될 수 있다. 이러한 중복 SID 문제는 마이크로소프트 윈도우 시스템에서는 일반적으로 문제가 되지 않지만, SID를 감지하는 다른 프로그램에서는 보안 문제가 발생할 수 있다.[13][14]
6. 1. 중복 SID의 영향
윈도우 NT/2000/XP를 실행하는 컴퓨터의 작업 그룹에서, 사용자가 공유 파일이나 이동식 저장 장치에 저장된 파일에 예기치 않게 접근할 수 있다. 이는 해당 파일에 접근 제어 목록을 설정하여 방지할 수 있으며, 유효한 권한은 사용자 SID에 의해 결정된다. 이 사용자 SID가 다른 컴퓨터에서 중복되는 경우, 동일한 SID를 가진 두 번째 컴퓨터의 사용자는 첫 번째 컴퓨터의 사용자가 보호한 파일에 접근할 수 있다. 이는 디스크 복제로 인해 컴퓨터 SID가 중복될 때 자주 발생하며, 불법 복제본에서 흔히 나타난다.[13] 사용자 SID는 컴퓨터 SID와 순차적인 상대 ID를 기반으로 구축된다.컴퓨터가 액티브 디렉터리 또는 NT 도메인과 같은 도메인에 가입하면 각 컴퓨터는 고유한 도메인 SID를 받는다. 이 SID는 컴퓨터 SID와 유사하며, 컴퓨터가 도메인에 진입할 때마다 다시 계산된다. 결과적으로, 로컬 사용자 계정을 사용하지 않는 경우, 컴퓨터가 도메인의 구성원일 때 중복 SID로 인한 심각한 문제는 일반적으로 발생하지 않는다. 로컬 사용자 계정을 사용하는 경우에는 위에서 설명한 것과 유사한 잠재적인 보안 문제가 있지만, 이 문제는 도메인 사용자가 아닌 로컬 사용자에 의해 보호되는 파일 및 리소스에 국한된다.
중복 SID는 일반적으로 마이크로소프트 윈도우 시스템에서는 문제가 되지 않지만, SID를 감지하는 다른 프로그램은 보안에 문제가 있을 수 있다.[14]
6. 2. 해결 방법
마이크로소프트는 이전에 Sysinternals의 일부로 마크 루시노비치의 "NewSID" 유틸리티를 제공하여 기계 SID를 변경할 수 있도록 했었다.[13] 그러나 이 유틸리티는 2009년 11월 2일에 사용 중단되어 다운로드할 수 없게 되었다. 마크 루시노비치와 윈도우 보안 팀은 기계 SID가 네트워크 접근 제한에 사용되지 않기 때문에 중복 SID가 문제를 일으킬 수 있는 상황을 전혀 생각할 수 없었다고 설명했다.[14]현재 윈도우 운영 체제에서 디스크 복제를 지원하는 유일한 방법은 SysPrep을 사용하여 새로운 SID를 생성하는 것이다.
참조
[1]
웹사이트
Well-known security identifiers in Windows operating systems
https://support.micr[...]
2019-12-12
[2]
웹사이트
"[MS-DTYP]: Well-Known SID Structures"
https://docs.microso[...]
2020-09-03
[3]
웹사이트
Custom Principals
https://msdn.microso[...]
[4]
웹사이트
Larry Osterman's WebLog
http://blogs.msdn.co[...]
2020-07-17
[5]
웹사이트
Example impact of Microsoft Accounts on Windows APIs in Windows 8/8.1 – Windows SDK Support Team Blog
https://blogs.msdn.m[...]
2014-12-12
[6]
웹사이트
Security identifiers
https://support.micr[...]
2021-08-28
[7]
웹사이트
Some SIDs do not resolve into friendly names
https://support.micr[...]
2021-09-24
[8]
웹사이트
Capability SID Constants (Winnt.h) - Win32 apps
https://docs.microso[...]
2020-09-02
[9]
웹사이트
Accounts Everywhere: part 1, Virtual Accounts
https://www.1e.com/n[...]
2017-11-24
[10]
웹사이트
IIS AppPool Identity SIDs
https://winterdom.co[...]
2020-09-02
[11]
웹사이트
MS TechNet NewSID Utility - How It Works
https://technet.micr[...]
Microsoft
2006-11-01
[12]
웹사이트
Windows Service Isolation Feature
http://www.windowsit[...]
Windows IT Pro
2012-06-06
[13]
웹사이트
NewSID v4.10
https://technet.micr[...]
Microsoft
2006-11-01
[14]
웹사이트
The Machine SID Duplication Myth
http://blogs.technet[...]
Microsoft
2009-11-03
[15]
웹사이트
Custom Principals
http://msdn.microsof[...]
[16]
URL
http://blogs.msdn.co[...]
[17]
웹인용
Well-known security identifiers in Windows operating systems (MSKB 243330)
http://support.micro[...]
마이크로소프트
2007-02-28
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com