Shellshock آسیب پذیری خطرناکتر از Heartbleed
این آسیب پذیری که Shellshock معرفی شده است در نرم افزار Bourne Again Shellموسوم به Bash وجود دارد که یکی از محبوبترین ابزار کاربران لینوکس نیز میباشد. Stéphane Chazelas که موفق به شناسایی این آسیب پذیری شده است بیان می کند که تمام توزیعهای لینوکس از جمله توزیع دبیان در معرض این آسیب پذیری قرار دارند.
Shellshock که با شناسه CVE-2014-6271 شناخته می شود، بیش از دو دهه است که در بسیاری از سیستم های لینوکس و همچنین Mac OS X استفاده می شود و از همین رو درک شدت آن بسیار آسان است.
آسیبپذیری بحرانی Shellshock، پیرامون نحوه عملکرد متغیرهای محیطی میباشد. در سیستم عامل های لینوکسی، متغیرهای محیطی راهی را برای تاثیرگذاری در رفتار یک نرمافزار ایجاد میکنند، این متغیرها معمولا دارای یک نام و یک مقدار مربوط به همین نام هستند. در سیستم عامل لینوکس، غالب نرمافزارها در هنگام اجرا یک نسخه از Bash را در پشت صحنه اجرا کرده و از آن برای ارتباط با یک کاربر راه دور استفاده میکنند.
آسیبپذیری موجود در Bash به این مسئله مربوط است که متغیرهای محیطی میتوانند با مقادیر اولیه مخربی قبل از صدا زدن نرمافزار مذکور ایجاد شوند. این متغیرها میتوانند به جای مقادیر مجاز شامل کد باشند که به محض اجرای Bash این کد نیز اجرا میشود.
وصله کردن این آسیب پذیری مشکل است
از آنجا که لینوکس سیستم عاملی است که بصورت کد منبع باز در تعداد زیادی از محصولات، از وب سرورهای آپاچی تا دستگاه های خانگی مانند روتر و دوربین به کار گرفته می شود، و از آنجا که آسیب پذیری Bash برای مدت طولانی است که وجود دارد، در بسیاری از محصولات جا خوش کرده و وصله کردن آن به خصوص در سیستم های کنترلی و صنعتی را مشکل ساخته است.
محقق امنیتی با نام Robert Graham در همین ارتباط می گوید: "دستگاه های اینترنت اشیاء همانند دوربین های ویدئویی، به Shellshock بسیار آسیب پذیر می باشند، چرا که بسیاری از نرم افزارهای آن از اسکریپت های Bash ساخته شده است. نه تنها وصله کردن اینگونه وسایل به کندی انجام می گیرد، بلکه احتمال آسیب پذیری آنها بسیار زیاد می باشد. "
با توجه به جزئیات آسیب پذیری CVE-2014-6271، کلاینت های OpenSSH و DHCP، در سیستم هایی که Bash را به اجرا در می آورند تحت تاثیر این آسیب پذیری قرار گرفته اند. با این حال، به نظر می رسد که بردار اصلی این حمله شامل درخواست های HTTP به اسکریپت های CGI، برای تولید محتوای پویا در صفحات وب و برنامه های وب است.
لازم به ذکر است که این آسیبپذیری در سیستم عاملهای لینوکسی از جمله توزیعهای RedHat، دبیان، CentOS و اوبونتو وجود دارد و این توسعهدهندگان در حال ارائه وصله میباشند که باید به سرعت در سرورها نصب شوند، چرا که امکان سوءاستفاده از این آسیبپذیری در مقیاس بسیار گستردهای وجود دارد.
یک راه ساده برای تست سیستم های لینوکس/یونیکس به این آسیب پذیری وجود دارد و آن ورودی رشته های زیر در خط فرمان ذیل می باشند:
code
env x='() { :;}; echo vulnerable' bash -c "echo Shellshock"
A system affected by the bug should return the following:
code
vulnerable
Shellshock
از سوی دیگر، یک سیستم امن پاسخ می دهد:
code
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
Shellshock