Kamis, 09 Desember 2010

Registry Mania : Security Identifer (SID)

Security Identifier, atau lebih beken disingkat dengan  SID, dipakai secara unik untuk mengidentifikasi account pemakai atau group pada Windows.  SID dapat ditemukan pada  token di ACL (Access Control List) dan SAM (Security Account Databases).



Struktur SID

SID adalah suatu data struktur yang bersifat variable-length. Artinya ukurannya bisa berubah-ubah.  Enggak pasti gitu loch…:)  Dan ia pada umumnya akan menganut rumus, sebagai berikut :.

S-R-I-SA-SA-SA

Keterangan :
S = disi dengan huruf S
R = berisi  nomor revisi dari SID binary format (saat ini angka yang dipakai adalah 1)
 I = adalah 48-bit identifier authority value. Identifier authority umumnya ada pada NT Authority namespace, nilai nya adalah 0x000005.
SA = adalah  a 32-bit subauthority.
Misalnya, terdapat SID dengan kode S-1-5-32-547, kode ini adalah SID Power Users. Jika dibaca, maka  : 
SID dengan nomor revisi 1 dengan nilai identifier authority 5 ditambah subauthority 32 dan 547.

Suatu identifier authority umumnya akan dikombinasikan dengan well-known subauthority (seperti  BUILTIN Domain, yang selalu ada pada  komputer berbasis Windows),  misalnya :

Administrator: S-1-5-21-XXXX-XXXX-XXXX-500
Guest: S-1-5-21-XXXX-XXXX-XXXX-501

Pada kenyataanya simbol XXXX, akan berisi 32-bit subauthority values yang terdiri dari 96-bit unique ID dari mesin. Koding yang terlihat bertele-tele ini untuk menjamin bahwa pada dua mesin yang berbeda tidak akan menghasilkan SID yang sama.
Sesudah subauthority values terkadang terdapat angka yang mengidentifikasi suatu patokan standar dalam namespace. Sebagai contoh angka 500 mengidentifkasikan  Administrator, dan angka  501 menunjukkan Guest.
Jadi ada patokan pola yang dapat dipakai sebagai pegangan.  Misal angka 21 umumnya akan dipakai untuk mengawali 3 value spesifik subauthority, angka 501 selalu mewakili  patokan spesial untuk Guest. 
Oh iya … well-known subauthority values ini ada juga menyebutnya dengan istilah RID (Relative ID).  Masih ingat tentang RID ? Ya... pada tulisan sebelumnya, kita telah melihat sekilas tentang RID. 
Itulah keterangan ringkas SID,  semoga Anda tidak mengerti … :P    Tapi biarlah,  yang penting berikut ini adalah well-known SID yang barangkali bisa dipakai sebagai contekan  dalam mengartikan SID.

=======================================================
User            SID
=======================================================
Null SID                              S-1-0-0
World                                  S-1-1-0 (Everyone)
Local                                   S-1-2-0
Creator Owner ID               S-1-3-0
Creator Group ID                S-1-3-1
Creator Owner Server ID    S-1-3-2
Creator Group Server ID     S-1-3-3
NT Authority                       S-1-5 
Dialup                                 S-1-5-1
Network                             S-1-5-2
Batch                                  S-1-5-3
Interactive                           S-1-5-4
(Logon IDs)                        S-1-5-5-X-Y
Service                               S-1-5-6
AnonymousLogon              S-1-5-7 (null session)
Self                                    S-1-5-10
Authenticated Users           S-1-5-11
Restricted Code                 S-1-5-12
Terminal Server                  S-1-5-13
Remote Logon                   S-1-5-14
This Organization               S-1-5-15
Local System                     S-1-5-18
Local Service                    S-1-5-19
Network Service               S-1-5-20
(NT non-unique IDs)         S-1-5-21-... (NT Domain Sids)
(Built-in domain)               S-1-5-32 (well-known local groups)


•    well known domain groups

Domain Administrators       S-1-5-21-XXXX-XXXX-XXXX-512
Domain Users                    S-1-5-21-XXXX-XXXX-XXXX-513
Domain Guests                  S-1-5-21-XXXX-XXXX-XXXX-514
Domain Computers            S-1-5-21-XXXX-XXXX-XXXX-515
Schema Admins                S-1-5-21-XXXX-XXXX-XXXX-518
Enterprise Admins            S-1-5-21-XXXX-XXXX-XXXX-519

•    well-known local groups (dikenal juga dengan sebutan aliases)

BUILTIN\Administrators                      S-1-5-32-544
BUILTIN\Users                                    S-1-5-32-545
BUILTIN\Guests                                  S-1-5-32-546
BUILTIN\Power Users                        S-1-5-32-547
BUILTIN\Account Operators               S-1-5-32-548
BUILTIN\System Operators                 S-1-5-32-549
BUILTIN\Print Operators                     S-1-5-32-550
BUILTIN\Backup Operators                 S-1-5-32-551
BUILTIN\Replicator                              S-1-5-32-552
BUILTIN\RAS Servers                          S-1-5-32-553
BUILTIN\PreWin2KComputerAccess    S-1-5-32-554
BUILTIN\Remote Desktop Users           S-1-5-32-555
=========================================================

Itu teorinya ! Sekarang prakteknya, kita akan membaca data SID di registry.  Kita buka regedit,  dan melihat HKEY_USER.


Gambar :  tanpilan SID

Kurang jelas ya gambarnya ? Oke…. kita perbesar datanya sebagai berikut :


Gambar :  daftar SID


Kita akan coba membacanya :
•    S-1-5-18 = SID  Local System. Menurut tabel SID ini termasuk well-known SID
•    S-1-5-19 = SID local service. Menurut tabel SID ini termasuk well-known SID
•    S-1-5-20 = SID local network. Menurut tabel SID ini termasuk well-known SID
•    S-1-5-21-1078081533-1965331169-1417001333-1003  = NT non-unique Ids untuk user dengan rid 1003
•    S-1-5-21-1078081533-1965331169-1417001333-1009  = NT non-unique Ids untuk user dengan rid 1009
•    S-1-5-21-1078081533-1965331169-1417001333-1010 = NT non-unique Ids untuk user dengan rid 1010
•    S-1-5-21-1078081533-1965331169-1417001333-500 = NT non-unique Ids untuk user dengan rid 500
•    S-1-5-21-1078081533-1965331169-1417001333-501 = NT non-unique Ids untuk user dengan rid  501

Untuk SID non-uniqe ID ini jika dijabarkan adalah sebagai berikut. Misalnya data yang diambil adalah :

S-1-5-21-1078081533-1965331169-1417001333-501

Maka :
S = ditulis apa adanya
1 = nomor Revisi
5-21 = Identifier authority value untuk  NT Domain Sid
1078081533 = subauthority values
1965331169 = subauthority values
1417001333 = subauthority values
501 = RID

Gabungan dari ketiga subauthority values tersebut adalah apa yang lebih dikenal dengan sebutan SID Machine. Sedangkan RID adalah (atau dapat dianggap sebagai) nomor pemakai (user number).
Jadi bisa dikatakan patokan SID yang secara standar :

S-R-I-SA-SA-SA 

Menjadi :

S-R-I-SID MACHINE-RID

Kita akan melihat tentang SID MACHINE dan RID secara lebih jauh. (nanti ... :) )



Note : [Remake BDRW:MKWXP-7]
Tri Amperiyanto

Tidak ada komentar:

Posting Komentar