محققان امنیتی فایلهای باقی مانده (leftover files ) بسیاری را بر روی چند ده سایت مختلف و معروف یافتهاند. رهاکردن این فایلها در دسترس عموم بسیار خطرناک بوده و میتواند منجر به نفوذ و تسخیر سایت از سوی هکر شود.
برای مدیران سایت، نظارت بر تک تک فایلها گاهی اوقات میتواند بسیار سخت به نظر برسد. با این حال نفوذهای بسیار شدید اغلب از طریق حفرههای امنیتی صورت میگیرد که کمترین توجه را به خود معطوف میکنند.
در تحقیقی که از سوی سایت CyberNews انجام شده، ۳۵ هزار سایت مختلف با بازدید بالا بررسی شده تا مشخص شود که چه تعداد از آنها فایلهای خود را به صورت ناامن ذخیره میکنند. نتایج نشان داد که ۸۲ نمونه از سایتهایی که در فهرست Alexa رتبههای برتر را دارا هستند، فایلهای رها شدهای دارند که در دسترس عموم بوده و هیچ گونه احراز هویتی بر روی آنها نیز صورت نگرفته است که این موضوع بهطور بالقوه تعداد بیشماری از بازدیدکنندگان را در معرض خطر حملات سایبری قرار میدهد.
تعداد کاربران این سایتها به طور میانگین چیزی بالغ بر ۱۷ میلیون بازدید در ماه است و حوزه جغرافیایی آنها آمریکا، روسیه، ژاپن، چین، آلمان، فرانسه، کره، هلند و بسیاری دیگر از کشورهاست. حتی میتوان گفت که برخی از سایتهای دولتی و ارگانهای وابسته نیز دارای این فایلهای رها شده میباشند.
چه فایلهایی بر روی این سایتها رها شدهاند؟
محققان CyberNews وب سایتهای پربازدید در اینترنت را برای یافتن فایلهای DS_STORE ،ENV و MYSQL_HISTORY و همچنین مخازن GIT اسکن کردند. سپس خروجی را تجزیه و تحلیل کرده و هر گونه خطای مثبت کاذب را حذف نمودند. برای معیارهای محبوبیت وب سایت نیز از فهرست یک میلیون سایت برتر الکسا استفاده شده است.
Desktop Service Files
DS_STORE یا ذخیره ساز عملیات دسکتاپ فایلهایی هستند که در 81 مورد از این سایتها مشاهده شده است. این فایلها بیشتر در سایتهای بزرگتر دیده شدهاند و بیشترین میزان بازدیدکنندگان را در معرض خطر قرار میدهند.
با تجزیه و تحلیل این فایلهای افشا شده، عاملان تهدید تمام اطلاعات مرتبط با محتویات پوشههای ذخیره شده در وب سرورها را جمعآوری میکنند که دسترسی به فایلهای محافظت نشده با اطلاعات بسیار حساس و رمزهای عبور را برای آنها فراهم میکند.
GIT directories
دایرکتوریهای GIT در ۲۴ نمونه از سایتهای مورد بررسی یافت شدهاند. این فایلها به عنوان فایلهای مخفی در داخل دایرکتوریهای در حال فعالیت GIT (فضاهای کاری) هستند و فایلهای مختلفی را در خود دارند که برای عملکرد صحیح سرویس گیرنده GIT لازم است. این فایلها اغلب دارای حساسترین اطلاعات نظیر فایلهای پیکربندی، پایگاه داده و فایلهای cached میباشند.
دایرکتوریهای GIT دارای تاریخچهای از کدها هستند که سبب نمایش کدهای منبع یک برنامه وب میشود. علاوه بر این، دایرکتوریهای GIT در معرض نمایش میتوانند به دستیابی عوامل تهدید به رمزهای عبور مانند کلیدهای محیطهای ابری، رشتههای اتصال پایگاه داده یا کلیدهای API شخص ثالث منجر شوند. بسته به انگیزه عاملان تهدید، آنها میتوانند این اطلاعات را در اختیار عموم قرار دهند و به وجهه مالی و یا اعتباری سازمان آسیب برسانند.
MySQL_HISTORY و ENV
این دو نوع فایل نیز مجموعا در ۴ نمونه از معروفترین سایتها یافت شدند. MySQL_HISTORY فایلهایی هستند که از سوی برخی از کاربران پایگاه داده MySQL به کار میرود تا بتوانند تمام دستورات و Query های اجرا شده را دنبال کنند. همچنین، به عنوان مرجعی برای رفع مشکل مدیران وب مورد استفاده قرار میگیرد. این فایلها برای مدیریت پایگاه داده ضروری هستند و اغلب حاوی اطلاعات بسیار حساسی مانند نام پایگاه داده، نام جدول و ستون و همچنین رمزهای عبور حسابها هستند.
به طور مشابه، فایلهای ENV نیز در بسیاری از برنامههای کاربردی وب برای ذخیره رمزهای دسترسی به کار میروند و میتوان گفت بدترین فایلها برای در دسترس قرار گرفتن میباشند.
قرار دادن چنین فایلهایی در دسترس عموم برای هر شرکت و یا سایتی یک عامل بسیار خطرناک است و اینگونه دادههای ناامن میتواند اطلاعات شخصی مشتریان را در معرض خطر قرار دهد. واضح است که فایلهای MYSQL_HISTORY و ENV اهداف بسیار ارزشمندی برای عوامل تهدید هستند، چرا که در دسترس قرارگیری عمومی آنها میتواند منجر به سرقت اطلاعات شخصی، تزریق بدافزار یا باجافزار و حتی تصاحب کامل وبسایت شود.
روشهای توصیه شده کارشناسان
- توسعهدهندگان باید به درستی نسبت به ده آسیب پذیری OWASP و راه جلوگیری از آنها آگاه باشند.
- هرگونه اطلاعات ورودی باید احراز هویت و خروجیها نیز به دقت بررسی شوند.
- استثنائات باید با دقت بسیار بالا کنترل شوند. هکرها از استثنائات برای ورود و تسخیر سیستم استفاده میکنند.
- ازهدرهای امنیتی مرورگر مانند HSTS ،X-FRAME و یا X-XSS استفاده کنید.
- مدیریت دسترسی و هویت را برای رعایت اصل کمترین امتیاز مورد بررسی قرار دهید.
- از ابزارهای امنیتی خودکار برای شناسایی آسیبپذیریها استفاده کنید.
- تست ارزیابی نفوذ دستی را به طور منظم انجام دهید.