۱۳ مرداد ۱۳۹۹
تعداد بازدید: 334
راهکارهای اختصاصی بالا بردن امنیت وب
قسمت دوم
در پی انتشار نسخه اخیر مرورگر گوگل کروم ۸۳ و نسخه مرورگر فایرفاکس ۷۹ که به زودی عرضه خواهد شد، توسعهدهندگان وب راهکار امنیتی قدرتمندی را برای حفاظت از آسیبپذیریهایی رایج برنامهها و بالا بردن امنیت وب پیشنهاد میدهند. در این مقاله که برگرفته از وبلاگ امنیتی گوگل میباشد به نحوه پیادهسازی ویژگیهایی همچون Trusted Types، Content Security Policy، Fetch Metadata Request Headers و Cross-Origin Opener Policy توسط تیم امنیت گوگل در تمام برنامههای این شرکت میپردازیم تا موجب راهنمایی و الهام گرفتن سایر توسعهدهندگان از این ویژگیها و استفاده از آنها در برنامههایشان گردد. در قسمت قبلی ویژگی Content Security Policy را بررسی کردیم. در این قسمت به بررسی ایزولهسازی و سرآیندهای واکشی متا داده، سیاست Cross-Origin Opener خواهیم پرداخت.
قابلیتهای ایزولهسازی
بسیاری از انواع آسیبپذیریهای وب توسط سایتهای مهاجمین مورد سوءاستفاده قرار میگیرند. مهاجمین پشت این سایتها با سوءاستفاده از آسیبپذیریهای وب موفق به تعامل با سایر برنامههای کاربردی وب بنیان موجود بر روی سیستم قربانیان میشوند. گوگل معتقد است برای جلوگیری از چنین مشکلاتی به مرورگرهایی نیاز است که با ارائه روشهای جدید موجب محدودسازی این رفتارها توسط برنامههای کاربردی شوند. سرآیندهای واکشی درخواست متادیتا (Fetch Metadata Request Headers) امکان اعمال محدودیتهای سمت سرور را هنگام پردازش درخواستهای HTTP ورودی میدهد. سیاست Cross-Origin Opener روشی مبتنی بر سمت کلاینت است که پنجره برنامه را از تعاملات ناخواسته DOM (مدل شیءگرای سند) محافظت میکند.
سرآیندهای واکشی درخواست متادیتا
یکی از دلایل عمده مشکلات امنیتی وب برنامههایی هستند که اطلاعات مربوط به مبدأ درخواست HTTP را دریافت نمیکنند و بدین ترتیب قادر به تشخیص ترافیکی که خود فرستادهاند از سایر ترافیکهای ناخواسته که توسط وبسایتها ارسال شده، نمیباشند. این موضوع منجر به بروز آسیبپذیریهایی از قبیل CSRF و نشت اطلاعات مبتنی بر وب (XS-leaks) خواهد شد.
سرآیندهای واکشی متادیتا که توسط مرورگر به درخواستهای HTTP ضمیمه میشوند، این مشکل را با ارائه اطلاعات قابل اعتماد در مورد منبع درخواست ارسالی به سرور حل کرده است. اطلاعاتی که شامل منبع درخواست، نوع آن و سایر متادیتاهای امنیتی میباشد. با بررسی این مقادیر جدید سرآیندهای HTTP (Sec-Fetch-Site، Sec-Fetch-Mode و Sec-Fetch-Dest) برنامهها میتوانند در سمت سرور درخواستهای غیرقابل اعتماد را رد کنند. نکته مهم این است که واکشی متادیتا میتواند هم موجب سهولت و هم تکمیل سیاست Cross-Origin Resource شود. سیاستی که کاربر را در برابر دریافت ترافیک ناخواسته محافظت مینماید. گوگل با استفاده از سرآیندهای واکشی متادیتا، محدودیتهایی در برخی از محصولات مهم خود از قبیل Google Photos اعمال کرده و در حال رشد و توسعه این سرآیندها در مقیاس بزرگ و در اکو سیستم تمامی برنامههای این شرکت میباشد. این سرآیندها در حال حاضر توسط مرورگر کروم و مرورگرهای مبتنی بر کرومیوم ارسال میشوند و در مروگر فایرفاکس نیز در نسخههای در حال توسعه آن در دسترس است.
سیاست (Cross-Origin Opener (COOP
به طور پیشفرض برخی از تعاملات با پنجرههای مرورگر که متعلق به سایر برنامههاست، در وب مجاز اعلام میشود. تمام سایتهایی که بتوانند یک پنجره pop-up به کلاینت webmail باز کرده و پیامها را از طریق API ß postMessage ارسال کنند یا آن را به آدرس دیگری هدایت کنند و یا اطلاعاتی در مورد فریمهای آن بدست بیاورند شامل این تعاملات هستند. تمام این قابلیتها منجر به بروز آسیبپذیری نشت اطلاعات خواهد شد.
سیاست Cross-Origin Opener به شما این امکان را میدهد که برنامهها را برای جلوگیری از چنین تعاملاتی قفل کنید. برای فعالسازی این ویژگی در برنامهها سرآیند پاسخ HTTP را به صورت زیرمیتوانید تنظیم کنید:
اگر برنامه شما سایر سایتها را در قالب یک پنجره pop-up باز میکند مقدار سرآیند را برابر same-origin-allow-popups قرار دهید. جزئیات بیشتر در این سند آورده شده است. سیاست Cross-Origin Opener در حال حاضر در محصولات مختلف گوگل آزمایش میشود و بزودی به صورت عمده در اختیار خواهد بود. این سیاست در مروگرهای کروم ۸۳ و فایرفاکس ۷۹ و نسخههای بعدی آنها در دسترس خواهد بود.
آینده امنیت وب
ایجاد یک وب قوی و پایدار به توسعهدهندگانی نیاز دارد تا بتوانند امنیت دادهای کاربران خود را تضمین نمایند. افزودن ساز و کارهای امنیتی به پلتفرم وب و ایجاد مستقیم آنها در مرورگر وب، گام مهمی در جهت پیشبرد اکوسیستم است. مرورگرها میتوانند به توسعهدهندگان کمک کنند تا جنبههای مختلف وبسایت خود را که بر وضعیت امنیتی آنها تأثیرگذار است، درک و کنترل کنند. کاربران با بهروزرسانی مرورگرهای محبوب خود، بسیاری از آسیبپذیریهای امنیتی موجود در نسخههای قدیمی را برطرف نمایند. علیرغم اینکه ویژگیهای امنیتی اشاره شده در این مقاله معجزه نمیکنند اما با ارائه اصول بنیادی به توسعهدهندگان وب موجب ساخت برنامههای کاربردی ایمن توسط آنها میگردند. آرمان داده پویان با بهرهگیری از تیمی متشکل از متخصصین برنامهنویسی و امنیت شما را در بالا بردن امنیت برنامههای کاربردی وب بنیان یاری میرساند. آرمان داده پویان با ارائه تست نفوذ وب، توسعه برنامههای سفارشی امن، آموزش کد نویسی امن و آموزشهای کاربردی در راستای به کارگیری تجهیزات و سامانههای امنیتی در راستای بالا بردن امنیت وب گام برمیدارد.