۱۳۸۹/۰۶/۲۷

باگ امنيتي در ASP.NET و نحوه‌ي رفع آن


بعد از مدت‌ها بالاخره يك باگ امنيتي در ASP.NET كشف شده! البته اين "بعد از مدت‌هايي" كه عنوان شد بر اساس آمار است كه در سايت بي‌طرف Secunia قابل بررسي و مشاهده است (و اگر از يك سري كامپوننت و برنامه‌هاي جانبي ساير برنامه نويس‌ها صرفنظر كنيم، انصافا ضريب امنيتي بالايي را ارائه داده):

البته اين مورد جديد هم مرتبط با خود ASP.NET نيست؛ بلكه مرتبط است با نحوه‌ي پياده سازي الگوريتم AES در دات نت فريم ورك (Padding Oracle / AES cookie encryption vulnerability).
توضيحات بيشتر در سايت Scottgu


خلاصه اين توضيحات:
همانطور كه هزاران بار به برنامه نويسان ASP.NET (و SharePoint) گوشزد شده است، لطفا صفحه‌ي نمايش خطاهاي سفارشي سايت را (customErrors) در web.config برنامه on كنيد. اين خطاي امنيتي موجود در پياده سازي الگوريتم AES نياز به سعي و خطاهاي زياد روي سايت و بررسي پاسخ‌هاي داده شده يا ريزخطاهاي منتشر شده دارد. اگر صفحه‌ي خطاي سفارشي سايت شما تنظيم شده و روشن است، خطري سايت شما را تهديد نمي‌كند؛ زيرا شخص مهاجم هيچ خروجي خطايي را جهت بررسي مشاهده نخواهد كرد.