استانداردی جدید در میان پروتکل های اینترنت؛ HSTS

بابک فخریلو

مکانیسیم امنیتی جدیدی مورد تایید قرار گرفته که تضمین می کند سایت های با قابلیت فعالیت روی HTTPS، مقاومت بیشتری در برابر حملات مختلف از  خود نشان دهند، و تبدیل به یک استاندارد شده، گرچه در حال حاضر حرکت به سوی استفاده از آن بسیار کند است، و صرفا سایت هایی مشهور و بزرگ از آن استفاده می کنند.

HTTP Strict Transport Security (HSTS) به وب سایت ها اجازه می دهد تا صرفا از طریق HTTPS قابل دسترس باشند، و طوری طراح شده تا مانع از حملاتی شود که در آن، فرد هکر کاربران را مجبور به استفاده از اتصال HTTP می کند یا مشکلاتی را در HTTPS به وجود می آورد تا یکپارچگی محتوای بی خطر را مورد تهدید قرار دهد.

IETF، گروهی که موظف به توسعه و ارتقای استاندارد های اینترنت هستند، مشصخه های HSTS را در قالب مستند استاندارد RFC 6797 ، منتشر کرده اند. بخش امنیت وب در IETF، از سال 2010 روی این استاندارد جدید کار می کرده، که در آن زمان پیش نویس این استاندارد، توسط Jeff Hodges از PayPal، Collin Jackson از دانشگاه Carnegie Mellon و Adam Barth از Google، ارائه شد.

HSTS مانع از حملاتی که اصطلاحا mixed content خوانده می شوند، می  گردد. این نوع از حملات زمانی رخ می دهد که script ها یا سایر منابع جای گرفته در یک وب سایت، که روی HTTPS سرویس ارائه می دهد، از یک منبع شخص ثالثی (به عنوان نمونه می توان به اسکریپت های آمار گیری اشاره کرد) و با یک اتصال غیر امن بارگذاری می شوند. بروز چنین رخنه ای می تواند عمدی یا در نتیجه ی بی توجهی در فرآیند توسعه ی آن وب سایت باشد.

وقتی مرورگر منابع را از اتصال های غیر امن بارگذاری می کند، درخواست خود را از طریق HTTP می فرستد، که در این حالت می توان حتی session cookie کاربر را هم ارسال کرد. مهاجم می تواند درخواست ارسالی را به راحتی با  sniff کردن شبکه باز کرده، cookie را از  آن استخراج کند، و حساب کاربری افراد را در وب سایت ها سرقت کند.

مکانیسم HSTS همچنین مانع از حملات نوع man-in-the-middle می شود، که در آن شخص مهاجم می تواند اتصال کاربر به یک وب سایت را مانیتور کند و مرورگر کاربر را وادار کند به جای اتصال HTTPS، از  اتصال HTTP استفاده کند. این تکنیک همچنین با نام SSL Stripping هم شناخته می شود، و ابزارهایی هم برای انجام آن وجود دارد.

وقتی مرورگر با HTTPS به وب سایتی متصل می شد که از HSTS پشتیبانی می کند، یک چیزی مانند شناسه (در متن اصلی با نام policy آمده است) ذخیره می شود که البته طول عمر مشخصی دارد. از آن به بعد، تا زمانی که شناسه منقضی نشده، مرورگر از اتصال نا امن به آن وب سایت خود داری خواهد کرد.

HSTS از طریق Http Response header منتقل می شود، و درون فیلدی به نام Strict-Transport-Security قرار می گیرد. از همان Header می تواند برای بروز رسانی یا تازه سازی شناسه ی امنیتی  ذخیره شده در مروگر استفاده کرد.

این استاندارد یکی از بهترین رخ دادها برای SSL است، چرا که مشکلاتی که 18 سال پیش هنگام طراحی SSL چشم پوشی شده بود را برطرف می کند.

HSTS کاری به هشدار های مشکوک بودن certificate ندارد. اگر مشکلی دیده  شود، مرورگر به سادگی از اتصال امتناع خواهد کرد و به کاربران این فرصت را نمی دهد که مانند خطا های SSL Certificate، آن را ignore کنند.

البته حتی اگر سایتی از HSTS پشتیبانی بکند، امکان بروز حمله، در صورتی که مرورگر برای بار اول سایت را بارگذاری می کند، وجود دارد، چرا که ممکن است مرورگر شناسه ی امنیتی را ذخیره نکرده باشد. در آن هنگام، مهاجم می تواند مانع از دسترسی مرورگر به نسخه ی  HTTPS سایت شود و آن را مجبور به استفاده از HTTP کند.

برای حل این مشکل، مرورگرهایی مانند Chrome و Firefox فهرستی پیش تهیه شده را از سایت های محبوبی که از HSTS پشتیبانی می کنند، دارند.

مطابق آنچه SSL Pulse می گوید، حدود 1700 سایت  از 180000 سایت که روی HTTPS کار می کنند، از HSTS هم پشتیبانی می کنند. SSL Pulse پروژه ای است، که مسئول مانیتور کردن پیاده سازی های HTTPS در وب سایت ها می باشد.

به نظر می رسد بزرگ ترین مشکل در برابر HSTS این است که باید در این زمینه آموزش داد، و همه باید نسبت به وجود آن اگاه باشند.

سایت های محبوبی که از HSTS پشتیبانی می کنند، در حاضر شامل سایت هایی چونPayPal ، Twitter و سرویس های مختلف Google می شود. Facebook گرچه اتصال دائم از طریق HTTPS را فعال کرده، اما هنوز از استاندارد جدید پشتیبانی نمی کند.

برگرفته از :

HTTP Strict Transport Security Becomes Internet Standard

دربارهٔ Persian Developer

I Love Developing applications

Posted on نوامبر 27, 2012, in مرورگر, وب, امنیت and tagged , , . Bookmark the permalink. ۱ دیدگاه.

  1. از الگوریتم hashing اش برای رمز نگاری دیتا چیزی ننوشته نه…مطلب جالبی بود خسته نباشید

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: