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

مقدمه

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

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

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

طبقه بندی آسیب پذیری های امنیتی

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

طبقه بندی آسیب پذیری های حفاظت بسته به خطاهای برنامه:

  • سرریز بافر (سرریز بافر). این آسیب پذیری ناشی از عدم کنترل خروجی آرایه در حافظه در طول اجرای برنامه بوجود می آید. هنگامی که یک بافر اندازه محدود غرق می شود، محتویات سلول های حافظه خارجی رونویسی می شوند و خروج اضطراری از برنامه رخ می دهد. در محل بافر در فرآیند فرآیند، بافر سرریز شده در پشته (سرریز بافر پشته) و منطقه داده های استاتیک (Overflow BSS Buffer) متمایز است.
  • آسیب پذیری ورودی غوطه ور شده (آسیب پذیری ورودی ضعیف). آسیب پذیری "ورودی خراب شده" ممکن است در مواردی رخ دهد که داده های وارد شده توسط کاربر بدون کنترل کافی به مترجم برخی از زبان های خارجی منتقل می شود (معمولا این یک پوسته یونیکس یا SQL زبان است). در این مورد، کاربر ممکن است داده های ورودی را تنظیم کند که مترجم راه اندازی شده دستور اشتباه را که توسط نویسندگان برنامه آسیب پذیر فرض شد، برآورده می کند.
  • آسیب پذیری رشته فرمت. این نوع آسیب پذیری های حفاظتی یک زیرمجموعه از آسیب پذیری "ورودی خراب" است. این اتفاق می افتد به دلیل کنترل کافی از پارامترها در هنگام استفاده از توابع فرمت I / O از printf، fprintf، scanf، و غیره کتابخانه استاندارد زبان. این توابع به عنوان یکی از پارامترهای یک رشته کاراکتر مشخص می شود که فرمت ورودی یا خروجی استدلال های تابع بعدی را مشخص می کند. اگر کاربر خود را می تواند نوع قالب بندی را تنظیم کند، این آسیب پذیری ممکن است به عنوان یک نتیجه از کاربرد ناموفق توابع قالب بندی ردیف رخ دهد.
  • آسیب پذیری ها به عنوان یک نتیجه از خطاهای هماهنگ سازی (شرایط مسابقه). مشکلات چند وظیفه منجر به موقعیت هایی که به نام "وضعیت مسابقه" نامیده می شود: برنامه ای که برای انجام یک محیط چند تایی طراحی نشده است، ممکن است فرض شود که، به عنوان مثال، فایل های مورد استفاده توسط آن نمی تواند برنامه دیگر را تغییر دهد. به عنوان یک نتیجه، یک مهاجم، در زمان، جایگزین محتویات این فایل های کاری، می تواند یک برنامه را برای انجام اقدامات خاص تحمیل کند.

البته، علاوه بر ذکر شده، کلاس های دیگر آسیب پذیری های حفاظت وجود دارد.

بررسی آنالایزرهای موجود

ابزارهای زیر برای شناسایی آسیب پذیری های حفاظت در برنامه ها اعمال می شود:

  • debuggers پویا ابزارهایی که به شما این امکان را می دهند که برنامه را در روند اعدام نادیده بگیرید.
  • آنالایزر استاتیک (debuggers استاتیک). ابزارهایی که از اطلاعات انباشته شده در طی تجزیه و تحلیل استاتیک برنامه استفاده می کنند.

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

این مقاله یک مرور کلی از چندین آنالیز کننده استاتیک موجود را پیشنهاد می کند. هر کدام از آنها را بیشتر بدانید.

هنگام شروع اسکن فکری برنامه AVAST PC را برای انواع مختلفی از مشکلات بررسی می کند و سپس گزینه هایی را برای از بین بردن ارائه می دهد.

  • ویروس ها: فایل های حاوی کد مخرب که ممکن است بر ایمنی و عملکرد کامپیوتر شما تاثیر بگذارد.
  • آسیب پذیر به: برنامه هایی که نیاز به به روز رسانی دارند که می توانند توسط مهاجمان برای دسترسی به سیستم شما استفاده شوند.
  • گسترش مرورگر با شهرت بد: پسوندهای مرورگر، که معمولا بدون دانش شما نصب می شوند و بر عملکرد سیستم تاثیر می گذارند.
  • کلمه عبور غیر قابل اعتماد: کلمه عبور که برای دسترسی به بیش از یک حساب کاربری در اینترنت استفاده می شود و می تواند به راحتی هک یا به خطر بیفتد.
  • تهدیدات شبکه: آسیب پذیری های شبکه شما که می تواند حملات احتمالی را به شما بدهد دستگاه های شبکه و روتر
  • مشکلات با عملکرد: اشیاء ( فایل های غیر ضروری و برنامه های کاربردی، مشکلات پیکربندی) که ممکن است از عملیات PC جلوگیری کند.
  • آنتی ویروس متضاد: برنامه های آنتی ویروس بر روی کامپیوتر با Avast نصب شده است. حضور چند نرم افزار آنتی ویروس کار کامپیوتر را کاهش می دهد و اثربخشی حفاظت از ضد ویروس را کاهش می دهد.

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

حل مشکلات شناسایی شده است

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

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

توجه داشته باشید. سیاهههای مربوط به اسکن ضد ویروس را می توان در تاریخ اسکن مشاهده کرد، به انتخاب شما می توانید بروید حفاظت از آنتی ویروس.

مدیریت تنظیمات هوشمند اسکن

برای تغییر تنظیمات هوشمند اسکن، را انتخاب کنید تنظیمات اسکن هوشمند مشترک و مشخص کنید، برای آنچه از انواع ذکر شده از مشکلات شما می خواهید اسکن هوشمند را انجام دهید.

  • ویروس ها
  • منسوخ شده توسط
  • افزودنی مرورگر
  • تهدیدات شبکه
  • مسائل مربوط به سازگاری
  • مشکلات با عملکرد
  • کلمه عبور غیر قابل اعتماد

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

کلیک تنظیمات در کنار کتیبه اسکن برای ویروس هابرای تغییر تنظیمات اسکن.

راه دیگری برای نگاه کردن به این مشکل این است که شرکت ها باید سریعا زمانی که نرم افزار آسیب پذیری داشته باشد، پاسخ دهد. این نیاز دارد که بخش فناوری اطلاعات در نهایت پیگیری شود برنامه های نصب شده، اجزای و تکه ها با استفاده از اتوماسیون و ابزار استاندارد. تلاش های بخش هایی برای استاندارد کردن برچسب های نرم افزاری (19770-2) وجود دارد که فایل های XML هستند که با یک برنامه، جزء و / یا پچ که شناسایی شده اند، نصب شده است نرم افزار، و در مورد یک جزء یا پچ، کدام برنامه آنها بخشی است. برچسب ها اطلاعات ناشر معتبر، اطلاعات نسخه، لیست فایل ها را با نام فایل، فایل امن هش و اندازه که می تواند مورد استفاده قرار گیرد برای تایید اینکه برنامه نصب شده در سیستم است، و فایل های دودویی توسط شخص ثالث تغییر نکرده است. این برچسب ها امضا شده اند امضای دیجیتالی ناشر

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

گروهی از شرکت هایی از سازمان های غیر انتفاعی IEEE / ISTO به نام Tagvault.org (www.tagvault.org) با دولت ایالات متحده، به اجرای استاندارد ISO 19770-2، که به این سطح اتوماسیون اجازه می دهد، نامیده می شود. در برخی موارد، این برچسب ها مربوط به این پیاده سازی احتمالا برای نرم افزار فروخته شده توسط دولت ایالات متحده در چند سال آینده اجباری است.

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

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

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

منابع اطلاعات

پایگاه داده سیستم مدیریت آسیب پذیری "امیدوار کننده نرم افزار نظارت" به طور خودکار از منابع زیر دوباره پر شده است:

  • بانک اطلاعاتی تهدیدات امنیتی اطلاعات (BDA BDI) FSTEC از روسیه.
  • پایگاه ملی آسیب پذیری ملی (NVD) NIST.
  • Red Hat Bugzilla.
  • Debian Security Bug ردیاب.
  • لیست پستی Centos

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

کنترل آسیب پذیری های نرم افزاری

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

به عنوان مثال، در چرخه زندگی توسعه دهنده نرم افزار امن (SSDLC - توسعه نرم افزار امن) از شرکت Hewlett Packard، کنترل های شخص ثالث یکی از مکان های مرکزی است.

سیستم ما حضور آسیب پذیری ها را در نسخه های موازی / ساخت یک محصول نرم افزاری دنبال می کند.

این کار مثل این کار می کند:

1. توسعه دهنده لیستی از کتابخانه های شخص ثالث و اجزای مورد استفاده در محصول را به ما می فرستد.

2. ما روزانه بررسی می کنیم:

ب آیا روش های حذف آسیب پذیری های قبلا شناسایی شده ظاهر شد.

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

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

ادغام با TIAS VIPNET

VIPNET تهدیدات هوش مصنوعی سیستم نرم افزار تجزیه و تحلیل نرم افزار و سخت افزار به طور خودکار حملات کامپیوتری را تشخیص می دهد و حوادث را بر اساس منابع مختلف رویدادها نشان می دهد. امنیت اطلاعات. منبع اصلی رویدادهای حوادث VIPNET TIAS - IDS VIPNET، که تجزیه و تحلیل ترافیک شبکه های ورودی و خروجی را با استفاده از پایگاه های داده های قواعد تعیین کننده قواعد تعیین کننده "نظارت امیدوار" را تجزیه و تحلیل می کند. برخی از امضاها برای تشخیص استثمار آسیب پذیری ها نوشته شده اند.

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

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

نظارت بر دسترسی به آسیب پذیری ها در سیستم های اطلاعاتی

سناریوی دیگری از استفاده از سیستم مدیریت آسیب پذیری، بررسی تقاضا است.

مشتری به طور مستقل محدوده سیستم نصب شده بر روی گره (اسلحه، سرور، DBMS، Pak Shi، تجهیزات شبکه) سیستم و نرم افزار کاربردی و اجزای کاربردی را تشکیل می دهد و گزارشات مربوط به آسیب پذیری ها و هشدارهای دوره ای را به آسیب پذیری ها و هشدارهای دوره ای دریافت می کند در مورد آسیب پذیری های آنها وضعیت.

تفاوت سیستم از اسکنرهای آسیب پذیر رایج:

  • نصب مواد نظارت بر گره ها نیازی نیست.
  • یک بار شبکه ایجاد نمی کند، زیرا معماری خود را ارائه نمی دهد و سرورهای اسکن را ارائه نمی دهد.
  • یک بار در تجهیزات ایجاد نمی کند، زیرا لیست اجزای سازنده توسط دستورات سیستم یا یک اسکریپت سبک وزن منبع باز ایجاد می شود.
  • امکان اطلاعات نشت را از بین می برد. "نظارت چشم انداز" نمی تواند چیزی را به طور قابل اعتماد در محل فیزیکی و منطقی یا هدف عملکردی گره در سیستم اطلاعاتی یاد بگیرد. تنها اطلاعاتی که محدودیت های محوطه کنترل شده مشتری را ترک می کند، فایل TXT با لیستی از اجزای نرم افزاری است. این فایل برای تعمیر و نگهداری و بارگیری شده توسط Suu توسط مشتری مورد بررسی قرار می گیرد.
  • ما نیازی به کار سیستم نداریم حساب ها در گره های کنترل شده. این اطلاعات توسط مدیر گره از طرف خود جمع آوری می شود.
  • اطلاعات امن در VPPNNET VPN، IPSec یا HTTPS.

اتصال به خدمات مدیریت آسیب پذیری ها "نظارت چشم انداز" به مشتری کمک می کند تا نیاز به تشخیص ANZ.1، تجزیه و تحلیل آسیب پذیری را انجام دهد سیستم اطلاعات و حذف عملیاتی آسیب پذیری های تازه شناسایی شده "دستورات FSTEC روسیه شماره 17 و 21. شرکت ما یک مجوز FSTEC از روسیه در حفاظت فنی اطلاعات محرمانه است.

هزینه

حداقل هزینه 25000 روبل در سال برای 50 گره متصل به سیستم اگر یک قرارداد موجود برای اتصال به سیستم وجود دارد