۳۰ آذر ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

ایمن سازی داده ها در حالت استراحت و داده ها در حرکت

تهدیدات برای داده های شرکت شما بسیار و متنوع است، و همچنین تکنیک های ایمن نگه داشتن آن داده ها نیز متفاوت است.

تهدیدات برای داده های شرکت شما بسیار و متنوع است، و همچنین تکنیک های ایمن نگه داشتن آن داده ها نیز متفاوت است.

ایجاد یک برنامه ایمن نیازمند حفاظت های زیادی است، اما مهم ترین آنها مواردی هستند که داده های برنامه را ایمن می کنند. اینها همچنین سخت ترین برای پیاده سازی هستند.

وقتی صحبت از ایمن سازی داده های برنامه می شود، دو نوع متمایز از داده ها وجود دارد که باید ایمن شوند:

  • داده ها در حالت استراحت. این داده‌هایی است که در یک دیتا استور، پایگاه داده، حافظه پنهان، سیستم فایل یا سایر مخزن‌ها ذخیره می‌شوند. این شامل همه چیز از پایگاه داده برنامه، فایل‌های گزارش، فایل‌های پیکربندی سیستم، پشتیبان‌گیری و بایگانی است.
  • داده در حرکت. این داده هایی است که به طور فعال توسط برنامه مورد دسترسی و استفاده قرار می گیرد. این می تواند داده هایی باشد که از یک قسمت برنامه به قسمت دیگر برنامه مانند بین مشتری و سرور یا بین دو برنامه یا سرویس مختلف منتقل می شود.

یک مثال ساده از داده در حالت استراحت، نمایه کاربری شما در یک برنامه SaaS است. این نمایه ممکن است شامل نام کاربری، رمز عبور، تصویر نمایه، آدرس ایمیل، آدرس فیزیکی و سایر اطلاعات تماس شما باشد. ممکن است شامل اطلاعات برنامه در مورد نحوه استفاده شما از برنامه باشد. در یک تنظیمات محلی تر، داده در حالت استراحت شامل همه فایل های ذخیره شده در رایانه شما می شود – صفحات گسترده، اسناد Word، ارائه ها، عکس ها، ویدیوها، همه چیز.

یک مثال ساده از داده های در حال حرکت، همان برنامه SaaS است که از شما نام کاربری و رمز عبور شما را می خواهد. این اطلاعات از رایانه، تبلت یا تلفن هوشمند شما به سرورهای پشتیبان برنامه SaaS منتقل می شود. در حالی که داده ها در حال انتقال هستند، در حال حرکت هستند. هر داده‌ای که روی صفحه‌کلید تایپ می‌کنید، یا در یک ایمیل ارسال می‌کنید، یا در یک پیام متنی قرار می‌دهید، یا در یک درخواست API ارسال می‌کنید—همه این داده‌ها در حال حرکت هستند.

تکنیک های مورد استفاده برای ایمن سازی داده ها در حالت استراحت بسیار متفاوت از تکنیک های مورد استفاده برای ایمن سازی داده ها در حال حرکت است.

ایمن سازی داده ها در حالت استراحت

دو استراتژی اصلی برای ایمن سازی داده ها در حالت استراحت وجود دارد: ایمن سازی سیستمی که داده ها را ذخیره می کند و رمزگذاری خود داده ها.

آیا استقرار AWS شما با تعاریف Terraform شما مطابقت دارد؟ برای پیدا کردن این موضوع از SQL استفاده کنید.

یک سیستم ذخیره‌سازی ایمن کم‌ایمن‌ترین مدل است. این شامل حصول اطمینان از اینکه پایگاه داده یا ذخیره‌گاه داده‌ای که حاوی داده‌ها است، از نظر فیزیکی برای بازیگران بد غیرقابل دسترسی است. این معمولا شامل فایروال ها و سایر محدودیت های فیزیکی است. در حالی که اینها معمولاً در جلوگیری از دسترسی بازیگران بد خارجی به داده‌ها موفق هستند، اگر یک بازیگر بد به سیستم شما نفوذ کند، تمام داده‌های ذخیره شده در سیستم در معرض خطر قرار می‌گیرند. این مدل فقط باید برای داده های کمتر حساس استفاده شود.

روش ایمن‌تر برای ذخیره‌سازی داده‌های حساس شامل رمزگذاری داده‌ها در هنگام ذخیره‌سازی است. به این ترتیب، اگر کسی بخواهد به داده‌های ذخیره‌شده دسترسی داشته باشد – از داخل یا خارج – نمی‌تواند اطلاعات را بدون مجوزها و کلیدهای رمزگذاری/رمزگشایی مناسب بخواند یا از آن استفاده کند.

یک مشکل مهم در رمزگذاری داده های ذخیره شده این است که کلیدهای رمزگذاری را کجا و چگونه ذخیره می کنید. شما نمی‌خواهید آن‌ها را در همان مکان خود داده‌ها ذخیره کنید، زیرا مزیت‌های امنیتی رمزگشایی را از بین می‌برد (به همان دلیلی که کلید درب ورودی خانه خود را زیر حصیر خانه خود ذخیره نمی‌کنید). در عوض، کلیدها باید در مکانی مستقل ذخیره شوند که در صورت نقض سیستم ذخیره‌سازی، برای یک بازیگر بد غیرقابل دسترسی باشد.

گزینه‌های زیادی برای ذخیره‌سازی کلیدهای رمزگذاری/رمزگشایی وجود دارد – برخی ساده و برخی پیچیده. یکی از گزینه های عالی برای یک برنامه ابری استفاده از سرویس ذخیره سازی کلید ارائه دهنده ابر شما است. به عنوان مثال، خدمات وب آمازون سرویس مدیریت کلید AWS (KMS) را دقیقاً برای این منظور ارائه می دهد. علاوه بر ذخیره کلیدهای رمزگذاری/رمزگشایی شما، چنین خدماتی در سازماندهی کلیدها و تغییر منظم کلیدها (چرخش کلید) برای ایمن و ایمن نگه داشتن آنها کمک می کند.

گاهی اوقات، ایمن‌سازی داده‌ها در حالت استراحت بهتر است با ذخیره نکردن داده‌ها انجام شود. یک مثال کلاسیک اطلاعات کارت اعتباری است. دلیل کمی برای اکثر وب سایت ها وجود دارد که هیچگاه اطلاعات کارت اعتباری را – رمزگذاری شده یا غیر رمزگذاری شده – در برنامه ذخیره کنند. این امر در مورد فروشگاه های تجارت الکترونیک و همچنین سایت های اشتراک محتوا صدق می کند. حتی سایت‌هایی که از کارت اعتباری مشتری مبلغی تکراری دریافت می‌کنند، نیازی به ذخیره اطلاعات کارت اعتباری در برنامه ندارند.

نحوه استفاده از EF Core به عنوان پایگاه داده درون حافظه در ASP.NET Core 6

به جای ذخیره اطلاعات کارت اعتباری، بهترین کار این است که از خدمات پردازش کارت اعتباری استفاده کنید و به آنها اجازه دهید اطلاعات را برای شما ذخیره کنند. سپس شما فقط باید رمزی را ذخیره کنید که به کارت اعتباری اشاره دارد تا به برنامه شما برای تراکنش به کارت اعتباری دسترسی داشته باشد.

خدمات پردازش کارت اعتباری بسیاری از جمله Stripe، Square و PayPal وجود دارد. علاوه بر این، برخی از فروشگاه های تجارت الکترونیک بزرگتر خدمات پردازش کارت اعتباری از جمله آمازون و Shopify را ارائه می دهند. این شرکت ها تمامی قابلیت های امنیتی را ارائه می دهند و تمامی الزامات قانونی را برای ذخیره و پردازش موفق کارت های اعتباری رعایت می کنند. با استفاده از توکن‌ها، همچنان می‌توانید رابطی را برای مشتریان خود فراهم کنید که به نظر می‌رسد کارت‌های اعتباری را به صورت بومی پردازش می‌کنید — اما هرگز کارت‌های اعتباری را ذخیره نخواهید کرد و بنابراین هرگز نیازی به نگرانی در مورد امنیت آن‌ها ندارید.

ایمن سازی داده ها در حال حرکت

محافظت از داده‌ها در حال حرکت، فرآیند جلوگیری از ربوده شدن داده‌ها در حین ارسال از یک سرویس به سرویس دیگر، یک برنامه به برنامه دیگر یا بین سرور و کلاینت است. داده های در حال حرکت شامل ارتباطات بین خدمات داخلی (مانند بین سبد خرید و کاتالوگ محصول)، ارتباطات بین خدمات داخلی و خدمات خارجی (مانند خدمات پردازش کارت اعتباری) و ارتباطات بین خدمات داخلی و مرورگر وب یا موبایل مشتری است. برنامه.

سه خطر اصلی برای داده های در حال حرکت وجود دارد:

  1. داده خوانده شده. خطر خواندن داده به این معنی است که صرفاً مشاهده داده‌ها توسط یک بازیگر بد باعث ایجاد یک وضعیت سازش‌کننده می‌شود. نمونه هایی از داده های آسیب پذیر در برابر خطر خواندن داده ها عبارتند از گذرواژه، شماره کارت اعتباری و اطلاعات قابل شناسایی شخصی. هنگامی که چنین داده های حساسی ممکن است در معرض دید قرار گیرند، محافظت از داده های در حال انتقال از خواندن توسط یک بازیگر بد بسیار مهم است.
  2. تغییر داده. ریسک تغییر داده به این معنی است که داده های حساس در معرض تغییر توسط یک بازیگر بد در حالی که از مکانی به مکان دیگر منتقل می شوند، آسیب پذیر هستند. تغییر داده‌های حین پرواز می‌تواند به یک بازیگر بد دسترسی اضافی به یک سیستم بدهد، یا به نوعی به داده‌ها و مصرف‌کننده داده‌ها آسیب برساند. به عنوان مثال می توان به تغییر مبلغ دلاری حواله بانکی یا تغییر مقصد حواله سیمی اشاره کرد.
  3. تغییر مبدا داده. خطر منشا داده به این معنی است که یک بازیگر بد می تواند داده ایجاد کند در حالی که به نظر می رسد داده ها توسط شخص دیگری ایجاد شده است. این تهدید شبیه تهدید تغییر داده است و به همان نوع نتایج منجر می شود، اما به جای تغییر داده های موجود (مانند مبلغ دلاری یک سپرده)، بازیگر بد داده های جدیدی با معنای جدید ایجاد می کند. به عنوان مثال می‌توان به ایجاد حواله‌های بانکی متقلبانه و صدور درخواست‌های غیرقانونی یا آسیب‌رسان از طرف قربانی غیرقانونی اشاره کرد.
نحوه اجرای R در کد ویژوال استودیو

وقتی به محافظت از داده‌های در حال انتقال فکر می‌کنیم، معمولاً در مورد رمزگذاری داده‌ها صحبت می‌کنیم. رمزگذاری در برابر حملات خواندن داده ها و حملات تغییر داده ها محافظت می کند. برای حملات مبدا داده‌ها، باید از استراتژی‌های اضافی استفاده شود تا اطمینان حاصل شود که پیام‌ها از مکان مناسب می‌آیند، مانند نشانه‌های احراز هویت، گواهی‌های امضا شده، و استراتژی‌های دیگر.

در برنامه‌های مدرن، TLS (امنیت لایه انتقال) و SSL (لایه سوکت‌های امن) ابزارهای اصلی هستند که برای محافظت از داده‌های حین انتقال استفاده می‌شوند. این پروتکل‌های امنیتی ارتباطات رمزگذاری شده سرتاسر را همراه با گواهی‌هایی برای اطمینان از منشاء صحیح پیام‌ها ارائه می‌کنند. امروزه، رمزگذاری SSL در حین پرواز آنقدر ساده و رایج است که تقریباً همه برنامه‌های کاربردی وب از SSL (مخصوصاً پروتکل HTTPS) برای همه ارتباطات صفحه وب استفاده می‌کنند، خواه داده‌های حساس در حال انتقال باشند یا نه.

ایمن نگه داشتن داده ها در اکثر برنامه های دیجیتال مدرن بسیار مهم است. هر کسب و کار مدرنی برای ارائه خدمات تجاری خود نیازمند ارتباطات ایمن و مطمئن است. بازیگران بد فراوانند، بنابراین ایمن نگه داشتن برنامه‌ها و داده‌های آن‌ها برای عملیاتی نگه داشتن کسب‌وکار شما بسیار مهم است.