راهکارهای ساده برای امن کردن انبار داده
امن کردن انبار داده (DWH) به معنای حفظ و حفاظت از امنیت و حریم خصوصی دادههای موجود در انبار داده است. امنیت انبار داده شامل محافظت از دسترسی غیرمجاز، جلوگیری از افشای اطلاعات حساس، بهبود حفظ صحت و صحت دادهها، و دیگر اقداماتی است که به منظور حفاظت و افزایش امنیت دادهها در ایمن سازی انبار داده انجام میشود.
از آنجا که امنیت سایبری همچنان خطرناک ترین و ویرانگرترین عامل تهدید کننده است، امن کردن انبار داده ضروری است. توسعه دهندگان باید سیستم های بی عیب و نقص را برای محافظت از داده های حساس شرکت ها و مشتریان طراحی کنند. در این مقاله، شما با اصول و چالش های امن کردن انبار داده، حریم خصوصی، راههایی برای بهبود حفاظت از انبار داده ، از جمله روش های رمز گذاری و رویکردهای مبتنی بر سخت افزار آشنا خواهید شد.
امنیت انبار داده
یک انبار داده یا DWH یک ابزار نرم افزاری است که اطلاعات کسب و کار را از چندین منبع جمع آوری می کند. به طور ساده، یک مخزن است. داده ها را ذخیره می کند، دسترسی سریع را فراهم می کند و به آنالیز داده ها کمک می کند. البته، این مخزن داده باید امن باشد و اینجاست که مشکل اصلی پیش می آید.
در کل، حفظ امنیت انبار داده شبیه به امنیت سایر سیستم ها است. در حالی که کارکنان باید بتوانند در هنگام نیاز، به دادههای مورد نیاز دسترسی پیدا کنند، برنامههای محافظت شده باید از دسترسی غیرمجاز و حملات هکری جلوگیری کنند . با این حال، دسترسی بسیار سختگیرانه باعث تداخل کار کاربران با اطلاعات یکپارچه میشود. علاوه بر این، امنیت همیشه بر عملکرد تأثیر میگذارد.
صاحبان کسب و کار باید قبل از ساخت انبار داده ها به حفاظت از داده های شرکت/کاربران توجه کنند. به روش هایی که قصد استفاده از داده ها را دارید توجه کنید. به عنوان مثال، انبارهای داده ای که بر داده های فروش تمرکز دارند باید سطوح دسترسی جداگانه ای برای هر مشتری داشته باشند. به طور همزمان، انبارهای داده برای کارهای داخلی، باید به فرآیندهای سریع و بدون خطا، اولویت دهند.
چالشهای ایمن سازی انبار داده
با توجه به اهمیت تعادل بین دسترسی آسان و اقدامات امنیتی، چالشهای امنیتی مربوط به مدلسازی و امن کردن انبار داده را بررسی میکنیم. علاوه بر این موضوع، چندین نکته دیگر وجود دارد:
- طبقه بندی وظایف: چگونه وظایف کاربران را طبقه بندی کنیم تا دسترسی صحیح را برای آنها فراهم کنیم. این نکته ممکن است فقط شامل کارکنان باشد و یا مشتریان و شرکای همکار نیز اضافه شوند.
در وظایف طبقهبندی، ما با مسئلهای روبرو هستیم که برای یک نمونه داده ورودی، برچسب کلاسی را پیشبینی میکند. این مسئله میتواند شامل تعیین دسترسی صحیح برای کاربران باشد. به عنوان مثال:
- طبقهبندی دودویی (Binary Classification): در این نوع، ما یکی از دو کلاس را پیشبینی میکنیم. به عنوان مثال، تشخیص ایمیلها به عنوان “اسپم” یا “غیر اسپم”.
- طبقهبندی چندکلاسه (Multi-Class Classification): در این حالت، ما باید یکی از بیش از دو کلاس را پیشبینی کنیم. به عنوان مثال، تشخیص نویسههای دستنویس به عنوان یکی از نویسههای شناختهشده.
- طبقهبندی چندبرچسبی (Multi-Label Classification): در این نوع، ما باید یک یا چند کلاس را برای هر نمونه پیشبینی کنیم. به عنوان مثال، تشخیص رفتار کاربران به عنوان “لغو اشتراک” یا “عدم لغو اشتراک”.
- طبقهبندی نامتوازن (Imbalanced Classification): در این حالت، توزیع نمونهها در کلاسها مساوی نیست. به عبارت دیگر، تعداد نمونهها در هر کلاس متفاوت است.
برای انجام طبقهبندی، ما به دادههای آموزشی نیاز داریم که شامل مثالهای ورودی و خروجیها باشد. مدلهای مختلفی برای حل مسائل طبقهبندی وجود دارند، اما مهمترین نکته انتخاب مدل مناسب برای هر مسئله است .
- روشهای رمزگذاری: مدیران باید بهترین ترکیب نرمافزار/سختافزار را برای کاهش هزینهها و تنظیم کیفیت بالا دریافت کنند.
- مساله استخراج: پایگاههای داده نه تنها اطلاعات را ذخیره میکنند، بلکه به کاربران اجازه می دهند اطلاعات را مشاهده، تبادل ، آپلود و دانلود کنند. اقدامات امنیتی باید این لینکهای ضعیف را در نظر بگیرند.
- تأثیر عملکرد: هر چه سیستم پیچیدهتر و محافظت شدهتر باشد، منابع بیشتری مورد نیاز است. بارگذاری های سنگین منجر به کرش و در بدترین حالت، نشت اطلاعات میشود.
جنبه های معماری برای ایمن سازی انبار داده
بهتر است در ابتدا برای ساخت یک انبار داده ایمن، به این نکات توجه کنید. با توجه به اینکه شرکتها با جذب مشتریان و شرکای جدید رشد می کنند، این فرآیند منجر به منابع دادهای جدید و همچنین سطوح دسترسی جدید می شود. بدون برنامه ریزی اولیه مناسب، شما باید اقدامات امنیتی جدید را اضافه کنید و دسترسی برای تمام شرکای جدید را تنظیم کنید و در نتیجه منابع اضافی را تخصیص دهید.
ساخت یک پلتفرم قوی و محافظت شده از ابتدا، بسیار آسان تر از طراحی مجدد آن برای امن کردن انبار داده، اضافه کردن ویژگی های جدید یا ارتقاء لایه های امنیتی است. بنابراین بهتر است برای ساخت یک پلتفرم قوی و محافظت شده، در ابتدا طراحی صحیحی را انجام دهید.
با توجه به مدل سازی انبار داده ، سه فعالیت کلیدی وجود که با بهره گیری از آن ها می توانید امنیت انبار داده را حفظ کنید و از دسترسی غیرمجاز به داده های خود جلوگیری کنید:
۱.دسترسی کاربران
برای شروع، در یک سیستم لایههای دسترسی وجود دارد. این لایهها میتوانند بر اساس معیارهای مختلفی مانند نوع دادهها، وظایف شغلی، سلسله مراتب شرکت یا نقش کارکنان تنظیم شوند. هنگام طراحی انبار داده، باید در مورد دادههایی که افراد به آنها دسترسی دارند فکر کنید و سپس، اطلاعات و کاربران را طبقه بندی کنید.
دو رویکرد در طبقهبندی داده وجود دارد:
- بر اساس حساسیت: اطلاعات شخصی بسیار حساس، محدودتر خواهند بود در حالی که دادههای عمومی برای بیشتر کاربران قابل دسترسی خواهند بود.
- بر اساس عملکرد: هر گروه دسته بندی شده از کاربران فقط به دادههایی که برای کارشان نیاز دارند، دسترسی خواهند داشت. سایر اطلاعات مسدود خواهند شد.
و دو رویکرد در طبقهبندی کاربر:
- بر اساس سلسله مراتب: این مدل برای شرکتهایی با تعداد کمی دپارتمان مناسب است. بنابراین، میتوانید انبار دادههایی با دسترسیهای منحصر به فرد برای هر تیم ایجاد کنید.
- بر اساس نقش: اگر یک شرکت تعداد زیادی شعبه با دادههای مورد نیاز مشابه دارد، بهتر است دسترسیها بر اساس نقشها تنظیم شود: مدیران، توسعهدهندگان، تحلیلگران و غیره.
با انتخاب یک روش یا ترکیب چندین روش، مدیران میتوانند یک معماری انبار داده جامع و قابل توسعه ایجاد کنند. به خاطر داشته باشید که انواع داده/کاربر جدید ممکن است در طول زمان اضافه شوند بنابراین از کلاسهای سراسری استفاده کنید.
۲.انتقال و بارگذاری داده ها
به طور معمول، هنگامی که یک کارمند به داده ها دسترسی دارد، امنیت داده ها به خطر می افتد. گاهی اوقات، زمانی که بسته ها آپلود یا دانلود می شوند، هکرها به سرعت به مناطق منع شده دسترسی پیدا می کنند. همچنین، کارکنان می توانند به طور مستقیم اطلاعات حساس را سرقت کنند. به عنوان مثال، در آوریل ۲۰۱۹، بیش از ۵۴۰ میلیون رکورد خصوصی فیس بوک در سرورهای عمومی آمازون یافت شد. این یک مثال روشن از عدم امنیت در زمان تبادل داده بین پلتفرم ها است.
برای حفظ امنیت انبار داده در سطح بالا، به سؤالات مربوط به جنبه های مختلف انتقال داده پاسخ دهید:
- فایلهای اصلی کجا ذخیره میشوند؟ چه کسانی به این دایرکتوریها دسترسی دارند؟
- آیا فایل های بکاپ وجود دارند؟ چگونه ذخیره میشوند و چه کسانی به آنها دسترسی دارند؟
- چگونه با دادههای موقت(temporary) کار میکنید؟ نتایج پرس و جو کجا ذخیره میشوند؟
صرف نظر از نوع داده، به یاد داشته باشید که استانداردهای امنیتی را حفظ کنید. به عنوان مثال، اغلب، کارکنان معمولی میتوانند یک کوئری را انجام دهند و جداول موقت با اطلاعات محدود را دریافت کنند. این قابل قبول نیست.
۳.الزامات شبکه
علاوه بر امنیت کاربر و داده، نباید مسائل فنی فراموش شود. از مدل سازی انبار داده برای طراحی و اتصال زیرساخت های قابل اعتماد استفاده می شود. برای ایمن کردن شبکه خود، باید برنامه ریزی کنید که داده ها چگونه در سراسر سازمان جریان پیدا کنند، چه راه هایی برای ارسال و دریافت اطلاعات استفاده خواهید کرد و چه نوع رمزگذاری را (اگر وجود دارد) استفاده خواهید کرد.
متخصصین علوم داده با بسیاری از سیستم های مبتنی بر معماری ضعیف انبار داده کار کرده اند. یکی از مشکلات رایج، به معنای قابلیت توسعه پذیری ضعیف است. شرکت ها از روش های رمزگذاری پیشرفته استفاده می کنند اما فراموش می کنند که بسته های داده بزرگ با گذر زمان نیاز به قدرت پردازش بیشتری دارند. به همین دلیل، طراحی ساختار قبل از ایجاد DWH بسیار حیاتی است.
بهترین روش ها برای امن کردن انبار داده
روش های سختافزاری
ممکن است اینطور به نظر برسد که شرایط فیزیکی و حفاظتی انبار داده اهمیت کمتری نسبت به جنبههای دیجیتال، داشته باشد. ولی سخت افزار همچنان یک سطح امنیتی حیاتی است. اگر یک کارمند کلاهبردار به صورت فیزیکی به انبار داده دسترسی پیدا کند و به اطلاعات ارزشمند آسیب بزند یا آن ها را سرقت کند، تمام تصمیمات نرم افزاری بی فایده خواهند شد . راهحلهای متمرکز بر سختافزار، به سه نکته زیر میرسند:
- کنترل دسترسی فیزیکی به انبار: برای این کار، روشهای شناسایی پیشرفته وجود دارد. دستگاه های بیومتریک، اسکنرها، دوربینها و سایر دستگاهها میتوانند با موفقیت از دسترسی غیرمجاز به سرورها جلوگیری کنند.
- تعیین پروتکلهای امنیتی استاندارد: اطمینان حاصل کنید که همه کارمندان (و مهمانان در صورت نیاز) از پروتکلهای شرکت اطلاع دارند . آنها باید همیشه این قوانین را رعایت کنند. استانداردها باید واضح، قابل فهم و موثر باشند.
- استفاده از قطعات سختافزاری قابل اعتماد: سیستمهای قدیمی ممکن است به دلیل مشکلات ساده سختافزاری، امنیت قابل اعتمادی را فراهم نکنند. سرورها اغلب در بارهای سنگین خراب میشوند، پردازندهها به معنای واقعی کلمه می سوزند و کل شبکه غیرفعال می شود که باعث می شود نفوذ به سیستم آسان تر شود.
اگرچه حفظ امنیت فیزیکی انبار داده بسیار مهم است، اما ما به مدیران پیشنهاد میدهیم هزینهها را با دقت محاسبه کنند. در حالی که خسارت تخمینی از نشت داده، چند میلیون دلار است، ایجاد دفاع فیزیکی که چند میلیارد دلار هزینه دارد، غیرمنطقی است. با این حال، شرکتهای بزرگ باید در دفاع فیزیکی سرمایهگذاری کنند. به عنوان مثال، ۳ میلیارد حساب کاربری یاهو به خطر افتاده بود و منجر به خسارت ۳۵۰ میلیون دلاری شد. احتمالاً، جلوگیری از این حمله ارزان تر می بود.
روش های نرم افزاری
نرمافزار یک عامل کلیدی در امنیت سایبری است. در زیر، چندین راهکار نرم افزاری برای امن کردن انبار دادهها در برابر دسترسی غیرمجاز آورده شده است:
- رمزنگاری داده: اصلی ترین لایه محافظتی، روشهای رمزنگاری را برای جلوگیری از خواندن اطلاعات توسط افراد غیرمجاز فراهم میکند. رمزنگاری اطلاعات در پایگاههای تراکنشی الزامی است.همچنین، بهتر است که در پایگاه دادههای اصلی نیز از رمزنگاری استفاده شود. برای این کار، میتوانید از الگوریتمهای AES و نرمافزارهایی که با FIPS 140-2 گواهی شدهاند، استفاده کنید.
- حفاظت از انتقال داده: امروزه داده های زیادی در سیستم های ابری ذخیره می شود. مطمئنا، کسب و کارها باید آن را انتقال دهند، با شرکا به اشتراک بگذارند، کپی کنند و غیره. برای حفاظت از دادههای در حال انتقال، از پروتکلهای سنتی مانند SSL و TSL استفاده کنید. همچنین، سعی کنید برای افزایش امنیت آنلاین، VPN را به سیستم خود اضافه کنید.
- طبقهبندی داده: تمام دادهها در انبارهای داده باید مطابق با دسترسی کاربران طبقهبندی شوند. میتوانید از روشی که بیشتر مورد علاقهتان است، مانند طبقهبندی بر اساس عملکرد یا دپارتمان ها، استفاده کنید. همچنین، باید از تقسیم بندی دادهها استفاده کنید. این روش بر اساس ایده حساسیت است و اطلاعات حساس را از بستههای دیگر جدا میکند.
- کنترل مبتنی بر نقش: علاوه بر طبقهبندی داده، به یاد داشته باشید که به نقشها و اختیارات کاربران نیز توجه کنید. برای کاربران مختلف مجوزهای متفاوتی تعیین کنید تا کارمندان غیرمجاز نتوانند درخواستهای SQL را ارسال کنند، جداول موقت ایجاد کنند یا دادهها را دانلود کنند. حتماً باید پروفایلهای مدیران را به خوبی محافظت کنید زیرا آنها میتوانند دسترسی کاربران دیگر را فعال یا غیرفعال کنند.
- انبارهای داده خصوصی مجازی : (VPD) این ابزارها به شما اجازه می دهند تا تدابیر امنیتی را بر روی جداول، پروفایل ها، کلمات، ردیف ها، ستون ها و موارد دیگر تنظیم کنید. VPDها دسترسی ها را به صورت پویا محدود می کنند و هر شیء را، به جای کل انبار داده محافظت می کنند. با این ویژگی، مشتریان بانک فقط تراکنشهای خود را و کارمندان فقط حقوق خود را مشاهده خواهند کرد.
در حفاظت نرم افزاری نیز محاسبه ی هزینهها را فراموش نکنید. اگر آسیب به صورت بالقوه کم است، نیازی به راهحلهای پرهزینه نیست . خسارتهای اعتباری را نیز در نظر بگیرید. به عنوان مثال، بانکها حتی اگر دادههای حساس زیادی در انبار داده خود نداشته باشند، به سیستمهای امنیتی پیشرفته علاقهمند هستند. به طور طبیعی، بانکهای محافظت شده توسط مشتریان بیشتری مورد تقاضا هستند.
روندهای آینده
روش های متعددی برای امنیت انبار داده و حفظ حریم خصوصی آن ارائه شده است. روش های امنیتی اغلب در مورد رمزنگاری، حسابرسی، انتقال، نمایش، اتصالات چندپلتفرمی و مدلسازی کلی انبار داده صحبت میکنند. اکثر مطالعات بر روی مدلهای توسعه پذیر و مستقل تمرکز دارند، در حالی که رویکردهای محبوب شامل کوئری های رمزنگاری شده، تکنیکهای امنیتی مبتنی بر UML و XML هستند.
میتوانیم پیشبینی کنیم که رویکردهای قدیمی مانند کنترل دسترسی اجباری به مرور زمان از بین خواهند رفت، زیرا کارشناسان امنیت سایبری گزینه هایی با کارایی بیشتر را معرفی خواهند کرد.