SID- Security Identifiers چیست؟
SID یک شناسه امنیتی یا یک عدد منحصر به فرد و ثابت است که در سیستم عامل مبتنی بر ویندوز استفاده می شود. سیستم عامل برای اینکه قادر باشد حساب های کاربری وگروه های آنها را از نظر امنیتی بررسی و شناسایی کند برای هر یک از آنها یک شناسه امنیتی یا SID تعریف می کند.
- شناسه امنیتی (SID) برای شناسایی منحصر به فرد یک هویت امنیتی یا گروه امنیتی استفاده می شود. هویت امنیتی می تواند هر رویدادی را نشان دهند که می تواند توسط سیستم عامل احراز هویت شود، مانند یک حساب کاربری، یک حساب کامپوتری، یا یک رشته- thread – یا فرآیندی که در بستر امنیتی مربوط به یک حساب کاربری یا کامپیوتری اجرا می شود.
- SID مخصوص هر هویت دیجیتالی است و هیچ گروهی و کاربر در یک کامپیوتر و شبکه نمی تواند و نباید یکسان باشد.
- در حالت عادی از نام ها برای کاربران و گروه در ویندوز استفاده می شود اما سیستم عامل اعداد را می شناسد و با آن ها برای شناسایی کاربران و گروه ها کار می کند.
وظیفه SID
SID سیستم عامل را قادر می سازد که اکانت های را که بر روی آن ایجاد شده احراز هویت و شناسایی کند و در صورت تغییر نام، کلیه تنظیمات از بین نخواهد رفت.
زمانی که کاربر، نام کاربری و رمز عبور را وارد می کند، به همراه Username یک Tokenایجاد می شود که SID کاربر و SID گروهی که کاربر عضو آن است به سمت کلاینت ارسال می شود.
ویندوز مجوزه های دسترسی را مستقیما به sid ها نمی دهد یک SD یا Security Descriptor اختصاصی ایجاد می کند تا امنیت همه کارهایی که کاربر بر روی کامپیوتر انجام می دهد را فراهم کند. SD شامل مجموعه ای از مجوز های گوناگون مانند allow یا denial مربوط به یک SID خاص می شود.
سیستم عامل ویندوز از SID برای تعیین سطح دسترسی به فایل ها، پوشه ها، کلیدهای ریجستری، استفاده از چاپگر، اشتراک گذاری منابع و… استفاده می کند. هنگامی که یک کاربر درخواست دسترسی پیدا کردن به یک منبع اطلاعاتی را می دهد ، SID کاربر مورد نظر با SID ای که بر روی فهرست ها دسترسی شبکه به نام access control list- ACL- ها وجود دارد مقایسه می شود ، اگر SID مورد نظر پس از مقایسه در این فهرست وجود داشته باشد، اجازه دسترسی به کاربر داده می شود. در صورتیکه SID مورد نظر در فهرست وجود نداشته باشد، دسترسی به منبع اطلاعاتی مورد نظر رد خواهد شد.
SID های معروف یا Well-Known SIDs
در مدیریت شبکه های بزرگ هنگامی که اکتیو دایرکتری نصب می شود کاربران مختلف شبکه به صورت پیش فرض به نام و Administrator و … ایجاد می شوند.
معروف هایSID | String مقدار | مشخصات |
Null SID | S-1-0-0 | گروهی که هیچ عضوی ندارد. معمولا وقتی که SIDشناسایی نمی شود مورد استفاده قرار می گیرد. |
Everyone | S-1-1-0 | گروهی که همه کاربران را در بر می گیرد. |
Local | S-1-2-0 | کاربرانی که به صورت فیزیکی از سیستمی استفاده می کنند |
Creator Owner ID | S-1-3-0 | SID ی با ایجاد یک شئ جدید توسط یک کاربر، جایگزین می شود. برای توارث مجوزها کارایی دارد. |
Creator Group ID | S-1-3-1 | SID ی با ایجاد یک شئ جدید توسط یک گروه، جایگزین می شود. برای توارث مجوزها کارایی دارد. |
بعضی از SID ها در همه ویندوزها یکسان شروع می شوند. اگر ویندوز نتواند SID یک حساب خاص را تشخیص دهد یا SID مربوط به یک گروه بدون عضو باشد، این شناسه امنیتی با S-1-0-0 شروع خواهد شد. به این SID در اصطلاح Null SID گفته می شود.
- باید توجه داشت که می توان کاربران یا حساب کامپیوتری خود را عضو گروه یا گروه ها کرد و به جای اینکه برای هر کاربر یا کامپیوتر دسترسی مجزا تعریف شود، فقط برای گروه مورد نظر فرمان و مجوز صادر شود. مجوز به طور مستقیم به همه اعضای گروه اختصاص می یابد.
پیشنهاد ما: دوره آموزش دوره Java SE
ساختار SID
SID از سه بخش تشکیل می شود:
- بخش اول SID با S-1-5-21 شروع می شود که محلی است و نیازی به دامنه منحصر به فرد ندارد.
- بخش دوم که Domain هست به طور اتفاقی ایجاد می شود. سراسری- Globalاست هنگامی که یک گروه domain admins شکل می گیرد از شناسه دامنه خود استفاده می کند که آن را یکتا یا Unique می کند.
- بخش سوم که مهمترین و منحصر ترین بخش SID است RID آن قسمت را تشکیل می دهد و کاربر توسط این RID شناخته می شود. RID مخفف کلمات Relative Identifier است. 512 یک RID که برای domain admins در نظر گرفته شده است. Domain identifier باعث یکتا شدن آن در کل شبکه می شود. برای اکانت administrator هم این موضوع اجرا می شود. و دیگر نیازی به تغییر نام آن نیست چون SID آن تغییر نمی کند.
- این اعداد برای کلیه کاربران سیستم به صورت پیش فرض ایجاد شده است. از طریق SID می توانید و شکل آن متوجه بشوید که متعلق به کدام کاربر و یا گروه پیش فرض است. به کاربرانی که به صورت دستی ایجاد می شوند سیستم عامل شماره گذاری متفاوتی اختصاص می دهد.
جدول زیر: SIDحساب کاربری پیش فرض را نشان می دهد:
User account Well -known SID Administrator S-1-5-21 domin-500 Guest S-1-5-21 domine-501 Creator Owner S-1-3-0 Interactive S-1-5-4 Anonymous S-1-5-7 |
مفهوم اعداد SID
اولین حرف S است که وجه تمایز SID از GUID است. اعداد بعدی شماره نسخه است که با خط تیره از هم جدا می شوند.انواع ویندوز از شماره یک استفاده می کنند.
عدد بعدی برای top level authority یا اختیارات امنیتی سطح بالا که معمولا عدد 5 است. عدد 0 تا 4 نیز مورد استفاده قرار می گیرد برای اینکه پنج اختیار امنیتی دیگر نیز وجود دارد:
- SECURITY_NULL_SID_AUTHORITY: گروه بدون عضو یا null با عدد صفر SID نشان داده می شود.
- SECURITY_WORLD_SID_AUTHORITY: این authority عهده دار Everyone group است. گروه Everyone SID prefix S-1-1-0 تعیین می شود. SID با عدد 1 نشان داده می شود.
- SECURITY_LOCAL_SID_AUTHORITY: این Authority SID کاربران local یا محلی را مدیریت می کند. هر کس با مجوز log on locally ،عضو گروه با SID prefix of S-1-2-0 خواهد بود. SID با عدد2 نشان داده می شود.
- SECURITY_CREATOR_SID_AUTHORITY: این SID با Owner ID یا شناسه مالک S-1-3-0)) و Creator Group یا گروه ایجاد کننده ( (S-1-3-1 همراه است. SID با عدد 3 نشان داده می شود.
- SECURITY_NT_AUTHORITY: این SIDمسئول تولید این SID برای همه user accounts ، global groups و local group،SID با عدد 5 نشان داده می شود.
- SID کاربر Administrator عدد پایانی آن ۵۰۰ است. و SID کاربر Guest با عدد ۵۰۱ به پایان می رسد.
- برای اینکه SID کاربران را در ویندوز ببینید فرمان زیر را در cmd وارد کرده و Enter کلید را بزنید”
wmic useraccount get name,sid فرمان
و در پاورشل می توانید از این فرمان استفاده کنید:
Get-WmiObject win32_useraccount | Select name,sid
نکته امنیتی SID
حمله Null Session
هکرها برای اینکه حمله خود را برنامه ریزی کنند نیازمند شناسایی کاربران سیستم هدف هستند.
- با عوض کردن نام کاربری نمی توان از یک حمله جلوگیری کرد. هکرها از طریق شماره SID کاربر نوع کاربری Administrator یا Guest را تشخیص می دهند.
- اگر SIDبا 500 باشد بیانگر این است که Administrator است هر چند که تغییر نام داده باشد.
- برای جلوگیری از هک شدن و ممانعت از به وجود آمدن Anonymous Access ها و محدود کردن تغییر نام های مبتنی بر SID و SAM Enumeration و مواردی مشابه پورت 139 tcp را غیر فعال کنید و پسوردهای مطمئن و درست برای حساب های کاربری انتخاب کنید و در زمان های مرتب و مشخصی آنها را تغییر دهید.
همچنین این دوره آموزشی : دوره آموزشی ASP .NET MVC Core
دیدگاهتان را بنویسید