دانش صفر یا Zero Knowledge

دانش صفر

دانش صفر

اعتماد به اطلاعات شخصی افراد در خدمات آنلاین باعث می شود تا ارائه دهنده خدمات ، تضمین کافی برای ارائه سرویس های خود را داشته باشد . از سوی دیگر ، کاربران نیز باید اطمینان حاصل کنند که داده های آن ها دچار مشکلات امنیتی نخواهند گردید . برای اطمینان از حفاظت صحیح از داده های خصوصی معمولا از سرویس های رمزنگاری Zero-Knowledge استفاده می شود .
در این جا می خواهیم بررسی کنیم که در یک سیستم رمزنگاری چه چیزی می تواند یک Zero Knowledge باشد و یک Zero-Knowledge چگونه کار خواهد کرد و چرا آن بهترین راه برای محافظت از اطلاعات شخصی می باشد ؟
به طور خلاصه رمزنگاری Zero-Knowledge بدان معنا است که ارائه دهندگان ارائه دهندگان سرویس های مختلف ، هیچ اطلاعاتی درباره اطلاعات ذخیره شده در سرورهای خود نمی دانند .در واقع رمزنگاری دانش صفر یک روش برای یک تایید کننده (Verifier) می باشد تا به وسیله آن درستی یک عبارت داده شده را بدون آن که اطلاعات خاصی درباره آن داشته باشد را اثبات کند . برای اثبات درستی یک موضوع باید برخی از اطلاعات مخفی برای تایید کننده موجود باشد و این بدان معنا است که هر متقاضی امکان اثبات خود را به هرکسی نخواهد داشت .
  اما برای این که این تعریف بهتر درک شود باید درباره چگونگی رمزنگاری به طور کلی صحبت کنیم .معمولا خدمات آنلاین باید با نوعی رمزگذاری محافظت شوند . به عبارت دیگر هنگامی که ما اطلاعات خود را در یک وب سایت یا برنامه وارد می کنیم ، اطلاعات ما به گونه ای رمزگذاری می شود که فقط توسط افراد مجاز با یک کلید مخفی قابل دستیابی می باشد . فرض کنید اکر این کلید رمزنگاری به هر دلیلی به سرقت برود و یا افشاء شود چه چیزی می تواند از اطلاعات ما محافظت کند . این همان جایی است که رمزنگاری Zero-Knowledge وارد می شود .
برای ورود به یک وب سرور ، شما باید مجاز بودن خود را نشان دهید . به همین دلیل معمولا رمز عبور خود را در صفحه Login وارد می کنید . به طور سنتی ، سرور دارای یک نسخه کد شده از رمز عبور شما می باشد و اگر نسخه کد شده با رمز شما مطابقت داده شود سیستم برای شما باز می شود . اما یک مشکل اساسی وجود دارد که سرور نیز اطلاعات حساس شما (رمز عبور) را می داند .
برای حل این مشکل ، در سیستم ها یک رمز عبور خصوصی و یک رمز عبور عمومی تعریف می شود که رمز عبور عمومی را سرور می داند ولی رمز عبور خصوصی فقط در اختیار کاربر می باشد . بنابراین سرور با کنترل رمز عبور عمومی که به وسیله روش های ریاضی از رمز عبور خصوصی قابل استخراج است هویت کاربر را تایید می کند و این در واقع همان Zero-Knowledge  می باشد .
در دانش صفر پروتکل های امنیتی معمولا یک سری اطلاعات را از متقاضی در قالب یک پیام دریافت می کنند و در صورتی که صحت این پیام در سمت دیگر تایید شد هویت شخص متقاضی تایید می شود . معمولا دانش صفر توسط توابع درهم ساز یک طرفه (One Way Hash Function) محافظت و نگهداری می شوند .
استانداردهای Zero-Knowledge شیوه های رمزنگاری مرسوم را به شکل قابل توجهی بهبود می بخشند و در حقیقت امن ترین راه برای محافظت از حریم خصوصی کاربران در محیط اینترنت می باشند .

نویسنده : مسعود معاونی


https://telegram.me/moaveni_ir

https://telegram.me/moaveni_ir

نگاهی به امنیت در شبکه های خصوصی مجازی(VPN)

شبکه خصوصی مجازی

شبکه خصوصی مجازی

استفاده از تجهیزات سیّار گوناگون در شبکه های ارتباطی باعث کاهش فاصله ها شده است و از طرفی باعث افزایش مخاطرات گردیده است . سازمان هایی که داده هایی را به اشتراک می گذارند ، سعی می کنند هزینه های خود را به حداقل برسانند و به همین دلیل معمولا به سراغ زیربناهای غیرقابل اعتماد می روند و این کار می تواند مقدمه ای برای ورود مهاجمان به شبکه های سازمان ها و انجام عملیات پیچیده توسط آن ها شود .
شبکه های خصوصی مجازی (VPN) و کنترل دسترسی امن از راه دور موضوعات جدیدی نمی باشند اما تهدیدات و خطرات در این حوزه ها دائما در حال تغییر هستند و نیاز به نظارت منظم و به روزرسانی امنیتی برای متوقف کردن آن ها وجود دارد . در این پست نگاه تازه ای به چشم اندازهای این تهدیدات گردیده است و چندین روش برای نگهداری امن از داده ها در دنیای متصل به اینترنت ارائه گردیده است .هم چنین سعی خواهد شد که نمونه های از حملات واقعی که موفق به شکست پروتکل های امنیتی گردیده اند و آسیب پذیری های جدی را اخیرا وارد کرده اند را مورد بررسی قرار دهیم و راهکارهای برای کاهش این ریسک های بیان خواهیم نمود .
یک VPN به عنوان شیوه ای برای اتصال از راه دور به یک شبکه ، حفاظت خوبی را در مقابل تهدیدات فراهم می کند اما به دو دلیل یک هدف جالب برای یک مهاجم می شود :
  • اولا : VPN اطلاعات حساس را از طریق شبکه های عمومی و اشتراکی انتقال می دهد و امکان تمدید دریافت خدمات از محیط خارج شبکه باعث می شود تا اطلاعات بسیاری برای مهاجمان قابل دسترس باشد . هکرها هیچ نیازی به انجام کار پیچیده ای برای دسترسی به اطلاعات حساس ندارند . فقط یک نقص در کنترل دسترسی از راه دور می تواند امنیت یک سیستم را به خطر بیندازد . شبکه های داخلی سازمان ها که اطلاعات حساسی را ذخیره می کنند با استفاده از VPN امکان ابتلا به خطرات بسیاری را برای خود فراهم می آورند . هکرها با استفاده از VPN ها امکان دسترسی بیشتری به اطلاعات خصوصی پیدا می کنند .
  • دوم : VPN معمولا لایه های امنیتی برای حفاظت از خطرات را ندارد و با این حال ، امکان دسترسی از محیط خارج شبکه به داخل شبکه وجود دارد .فایروال ها ، سیستم های تشخیص نفوذ(IDS) ، پروکسی ها و کنترل های دیگر که با ایجاد ترافیک از شبکه های عمومی به خصوصی مانع بسیاری از مخاطرات می شوند در VPN ها معمولا وجود ندارند . این واقعیت می تواند حملات متعددی را برپایه VPN در محیط های دورتر به وجود آورد و این برای یک مهاجم جذابیت بیشتری از حملات داخل یک محیط محدود را دارد .
با توجه به دو عامل تهدید ساز فوق ، سیستم های VPN باید به آسیب پذیری های زیادی توجه داشته باشند . مهاجمین همواره به دنبال سوءاستفاده از سخت افزار و نرم افزار می باشند که این هدف معمولا با پیاده سازی های ضعیف و مدیریت ناقص به وجود می آید . به همین دلیل است که VPN ها درگیر نقص های جدی می باشند . در ادامه به ذکر نمونه های واقعی از نقض های امنیتی مرتبط با VPN می پردازیم :
بدترین نمونه از نقض مرتبط با VPN حادثه ای است که در سال ۲۰۰۸ در سیستم پرداخت Heartland به وقوع پیوست . در این حمله سیسام پردازش پرداخت که شامل اطلاعات بسیار حساسی بود ، با استفاده از یک VPN دچار مشکل گردید . در ابتدا یک حمله SQL injection به هکرها اجازه کنترل سیستم داخلی Heartland را داد اما آن ها به محیط تراکنش ها نتوانستند دست یابند . سپس مهاجمان با استفاده از سیستم داخلی دسترسی های خود را افزایش دادند . آن ها این کار را به راحتی توانستند انجام دهند چرا که ایستگاه های کاری که از داده های حساسی میزبانی می کنند چندان امن نمی باشند . با چنین اتفاقی سیستم های امن تر متصل به محیط پردازش تراکنش ها به خط افتادند و اطلاعات حساسی به سرقت رفت .
یک واقعه مشابه در ژانویه ۲۰۱۰ به گوگل ضربه زد . بعد از این حادثه ، گوگل از کاربران خود خواست تا تغییرات ضروری را در تنظیمات VPN خود با توجه به حملات بسیار پیچیده و هدفمند بوجود آورند . این حملات می توانست در آینده نقص های ناخواسته ای را بوجود آورد و پیکر بندی VPN را دچار مشکل کرده و با تغییر مکرر زمان باعث ایجاد این تصور شود که همچنان ارتباط با سیستم داخل وجود دارد . این حمله نشان داد که لایه های امنیتی و مدیریت خوب برای امنیت یک VPN می تواند حیاتی باشد .
در مثالی دیگر از نقص در مدیریت VPN که باعث شد یک کارمند اخراج شده با استفاده از VPN حمله ای به اطلاعات حساس شرکت تجاری نمود و بعد از آن موفق شد که بارها موقعیت خود را بدون آن که شناسایی شود ، تغییر دهد . وی به راحتی به سیستم پیش بینی تقاضای های این شرکت تجاری دسترسی پیدا کرد و از این طریق ۲۶۰۰۰۰ دلار درآمد شخصی برای خود بدست آورد .
سازمان های خرده فروشی باید دقت زیادی در مدیریت دسترسی به سیستم ها داشته باشند و با توجه به گردش بالی کاری کارمندان در این صنعت ، پیچیدگی های زیادی در این مدیریت وجود دارد . Walmart یکی از بزرگترین فروشگاه های زنجیره ای خرده فروشی در جهان است که در سال ۲۰۰۵ به علت نقض های مکرر VPN به مدت ۱۷ ماه دچار مشکل گردید . در آن زمان یک مهاجم توانسته بود به سیستم کارت پرداخت دسترسی پیدا کند . نقض زمانی مشخص شد که نصب یک ابزار رمزگشایی از رمزهای عبور در حالت آفلاین با شکست مواجه VPN به چندین بخش پرداختند و کنترل های دسترسی اضافه تری را برای دسترسی به داده های حساس در سیستم قرار دادند .
درسی که از ماجرای Walmart گرته شد این بود که می بایست جلوی اشتباهات مشابه را گرفت اما کمتر از سه سال بعد یک حادثه مشابه برای یک تولید کننده دستگاه های پزشکی اتفاق افتاد . یک مهاجم (کارمند اخراج شده) با استفاده از یک VPN چندین نقض امنیتی را کشف کرد و برای چندین ماه به اطلاعات حساسی دسترسی پیدا کرد . مدیران این شرکت مجبور شدند برای مشتریان خود در ۴۸ ایالت نامه هشدار برای تغییر در اطلاعات حساس را ارسال کردند و خیلی سریع به سراغ یک VPN امن تر حرکت کردند . در حالی که مدیران این شرکت ها تنها به یک کارمند اخراج شده مشکوک بودند اما آنها قادر به شناسایی مهاجم (مهاجمین) نبودند .
با نگاهی جدی به آسیب پذیری های مرتبط با VPN ها که در مثال های بالا ذکر شد می توان به سه دسته علّت ها دست یافت :
  • کیفیت : سیستم های VPN برای انجام عملیات پیچیده امنیتی در یک محیط غیرقابل اعتماد استفاده می شوند به ویژه این که برای حفظ حریم خصوصی از آن ها استفاده می شود . به همین دلیل باید مراقبت و آزمایش های خاصی را در حین طراحی برای آنها در نظر گرفت و یک استاندارد گذاری برای کیفیت و انواع VPN انجام شود .
  • طراحی : معمولا سطح امنیت توسط مشتری باید قابل تغییر باشد . در برخی از کاربردها نیاز به کنترل های دقیق تری از کاربردهای دیگری وجود دارد . بنابراین ، تنظیمات پیش فرض ممکن است برای سهولت در استقرار و سرعت ، توجه چندانی به امنیت نداشته باشند . هدف برخی از محصولات VPN گسترش شبکه های خصوصی در فاصله از راه دور است و به دنبال کاهش هزینه های فیزیکی می باشد و امنیت تنها یک گزینه محدود برای آن ها می باشد . بنابراین در طراحی VPN باید گزینه های متاوتی را برای مصرف کننده نهایی در نطر گرفت .
  • مدیریت : پیچیدگی شبکه ها به طور معمول نیاز به تخصص و مهارت های خاصی دارد . باید توجه داشت VPN بخشی از شبکه است و نیاز به تخصص های در زمینه شبکه و امنیت و پروتکل های شبکه مانند SSL و IPsec دارد .یک انتخاب ساده می تواند آسیب پذیری های جدّی را پدید آورد . هم چنین نیاز به سیستم عامل قدرتمند برای جلوگیری از سوءاستفاده های احتمالی وجود دارد . استقرار یک VPN می تواند به شدت پیچیده و فریب انگیز باشد بنابراین باید به خوبی مدیریت شود تا سطح امنیتی مناسب از آن استخراج شود .
اگر چه امروزه همچنان مشکلاتی در زمینه مدیریت ، طراحی و کیفیت وجود دارد اما با انتخاب محصولی با طراحی و کیفیت خوب می توان با بسیاری از مشکلات مقابله کرد .

نویسنده و گردآورنده : مسعود معاونی

کد مقاله :A96102502


https://telegram.me/moaveni_ir

https://telegram.me/moaveni_ir