کنترل دسترسی (Access Control) به مجموعه تکنیکهایی گفته میشود که مشخص میکنند چه کسی یا چه چیزی امکان دیدن، استفاده کردن و یا تغییر بر روی چه منابعی را دارد. در بحثهای طراحی امنیت فیزیکی، امنیت اطلاعات و امنیت شبکه، کنترل دسترسی (Access Control) از موارد بنیادی در جهت کاهش خطرات و ریسکها است. با توجه به اینکه در بسیاری از موارد، عبارت کنترل دسترسی از نظر مفهومی کاربران را دچار سردرگمی میکند و همچنین بسیار مشاهده شده که مدیران، این بخش از امنیت را فراموش کردهاند، در این مقاله تلاش شده تا راهکارهای کنترل دسترسی از جهات زیر مورد بررسی قرار گیرد:
اجزای کنترل دسترسی چیست؟
به صورت کلی کنترل دسترسی پیرامون محدودسازی یا ارائه حداقل دسترسی به منابع است. به همین علت تمامی سیستم های کنترل دسترسی چه فیزیکی و چه منطقی، دارای اجزای پنج گانه به شرح زیر هستند:
- احراز هویت (Authentication): به فرایند بررسی ادعای کاربر پیرامون اطلاعات هویتی که وی ارائه کرده است، احراز هویت گفته می شود. این فرایند شامل اعتبار سنجی مستندات هویتی مانند کارت شناسایی، گواهی دیجیتالی بر روی یک صفحه وب، یا اطلاعات ورود (Login) با استفاده از داده های از پیش ذخیره شده است.
- ارائه مجوز (Authorization): فرایندی است که در طی آن میزان و حق دسترسی یا امتیازات تعیین می شود. به عنوان مثال کاربران منابع انسانی به صورت معمول حق دسترسی به اطلاعات تحصیلی کارمندان دارند. این سیاست به عنوان یک قانون کنترل دسترسی در ساختارهای کنترل دسترسی کامپیوتری ایجاد شده است.
- دسترسی (Access): استفاده از منابع توسط شخص یا کامپیوتر، پس از تصدیق احراز هویت و اعمال حق دسترسی، فرایندی است که به آن دسترسی یا Access گویند.
- مدیریت (Manage): مدیریت سیستمهای کنترل دسترسی شامل مواردی مانند ایجاد یا حذف کردن قوانین احراز هویت یا سطح دسترسی کاربران یا سیستمها و همچنین معرفی کاربران و Directory که اطلاعات آنها در آن قرار دارد، بخشی از مدیریت سیستمهای کنترل دسترسی است. به عنوان مثال پلتفرم Identity Service Engine شرکت سیسکو (Cisco) امکان اتصال به Directoryهای مختلفی مانند Active Directory ، LDAP سرور و یا سرویسهای رایانش ابری (Cloud) را دارد، که این موارد نیاز به مدیریت خواهند داشت.
- حسابرسی (Accounting): بخشی از سیستم کنترل دسترسی است که وظیفه آن رخداد نگاری از تلاش ها برای احراز هویت ها و اعمال دسترسی ها و همچنین ذخیره این رخدادها است. رخدادنگاری صحیح از موارد بسیار مهم در بحث امنیت شبکه و امنیت اطلاعات است.
- آزمون (Audit): بیشتر به بخشی از کنترل دسترسی گفته می شود که وظیفه بررسی دسترسی ها و اعمال حداقل دسترسی به کاربران را دارد، گفته می شود. در طول زمان کاربران با تغییر نقش در سازمان روبرو هستند که این تغییر نقش، سبب تغییر سطح دسترسی آن ها نیز می شود. آزمون قوانین سطح دسترسی به صورت دوره ای سبب می شود که خطر و ریسک امنیت شبکه و امنیت اطلاعات کاهش یابد.
عملکرد سیستم کنترل دسترسی (Access Control) به چه صورت است؟
سیستم کنترل دسترسی (Access Control) را میتوان به دو بخش زیر جهت بهبود امنیت فیزیکی و امنیت سایبری تقسیم کرد:
- کنترل دسترسی فیزیکی: به محدودسازی دسترسیها به داراییها و محیطهای فیزیکی مانند اتاقها و ساختمانها اشاره دارد که استفاده از کارت یا اثر انگشت و در موارد سنتی کلید، جهت باز کردن دربها یکی از مثالهای این بخش است.
- کنترل دسترسی منطقی: به محدودسازی دسترسی به کامپیوترها، شبکه، فایلها، و دیگر دادههای حساس اشاره دارد. به عنوان مثال امکان دسترسی به شبکه با استفاده از نام کاربری و کلمه عبور امکانپذیر باشد.
به عنوان مثال یک شبکه تجاری میتواند یک سیستم الکترونیکی کنترل دسترسی را که توانایی کنترل دربهای ورودی را دارد، جهت محافظت از مرکز داده (Datacenter) خود راه اندازی کند. این سیستم میزان دسترسی کاربران را مشخص میکند و همچنین اطلاعات تعداد دفعات ورود کاربران احراز هویت شده را نیز ذخیره میکند. این امر امکان گزارشدهی از ورودهای مجاز و تلاشها برای ورودهای غیرمجاز را فراهم می سازد. همچنین این سیستم کنترل دسترسی (Access Control) میتواند محدودیتهایی را جهت ورود به اتاقها یا ساختمانها نیز اعمال کند و در صورت مشاهدهی تلاش برای ورود غیرمجاز، میتواند مواردی مانند ایجاد صدای بوق خطر، ارسال پیام کوتاه و فرایندهای قفل کردن دربهای دیگر را جهت مسدودسازی مسیر خروج فرد غیرمجاز انجام دهد.
این سیستم تصدیق و احراز هویت، کاربران را براساس نام کاربری، کارتهای ورود، اطلاعات بیومتریک (Biometric) یا Personal Identification Number (PIN) بررسی و در صورت تایید هویت و همخوانی با سیاستهای دسترسی، اجازه ورود را به کاربر میدهد.
از دیگر راهکارهای کنترل دسترسی، سیستمهای احراز هویت چندگانه (Multi factor Authentication) است. به عنوان مثال در سیستمهای امنیتی دفاع در عمق (Defense In Depth)، کاربر جهت ورود میبایست دارای شرایط زیر باشد:
- چیزی را بداند - مانند نام کاربری (Username)
- چیزی باشد - اطلاعات بیومتریک (Biometric) مانند اثر انگشت یا قرنیه چشم
- چیزی را داشته باشد - کد یا کلمه عبور ایجاد شده که از طریق تلفن هوشمند، نرم افزار یا توکن ارسال میشود.(Two Factor Authentication)
چرا کنترل دسترسی (Access Control) مهم است؟
کنترل دسترسی سبب کاهش ریسک دسترسیهای مجاز و غیرمجاز به سیستمهای فیزیکی و کامپیوتری میشود و همچنین بخشی بنیادی از ساختارهای امنیت اطلاعات، امنیت دادهها و امنیت شبکه است.
همانطور که یک سازمان یا کسب و کار جهت جلوگیری از ورود کرمهای رایانه ای (Worm)، نقض دادهای (Data Breaches)، نشت اطلاعات (Data Leaks) ،Exploitها، آسیب پذیریها (Vulnerability)، تهدیدات نیزه فیشینگ (Phishing Spear)، مهندسی اجتماعی (Social Engineering) فیشینگ (Phishing)، بدافزارها (Malware)، باج افزارها (Ransomware)، دزدی دامنه (Domain Hijacking)، حملات مرد میانی (Man In The Middle)، حملات Typo-squatting، کلاهبرداریهای ایمیل (Email Spoofing) و دیگر حملات سایبری، پول و زمان هزینه میکند، سیستم کنترل دسترسی نیز به عنوان یکی از سیستمهای امنیتی که در جلوگیری از اتفاق افتادن حملات اشارهشده بسیار کمک کننده است، نیز نیازمند هزینه و زمان است. از نگاه امنیت شبکه، با توجه به رشد روزافزون تجهیزات قابل حمل (Mobile Device) مانند لپتاپها، تلفنهای هوشمند و تجهیزات اینترنت اشیا (IoT)، اتصال آنها به شبکه، کنترل دسترسی، Visibility و سازگاری آنها با قوانین امنیتی بسیار مهمتر از گذشته شده است. همچنین این رشد سبب افزایش ریسکهای امنیتی و پیچیده شدن آنها شده است.
سیستمهای کنترل دسترسی جهت پیادهسازی بسته به نوع کسب و کار یا سازمان، نیازمند رعایت مقررات و استانداردهای امنیتی هستند.
این استانداردها و مقررات به شرح زیر است:
- PCI DSS: دستورات نهگانه سازمانی، جهت محدودسازی و کنترل دسترسیهای فیزیکی به ساختمانهای سازمانی برای کاربران و مهمانان و همچنین کنترل دسترسیهای منطقی کافی و مناسب، جهت کاهش ریسکهای امنیت سایبری (Cybersecurity) پیرامون رفتارهای مشکوک برای سرقت اطلاعات حساس، است. همچنین این استاندارد، دستورات دهگانهای را جهت راهکارهای امنیتی مورد نیاز برای مانیتورینگ و رهگیری (Tracking) کاربران و سیستمهای آنها تعریف کرده است.
- HIPAA: قوانین امنیتی استاندارد HIPAA، براساس نیاز به پیشگیری از افشای غیرمجاز تمامی اطلاعات و موجودیتهای کسب و کار ایجاد شدهاند. هدف نهایی این قوانین، محافظت کامل از Health Information صرف نظر از نوع دسترسی فیزیکی یا منطقی به این اطلاعات است.
- SOC2: فرایندهای بررسی و حسابرسی امنیتی است که شرکتها و ارائهدهنگان سرویس میانی (Service Providers) مانند مخابرات را به مدیریت و حفظ اطلاعات حساس کاربران و مشتریان، اجبار میکند. این اجبار پیرامون حفاظت از دادههای حساس در برابر نقض اطلاعات (Data Breach) است. سازمانهایی که قصد دریافت این استاندارد امنیتی را دارند میبایست ساختارهای رمزنگاری دادهها (Data Encryption) و مکانیزمهای احراز هویت چندگانه (Two Factor Authentication) را دارا باشند. استاندارد امنیتی SOC2 بیشتر برای سازمانهایی که فرایندهای ذخیرهسازی اطلاعات شخصی افراد (Personal Identifiable Information) را بر عهده دارند، مورد نیاز است.
- ISO 27001: تمامی سازمانها و کسب و کارها پیرامون امنیت اطلاعات (Information Security)، نیازمند استانداردی هستند که فرایندهای مدیریتی سیستماتیک بازرسی و شناسایی ابعاد حملات را برای تهدیدات سایبری (Cyber Threat) و آسیب پذیریهای موجود در سیستم، ایجاد کند. استاندارد ISO 27001 امکان ایجاد این فرایندهای مدیریتی را فراهم ساخته است. همچنین این استاندارد ساختارهای مدیریت ریسک (Risk Management) را به گونهای فراهم میسازد که از تداوم امنیت اطلاعات (Information Security) و کسب و کار اطمینان حاصل شود.
همچنین صرف نظر از سازگاری با مقررات اشاره شده، مدلهای پیادهسازی سیستمهای کنترل دسترسی، میبایست متدولوژی ارزیابی ریسک (Risk Assessment)، تهدیدات جاسوسی شرکتی، سیاستهای مدیریت برند، سیاستهای امنیت اطلاعات (Information Security)، برنامههای مدیریت ریسک سازمانی، چهارچوبهای مدیریت ریسک سایر سازمانهای قابل الگو برداری و چهارچوب کاری NIST Cybersecurity را در نظر داشته باشند.
انواع کنترل دسترسی (Access Control) چیست؟
نمونههای پایهای سیستمهای کنترل دسترسی عبارت اند از:
- (Attribute Base Access Control (ABAC: سیستمهای مدیریت کنترل دسترسی هستند که دسترسی را نه براساس احراز هویت درخواست دهنده بلکه بر اساس صفات درخواست دهنده به آن اعمال میکنند. در این ساختار کاربر نهایی میبایست به سیستم کنترل دسترسی ثابت کند که دارای صفات مشخص است. سیاستهای امنیت سیستم کنترل دسترسی ABAC براساس صفات فردی طراحی و اعمال میشود. به عنوان مثال یکی از صفات مورد نظر میتواند سن زیر 18 سال باشد. تمام کسانی که بتوانند ثابت کنند که سن آنها زیر 18 سال است امکان دریافت مجوز دسترسی را خواهند داشت. نمونه این نوع دسترسی را میتوان در ایجاد حساب بانکی دید. در ساختار ABAC احراز هویت یک امر اصلی به حساب نمیآید و تنها تایید صفات و دارا بودن آن مورد نیاز است.
- (Directory Access Control (DAC: در این ساختار مدیریت دسترسی بر روی مکان فیزیکی، سیستم کامپیوتری یا دادههای حساس توسط صاحب یا مدیر آن مکان یا سیستم تعیین میشود، که چه کسی به چه اطلاعاتی میتواند دسترسی داشته باشد. در این سیستم کنترل دسترسی، پیاده سازی قوانین به صورت جزیرهای بوده و در هر نقطه که نیاز به کنترل دسترسی وجود دارد مدیر سیستم موظف به پیادهسازی آن است. ضعف اصلی این نوع از سیستمهای کنترل دسترسی عدم دارا بودن مدیریت مرکزی و ساختار یکپارچه است.
- (Mandatory Access Control (MAC: در این نوع از سیستمهای کنترل دسترسی حق دسترسی توسط سیستمهای دارای قدرت، به صورت مرکزی و با استفاده از لایههای چندگانه امنیتی، تعیین و اجرا میگردد. استفاده از ساختار MAC در میان دولتها و سازمانهای نظامی بسیار رایج است. در این گونه محیط، طبقهبندی تعیینکننده امکان دسترسی یا عدم دسترسی بوده و این قوانین به تمامی موجودیتها همچون منابع سیستمی، سیستم عاملها، کاربران و دیگر موارد اعمال میگردد. این ساختار از نظر مدیریت تغییرات بسیار سخت و پیچیده، اما در محیطهایی که اطلاعات طبقهبندی شده و فوق سری نگهداری میشود، بسیار کارآمد است.
- (Role Based Access Control (RBAC: در ساختار کنترل دسترسی RBAC، سیستم بررسی میکند که صرف نظر از Owner یا Administrator، چه کسانی و تا چه میزانی میتوانند به دادهها یا سیستمها دسترسی داشته باشند. در مواردی که سیستم چند لایه امنیتی مورد نیاز است مانند کسب و کارها، سازمانها و ارتش، سیستم کنترل RBAC، یکی از ساختارهای پراستفاده است. تفاوت میان DAC و RBAC در سیستمهای کنترل دسترسی این است که DAC در سطح کاربر اجازه کنترل دسترسی را فراهم میسازد، در حالی که RABC کنترل دسترسی را در سطح سیستم فراهم میسازد؛ که از دسترس کاربر خارج است. همچنین RABC و MAC نیز تفاوتهایی در پیادهسازی مجوزها دارند. در ساختار MAC، کنترل دسترسیهای خواندنی (Read) و نوشتنی (Write) در هنگام تولید سرویس یا سیستم ایجاد میشود، در حالی که در ساختار RBAC، امکان اعمال دسترسی به صورت پویا و براساس مجموعهای از عناصر مختلف وجود دارد. ساختار کنترل دسترسی RBAC برای استفاده براساس نیازهای کسب و کار، مانند نیازهای ساختار SaaS و ایجاد دسترسیهای متفاوت برای واحدهای مختلف مانند مهندسی، منابع انسانی، فروش و ...، بسیار کارامد است.
- Rule Based Access Control: این ساختار در حقیقت یک مدل کنترل دسترسی است که مدیر سیستم کنترل کننده، قوانینی را جهت دسترسی به منابع ایجاد میکند. این قوانین به صورت عمومی دارای شرایطی مانند زمان، مکان، نوع ارتباط، و ... هستند. ترکیب سیستم کنترل Rule Based و RBAC بسیار رایج و قابل استفاده در سازمانها، و کسب و کارها است.
- Break-Glass Access Control: عموم ساختارهای کنترل دسترسی بر پایه هدف محدودسازی دسترسیها به وجود آمدهاند؛ و به همین دلیل است که همه آنها از قانون اعمال حداقل دسترسی پیروی میکنند و قانون پیش فرض Deny در همه آنها برقراراست. این ساختار میتواند در تقابل با مدیریت و عملکرد برخی سیستمها با مشکلاتی روبرو شود. در برخی موارد انسانها در شرایطی قرار میگیرند که میبایست به اجبار کاری را انجام دهند، اما آن کار منجر به نقض قوانین کنترل دسترسی (Access Control) میشود. یکی از نمونههای این مشکلات، وجود محدودیتها در زمینههای پزشکی است؛ که عدم دسترسی به پرونده بیمار میتواند سبب مرگ یک انسان شود. ساختار کنترل دسترسی Break-Glass جهت رفع اینگونه مشکلات طراحی شده است.