احراز هویت ناامن x پنجره اوبونتو. آسیب پذیری های خطرناک لینوکس آسیب پذیری در برنامه های اصلی

البته می توان گفت لینوکسبیشتر بی خطر(محافظت شده) از ویندوز. ایمنی V لینوکسساخته شده است، و در جایی از کناره پیچ نشده است، همانطور که در ویندوز پیاده سازی شده است. ایمنیسیستم های لینوکسمحدوده ای از هسته تا دسکتاپ را پوشش می دهد، اما این احتمال وجود دارد که هکرها به فهرست خانه (/home) شما آسیب بزنند.

بایت‌های عکس، ویدیوهای خانگی، اسناد و کارت اعتباری یا داده‌های کیف پول شما با ارزش‌ترین اطلاعات موجود در رایانه هستند. البته لینوکس در برابر انواع کرم های اینترنتی و ویروس ها برای ویندوز حساس نیست. اما مهاجمان ممکن است راهی برای دسترسی به داده های شما در فهرست اصلی شما پیدا کنند.

کامپیوتر قدیمی خود را آماده کرده باشید یا HDDقالب بندی قبل از فروش، به نظر شما کافی است؟ ابزارهای مدرن زیادی برای بازیابی اطلاعات وجود دارد. یک هکر می تواند به راحتی اطلاعات شما را از آن بازیابی کند هارد دیسک، صرف نظر از سیستم عاملی که در آن کار می کردید.

در مورد این موضوع، تجربه یک شرکت در خرید مجدد کامپیوترها و دیسک‌های دست دوم را به یاد می‌آورم. آنها در جریان فعالیت های خود، حکمی را صادر کردند که 90 درصد از صاحبان قبلی رایانه خود به درستی مراقب تمیز کردن رسانه ذخیره سازی خود قبل از فروش آن نبودند. و آنها بایت های بسیار حساسی از داده ها را استخراج کردند. حتی تصور اینکه جایی در سطل های هارد دیسک شما اطلاعاتی برای ورود به بانک آنلاین یا کیف پول آنلاین شما وجود داشته باشد، ترسناک است.

با اصول امنیتی لینوکس شروع کنید

بیایید به اصول اولیه () برویم که تقریباً برای هر کسی مناسب است
توزیع های لینوکس

بیایید برای امنیت کاملتر لینوکس، سیستم فایل را در لینوکس رمزگذاری کنیم

گذرواژه‌های سفارشی مشکل را حل نمی‌کنند، مگر اینکه واقعاً بخواهید کسی نتواند فهرست اصلی (/home) یا اندازه بایت خاصی شما را بخواند. می توانید این کار را به گونه ای انجام دهید که حتی کاربری با بالاترین امتیازات روت نیز نتواند بینی خود را در آن فرو کند.

فایل های حساس را حذف کنید تا هیچ کس دیگری نتواند آنها را بازیابی کند

اگر تصمیم دارید رایانه یا رسانه ذخیره سازی خود را بفروشید یا هدیه دهید، فکر نکنید که صرفاً فرمت کردن آن فایل های شما را برای همیشه حذف می کند. می‌توانید ابزار حذف امن را روی لینوکس خود نصب کنید که شامل ابزار srm برای حذف امن فایل‌ها می‌شود.

همچنین فایروال موجود در هسته لینوکس را فراموش نکنید. در همه گنجانده شده است توزیع های لینوکسشامل lptables است که بخشی از هسته است. Lptables به شما امکان می دهد بسته های شبکه را فیلتر کنید. البته می توانید این ابزار را در ترمینال پیکربندی کنید. اما این روش خارج از توانایی خیلی ها از جمله من است. بنابراین من آن را به راحتی نصب و پیکربندی می کنم که انگار در حال بازی کردن هستم.

مانند همه سیستم عامل ها، لینوکس نیز در هنگام اجرای برنامه های مختلف مستعد انباشته شدن انواع ناخواسته است. و این تقصیر لینوکس نیست، زیرا برنامه های مختلف مانند مرورگرها، ویرایشگرهای متن و حتی پخش کننده های ویدئویی در سطح هسته کار نمی کنند و فایل های موقتی را جمع آوری می کنند. می توانید ابزار BleachBit را برای حذف زباله های جهانی نصب کنید.

گشت و گذار ناشناس، پنهان کردن IP شما - برای امنیت هویت شما در لینوکس بسیار مهم است


در پایان، می خواهم در مورد وب گردی ناشناس به شما بگویم. گاهی اوقات لازم است، مانند زمانی که مخفیانه از طرف همسرم، از سایت هایی با محتوای شهوانی بازدید می کنم. البته شوخی کردم

اگر مهاجمان نتوانند مکان شما را تعیین کنند دسترسی به شما برای مهاجمان دشوار خواهد بود. ما مسیرهای خود را با یک راه اندازی ساده از دو ابزار کمکی به نام های privoxy و tor پوشش می دهیم.

به نظر من، پیروی و پیکربندی همه این قوانین، شما و کامپیوترتان را 90 درصد ایمن نگه می دارد.

P.S. من از ابری به نام دراپ باکس استفاده می کنم. مقالات قدیمی و جدید و هنوز منتشر نشده ام را در آن ذخیره می کنم. دسترسی به فایل های خود از هر کجای دنیا و در هر رایانه ای راحت است. هنگام نوشتن مقاله برای یک وب سایت در ویرایشگر متن، من مال خود را نجات می دهم اسناد متنیبا یک رمز عبور و تنها پس از آن من آن را در سرور دراپ باکس آپلود می کنم. هرگز نباید از امنیت اضافی غافل شوید، که فقط به درد شما می خورد.

سلام به همه... همه مدیران مبتدی تحت اوبونتو وظیفه راه اندازی رابط های شبکه (شبکه، کارت شبکه) را دارند در این مقاله نحوه انجام این کار را به شما نشان خواهم داد... خیلی ساده انجام می شود...

اگر به نحوی راه اندازی شبکه را از دست دادید یا در نصب توزیع مشکل دیدید، اکنون این کار را به صورت دستی انجام خواهیم داد. و بنابراین ما توزیع را نصب کرده ایم و در حالت حمله منتظر ما است ... باید 2 کارت شبکه را پیکربندی کنیم ..... یکی از ما با ارائه دهنده روبرو می شود و دیگری با چهره شبکه محلی. بیایید فوراً توافق کنیم و رابط ها و آدرس های خود را تعیین کنیم.

eth0- 192.168.0.1 (بگذارید بگوییم این آدرس صادر شده توسط ارائه دهنده است) رابطی که به اینترنت نگاه می کند (ارائه دهنده)
eth1— 10.0.0.1 (آدرسی که می خواهیم به این رابط بدهیم) رابطی که روی شبکه محلی قرار دارد

اول از همه، بیایید بررسی کنیم که کدام رابط ها را قبلاً با دستور راه اندازی کرده ایم ifconfigچیزی شبیه به این را خواهید دید (فقط با داده های خود به جای xxxxx)

Eth0 پیوند پیوند: اترنت HWaddr хх:хх:хх:хх:хх:хх inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxxx.xxx Mask:255.255.255.252 inet6:xxxxx :xxx:xxxx/64 محدوده: پیوند UP BROADCAST RUNNING MULTICAST MTU:1500 متریک:1 بسته RX:31694097 خطا: 0 افت: 0 بیش از حد: 0 فریم: 0 بسته TX: 15166512 خطا: carrier:00 0 برخورد: 0 txqueuelen: 100 RX بایت: 2215593127 (2.2 گیگابایت) TX بایت: 1577680249 (1.5 گیگابایت) حافظه:b8820000-b8840000 eth1 encap:Ethernet xxxxxet:Ethernet xxxxxd incap:Ethernet xxxxx0 . 0.1 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 xxxx: xxxx::xxxx:xxxf:xxx:xxx/64 محدوده: Link UP BROADCAST RUNNING MULTICAST MTU:111X30Errorpackets:111000 اجرا می شود :0 فریم: 0 بسته های TX: 21539638 خطا: 0 افت: 0 بیش از حد: 0 حامل: 0 برخورد: 0 txqueuelen: 100 بایت RX: 1262641422 (1.2 گیگابایت) TX بایت: 19228388889 بایت: 1922838889) 19228388889 Memory80000GB encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr:::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 بسته های RX:3823 خطا:0 فریم حذف شده:0 0 بسته TX: 3823 خطا: 0 ریزش: 0 بیش از حد: 0 حامل: 0 برخورد: 0 txqueuelen: 0 RX بایت: 717663 (717.6 KB) TX بایت: 717663 (717.6 KB)

اگر یکی از اینترفیس ها نمایش داده نشد، اشکالی ندارد. فقط غیرفعال است، بیایید با دستور آن را روشن کنیم sudo ifconfig eth1 up(به جای eth1، رابط خود را تایپ کنید، اگر 2 کارت شبکه دارید، تنها 2 رابط وجود دارد: eth0 و eth1) و بنابراین رابط خود را فعال می کنیم:

sudo ifconfig eth1 up

و بنابراین بیایید راه اندازی را شروع کنیم.

بیایید رابط eth0 را به آدرس IP صادر شده توسط ارائه دهنده با دستور زیر اختصاص دهیم:

sudo ifconfig eth1 inet 192.168.0.2

و ماسک شبکه را مشخص کنید:

sudo ifconfig eth0 netmask 255.255.255.0

تنظیمات انجام شده به این روش پس از راه اندازی مجدد سرور بازنشانی می شوند.
برای جلوگیری از این اتفاق، باید تنظیمات را در آن تغییر دهید فایل پیکربندیرابط های شبکه برای این کار به حقوق ریشه نیاز دارید. حقوق بگیریم ریشهبا دستور زیر:

sudo su

فایل پیکربندی رابط های شبکه در این آدرس قرار دارد /etc/network/interfacesبرای ویرایش آن از ویرایشگر نانو استفاده می کنیم (شما می توانید از ویرایشگر خود استفاده کنید) من آن را دوست دارم نانو

nano /etc/network/interfaces

موارد زیر را می بینیم:

# این فایل رابط های شبکه موجود در سیستم شما را شرح می دهد # و نحوه فعال کردن آنها. برای اطلاعات بیشتر، به رابط ها (5) مراجعه کنید. # رابط شبکه Loopback خودکار لو iface lo loopback inet # رابط شبکه اصلی//رابط شبکه اصلی خودکار eth0//تخصیص ویژگی های زیر به رابط شبکه iface eth0 inet static//به طور خودکار رابط شبکه را فعال کنید آدرس 192.168.0.2//آدرس IP کارت شبکه ما (صدور توسط ارائه دهنده) ماسک شبکه 255.255.255.0//ماسک شبکه ای که IP ما در آن قرار دارد شبکه 192.168.0.0//شبکه ​​کل محدوده پخش 192.168.0.255//حداکثر تعداد آدرس ها دروازه 192.168.0.1//دروازه # گزینه های dns-* در صورت نصب توسط بسته resolvconf پیاده سازی می شوند

لازم است آن را به شکل زیر کاهش دهید

# این فایل رابط های شبکه موجود در سیستم شما و نحوه فعال سازی آنها را شرح می دهد. برای اطلاعات بیشتر، به رابط ها (5) مراجعه کنید. # رابط شبکه loopback auto lo iface lo inet loopback # رابط شبکه اولیه auto eth0 iface eth0 inet static address 192.168.0.2 netmask 255.255.255.0 network 192.168.0.0 gateway 192.168.0.1. در صورت نصب dns-nameservers 192.168.22.22 192.168.33.33 #رابطی که به شبکه محلی نگاه می کند خودکار eth1 iface eth1 inet static آدرس 10.0.0.1 ماسک شبکه 255.255.255.0

با کلیک کردن، تغییرات را ذخیره کنید کلیدهای Ctrl+ O و با فشار دادن Ctrl + X از آن خارج شوید

آدرس‌های سرور DNS را می‌توان در فایل /etc/network/interfaces تنظیم کرد، اما آدرس‌های سرور DNS در اوبونتو از طریق فایل /etc/resolv.conf مدیریت می‌شوند؛ برای من به این شکل است:

سرور نام xx.xx.xx.xx سرور نام xx.xx.xx.xx

بیایید DNS را پیکربندی کنیم؛ برای انجام این کار، دستور زیر را در خط وارد کنید:

Sudo nano /etc/resolv.conf # آدرس های IP سرورهای DNS ارائه دهنده شما سرور نام хх.ххх.ххх.ххх نام سرور ххх.ххх.хх.ххх

پس انداز کنیم Ctrl+Oو ما بیرون می رویم Ctrl +xهمچنین باید شبکه را با دستور زیر راه اندازی مجدد کنید.

همه ما می دانیم که اتاق عمل سیستم لینوکسبسیار ایمن تر از ویندوزبه لطف معماری آن و یک سیستم ویژه برای توزیع دسترسی بین کاربران. اما برنامه نویس ها هم مردم هستند، هر چقدر هم که دوست داشته باشیم، آنها هم اشتباه می کنند. و به دلیل این خطاها، حفره هایی در سیستم ظاهر می شود که از طریق آنها مهاجمان می توانند سیستم های امنیتی را دور بزنند.

این خطاها آسیب پذیری نامیده می شوند و می توانند در آن رخ دهند برنامه های مختلفو حتی در هسته اصلی سیستم، امنیت آن را تضعیف می کند. پشت سال های گذشتهمحبوبیت لینوکس شروع به رشد کرده است و محققان امنیتی توجه بیشتری به این سیستم دارند. آسیب پذیری های بیشتری در حال کشف هستند و به لطف کد منبع باز، می توان آنها را خیلی سریع از بین برد. در این مقاله به خطرناک‌ترین آسیب‌پذیری‌های لینوکس می‌پردازیم که در چند سال گذشته کشف شده‌اند.

قبل از رفتن به لیست آسیب‌پذیری‌ها، مهم است که بفهمیم آن‌ها چیستند و چیستند. همانطور که گفتم، آسیب پذیری یک اشکال در یک برنامه است که به کاربر اجازه می دهد از برنامه به گونه ای استفاده کند که توسط توسعه دهنده آن در نظر گرفته نشده است.

این ممکن است عدم بررسی صحت داده های دریافتی، بررسی منبع داده و از همه جالب تر، اندازه داده ها باشد. خطرناک ترین آسیب پذیری ها آنهایی هستند که امکان اجرای کد دلخواه را فراهم می کنند. که در حافظه دسترسی تصادفیهمه داده ها دارای اندازه مشخصی هستند و برنامه برای نوشتن داده های کاربر با اندازه معین در حافظه طراحی شده است. اگر کاربر داده های بیشتری را ارسال کند، باید خطا ایجاد کند.

اما اگر برنامه نویس اشتباه کند، داده ها کد برنامه را بازنویسی می کند و پردازنده سعی می کند آن را اجرا کند و در نتیجه آسیب پذیری های سرریز بافر ایجاد می کند.

همچنین، تمام آسیب‌پذیری‌ها را می‌توان به آسیب‌پذیری‌های محلی تقسیم کرد که تنها در صورتی کار می‌کنند که هکر به آن دسترسی داشته باشد کامپیوتر محلیو از راه دور، زمانی که دسترسی از طریق اینترنت کافی باشد. حالا بیایید به لیست آسیب پذیری ها برویم.

1. گاو کثیف

اولین مورد در لیست ما یک آسیب پذیری جدید است که در پاییز امسال کشف شد. نام Dirty COW مخفف عبارت Copy on Write است. هنگام کپی در نوشتن خطایی در سیستم فایل رخ می دهد. این یک آسیب پذیری محلی است که به هر کاربر غیرمجاز اجازه دسترسی کامل به سیستم را می دهد.

به طور خلاصه، برای بهره برداری از آسیب پذیری شما به دو فایل نیاز دارید، یکی فقط از طرف superuser قابل نوشتن است، دومی برای ما. ما بارها شروع به نوشتن داده در فایل خود می کنیم و از فایل superuser می خوانیم زمان مشخصزمانی فرا می رسد که بافرهای هر دو فایل با هم مخلوط می شوند و کاربر می تواند داده هایی را در فایلی بنویسد که نمی تواند بنویسد، بنابراین به خود حقوق ریشه در سیستم می دهد.

این آسیب پذیری حدود 10 سال در کرنل وجود داشت، اما پس از کشف به سرعت برطرف شد، اگرچه هنوز میلیون ها دستگاه اندرویدی وجود دارد که هسته در آنها به روز نشده و فکر نمی کند و در کجا می توان از این آسیب پذیری سوء استفاده کرد. کد آسیب پذیری CVE-2016-5195 بود.

2. آسیب پذیری Glibc

کد آسیب پذیری CVE-2015-7547 بود. این یکی از آسیب‌پذیری‌های مورد بحث در میان پروژه‌های منبع باز بوده است. در فوریه 2016، کشف شد که کتابخانه Glibc دارای یک آسیب پذیری بسیار جدی است که به مهاجم اجازه می دهد کد خود را بر روی یک سیستم راه دور اجرا کند.

ذکر این نکته ضروری است که Glibc پیاده سازی کتابخانه استاندارد C و C++ است که در اکثر موارد استفاده می شود. برنامه های لینوکساز جمله خدمات و زبان های برنامه نویسی مانند PHP، Python، Perl.

در کد تجزیه پاسخ سرور DNS خطایی رخ داده است. بنابراین، این آسیب‌پذیری می‌تواند توسط هکرهایی که DNS آنها توسط ماشین‌های آسیب‌پذیر قابل دسترسی بوده و همچنین توسط افرادی که حمله MITM را انجام می‌دهند مورد سوء استفاده قرار گیرد. اما این آسیب‌پذیری باعث کنترل کامل سیستم شد

این آسیب پذیری از سال 2008 در کتابخانه وجود داشت، اما پس از کشف، وصله ها نسبتاً سریع منتشر شدند.

3. خون دل

در سال 2014، یکی از جدی ترین آسیب پذیری ها از نظر مقیاس و پیامدها کشف شد. علت آن یک اشکال در ماژول قلب‌دد برنامه OpenSSL بود که از این رو Heartbleed نامگذاری شد. این آسیب‌پذیری به مهاجمان اجازه دسترسی مستقیم به 64 کیلوبایت حافظه رم سرور را می‌داد؛ حمله می‌توانست تا زمانی که تمام حافظه خوانده شود، تکرار شود.

اگرچه این اصلاح خیلی سریع منتشر شد، اما بسیاری از سایت ها و برنامه ها تحت تأثیر قرار گرفتند. در واقع، تمام سایت هایی که از HTTPS برای ایمن سازی ترافیک استفاده می کردند، آسیب پذیر بودند. مهاجمان می‌توانستند رمزهای عبور کاربر، داده‌های شخصی و هر چیزی که در زمان حمله در حافظه بود را به دست آورند. کد آسیب پذیری CVE-2014-0160 بود.

4. استیج ترس

اگر آسیب‌پذیری یک نام رمز دریافت کرده باشد، این به وضوح به این معنی است که سزاوار توجه است. آسیب پذیری Stagerfight نیز از این قاعده مستثنی نیست. درست است، این واقعاً یک مشکل لینوکس نیست. Stagefright یک کتابخانه برای پردازش فرمت های چند رسانه ای در اندروید است.

این در C++ پیاده سازی شده است، به این معنی که تمام مکانیسم های امنیتی جاوا را دور می زند. در سال 2015، یک گروه کامل از آسیب‌پذیری‌ها کشف شد که امکان اجرای کد دلخواه از راه دور بر روی سیستم را فراهم می‌کرد. در اینجا آنها عبارتند از: CVE-2015-1538، CVE-2015-1539، CVE-2015-3824، CVE-2015-3826، CVE-2015-3827، CVE-2015-3828 و CVE-2015-3829.

تنها کاری که یک مهاجم باید انجام می داد این بود که یک MMS با یک فایل رسانه ای اصلاح شده به یک گوشی هوشمند آسیب پذیر ارسال کند و او کنترل کامل دستگاه را با توانایی نوشتن و خواندن داده ها از کارت حافظه به دست آورد. این آسیب‌پذیری توسط توسعه‌دهندگان اندروید برطرف شد، اما میلیون‌ها دستگاه هنوز آسیب‌پذیر هستند.

5. آسیب پذیری هسته صفر روز

این یک آسیب پذیری محلی است که امکان افزایش امتیازات را فراهم می کند. کاربر فعلیبه دلیل خطا در سیستم کار با داده های رمزنگاری هسته ذخیره شده در حافظه، روت شود. این آسیب‌پذیری در فوریه ۲۰۱۶ کشف شد و تمام هسته‌ها را که از ۳.۸ شروع می‌شد، پوشش داد، به این معنی که این آسیب‌پذیری به مدت ۴ سال وجود داشت.

این خطا می تواند توسط هکرها یا مخرب ها استفاده شود نرم افزاربرای افزایش اقتدار خود در سیستم، اما خیلی سریع اصلاح شد.

6. آسیب پذیری در MySQL

این آسیب پذیری کد CVE-2016-6662 را دریافت کرد و همه را تحت تأثیر قرار داد نسخه های موجودسرورهای پایگاه داده داده های MySQL(5.7.15، 5.6.33 و 5.5.52)، پایگاه های داده Oracle و کلون های MariaDB و PerconaDB.

مهاجمان می توانند از این طریق به سیستم دسترسی کامل داشته باشند پرس و جوی SQLکدی ارسال شد که به شما امکان می داد my.conf را با نسخه خود جایگزین کنید و سرور را راه اندازی مجدد کنید. همچنین امکان اجرای کدهای مخرب با حقوق superuser وجود داشت.

Oracle پاسخ داد، راه‌حل‌های MariaDB و PerconaDB به سرعت وصله‌ها را منتشر کردند، اما خیلی دیرتر.

7. Shellshock

این آسیب پذیری در سال 2014 کشف شد و 22 سال طول کشید. CVE-2014-6271 و با کد Shellshock اختصاص داده شد. این آسیب پذیری در خطر با Heartbleed قابل مقایسه است که قبلاً می دانیم. علت آن یک اشکال در مفسر فرمان Bash است که مفسر دستور پیش‌فرض در اکثر توزیع‌های لینوکس است.

Bash به شما اجازه می دهد که اعلام کنید متغیرهای محیطیبدون احراز هویت کاربر، اما با هم می توانید هر دستوری را در آنها اجرا کنید. این امر به ویژه در اسکریپت های CGI که ​​توسط اکثر سایت ها پشتیبانی می شود خطرناک است. نه تنها سرورها آسیب پذیر هستند، بلکه آسیب پذیر هستند کامپیوترهای شخصیکاربران، روترها و سایر دستگاه ها. در واقع، یک مهاجم می تواند هر فرمانی را از راه دور اجرا کند؛ این یک کنترل از راه دور کامل بدون احراز هویت است.

همه نسخه های Bash از جمله نسخه 4.3 تحت تأثیر قرار گرفتند، اگرچه پس از کشف مشکل، توسعه دهندگان به سرعت یک راه حل را منتشر کردند.

8. کوادروتر

این یک سری کامل از آسیب‌پذیری‌ها در اندروید است که در آگوست 2016 کشف شد. آنها کدهای CVE-2016-5340، CVE-2016-2059، CVE-2016-2504، CVE-2016-2503 را دریافت کردند. بیش از 900 میلیون نفر تحت تأثیر این خطا قرار گرفته اند دستگاه های اندرویدی. تمام آسیب‌پذیری‌ها در درایور پردازنده Qualcomm ARM یافت شد و می‌توان از همه آنها برای ریشه گرفتندسترسی به دستگاه

مانند DirtyCOW، در اینجا به هیچ مجوزی نیاز ندارید، فقط یک برنامه مخرب نصب کنید و می تواند تمام داده های شما را به دست آورده و به مهاجم منتقل کند.

9. آسیب پذیری در OpenJDK

این یک آسیب‌پذیری بسیار جدی لینوکس 2016 در ماشین جاوا OpenJDK با کد CVE-2016-0636 است، همه کاربرانی که Oracle Java SE 7 Update 97 و 8 Update 73 و 74 را برای Windows، Solaris، Linux و Mac OS X دارند، تحت تأثیر قرار می‌دهد. آسیب پذیری به مهاجم اجازه می دهد تا در صورت باز کردن صفحه خاصی در مرورگر با نسخه آسیب پذیر جاوا، کد دلخواه را در خارج از ماشین جاوا اجرا کند.

این به مهاجم اجازه می‌دهد تا به رمزهای عبور، داده‌های شخصی شما و همچنین برنامه‌ها را روی رایانه شما اجرا کند. در همه نسخه های جاوااین خطا خیلی سریع اصلاح شد؛ از سال 2013 وجود داشته است.

10. آسیب پذیری پروتکل HTTP/2

این یک سری کامل از آسیب پذیری هایی است که در سال 2016 در پروتکل HTTP/2 کشف شد. آنها کدهای CVE-2015-8659، CVE-2016-0150، CVE-2016-1546، CVE-2016-2525، CVE-2016-1544 را دریافت کردند. تمامی پیاده سازی های این پروتکل در Apache، Nginx Microsoft، Jetty و nghttp2 آسیب پذیر بودند.

همه آنها به مهاجم اجازه می دهد تا سرعت وب سرور را تا حد زیادی کاهش دهد و حمله انکار سرویس را انجام دهد. به عنوان مثال، یکی از خطاها منجر به امکان ارسال یک پیام کوچک شد که در سرور به گیگابایت باز شد. این باگ خیلی سریع برطرف شد و به همین دلیل سر و صدای زیادی در جامعه ایجاد نکرد.

آیا تو در امان هستی؟

در این مقاله به خطرناک ترین آسیب پذیری های لینوکس در سال های 2016، 2015 و 2014 پرداختیم. اگر به موقع اصلاح نشوند، بسیاری از آنها می توانند آسیب جدی به سیستم ها وارد کنند. به لطف کد منبع باز، چنین آسیب‌پذیری‌های لینوکس به سرعت شناسایی و رفع می‌شوند. فقط به یاد داشته باشید که سیستم خود را به روز کنید. مشکل فقط در اندروید باقی می ماند. برخی از دستگاه ها دیگر به روز رسانی دریافت نمی کنند و هنوز راه حلی برای این مشکل وجود ندارد.

یک تصور غلط رایج وجود دارد که سرورهایی که سیستم عامل لینوکس را اجرا می کنند، ایمن ترین و محافظت شده ترین سرورها در برابر نفوذ خارجی هستند. متأسفانه اینطور نیست؛ امنیت هر سروری به عوامل و اقدامات متعددی برای اطمینان از آن بستگی دارد و عملاً مستقل از سیستم عامل مورد استفاده است.

ما تصمیم گرفتیم مجموعه ای از مقالات اختصاص داده شده به امنیت شبکه را با سرور اوبونتو شروع کنیم، زیرا راه حل های این پلت فرم برای خوانندگان ما بسیار جالب است و بسیاری معتقدند که راه حل های لینوکس به خودی خود ایمن هستند.

در عین حال، یک روتر با یک آدرس IP اختصاصی یک "دروازه" به شبکه محلی است و فقط به مدیر بستگی دارد که آیا این دروازه یک مانع قابل اعتماد خواهد بود یا تبدیل به یک دروازه کشوری بسته با یک ناخن - میخ.

یکی دیگر از تصورات غلط رایج، استدلال به سبک این است: "چه کسی به آن نیاز دارد، سرور ما، ما چیز جالبی نداریم." در واقع، شبکه محلی شما ممکن است مورد علاقه مهاجمان نباشد، اما آنها می توانند از یک سرور هک شده برای ارسال هرزنامه، حملات به سرورهای دیگر، یک پروکسی ناشناس، به طور خلاصه، به عنوان نقطه شروع برای معاملات پنهان خود استفاده کنند.

و این در حال حاضر ناخوشایند است و می تواند به عنوان منبع مشکلات مختلف عمل کند: از ارائه دهنده تا سازمان های اجرای قانون. و در مورد انتشار ویروس ها، سرقت و تخریب اطلاعات مهمهمچنین نباید فراموش کنید، و همچنین این واقعیت را فراموش نکنید که خرابی یک شرکت منجر به زیان های کاملاً ملموس می شود.

علیرغم این واقعیت که مقاله به سرور اوبونتو اختصاص یافته است، ابتدا به مسائل امنیتی کلی می پردازیم که به طور یکسان برای هر پلتفرمی صدق می کنند و اصول اولیه هستند، بدون آن بحث با جزئیات بیشتر در مورد موضوع بی فایده است.

ایمنی از کجا شروع می شود؟

نه، امنیت با فایروال شروع نمی شود، اصلاً با فایروال شروع نمی شود. وسایل فنی، امنیت با کاربر شروع می شود. به هر حال، اگر مالک کلید را زیر فرش بگذارد، جالب ترین درب فلزی که توسط بهترین متخصصان نصب شده است، چه فایده ای دارد؟

بنابراین، اولین کاری که باید انجام دهید این است که یک ممیزی امنیتی انجام دهید. از این کلمه نترسید، همه چیز چندان پیچیده نیست: یک طرح شبکه شماتیک بکشید که در آن یک منطقه امن، یک منطقه خطر بالقوه و یک منطقه خطر بالا را مشخص کنید، و همچنین لیستی از کاربرانی که (باید داشته باشند) تهیه کنید. دسترسی) به این مناطق.

منطقه امن باید شامل شود منابع داخلیشبکه هایی که از خارج قابل دسترسی نیستند و سطح امنیت پایینی برای آنها قابل قبول است. اینها می توانند ایستگاه های کاری، سرورهای فایل و غیره باشند. دستگاه هایی که دسترسی به آنها محدود به شبکه محلی سازمانی است.

منطقه خطر بالقوه شامل سرورها و دستگاه هایی است که دسترسی مستقیم به شبکه خارجی ندارند، اما خدمات فردی آنها از خارج قابل دسترسی است، به عنوان مثال، سرورهای وب و پستی که در پشت دیوار آتش قرار دارند، اما همچنان درخواست های شبکه خارجی را ارائه می دهند.

منطقه خطرناک باید شامل دستگاه هایی باشد که مستقیماً از بیرون قابل دسترسی هستند؛ در حالت ایده آل، این باید یک روتر باشد.

در صورت امکان، یک منطقه بالقوه خطرناک باید در یک زیر شبکه جداگانه قرار گیرد - یک منطقه غیرنظامی (DMZ) که توسط یک فایروال اضافی از شبکه اصلی جدا می شود.

دستگاه های LAN فقط باید به آن دسته از خدماتی که در DMZ نیاز دارند دسترسی داشته باشند، مانند SMTP، POP3، HTTP و سایر اتصالات باید مسدود شوند. این به شما این امکان را می‌دهد که مهاجم یا بدافزاری را که از آسیب‌پذیری در یک سرویس جداگانه در یک منطقه غیرنظامی‌شده استفاده می‌کند و دسترسی آن‌ها به شبکه اصلی را ممنوع می‌کند، به‌طور قابل اعتماد ایزوله کنید.

از نظر فیزیکی، یک DMZ را می توان با نصب یک سرور / فایروال سخت افزاری جداگانه یا افزودن یک فایروال اضافی سازماندهی کرد. کارت شبکهوارد روتر شوید، اما در مورد دوم باید به امنیت روتر توجه زیادی داشته باشید. اما در هر صورت، اطمینان از امنیت یک سرور بسیار ساده تر از گروهی از سرورها است.

گام بعدی باید تجزیه و تحلیل لیست کاربران باشد، اینکه آیا همه آنها نیاز به دسترسی به DMZ و روتر دارند (به استثنای خدمات عمومی)، باید توجه ویژه ای به کاربرانی که از خارج متصل می شوند، شود.

به طور معمول، این نیاز به مرحله بسیار نامطلوب اعمال یک خط مشی رمز عبور دارد. همه رمزهای عبور برای کاربرانی که به خدمات مهم دسترسی دارند و توانایی اتصال از خارج را دارند باید حداقل دارای 6 کاراکتر و شامل، به جز حروف کوچک، کاراکترهای دو دسته از سه: حروف بزرگ، اعداد، کاراکترهای غیر الفبایی.

علاوه بر این، رمز عبور نباید شامل ورود کاربر یا قسمتی از آن باشد، نباید تاریخ یا نامی را داشته باشد که می تواند با کاربر مرتبط شود و ترجیحاً یک کلمه فرهنگ لغت نباشد.

ایده خوبی است که هر 30 تا 40 روز یکبار به تغییر رمز عبور بپردازید. واضح است که چنین سیاستی می تواند باعث رد شدن از سوی کاربران شود، اما همیشه باید به یاد داشته باشید که رمزهای عبور مانند 123 یا qwertyمعادل گذاشتن کلید زیر فرش.

امنیت سرور - هیچ چیز اضافی.

حال، با داشتن ایده ای از آنچه می خواهیم محافظت کنیم و از چه چیزی، اجازه دهید به سمت خود سرور برویم. فهرستی از تمام خدمات و خدمات تهیه کنید، سپس به این فکر کنید که آیا همه آنها در این سرور خاص مورد نیاز هستند یا اینکه می توان آنها را به جای دیگری منتقل کرد.

هر چه تعداد سرویس‌ها کمتر باشد، تضمین امنیت آسان‌تر است و احتمال اینکه سرور از طریق آسیب‌پذیری مهم در یکی از آنها به خطر بیفتد، کمتر می‌شود.

سرویس هایی را که به شبکه محلی سرویس می دهند (مثلاً squid) پیکربندی کنید تا درخواست ها را منحصراً از رابط محلی بپذیرند. هرچه خدمات خارجی کمتری در دسترس باشد، بهتر است.

یک اسکنر آسیب‌پذیری دستیار خوبی در تضمین امنیت خواهد بود؛ از آن باید برای اسکن رابط خارجی سرور استفاده شود. ما از نسخه آزمایشی یکی از معروف ترین محصولات - XSpider 7.7 استفاده کردیم.

اسکنر نشان می دهد پورت ها را باز کنید، سعی می کند نوع سرویس در حال اجرا و در صورت موفقیت آمیز بودن، آسیب پذیری های آن را تعیین کند. همانطور که می بینید، یک سیستم به درستی پیکربندی شده کاملا ایمن است، اما شما نباید کلید را زیر فرش رها کنید، وجود پورت های باز 1723 (VPN) و 3389 (RDP، ارسال به سرور ترمینال) دلیل خوبی برای فکر کردن به خط مشی رمز عبور است.

همچنین باید در مورد امنیت SSH صحبت کنیم؛ این سرویس معمولاً توسط مدیران استفاده می شود کنترل از راه دورسرور و مورد توجه مهاجمان است. تنظیمات SSH در یک فایل ذخیره می شود /etc/ssh/sshd_config، تمام تغییراتی که در زیر توضیح داده شده است در آن ایجاد می شود. اول از همه، شما باید مجوز زیر کاربر root را غیرفعال کنید؛ برای انجام این کار، گزینه را اضافه کنید:

PermitRootLogin شماره

اکنون مهاجم نه تنها رمز عبور، بلکه ورود به سیستم را نیز باید حدس بزند و همچنان رمز عبور ابرکاربر را نمی داند (امیدواریم با رمز عبور شما مطابقت نداشته باشد). تمام وظایف اداری هنگام اتصال از خارج باید از زیر انجام شود سودوورود به عنوان یک کاربر غیرمجاز

ارزش آن را دارد که لیست کاربران مجاز را به صراحت مشخص کنید و می توانید از ورودی هایی مانند استفاده کنید user@host، که به کاربر مشخص شده اجازه می دهد فقط از میزبان مشخص شده متصل شود. به عنوان مثال، برای اینکه به کاربر ivanov اجازه دهید از خانه متصل شود (IP 1.2.3.4)، باید ورودی زیر را اضافه کنید:

AllowUser [ایمیل محافظت شده]

همچنین استفاده از پروتکل قدیمی و کمتر ایمن SSH1 را غیرفعال کنید و فقط به نسخه دوم پروتکل اجازه دهید این کار را انجام دهد، خط زیر را به فرم تغییر دهید:

پروتکل 2

با وجود تمام اقدامات انجام شده، همچنان تلاش هایی برای اتصال به SSH و سایر سرویس های عمومی وجود خواهد داشت؛ برای جلوگیری از حدس زدن رمز عبور، از این ابزار استفاده کنید. fail2ban، که به شما امکان می دهد پس از چندین بار تلاش ناموفق برای ورود به سیستم، کاربر را به طور خودکار ممنوع کنید. با دستور زیر می توانید آن را نصب کنید:

Sudo apt-get install fail2ban

این ابزار بلافاصله پس از نصب آماده کار است، با این حال، ما به شما توصیه می کنیم فوراً برخی از پارامترها را تغییر دهید؛ برای انجام این کار، تغییراتی در فایل ایجاد کنید. /etc/fail2ban/jail.conf. به طور پیش فرض، فقط دسترسی به SSH کنترل می شود و زمان ممنوعیت 10 دقیقه (600 ثانیه) است، به نظر ما ارزش آن را دارد که با تغییر گزینه زیر آن را افزایش دهید:

Bantime = 6000

سپس در فایل اسکرول کنید و با تنظیم پارامتر بعد از نام بخش مربوطه، بخش‌هایی را برای سرویس‌های در حال اجرا در سیستم خود فعال کنید. فعال شددر یک ایالت درست است، واقعیبه عنوان مثال برای یک سرویس proftpdشبیه این خواهد شد:


فعال = درست

یکی دیگر پارامتر مهم ماکسرتری، که مسئول حداکثر تعداد تلاش برای اتصال است. پس از تغییر تنظیمات، فراموش نکنید که سرویس را مجدداً راه اندازی کنید:

Sudo /etc/init.d/fail2ban راه اندازی مجدد

می توانید لاگین ابزار را در اینجا ببینید /var/log/fail2ban.log.

طبق گزارش cvedetails.com، از سال 1999، 1305 آسیب پذیری در هسته لینوکس پیدا شده است که 68 مورد آن در سال 2015 یافت شده است. اکثر آنها مشکل خاصی ایجاد نمی کنند، آنها به عنوان Local و Low علامت گذاری شده اند، و برخی از آنها را فقط زمانی می توان فراخوانی کرد که به برنامه های خاص یا تنظیمات سیستم عامل مرتبط شوند. در اصل، اعداد کوچک هستند، اما هسته کل سیستم عامل نیست. آسیب‌پذیری‌ها نیز در Coreutils، Binutils، glibs و البته در برنامه‌های کاربر یافت می‌شوند. بیایید به جالب ترین آنها نگاه کنیم.

آسیب پذیری در کرنل لینوکس

سیستم عامل:لینوکس
مرحله:متوسط، کم
وکتور:از راه دور
CVE: CVE-2015-3331، CVE-2015-4001، CVE-2015-4002، CVE-2015-4003
بهره برداری:مفهوم، https://lkml.org/lkml/2015/5/13/740، https://lkml.org/lkml/2015/5/13/744

یک آسیب‌پذیری که در ماه ژوئن در هسته لینوکس قبل از 3.19.3 در تابع __driver_rfc4106_decrypt در arch/x86/crypto/aesni-intel_glue.c یافت شد، به دلیل پیاده‌سازی RFC4106 برای پردازنده‌های x86 است که از پسوند مجموعه دستورالعمل AES AES-NI پشتیبانی می‌کند. اینتل، دستورالعمل‌های استاندارد رمزگذاری پیشرفته اینتل) آدرس‌های بافر را در برخی موارد به درستی محاسبه نمی‌کند. اگر تونل IPsec برای استفاده از این حالت پیکربندی شده باشد (الگوریتم AES - CONFIG_CRYPTO_AES_NI_INTEL)، آسیب پذیری می تواند منجر به خراب شدن حافظه، خرابی و اجرای کد CryptoAPI از راه دور شود. علاوه بر این، جالب ترین چیز این است که مشکل می تواند به خودی خود، در ترافیک کاملا قانونی، بدون دخالت خارجی ایجاد شود. در زمان انتشار، مشکل حل شده است.

پنج آسیب‌پذیری در درایور Linux 4.0.5 ozwpan شناسایی شده است که دارای وضعیت آزمایشی است، چهار مورد از آنها به شما امکان می‌دهد با ارسال بسته‌های طراحی شده ویژه، حمله DoS را با خراب کردن هسته سازماندهی کنید. مشکل مربوط به سرریز بافر به دلیل مدیریت نادرست اعداد صحیح امضا شده است، که در آن محاسبه در memcpy بین require_size و offset یک عدد منفی برمی‌گرداند، در نتیجه داده‌ها در پشته کپی می‌شوند.

در تابع oz_hcd_get_desc_cnf در drivers/staging/ozwpan/ozhcd.c و در توابع oz_usb_rx و oz_usb_handle_ep_data فایل drivers/staging/ozwpan/ozusbsvc1.c یافت می شود. آسیب‌پذیری‌های دیگر شامل تقسیم احتمالی بر 0، حلقه کردن سیستم یا توانایی خواندن از مناطق خارج از محدوده بافر اختصاص‌یافته است.

درایور ozwpan، افزودنی جدید به لینوکس، می‌تواند با دستگاه‌های بی‌سیم موجود که با فناوری Ozmo Devices سازگار هستند جفت شود. ارتباط مستقیم به کمک وای - فای). اجرای یک کنترلر میزبان USB را ارائه می دهد، اما ترفند این است که به جای اتصال فیزیکی، دستگاه جانبی از طریق Wi-Fi ارتباط برقرار می کند. درایور بسته های شبکه با نوع (اتریپ) 0x892e را می پذیرد، سپس آنها را تجزیه و به عملکردهای مختلف USB ترجمه می کند. در حال حاضر در موارد نادری استفاده می شود، بنابراین می توان آن را با بارگیری ماژول ozwpan.ko غیرفعال کرد.

لینوکس اوبونتو

سیستم عامل: لینوکس اوبونتو 04/12–04/15 (هسته تا 15 ژوئن 2015)
مرحله:بحرانی
وکتور:محلی
CVE: CVE-2015-1328
بهره برداری: https://www.exploit-db.com/exploits/37292/

یک آسیب پذیری حیاتی در سیستم فایل OverlayFS امکان دسترسی ریشه در سیستم های اوبونتو را فراهم می کند که امکان نصب پارتیشن های OverlayFS توسط یک کاربر غیرمجاز را فراهم می کند. تنظیمات پیش‌فرض مورد نیاز برای بهره‌برداری از آسیب‌پذیری در تمام شاخه‌های اوبونتو 12.04-15.04 استفاده می‌شود. خود OverlayFS نسبتاً اخیراً در هسته لینوکس ظاهر شد - با شروع 3.18-rc2 (2014)، این یک توسعه SUSE برای جایگزینی UnionFS و AUFS است. OverlayFS به شما امکان می دهد یک چند لایه مجازی ایجاد کنید سیستم فایل، که چندین بخش از سیستم های فایل دیگر را ترکیب می کند.

سیستم فایل از یک لایه پایین و بالایی ایجاد می شود که هر کدام به دایرکتوری های جداگانه متصل می شوند. لایه پایین فقط برای خواندن در فهرست‌های سیستم‌های فایل پشتیبانی شده در لینوکس، از جمله سیستم‌های شبکه، استفاده می‌شود. لایه بالایی معمولاً قابل نوشتن است و اگر فایل ها تکراری باشند، داده های لایه پایین را لغو می کند. در توزیع های زنده، سیستم های مجازی سازی کانتینر و سازماندهی عملیات کانتینرها برای برخی از برنامه های دسکتاپ مورد تقاضا است. فضاهای نام کاربری به شما این امکان را می دهد که مجموعه ای از شناسه های کاربر و گروه خود را در کانتینرها ایجاد کنید. این آسیب‌پذیری به دلیل بررسی نادرست حقوق دسترسی هنگام ایجاد فایل‌های جدید در فهرست فایل سیستم زیرین ایجاد می‌شود.

اگر هسته با CONFIG_USER_NS=y ساخته شده باشد (فضای نام کاربر را فعال می کند) و هنگام نصب پرچم FS_USERNS_MOUNT مشخص شده باشد، OverlayFS را می توان توسط یک کاربر معمولی در فضای نام دیگری سوار کرد، از جمله جایی که عملیات با حقوق ریشه. در این مورد، عملیات با فایل‌هایی با حقوق ریشه که در چنین فضاهای نامی انجام می‌شوند، هنگام انجام اقدامات با سیستم فایل زیرین، از امتیازات یکسانی برخوردار می‌شوند. بنابراین، می توانید هر پارتیشن FS را مونت کنید و هر فایل یا دایرکتوری را مشاهده یا تغییر دهید.

در زمان انتشار، یک به‌روزرسانی هسته با یک ماژول OverlayFS ثابت از اوبونتو قبلاً در دسترس بود. و در صورت آپدیت بودن سیستم مشکلی پیش نمی آید. در همین حالت، زمانی که به روز رسانی امکان پذیر نیست، به عنوان یک اقدام موقت، باید با حذف ماژول overlayfs.ko استفاده از OverlayFS را متوقف کنید.

آسیب‌پذیری‌ها در برنامه‌های کاربردی کلیدی

سیستم عامل:لینوکس
مرحله:بحرانی
وکتور:محلی، از راه دور
CVE: CVE-2015-0235
بهره برداری: https://www.qualys.com/research/security-advisories/exim_ghost_bof.rb

آسیب پذیری خطرناک در کتابخانه استاندارد GNU glibc که بخش اصلی سیستم عامل لینوکس و در برخی از نسخه‌های Oracle Communications Applications و Oracle Pillar Axiom است، طی یک ممیزی کد توسط هکرهای Qualys کشف شد. نام رمز GHOST را دریافت کرد. این یک سرریز بافر در داخل تابع __nss_hostname_digits_dots() است که توسط توابع glibc مانند gethostbyname() و gethostbyname2() برای دریافت نام میزبان (از این رو نام GetHOST) استفاده می شود. برای سوء استفاده از آسیب‌پذیری، باید با استفاده از یک آرگومان نام میزبان نامعتبر، یک سرریز بافر برای برنامه‌ای ایجاد کنید که از طریق DNS حل نام را انجام می‌دهد. یعنی از نظر تئوری، این آسیب‌پذیری را می‌توان برای هر برنامه‌ای که به یک درجه از شبکه استفاده می‌کند، اعمال کرد. می تواند به صورت محلی و از راه دور فراخوانی شود و امکان اجرای کد دلخواه را فراهم کند.

جالب ترین چیز این است که این خطا در می 2013 برطرف شد، یک پچ بین نسخه های glibc 2.17 و 2.18 ارائه شد، اما مشکل به عنوان یک وصله امنیتی طبقه بندی نشد، بنابراین توجهی به آن نشد. در نتیجه، بسیاری از توزیع‌ها آسیب‌پذیر بودند. در ابتدا گزارش شد که اولین نسخه آسیب پذیر 2.2 به تاریخ 10 نوامبر 2000 بود، اما این احتمال وجود دارد که تا 2.0 ظاهر شود. از جمله، توزیع‌های RHEL/CentOS 5.x–7.x، Debian 7 و Ubuntu 12.04 LTS تحت تأثیر قرار گرفتند. رفع فوری در حال حاضر موجود است. خود هکرها ابزاری را پیشنهاد کردند که ماهیت آسیب پذیری را توضیح می دهد و به شما امکان می دهد سیستم خود را بررسی کنید. همه چیز در اوبونتو 12.04.4 LTS خوب است:

$ wget https: //goo.gl/RuunlE

$gcc gistfile1. c - o CVE - 2015 - 0235

$. / CVE - 2015 - 0235

آسیب پذیر نیست

بررسی سیستم در GHOST

تقریباً بلافاصله، ماژولی منتشر شد تا امکان اجرای از راه دور کد را در لینوکس x86 و x86_64 با یک سیستم کارآمد فراهم کند. سرور پست الکترونیکی Exim (با فعال بودن helo_try_verify_hosts یا helo_verify_hosts). بعداً پیاده سازی های دیگری ظاهر شد، به عنوان مثال، ماژول Metasploit برای بررسی وبلاگ در وردپرس.

کمی بعد، در سال 2015، سه آسیب‌پذیری دیگر در GNU glibc کشف شد که به کاربر راه دور اجازه می‌داد تا یک حمله DoS انجام دهد یا سلول‌های حافظه را خارج از مرز پشته بازنویسی کند: CVE-2015-1472، CVE-2015-1473، CVE-2015- 1781.

سیستم عامل:لینوکس (GNU Coreutils)
مرحله:کم
وکتور:محلی، از راه دور
CVE: CVE-2014-9471
بهره برداری:خیر

GNU Coreutils یکی از بسته‌های اصلی *nix است که تقریباً همه ابزارهای اصلی (cat، ls، rm، date...) را شامل می‌شود. مشکل در تاریخ پیدا شد. یک اشکال در تابع parse_datetime اجازه می دهد تا یک مهاجم راه دور بدون حسابدر سیستم، باعث انکار سرویس شود، و احتمالاً کد دلخواه را از طریق یک رشته تاریخ ساخته شده ویژه با استفاده از منطقه زمانی اجرا کنید. آسیب پذیری به شکل زیر است:

$ لمس "-- date = TZ = "123"345"@1"

خطای بخش بندی

تاریخ $ - d 'TZ = "اروپا / مسکو" "00 : 00 + 1 ساعت"

خطای بخش بندی

تاریخ $ "-- date = TZ = "123"345"@1"

* * * خطا در "تاریخ": رایگان () : اشاره گر نامعتبر: 0xbfc11414 * * *

آسیب پذیری در گنو کوروتیلز

اگر آسیب‌پذیری وجود نداشته باشد، پیامی در مورد فرمت تاریخ نادرست دریافت خواهیم کرد. تقریباً همه توسعه دهندگان توزیع لینوکس وجود این آسیب پذیری را گزارش کرده اند. یک به روز رسانی در حال حاضر در دسترس است.


خروجی عادی گنو کوروتیل های اصلاح شده

سیستم عامل:لینوکس (grep 2.19–2.21)
مرحله:کم
وکتور:محلی
CVE: CVE-2015-1345
بهره برداری:خیر

آسیب پذیری ها به ندرت در ابزار grep یافت می شوند که برای جستجوی متن با استفاده از الگو استفاده می شود. اما این ابزار اغلب توسط برنامه های دیگر از جمله برنامه های سیستمی فراخوانی می شود، بنابراین وجود آسیب پذیری ها بسیار مشکل سازتر از آن چیزی است که در نگاه اول به نظر می رسد. یک اشکال در تابع bmexec_trans در kwset.c می‌تواند منجر به خواندن داده‌های اولیه نشده از ناحیه‌ای خارج از بافر اختصاص‌یافته یا باعث از کار افتادن برنامه شود. یک هکر می تواند با ایجاد مجموعه ای خاص از داده های ارائه شده به ورودی برنامه با استفاده از grep -F از این مزیت استفاده کند. به روز رسانی در حال حاضر در دسترس است. هیچ اکسپلویتی وجود ندارد که از آسیب پذیری یا یک ماژول برای Metasploit استفاده کند.

آسیب پذیری در FREEBSD

سیستم عامل: FreeBSD
مرحله:کم
وکتور:محلی، از راه دور
CVE: CVE-2014-0998، CVE-2014-8612، CVE-2014-8613
بهره برداری: https://www.exploit-db.com/exploits/35938/

به طور دقیق تر، آسیب پذیری های زیادی در پایگاه داده CVE برای سال 2015 وجود ندارد - فقط شش مورد. سه آسیب‌پذیری در FreeBSD 8.4–10.x در پایان ژانویه 2015 توسط محققان تیم Core Exploit Writers پیدا شد. CVE-2014-0998 مربوط به اجرای درایور کنسول VT (Newcons) است که چندین ترمینال مجازی را فراهم می کند که توسط پارامتر kern.vty=vt در /boot/loader.conf فعال شده است.
CVE-2014-8612 هنگام استفاده از پروتکل SCTP رخ می دهد و به دلیل یک خطا در کد تأیید شناسه جریان SCTP که سوکت های SCTP را پیاده سازی می کند (پورت محلی 4444) ایجاد می شود. اصل یک خطای خارج از حافظه در تابع sctp_setopt() (sys/netinet/sctp_userreq.c) است. این به یک کاربر غیرمجاز محلی این امکان را می دهد که 16 بیت از داده های حافظه هسته را بنویسد یا بخواند و امتیازات خود را در سیستم افزایش دهد، داده های حساس را آشکار کند یا سیستم را خراب کند.

CVE-2014-8613 اجازه می دهد تا هنگام پردازش یک بسته SCTP دریافتی خارجی، هنگامی که گزینه سوکت SCTP_SS_VALUE SCTP تنظیم شده است، یک اشاره گر NULL به کار گرفته شود. برخلاف نسخه‌های قبلی، CVE-2014-8613 می‌تواند برای ایجاد خرابی هسته از راه دور با ارسال بسته‌های ساخته‌شده خاص استفاده شود. در FreeBSD 10.1، می توانید با تنظیم متغیر net.inet.sctp.reconfig_enable روی 0، از خود محافظت کنید و در نتیجه پردازش بلوک های RE_CONFIG را غیرفعال کنید. یا به سادگی برنامه ها را ممنوع کنید (مرورگرها، مشتریان پست الکترونیکیو غیره). اگرچه در زمان انتشار، توسعه دهندگان قبلاً به روز رسانی را منتشر کرده بودند.


آمار آسیب پذیری FreeBSD

آسیب پذیری در OPENSL

سیستم عامل: OpenSSL
مرحله:از راه دور
وکتور:محلی
CVE: CVE-2015-1793
بهره برداری:خیر

در سال 2014، یک آسیب‌پذیری حیاتی Heartbleed در OpenSSL، یک بسته رمزنگاری پرکاربرد برای کار با SSL/TLS، کشف شد. این حادثه در یک زمان باعث انتقادات گسترده ای از کیفیت کد شد و از یک طرف منجر به ظهور جایگزین هایی مانند LibreSSL شد و از طرف دیگر خود توسعه دهندگان در نهایت به تجارت پرداختند.

فروشندگان برتر بر اساس آسیب پذیری ها

این آسیب پذیری حیاتی توسط آدام لنگلی از گوگل و دیوید بنجامین از BoringSSL کشف شد. تغییرات ایجاد شده در نسخه‌های OpenSSL 1.0.1n و 1.0.2b باعث شد که OpenSSL در صورت ناموفق بودن اولین تلاش برای ایجاد یک زنجیره اعتماد، یک زنجیره تأیید گواهی جایگزین پیدا کند. این به شما امکان می دهد روند تأیید گواهی را دور بزنید و یک اتصال تأیید شده را با استفاده از یک گواهی جعلی سازماندهی کنید، به عبارت دیگر - به آرامی کاربر را به سایت ها یا سرورهای جعلی فریب دهید. پست الکترونیکیا هر حمله MITM را در جایی که گواهی استفاده می شود، اجرا کنید.

پس از کشف این آسیب‌پذیری، توسعه‌دهندگان نسخه‌های 1.0.1p و 1.0.2d را در 9 جولای منتشر کردند که این مشکل برطرف شد. نسخه های 0.9.8 یا 1.0.0 این آسیب پذیری را ندارند.

Linux.Encoder

پایان پاییز با ظهور تعدادی ویروس رمزگذاری مشخص شد، ابتدا Linux.Encoder.0 و به دنبال آن تغییرات Linux.Encoder.1 و Linux.Encoder.2 که بیش از 2500 سایت را آلوده کردند. طبق گفته شرکت های آنتی ویروس، سرورهای لینوکس و FreeBSD با وب سایت هایی که با استفاده از CMS های مختلف اجرا می شوند - WordPress، Magento CMS، Joomla و دیگران - مورد حمله قرار می گیرند. هکرها از یک آسیب پذیری ناشناس سوء استفاده می کنند. سپس یک اسکریپت پوسته (فایل error.php) قرار داده شد که با کمک آن هر کدام اقدامات بعدی(از طریق مرورگر). به طور خاص، تروجان رمزگذار لینوکس راه اندازی شد.

رمزگذار، که معماری سیستم عامل را تعیین کرد و باج افزار را راه اندازی کرد. رمزگذار با حقوق وب سرور راه اندازی شد (اوبونتو - www-data) که برای رمزگذاری فایل ها در دایرکتوری که فایل ها و اجزای CMS در آن ذخیره می شوند کاملاً کافی است. فایل های رمزگذاری شده یک پسوند جدید دریافت می کنند. encrypted.

این باج‌افزار همچنین سعی می‌کند از سایر دایرکتوری‌های سیستم‌عامل دور بزند؛ اگر حقوق به درستی پیکربندی نشده باشد، به راحتی می‌تواند از مرزهای وب‌سایت فراتر رود. سپس، فایل README_FOR_DECRYPT.txt در دایرکتوری ذخیره شد که حاوی دستورالعمل‌هایی برای رمزگشایی فایل‌ها و الزامات هکر است. بر این لحظهشرکت های آنتی ویروس ابزارهایی را معرفی کرده اند که به شما امکان رمزگشایی دایرکتوری ها را می دهد. به عنوان مثال، مجموعه ای از Bitdefender. اما باید به خاطر داشته باشید که همه ابزارهای طراحی شده برای رمزگشایی فایل ها، کد پوسته را حذف نمی کنند و همه چیز ممکن است دوباره اتفاق بیفتد.

با توجه به اینکه بسیاری از کاربرانی که مدیریت وب سایت را توسعه می دهند یا تجربه می کنند، اغلب یک وب سرور را روی آن نصب می کنند کامپیوتر خانگی، باید نگران امنیت باشید: دسترسی از بیرون را مسدود کنید، نرم افزار را به روز کنید، آزمایش هایی را روی VM انجام دهید. و خود این ایده می تواند در آینده برای حمله به سیستم های خانگی مورد استفاده قرار گیرد.

نتیجه

نرم افزار پیچیده بدون خطا از نظر فیزیکی وجود ندارد، بنابراین باید با این واقعیت کنار بیایید که آسیب پذیری ها دائماً کشف می شوند. اما همه آنها نمی توانند واقعاً مشکل ساز باشند. و با مصرف می توانید از خود محافظت کنید مراحل ساده: نرم افزارهای بلااستفاده را حذف کنید، آسیب پذیری های جدید را بررسی کنید و حتما به روز رسانی های امنیتی را نصب کنید، فایروال را پیکربندی کنید، آنتی ویروس نصب کنید. و فناوری‌های ویژه‌ای مانند SELinux را فراموش نکنید که کاملاً قادر به به خطر انداختن دیمون یا برنامه کاربر هستند.