یک نقطه آسیبپذیری با نام HTTPoxy که باعث ایجاد اختلال در کتابخانه کد رایانهها میشود، به تازگی در برنامههای CGI محور نوشته شده با زبانهای برنامهنویسی PHP، Python و Go مشاهده شده است. این آسیبپذیری عمری ۱۵ ساله دارد و کتابخانههای کد بسیاری را که درخواستهای HTTP ایجاد میکنند آلوده کرده است.
فوریه گذشته، دومینیک شیرلینک، یکی از طراحان نرمافزار Vend متوجه وجود این اشکال شد. وی سپس با استفاده از چندین شرکت فروش کارگزار، اقدام به رفع این اشکال کرد.
وی به تازگی مطالب بیشتری از این نقطه آسیبپذیری را مطرح کرده است و جزییات فنی مربوط به این نقطه و همچنین فرآیندهای انجام شده برای رفع آن را بیان کرده است. او همچنین اطلاعیههای گروه پاسخگویی به حوادث رایانهای آمریکا و همچنین اطلاعیههای شرکتهای Apache ، Red Hat ،Nginx ،Drupal ،CloudFlare و Akamai را ضمیمه توضیحات خود کرده است.
پیشینه این نقطه آسیبپذیری به مارس سال ۲۰۰۱ باز میگردد. در آن زمان، فردی به نام راندال ال شوارتز کشف کرد که بخش libwww-perl به طرز نادرستی سرآیندهای HTTP_PROXY را کنترل میکند. همچنین موارد مشابهی در شرکتهای curl (آوریل ۲۰۰۱)، Ruby (جولای ۲۰۱۲)، Nginx (نوامبر ۲۰۱۳) مشاهده شده بود و اکنون، محققان شاهد چنین مشکلی در اسکریپتهای زبانهای برنامهنویسی PHP ،Python و Python در محیطهای CGI هستند.
محیطهای CGI محور که درخواستهای HTTP جدید دارای سرآیند Proxy را دریافت میکنند، محتوای سرآیند را بدون هیچگونه بررسی و فیلتر در بخش HTTP_PROXY نسخهبرداری میکنند.
بخش HTTP_PROXY در برنامههای بسیاری به منظور تنظیم خودکار بخش پروکسی خروجی مورد استفاده قرار میگیرد. هنگامیکه کاربر درخواست HTTP را انجام میدهد، این درخواست به پروکسیهای تنظیم شده وارد میشود تا سپس به محل مقصد برسد.
در این شرایط، یک نفوذگر ممکن است با استفاده از این نقطه آسیبپذیری، در کار کارگزارها اختلال ایجاد کرده و یک برنامه CGI محور را مجبور به استفاده از یک پروکسی مخرب کند. هنگامیکه پروکسی مخرب مورد استفاده قرار گیرد، درخواستهای خروجی HTTP نیز دارای محتوای مخرب خواهند بود و به این طریق یک حمله مرد میانی رخ میدهد.
جو سجیولا، یکی از کارمندان شرکت CloudFlare در توضیح بیشتر در این خصوص گفت: «این نقطه آسیبپذیری در برنامههایی مشاهده میشود که از مدلهای اجرایی CGI محور استفاده میکنند. در پی سوءاستفاده از این نقطه، خدمات مربوط به توکن رابط برنامهنویسی نرمافزارها که مورد استفاده برنامه است، فاش میشود.»
شیرلینک که در مجله Medium به زبان ساده به تشریح این فرآیند برای کاربران عمومی پرداخته است، در این خصوص اذعان داشت که جلوگیری از سوءاستفاده از این نقطه کاری آسان و راحت است. وی در توضیحات بیشتر خود بیان کرد: «برای جلوگیری از هرگونه سوءاستفاده از این نقطه باید سریعاً دستبهکار شد. برای این کار، در ابتدای ایجاد درخواستهای HTTP، یعنی در ابتدای ورود این درخواستها به رایانه، آنها را مورد بررسی قرار دهید. از این طریق میتوان بسیاری از نقاط آسیبپذیری نرمافزار را در یک لحظه رفع کرد.»
شیرلینک در ادامه توصیه کرد که بهترین کار حذف کردن سرآیندهای Proxy است. وی گفت: «برای ایمنی کار بهتر است سرآیندهای Proxy را حذف کرد. هر چیزی که یک پروکسی برعکس داشته باشد میتواند مورد استفاده قرار گیرد. همچنین، اگر برنامه دیوار آتش اقدام به حذف سرآیندهای Proxy نماید، میتوان اطمینان داشت که خطری رایانه را تهدید نمیکند.»
برنامهها و پروژههای متنباز بسیاری وجود دارند که در حالت CGI، نسبت به HTTPoxy آسیبپذیر هستند. شرکت Drupal در مورد یکی از پروژههای خود با نام ۸.x branch بهروزرسانیهای لازم را انجام داده است تا خطر وقوع حملات مرد میانی در کتابخانه Guzzle PHP کاهش پیدا کند. این شرکت از این کتابخانه برای ایجاد درخواستهای HTTP در سامانه مدیریت محتوا استفاده میکند.
مدیران وبگاهها نیز در این خصوص بهتر است منتظر پروندههای بهروزرسانی مربوط به پروژههای متنباز نباشند و خود اقدامات لازم برای کاهش خطرهای موجود را انجام دهند.
شناسههای CVE برای نقاط آسیبپذیری HTTPoxy به صورت زیر است:
CVE-۲۰۱۶-۵۳۸۵ برای زبان برنامهنویسی PHP،
CVE-۲۰۱۶-۵۳۸۶ برای زبان برنامهنویسی Go،
CVE-۲۰۱۶-۵۳۸۷ برای کارگزار HTTP شرکت Apache،
CVE-۲۰۱۶-۵۳۸۸ برای محصول Tomcat شرکت Apache،
CVE-۲۰۱۶-۱۰۰۰۱۰۹ برای شرکت HHVM و CVE-۲۰۱۶-۱۰۰۰۱۱۰ برای زبان برنامهنویسی Python.
منبع: asis
درباره نماد امنیت وب
“نماد امنیت وب” به عنوان یکی از شرکت های پیشتاز در زمینه امنیت نرم افزار و سرویس های تحت وب، با ارائه سرویس های امنیتی برای تمامی کسب و کار ها و دارای نمایندگی شرکت Acunetix (اکوانتیکس) بعنوان محبوب ترین اسکنر امنیتی black box در دنیا، ایمنی وب سایت شما را در مقابل حمله هکر ها تضمین می کند.