فرض کن ساعت ۹ صبحه و چند هزار دانشجو قراره آزمون آنلاین بدن. سایت باز میشه و فرم ورود هم کار میکنه؛ ولی سه گزارش میرسه: یک نفر کارنامه دانشجوی دیگه رو میبینه، نمرهای بدون مجوز عوض میشه و گروهی هم نمیتونن وارد آزمون بشن. هر سه میتونن مسئله امنیتی باشن، اما هر کدوم از زاویهای متفاوت.
اینجاست که مثلث CIA به کارمون میاد. قراره بهجای حفظ کردن سه اصطلاح، بفهمیم یک سیستم باید از چه چیزهایی محافظت کنه. از این به بعد وقتی گزارشی درباره افشای اطلاعات، دستکاری داده یا قطع سرویس میبینی، میتونی اثرش رو درست توضیح بدی. اگر تازه وارد مسیر مبانی امنیت نابغهها شدی، این درس کمکت میکنه امنیت رو فقط در قفل کردن صفحه ورود خلاصه نکنی.
در درس قبلی درباره تفاوت تهدید، آسیبپذیری و ریسک حرف زدیم. اونجا یاد گرفتیم وجود یک ضعف، بهتنهایی مشخص نمیکنه چقدر خطر داریم. حالا سؤال جدید اینه: «اگر اتفاقی افتاد، دقیقاً کدوم ویژگی اطلاعات یا سرویس تحت تأثیر قرار گرفت؟» پاسخ این سؤال پایه گزارشنویسی درست و انتخاب کنترل امنیتی مناسبه.

مثلث CIA چیست؟ آشنایی با ۳ اصل امنیت اطلاعات
اگر بخوام جواب «مثلث CIA چیست؟» رو کوتاه بدم، میگم مدلیه برای بررسی سه هدف اصلی امنیت اطلاعات: محرمانگی (Confidentiality)، یکپارچگی (Integrity) و دسترسپذیری (Availability). اولی میپرسه چه کسی اجازه دیدن داده رو داره، دومی میپرسه چه تغییری مجازه و سومی میپرسه سرویس چه زمانی باید قابل استفاده باشه. همین سه سؤال، پایه اصول امنیت اطلاعات در خیلی از طراحیها و بررسیهای امنیتیه.
اسم انگلیسی این مدل CIA Triad هست و حرفهاش از سه واژه Confidentiality Integrity Availability میاد؛ ربطی هم به سازمان اطلاعات مرکزی آمریکا نداره. یعنی محرمانگی، یکپارچگی، دسترسپذیری. در فارسی بهش «مثلث امنیت اطلاعات»، «سه اصل امنیت اطلاعات» یا «سهگانه CIA» میگن. عبارت مثلث امنیت سایبری رو هم ممکنه ببینی. تعریف رسمی رو میتونی در NIST و OWASP بررسی کنی.
| اصل امنیتی | سؤال مهم | نمونه شکست در سامانه آزمون |
|---|---|---|
| محرمانگی — C | چه کسی مجاز است اطلاعات را ببیند؟ | نمایش کارنامه دانشجوی دیگر |
| یکپارچگی — I | چه کسی مجاز است داده را تغییر بدهد؟ | تغییر نمره بدون اختیار |
| دسترسپذیری — A | چه زمانی باید داده و سرویس قابل استفاده باشند؟ | قطع دسترسی حین آزمون |
حالا به جدول نگاه کن. توی هر سه گزارش، یک چیز مهم به خطر افتاده، اما راه حلشون لزوماً یکی نیست. ممکنه صفحه ورود عالی کار کنه ولی مجوز نمایش کارنامه اشتباه باشه. ممکنه داده مخفی بمونه ولی نمره غلط ذخیره بشه. یا همه اطلاعات درست باشن و در لحظه آزمون هیچکس بهشون نرسه. مثلث CIA کمک میکنه این سه حالت رو با هم قاطی نکنیم.
اصل اول مثلث CIA: محرمانگی یا Confidentiality چیه؟
اولین ضلع مثلث CIA محرمانگیه. یعنی اطلاعات فقط در اختیار کسانی قرار بگیره که واقعاً اجازه دیدنش رو دارن. توی مثال آزمون، دانشجو میتونه کارنامه خودش رو ببینه؛ مدرس هم ممکنه طبق نقش خودش به نتیجه کلاس دسترسی داشته باشه. اما یک دانشجوی دیگه، حتی اگر وارد حساب خودش شده باشه، نباید بتونه کارنامه شخص دیگهای رو دریافت کنه. محرمانگی در امنیت اطلاعات دقیقاً با همین مرزهای دسترسی سروکار داره.
ببین، وارد شدن به سیستم با اجازه دیدن همه چیز فرق داره. Authentication مشخص میکنه چه کسی وارد شده و Authorization میگه اون فرد چه کاری میتونه انجام بده. توی درس هک چیست و هکر کیست؟ هم دیدیم که نبود کنترل دسترسی چطور میتونه مسئلهساز بشه. مخفی کردن یک دکمه توی رابط کاربری کافی نیست؛ سرور باید برای هر درخواست حساس، مجوز همون کاربر رو بررسی کنه.
محرمانگی فقط برای رمز عبور نیست
وقتی اسم اطلاعات محرمانه میاد، سریع سراغ رمز عبور و شماره کارت نرو. کارنامه دانشجو، فایل خصوصی، قرارداد، پیام پشتیبانی یا حتی برنامه داخلی یک مجموعه هم میتونه حساس باشه. از اون طرف، اسم مدرس روی صفحه عمومی سایت ممکنه عمداً برای همه قابل مشاهده باشه. پس برای اجرای درست اصل محرمانگی، اول باید معلوم کنیم کدوم داده برای چه کسی مجازه؛ نمیشه روی همه دادهها یک برچسب ثابت زد.
اطلاعات در حال انتقال و اطلاعات ذخیرهشده
برای محافظت از داده دو موقعیت مهم داریم: اطلاعات در حال انتقال، مثل کارنامهای که از سرور به مرورگر میرسه، و اطلاعات ذخیرهشده، مثل همون کارنامه داخل دیتابیس یا فایل پشتیبان. ارتباط HTTPS به حفاظت از مسیر انتقال کمک میکنه، ولی اگر سرور اطلاعات دانشجوی اشتباه رو برگردونه، HTTPS جلوی افشای اون رو نمیگیره. این نکته از اون اشتباههاییه که باید از همین اول توی ذهنت جا بیفته.
کنترل دسترسی، رمزنگاری درست، حفاظت از بکاپ و کم کردن اطلاعات حساس داخل لاگها، همگی به محرمانگی کمک میکنن. اما اگر ندونی چه کسی باید به چه چیزی دسترسی داشته باشه، حتی بهترین ابزار هم تصمیم اشتباه سیستم رو درست نمیکنه. پس قبل از انتخاب ابزار، سیاست دسترسی رو روشن کن.

اصل دوم مثلث CIA: یکپارچگی یا Integrity چیه؟
ضلع دوم مثلث CIA یکپارچگیه؛ یعنی دادهها و عملکرد سیستم در برابر تغییر اشتباه یا نامجاز محافظت بشن. فرض کن نمره ثبتشده یک دانشجو ۱۵ بوده و حالا بدون دلیل معتبر به ۱۹ تبدیل شده. حتی اگر اطلاعات هیچوقت لو نرفته باشه، هنوز یک مشکل مهم داریم: دیگه نمیتونیم مطمئن باشیم نتیجهای که میبینیم همون نتیجه درست و مجازه. اینجا بحث یکپارچگی اطلاعات مطرح میشه.
البته یکپارچگی معنیاش این نیست که هیچکس حق تغییر چیزی رو نداره. مدرس میتونه در چارچوب قوانین، نمرهای رو اصلاح کنه. نکته اینه که تغییر باید مجاز، درست و قابل پیگیری باشه. مثلاً ثبت نام کاربریِ ویرایشکننده، دلیل و زمان تغییر، به بررسیهای بعدی کمک میکنه. فرق داریم بین «اصلاح مجاز یک نمره» و «دستکاری بدون اجازه همون نمره».
یکپارچگی داده با صحت تصمیم سیستم ارتباط داره
حالا یک حالت دیگه رو تصور کن: داده داخل دیتابیس درست ذخیره شده، ولی کد محاسبه میانگین، ضریب یک درس رو اشتباه اعمال میکنه. خروجی غلطه، حتی اگر خبری از مهاجم نباشه. برای همین در بررسی یکپارچگی فقط دنبال هکر نمیگردیم؛ اعتبارسنجی ورودی، منطق برنامه، ثبت تغییرات و مدیریت خطاها هم مهمن. امن بودن یک سیستم با درست کار کردن بخشهای حساسش ارتباط نزدیکی داره.
Hash چه کمکی میکنه و چه کاری نمیکنه؟
برای اینکه تغییر محتوا رو تشخیص بدیم، میتونیم از تابع هش مثل SHA-256 استفاده کنیم. این تابع از داده ورودی یک اثرانگشت دیجیتال میسازه. اگر ورودی تغییر کنه، معمولاً مقدار هش هم فرق میکنه. اما حواست باشه: هش ساده بهتنهایی اثبات نمیکنه فایل اصیله یا کسی اون رو دستکاری نکرده. اگر فردی بتونه هم فایل و هم هش کنارش رو تغییر بده، مقایسهشون ممکنه ظاهراً هیچ خطایی نشون نده.
برای بررسی اصالت و تشخیص دستکاری توسط فرد غیرمجاز، بسته به سناریو سراغ HMAC یا امضای دیجیتال و مدیریت درست کلید میریم. راهنمای NIST SP 800-175B Rev. 1 درباره این روشها توضیح میده. فعلاً لازم نیست وارد جزئیات رمزنگاری بشیم؛ فقط این فرق رو یادت بمونه: «دو فایل با هم فرق دارن» با «میدونم فایل معتبر از چه منبعی اومده» یک ادعای یکسان نیست.
یک تمرین آفلاین Python برای دیدن مفهوم یکپارچگی
بیا یک آزمایش آفلاین و بیخطر انجام بدیم. دو متن ساختگی داریم که فقط مقدار نمرهشون فرق میکنه. برنامه پایتون با کتابخانه استاندارد hashlib از هر متن هش میسازه و نتیجه مقایسه رو نمایش میده. این کد نه فایلی ایجاد میکنه و نه اتصال شبکهای داره؛ بنابراین میتونی همونطور که هست روی Python 3 اجراش کنی.
import hashlib
def fingerprint(text):
return hashlib.sha256(text.encode("utf-8")).hexdigest()
original = "student=ali;score=15"
changed = "student=ali;score=19"
print(fingerprint(original) == fingerprint(original))
print(fingerprint(original) == fingerprint(changed))خروجی مورد انتظار برنامه اینه:
True
Falseخط اول True میشه چون هش یک متن رو با خودش مقایسه کردیم. خط دوم False میشه چون نمره از ۱۵ به ۱۹ تغییر کرده. حالا تصور کن یک نفر خودش مجاز به تغییر نمره بوده؛ آیا این برنامه میتونه اون مجوز رو تشخیص بده؟ نه. تمرین فقط تفاوت محتوا رو نشون میده و جای ثبت تاریخچه تغییرات، کنترل دسترسی یا سازوکار اصالتسنجی رو نمیگیره. این محدودیت برای فهم درست مثلث CIA خیلی مهمه.

اصل سوم مثلث CIA: دسترسپذیری یا Availability چیه؟
سومین ضلع مثلث CIA دسترسپذیریه. یعنی کاربر مجاز باید در زمان موردنیاز بتونه از سرویس یا اطلاعات استفاده کنه. فرض کن نمرهها محرمانه و درست باقی موندن، اما موقع شروع آزمون سایت برای نیمی از دانشجوها باز نمیشه. از نظر اون دانشجوها، سامانه به وظیفهاش عمل نکرده. دسترسپذیری در امنیت اطلاعات دقیقاً به همین قابلیت استفاده بهموقع و قابل اتکا توجه میکنه.
هر قطعی هم به معنی حمله سایبری نیست. ممکنه مشکل از DNS، باگ برنامه، کمبود منابع سرور، قطعی برق یا یک سرویس بیرونی باشه؛ ممکنه هم حمله منع سرویس رخ داده باشه. فرق زیادی وجود داره بین گزارش «سایت از دسترس خارج شده» و ادعای «حمله DDoS رخ داده». اولی یک مشاهدهست، دومی درباره علت حرف میزنه و باید براش مدرک داشته باشیم.
آپتایم خوب کافی نیست؛ زمان بازیابی هم مهمه
فقط درصد Uptime رو نگاه نکن. سایتی ممکنه بیشتر ماه در دسترس باشه اما درست موقع برگزاری آزمون قطع بشه. برای دانشجو، اون چند دقیقه خیلی مهمتر از چند ساعت خلوت روزه. هنگام بررسی دسترسپذیری باید زمان حساس، ظرفیت سرور، وابستگی به سرویسهای دیگه و مدت بازیابی رو هم در نظر بگیری. نیاز یک وبلاگ معمولی با سامانه آزمون زنده یکسان نیست.
چرا داشتن Backup بهتنهایی دسترسپذیری رو تضمین نمیکنه؟
فرض کن هر شب بکاپ میگیری، اما هیچوقت یک بار هم اون رو بازیابی نکردی. روز حادثه تازه معلوم میشه فایل ناقص بوده یا برگردوندنش چند روز زمان میبره. بکاپ برای بازیابی ضروریه، ولی بهتنهایی دسترسپذیری رو تضمین نمیکنه. باید بدونی بازیابی چقدر طول میکشه، چه دادهای ممکنه از دست بره و در فاصله قطعی چه راه جایگزینی داری. مانیتورینگ، ظرفیتسنجی و افزونگی هم بسته به نیاز سرویس مطرح میشن.
مثال مثلث CIA در امنیت سایبری؛ سه اتفاق در یک سامانه آزمون
حالا برگردیم به همون صبح آزمون. در یک سناریوی کاملاً ساختگی، پشتیبانی سه گزارش میگیره: علی تونسته کارنامه سارا رو ببینه، نمره یک نفر بعد از ثبت نهایی تغییر کرده و چند کلاس هم سر ساعت وارد آزمون نشدن. در این مثال نه به سایت واقعی وصل میشیم و نه کسی رو تست میکنیم. فقط میخوایم با مثلث CIA تشخیص بدیم هر گزارش بیشتر به کدوم هدف امنیتی مربوطه.
| اتفاق مشاهدهشده | اصل تحت تأثیر | سؤال مهم پیش از نتیجهگیری | قدم دفاعی پیشنهادی |
|---|---|---|---|
| نمایش کارنامه دانشجوی دیگر | محرمانگی | آیا سیاست اجازه مشاهده چنین دادهای را میدهد؟ | بازبینی مجوز دسترسی سمت سرور |
| تغییر نمره ثبتشده | یکپارچگی | چه کسی و با چه مجوزی تغییر داده؟ آیا خطای پردازش است؟ | کنترل نقشها و تاریخچه تغییرات |
| قطع دسترسی هنگام آزمون | دسترسپذیری | اختلال از کدام وابستگی یا بخش شروع شده؟ | مانیتورینگ، بررسی ظرفیت و برنامه بازیابی |
به جدول دقت کن: نامگذاری اثر، همون پیدا کردن علت نیست. وقتی میگیم محرمانگی آسیب دیده، هنوز باید بفهمیم خطا از مجوزدهی بوده، لینک عمومی اشتباه بوده یا جای دیگهای داده لو رفته. وقتی نمره تغییر کرده، هنوز معلوم نیست خطای محاسباتیه یا کسی با مجوز اشتباه اون رو عوض کرده. سه اصل امنیت اطلاعات کمک میکنن مسئله رو درست دستهبندی کنیم؛ برای رفعش هنوز به شواهد نیاز داریم.
آیا یک اتفاق میتونه چند ضلع مثلث CIA رو همزمان تحت تأثیر قرار بده؟
بله، یک رخداد میتونه همزمان چند ضلع مثلث CIA رو درگیر کنه. مثلاً باجافزار ممکنه فایلها رو از دسترس خارج کنه؛ اگر محتوا رو خراب کرده باشه، یکپارچگی هم آسیب دیده. اگر اطلاعاتی از سیستم خارج شده باشه، محرمانگی هم در خطره. اما نباید فقط با شنیدن کلمه «باجافزار» ادعا کنیم حتماً هر سه اتفاق افتاده؛ برای هر کدوم باید شاهد مستقل داشته باشیم.
توی مثال آزمون هم ممکنه یک کاربر هم کارنامه بقیه رو ببینه و هم نمرهشون رو تغییر بده؛ اینجا محرمانگی و یکپارچگی با هم مطرح میشن. حتی یک اقدام دفاعی اشتباه هم میتونه دردسر بسازه؛ مثلاً محدودیت ورود بیشازحد باعث بشه دانشجوهای مجاز نتونن وارد آزمون بشن. پس موقع انتخاب کنترل امنیتی، اثرش رو روی کل سرویس ببین، نه فقط روی یک بخش.
تفاوت محرمانگی، حریم خصوصی و رمزنگاری چیه؟
این سه مفهوم نزدیکن، ولی جای هم استفاده نمیشن. محرمانگی درباره جلوگیری از افشای نامجاز اطلاعاته. حریم خصوصی فراتر میره و درباره اینکه چه دادهای جمعآوری میشه، چرا نگهداری میشه و صاحب داده چه حقوقی داره هم سؤال میکنه. رمزنگاری هم یک ابزار فنیه، نه یک سیاست کامل. پس حتی اگر دادهها رمز شده باشن، ممکنه هنوز درباره حریم خصوصی یا مجوز دسترسی مشکل داشته باشیم.
مثلاً کارنامه از مسیر HTTPS به مرورگر میرسه، اما سرور اشتباهی نتیجه هر دانشجو رو به هر حساب واردشده میده. ارتباط رمزگذاری شده، ولی محرمانگی رعایت نشده. یا یک سامانه اطلاعات شخصیِ غیرضروری جمع میکنه؛ حتی اگر دادهای افشا نشه، هنوز ممکنه درباره حریم خصوصی سؤال جدی وجود داشته باشه. این مثالها نشون میدن مثلث CIA چارچوب مهمیه، ولی قرار نیست تمام بحثهای حقوقی و طراحی سیستم رو بهتنهایی حل کنه.
تفاوت مثلث CIA با AAA چیست؟
احتمالاً در شبکه اسم AAA رو هم شنیدی. در خیلی از مباحث شبکه یعنی Authentication، Authorization و Accounting. در بعضی منابع امنیت نرمافزار هم بخش سوم رو Auditing میگن. اینها بیشتر درباره شناخت هویت، تعیین مجوز و ثبت یا بررسی فعالیتها هستن. اما مثلث CIA هدفهایی رو مشخص میکنه که میخوایم با این سازوکارها ازشون محافظت کنیم.
برای مثال، دانشجو اول وارد حسابش میشه؛ این مرحله احراز هویته. بعد از سرور درخواست کارنامه میکنه و سرور تصمیم میگیره مجاز هست یا نه؛ این میشه مجوزدهی. ثبت تغییر نمرهها هم برای پیگیری به درد میخوره. اینها ابزار رسیدن به امنیتن، نه تعریف تمام امنیت. برای همین «سهگانه CIA» و AAA مکمل هم هستن، نه رقیب هم.
از کجا بفهمیم یک مشکل بیشتر مربوط به کدام اصل است؟
یک راه سریع اینه که بهجای اسم باگ، نتیجهاش رو بررسی کنی. کسی بدون اجازه دادهای رو دیده؟ احتمالاً محرمانگی مطرحه. اطلاعات بدون مجوز تغییر کرده؟ سراغ یکپارچگی برو. کاربر مجاز موقع نیاز به سرویس نرسیده؟ دسترسپذیری رو بررسی کن. البته جوابها میتونن همزمان چند تا «بله» باشن. توی مثلث CIA قرار نیست به زور هر مشکل رو فقط داخل یک خانه جا بدیم. بلوک بعدی یک راهنمای متنیه، نه کد قابل اجرا.
Information exposed without permission? → Confidentiality
Data changed without authorization? → Integrity
Service unavailable when needed? → Availability
More than one answer can be Yes.فقط یک موضوع رو قاطی نکن: این دستهبندی هنوز امتیاز ریسک نیست. در درس تهدید، آسیبپذیری و ریسک گفتیم اولویت به احتمال، پیامد و شرایط واقعی وابستهست. ممکنه قطع کوتاه یک سایت شخصی مسئله کوچکی باشه ولی همون مدت قطعی در آزمون حساس دردسر بزرگی درست کنه. اول اثر رو با CIA بشناس، بعد سراغ شدت و اولویت رسیدگی برو.
مثلث CIA در تست نفوذ چه کاربردی داره؟
توی تست نفوذ، پیدا کردن یک رفتار عجیب کافی نیست؛ باید بتونی اثرش رو دقیق توضیح بدی. آیا ضعف میتونه باعث افشای داده بشه؟ امکان تغییر غیرمجاز ایجاد میکنه؟ روی استفاده از سرویس اثر میذاره؟ این سؤالها گزارش رو برای برنامهنویس و مدیر قابل فهم میکنن. البته تست باید با مجوز و داخل محدوده تعیینشده انجام بشه و هیچ ادعایی نباید فراتر از شواهد بره.
مثلاً در یک آزمایشگاه مجاز، حساب تست A میتونه اطلاعات خصوصی حساب تست B رو ببینه. گزارش «شناسه رو عوض کردم» برای توضیح خطر کافی نیست؛ باید روشن باشه چه دادهای نمایش داده شده، مجوز درست چی بوده و مشاهده چه اثری روی محرمانگی گذاشته. از اون طرف، دیدن یک پورت باز، بهتنهایی نقض مثلث CIA رو اثبات نمیکنه. باز بودن پورت فقط یک مشاهده فنیه؛ نتیجهگیری به زمینه و بررسی بیشتر احتیاج داره.
اگر میخوای بعد از مبانی وارد تمرینهای تخصصی بشی، مسیر آموزش تست نفوذ رو دنبال کن. این درس عمداً روی فهم اثر امنیتی تمرکز داره و وارد اجرای حمله یا ابزارهای پیچیده نمیشه؛ چون قبل از تست کردن یک ضعف باید بلد باشی درباره نتیجهاش درست حرف بزنی.

چه کنترلهایی معمولاً به هر ضلع کمک میکنن؟
هیچ ابزار یا کنترل واحدی همه مشکلها رو حل نمیکنه. برای اینکه بدونی چطور باید از سه اصل امنیت اطلاعات محافظت کرد، چند نمونه رو توی جدول بعدی کنار هم گذاشتم. اینها فهرست کامل امنیت یک سامانه نیستن؛ انتخاب کنترل مناسب همیشه به دادهها، معماری، تهدیدهای واقعی و شرایط تیم بستگی داره.
| هدف | نمونه کنترلهای مرتبط | محدودیت مهم |
|---|---|---|
| محرمانگی | کنترل مجوز، حداقل دسترسی، رمزنگاری مناسب، مدیریت اسرار | رمزنگاری جای Authorization را نمیگیرد |
| یکپارچگی | مجوز تغییر، اعتبارسنجی داده، ثبت تغییرات، تراکنش، MAC یا امضای مناسب | Hash بدون حفاظت از منبع، اثباتکننده اصالت نیست |
| دسترسپذیری | مانیتورینگ، مدیریت ظرفیت، افزونگی، Backup و بازیابی آزمایششده | نسخه پشتیبان بدون امکان Restore کافی نیست |
یادت باشه یک کنترل ممکنه روی چند ضلع اثر داشته باشه. مثلاً مجوزدهی درست، هم جلوی افشای داده رو میگیره و هم از تغییر بدون اجازه جلوگیری میکنه. ثبت تاریخچه تغییرها هم به بررسی یکپارچگی کمک میکنه. برای همین مثلث امنیت اطلاعات فقط سه کلمه کنار هم نیست؛ این سه هدف در عمل به هم وابستهان.
پنج اشتباه رایج هنگام یادگیری سه اصل امنیت اطلاعات
اشتباه اول : امنیت یعنی فقط کسی نتونه وارد سایت بشه
داشتن رمز عبور قوی لازمه، اما کافی نیست. اگر بعد از ورود، کاربر اجازه دیدن فایل خصوصی دیگری رو داشته باشه یا بتونه بدون مجوز دادهها رو عوض کنه، هنوز مشکل داریم. ورود امن رو با دسترسی امن یکی نگیر.
اشتباه دوم : اگر داده رمزگذاری شده باشد همهچیز امن است
رمزنگاری ابزار مهمیه، اما مجوز اشتباه رو اصلاح نمیکنه، باگ محاسبه نمره رو هم برطرف نمیکنه و تضمین نمیده سایت همیشه در دسترس بمونه. باید ببینی مشکل دقیقاً چیه و بعد کنترل مرتبط رو انتخاب کنی.
اشتباه سوم : هر Hashی یکپارچگی را تضمین میکند
اگر کسی بتونه فایل و مقدار هش کنار اون رو همزمان عوض کنه، هش ساده نمیتونه اصالت فایل رو ثابت کنه. برای سناریوهایی که باید منبع معتبر رو بشناسیم، شاید به HMAC یا امضای دیجیتال نیاز داشته باشیم.
اشتباه چهارم : قطعی سرویس همیشه نتیجه حمله است
قطعی سرویس رو با حمله یکی نکن. ممکنه ریشه اختلال در زیرساخت، خطای برنامه یا یک وابستگی بیرونی باشه. تا شواهد نداری، فقط درباره اتفاقی که واقعاً دیدی حرف بزن.
اشتباه پنجم : یک رخداد فقط به یک اصل مربوط میشود
قرار نیست هر رخداد رو به یک ضلع محدود کنیم. ممکنه یک اتفاق هم باعث افشای اطلاعات بشه، هم دادهای رو تغییر بده و هم سرویس رو از دسترس خارج کنه. هر سه اثر رو جداگانه بررسی کن.
تمرین تحلیلی : تو بگو کدام ضلع آسیب دیده
حالا نوبت توئه. چهار موقعیت فرضی داریم؛ قبل از خوندن جواب، حدس بزن کدوم ضلع مثلث CIA درگیر شده و برای مطمئن شدن چه مدرکی لازمه. هدف فقط حفظ کردن اصطلاحها نیست؛ میخوایم یاد بگیریم چطور از مشاهده به تحلیل برسیم.
تمرین اول : فایل نمرهها به اشتباه عمومی شده
فرض کن یک فایل کارنامه خصوصی توی مسیر عمومی قرار گرفته و کاربران فاقد مجوز میتونن اون رو ببینن. پاسخ: مسئله اصلی محرمانگیه. باید بفهمیم چه دادهای در دسترس بوده و دامنه این دسترسی چقدر بوده. هنوز بدون شاهد نمیتونیم بگیم کسی نمرهها رو تغییر داده یا سرویس رو مختل کرده.
تمرین دوم : مبلغ تراکنش بعد از تأیید تغییر کرده
مبلغ یک تراکنش بعد از تأیید، با عدد ثبتشده اولیه فرق داره. پاسخ: سراغ یکپارچگی داده و منطق پردازش میریم. شاید خطای محاسباتی باشه یا تغییری با مجوز نامناسب انجام شده باشه. بدون دیدن تاریخچه و قوانین پردازش، نباید علت رو حدس بزنیم.
تمرین سوم : فایلها امن هستند ولی هیچکس نمیتواند وارد شود
سیستم ورود چند ساعت کار نمیکنه و کاربران مجاز نمیتونن وارد بشن. پاسخ: مشکل اصلی دسترسپذیریه. حتی اگر هیچ نشانهای از افشای داده یا دستکاری نداشته باشیم، این اختلال برای سرویس مهمه و باید علتش پیدا بشه.
تمرین چهارم : یک حساب هم داده را دیده و هم تغییر داده
در آزمایشگاه مجاز، یک حساب تست معمولی میتونه داده خصوصی حساب دیگه رو ببینه و تغییر بده. پاسخ: هر دو اصل محرمانگی و یکپارچگی درگیرن. اما تا وقتی اختلالی ندیدیم، نباید بیدلیل بگیم دسترسپذیری هم آسیب دیده.
سه سؤال برای ارزیابی طراحی یک قابلیت جدید
فرض کن قراره قابلیت نمایش نتیجه آزمون رو از صفر طراحی کنیم. قبل از نوشتن کد سه سؤال بپرس: چه کسانی اجازه دیدن کارنامه رو دارن؟ چه کسانی میتونن نمره رو ثبت یا اصلاح کنن و تغییرش کجا ثبت میشه؟ دانشجو چه زمانی باید نتیجه رو ببینه و اگر سرویس قطع شد چه برنامهای داریم؟ این سه سؤال، مثلث CIA رو از یک تعریف درسی به راهنمای طراحی تبدیل میکنه.
برای جواب درست به این سؤالها باید حساسیت داده، نقش کاربران، زمانهای اوج استفاده و امکان بازیابی مشخص باشه. هیچ جواب ثابتی برای همه سامانهها نداریم؛ ولی پرسیدن همین سؤالها قبل از کدنویسی، از خیلی از اصلاحهای پرهزینه بعدی جلوگیری میکنه.
سؤالات متداول درباره مثلث CIA
مثلث CIA چیست؟
مثلث CIA سه هدف امنیت اطلاعات رو کنار هم میذاره: محرمانگی یعنی جلوگیری از مشاهده نامجاز، یکپارچگی یعنی جلوگیری از تغییر اشتباه یا نامجاز، و دسترسپذیری یعنی استفاده بهموقع و قابل اتکای کاربران مجاز از سرویس.
CIA در امنیت مخفف چیست؟
این حروف مخفف Confidentiality، Integrity و Availability هستن. توی این درس، CIA اسم یک مدل امنیتیه و ربطی به سازمان اطلاعات مرکزی آمریکا نداره.
فرق محرمانگی و یکپارچگی چیست؟
محرمانگی میپرسه «چه کسی حق دیدن داده رو داره؟» و یکپارچگی میپرسه «چه تغییری مجازه و داده چطور درست باقی میمونه؟». ممکنه اطلاعات لو نره اما تغییر کنه، یا بدون تغییر کردن به فرد اشتباه نمایش داده بشه.
آیا قطع شدن سایت هم مشکل امنیتی است؟
بله، وقتی کاربران مجاز نتونن بهموقع از سرویس استفاده کنن، دسترسپذیری تحت تأثیره. البته قطع شدن سایت بهتنهایی حمله رو ثابت نمیکنه؛ برای فهمیدن علت باید لاگ و شواهد رو بررسی کنیم.
آیا رمزنگاری هر سه اصل امنیت را تأمین میکند؟
نه. رمزنگاری میتونه برای محافظت از محرمانگی و در بعضی روشها برای یکپارچگی مفید باشه، اما جای کنترل مجوز، منطق درست برنامه و برنامه بازیابی رو نمیگیره.
آیا Hash بهتنهایی از تغییر عمدی داده جلوگیری میکند؟
نه. هش ساده فقط به مقایسه محتوا کمک میکنه. اگر کسی بتونه هم داده و هم هش رو عوض کنه، بهتنهایی اصالت رو ثابت نمیکنیم؛ برای این کار ممکنه به HMAC یا امضای دیجیتال نیاز داشته باشیم.
آیا یک آسیبپذیری میتواند هر سه اصل CIA را نقض کند؟
بله، ممکنه یک ضعف چند اثر مختلف ایجاد کنه؛ ولی باید برای هر اثر مدرک داشته باشیم. وجود یک آسیبپذیری بهتنهایی ثابت نمیکنه هر سه ضلع آسیب دیدهان.
فرق مثلث CIA و AAA چیست؟
مثلث CIA هدفهای حفاظت از داده و سرویس رو مشخص میکنه. AAA معمولاً سازوکارهای احراز هویت، مجوزدهی و ثبت یا حسابرسی فعالیتها رو توضیح میده که برای رسیدن به این هدفها به کار میان.
منابع معتبر برای مطالعه بیشتر
برای مطالعه بیشتر، تعریف CIA در واژهنامه NIST و راهنمای NIST درباره یکپارچگی اطلاعات رو ببین. مبانی امنیت OWASP هم این سه اصل و ارتباطشون با AAA رو توضیح میده. برای بحث هش و سازوکارهای احراز اصالت هم راهنمای رمزنگاری NIST مرجع مناسبیه. داستان آزمون و تمرینها اینجا ساختگی و مخصوص آموزش طراحی شدهان.
جمعبندی : امنیت فقط پنهان ماندن اطلاعات نیست
اگر بخوای این درس رو در سه سؤال جمع کنی، بپرس: «چه کسی حق دیدن داره؟»، «چه تغییری مجازه؟» و «چه زمانی باید قابل استفاده باشه؟». اینها پایه مثلث CIA هستن. حالا وقتی کسی میگه «سیستم امنه»، میتونی دقیقتر بپرسی از چه نظر؛ محرمانگی، یکپارچگی یا دسترسپذیری؟ همین تغییر نوع سؤال، شروع تحلیل حرفهای امنیته.
تا اینجا در مسیر مبانی امنیت نابغهها از هک چیست به هک اخلاقی و بعد تهدید، آسیبپذیری و ریسک رسیدیم. حالا برای ادامه فنی میتونی مسیر تست نفوذ رو ببینی. اگر آموزش منظمتر با ویدیو و تمرینهای تخصصی میخوای، سرفصلهای پکیج متخصص تست نفوذ نابغهها هم در دسترسه. قرار نیست برای فهمیدن اصول اولیه مجبور به خرید دوره باشی؛ همین درس باید پاسخ سؤالش رو کامل بده.