شرکت گوگل با ارائه مجموعه جدیدی از ابزارها، به سازمانها کمک میکند تا با استفاده از مکانیسم Content Security Policy یا به اختصار CSP، به تقویت هر چه بیشتر سیستمهای تحت وب در مقابل حملات (Cross-Site Scripting (XSS بپردازند.
بعد از گذشت بیش از یک دهه، XSS همچنان به عنوان یکی از متداولترین نقصهای امنیتی به شمار میرود که سازمانها را در سراسر جهان در معرض خطر قرار میدهد؛ اقدام جدید شرکت گوگل جهت رفع این آسیبپذیری، حتی پرداخت مبالغی بیش 1 میلیون دلار در طول دو سال گذشته جهت شناسایی نقصهای مربوط به این آسیبپذیری را پایان بخشید.
طبق توضیحات گوگل، CSP به منظور کاهش ریسک آسیبپذیریهای ناشی از XSS طراحی شده است و امکان تعریف Policyهایی را برای Developerها جهت محدود نمودن اسکریپتهای قابل اجرا فراهم مینماید؛ بنابراین حتی در صورت وارد نمودن HTML در یک صفحهی آسیبپذیر نیز، مهاجمان قادر به بارگزاری اسکریپتهای مخرب و سایر منابع نمیباشند.
با این وجود، این راهکار همیشه کارآمد نمیباشد. شرکت گوگل ادعا میکند که در پی آنالیز بیش از یک میلیون دامین، دریافته است که 95 درصد از Policyهای CSP بیاثر میباشند!
گوگل در ادامه اظهار داشت: یکی از دلایل اصلی این ناکارآمدی آن است که معمولا بیش از 15 دامین توسط Developerها برای بارگذاری اسکریپتهای خارجی در لیست برنامهها یا آدرسهای ایمن قرار میگیرد و این بدان معناست که مهاجمان میتوانند با استفاده از 14 الگو امکان عبور از محافظتهای CSP را برای خود فراهم نمایند.
از نظر شرکت گوگل، بهبود و توسعه این مورد از اهمیت فراوانی برخوردار بوده و به اکوسیستمهای تحت وب در بهرهمندی کامل از پتانسیلهای CSP کمک مینماید.
شرکت گوگل برای کمک به پیشبرد این امر، اقدام به عرضه CSP Evaluator نموده که به عنوان ابزاری جدید جهت شناسایی پیکربندیهای نامناسب میباشد؛ از قابلیتهای دیگر این ابزار، تضمین معنیدار و کاربردی بودن Policyها از لحاظ امنیتی و عدم سوءاستفاده و تخریب آنها توسط مهاجمان میباشد.
به هرحال ممکن است این ابزار به دلیل تعداد دامینهای معمول که امکان گذر و عبور از CSP را فراهم میکنند، دچار ایراداتی باشد که در اینصورت استفاده از یک CSP Policy Nonce-Based یا به عبارتی Policyهای مبتنی بر شرایط فعلی، به عنوان بهترین گزینه محسوب میشود.
در بیشتر موارد راه حل سادهتر به جای قرار دادن تمامی موقعیتهای مجاز جهت اجرای اسکریپت در لیست موقعیتهای قابل اطمینان، ترمیم و اصلاح برنامههای کاربردی میباشد؛ بدین ترتیب صحت سلامت اسکریپت با ارائه اطلاعات مربوط به وضعیت کنونی آن از طریق ارائهی یک Token غیرقابل پیش بینی و یکبار مصرف تضمین میگردد. در این روش باید در داخل Policy، مقداری تعریف شود که آن مقدار باید با مقدار موجود در داخل Token مطابقت نماید. بدین تربیت مورد اطمینان بودن Script توسط Developerها تایید میشود.
به نظر میرسد یکی از ویژگیهای جدید و پویا که در مشخصات CSP3 که در آیندهای نزدیک ارائه خواهد شد، سادهتر شدن پذیرش موارد فوق حتی برای برنامههای مدرن و پیچیده میباشد.
شرکت گوگل از عرضه CSP Mitigator نیز خبر داده است که یکی از افزونههای Chrome برای کمک به Developerها، جهت بازنگری یک برنامه کاربردی برای ایجاد سازگاری با Nonce-Based CSP میباشد.
سازگاری CSP با چارچوبهای متداول Open-Source وب نیز از طریق برنامهی Patch Reward خواهد بود تا قدردان تمامی تلاشهای صورت گرفته جهت سازگار نمودن آنها با Nonce-Based CSP باشد.
Gareth O’Sullivan، مدیر بخش معماری راهکارها در WhiteHat Security عنوان کرد: طی سال گذشته حدود 86 درصد از 30.000 سایت بازدید شده توسط این شرکت، حداقل دارای یک آسیبپذیری جدی بودهاند که از طریق آن امکان در خطر قرار گرفتن سیستم توسط مهاجمان، امکانپذیر بود.
وی همچنین افزود: شاید این برای شما کمی عجیب به نظر بیاید که ترمیم آسیبپذیریهای وبسایت، به طور میانگین 193 روز به طول بیانجامد، ضمن اینکه ممکن است 39 درصد از نقصها نیز هیچگاه از بین نروند.
در صورتی که به هر دلیل هیچ برنامه ای جهت رفع مشکل تدوین نشده باشد، ترمیم و اصلاح مشکل یکی از موضوعات اصلی به شمار میرود که در این مورد صرفا به یافتن مشکل نمیتوان بسنده کرد. علاوه بر آن روند اصلاح و ترمیم میبایست سادهتر و ارزانتر شود که در غیر اینصورت امنیت محیط وب افزایش نمییابد.