در قسمت اول از سری مقالات Splunk Security به بررسی روش های شناسایی بد افزارها و چالش های آن و همچنین کاربردهای Splunk Forwarder پرداخته شد و در این قسمت نیز به بررسی روش های آنالیز با Splunk جهت شناسایی اختلالات ناشناخته خواهیم پرداخت.
جستجو برای اختلالات موجود در ایجاد فرآیند
اصولا محافظت در برابر موارد ناشناخته از مسائل چالشبرانگیز در حوزه IT به شمار میآید. این موضوع به معنای عدم وجود یک فهرست مشخص برای تایید مواردی است که صرفا به صورت درست یا غلط تعریف شدند، و در واقع موارد درست و غلط حاصل از دادهها را نیز در برمیگیرد. بنابراین نتایج حاصله به همراه درکی از اکثریت در مقابل اقلیت بوده و با سایر اطلاعات تحلیلی در این خصوص، مرتبط میباشد.
هدف از به کارگیری رویکرد تجزیه و تحلیل
تغییرات ایجاد شده در فعالیتها را میتوان با مقایسه رویدادهای گذشته و فعالیتهای جاری تشخیص داده و به این ترتیب اختلالات موجود را شناسایی نمود. عوامل مربوط به تایید جنبههای مختلف از شناسایی اختلالات عبارتند از:
- شناسایی موارد جدید و مواردی که از قبل وجود داشتند.
- کسب اطلاعات آماری درباره موارد جدید و موارد قبلی جهت تعیین موارد قدیمی (نرمال) و موارد جدید .
- تعیین روابط زمانی بین موجودیتهای جدید و قبلی
- تعیین رابطه بین Entity فعلی و سایر Entityها مانند تعداد منابع مرتبط با آن
با بهرهمندی از دیدگاهها و اطلاعات به دست آمده در مورد اختلالات میتوان موارد نرمال را حذف نموده و اختلالاتی را تشخیص داد که احتمال ارزیابی و آنالیز آن زیاد است.
انجام این تمایزات زمانی امکانپذیر است که اطلاعات آماری مربوط به Entityهای مختلف باهم مقایسه شود.
Windows Sysinternal به ارائه اطلاعات زیادی برای درک وضعیت امنیت و آسیبپذیری در Endpointها میپردازد. یکی از مزایای فوقالعادهی بررسی اطلاعات با Sysinternal آن است که امکان دستیابی به قابلیت دید (Visibility) را در رابطه با چگونگی نصب و اجرای فرآیندها و فایلها فراهم مینماید. Eventهایی در رابطه با اجرای فرآیندها وجود دارد که نشانگر بخشی از فعالیتهای سیستم بوده و منابع مهم اطلاعاتی برای شناخت موارد زیر را در اختیار تحلیلگران امنیتی میگذارد:
- پروسس های اجرا شده
- مسیر دقیق فایل اجرایی
- پروسس اصلی که برنامه مربوطه را اجرا می کند.
- مشخصات پروسس های اجرایی
کلیه اطلاعات جمعاوری شده با Sysinternal، به عنوان بخش مهم و حیاتی از اطلاعات جمعآوریشده درباره فعالیت سیستم محسوب میشوند. این اطلاعات در انجام فرآیندهای تحلیلی جهت شناسایی اختلالات موجود در فرآیندها و عملیات اجراشده در Endpoint به کار میروند. این امر از طریق جمعآوری دادهها از منابع مختلف Sysmon، به سادگی صورت میگیرد. با استفاده از اطلاعات Hash به دست آمده از Sysmon که به فرآیندهای مختلف پیوست میشوند، میتوان مواردی مانند MD5، SHA1 یا SHA256 را ایجاد نمود و امکان شناسایی نسخههای مختلف از یک سیستم قابل اجرا را برای تحلیلگران فراهم کرد.
برای مثال، شناخت مسیر کامل از پروسسی مانند “cmd.exe” از اهمیت بالایی برخوردار است. حتی اگر “cmd.exe” به عنوان یک برنامه اجرایی مجاز در ویندوز به شمار رود، این امکان وجود دارد که مسیر غیرمعمولی برای باینریها مشاهده شود که به صورت بالقوه به بدافزار Black Sheep مرتبط میشوند. به علاوه، MD5 Hash در باینریِ “cmd.exe” نیز مدنظراست که با سایر دستورهای “cmd.exe” در شبکه متفاوت است. بنابراین کاملا مشخص است که فایلها دستکاری شدهاند و احتمالا یک کد مخرب در پوشش یک برنامه اجرایی مجاز در آن پنهان شده است.
پنهان کردن پروسس بدافزار همگام با روند برنامه کاربردی و سیستم عامل
در این بخش میتوان به تجربه کاربران Application Process Most PC اشاره نمود که با چک کردن مانیتور ویندوز متوجه هیچگونه مشکل خاصی نشده و این تصور را دارند که سیستم عامل در حال اجرای تمامی پروسسهای معمول میباشد و صرف نظر از اینکه کاربر چه کسی است، میتوان آلودگی PC به هر نوع بدافزاری را تشخیص دهد. یک نمونه از مواردی که بدافزار Black Sheep میتواند خود را در قالب یکی از پروسسهای معمول OS مخفی نماید، زمانی است که پروسسهای بدافزار به صورت یک پروسس معمولی اجرا میشود. حال این سوال مطرح میشود که چگونه میتوان این نوع Black Sheep را شناسایی نمود و یا در مورد بدافزارهای پیشرفته به نوعی از بدافزار اشاره کرد که هرگز شناخته نشده یا از طریق محصولات Anti-Malware شناسایی نشدهاند. این دسته از بدافزارها برروی Endpoint اجرا شده و قابلیت اعلام هشدار در نرمافزارهای شناسایی Anti-Malware را محدود مینماید؛ دلیل این امر، وجود دستورات اجرایی جدید با Signatureهای ناشناخته است. ضمن اینکه این مسئله نیز مطرح میشود که آیا امکان رفع این نوع مشکلات با استفاده از فرآیندهای آنالیز که قابلیت مقایسه مجموعه معیارهایی از مشخصات دستور اجرایی را داشته باشد، وجود دارد یا خیر.
در این خصوص، Hashهای موجود در EventهایSysmon نقش کلیدی دارند. اطلاعات Hash به Eventهای ارائه فرآیندSysmon پیوست شده و یک مشخصهی منحصربهفرد از دستور اجرایی را ارائه مینماید. درصورت نیاز به کسب اطلاعات در مورد مشخصات فعلی دستورات اجراییِ مورد اطمینان در مقایسه با دستورات مشابه اجرا شدهی اخیر میتوان پروسسهای دارای اختلال را بررسی نمود. اطلاعات دقیقی که از Sysmon Event درباره پروسسهای ایجادشده و Hash مربوطه دریافت میشود، دارای قابلیت آنالیز با جمعبندی ساده Splunk SPL بر اساس نام برنامه اجرایی میباشد.
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
کاربرد Splunk Security در شناسایی بدافزارها و باجافزارهای ناشناخته – قسمت اول
کاربرد Splunk Security در شناسایی بدافزارها و باجافزارهای ناشناخته – قسمت دوم