موثرترین حمله سایبری، حمله ای است که نتوانید آن را شناسایی کنید. تزریق فرآیند به نفوذگر اجازه می دهد تا در دید ساده پنهان شود.
درک اینکه یک بردار حمله در شبکه شما درست زیر بینی شما اجرا شده است می تواند شوکه کننده باشد. شما نقش خود را با پیادهسازی مواردی که به نظر میرسید دفاع امنیتی مؤثری بود، ایفا کردید، اما مهاجم موفق شد به هر حال آنها را دور بزند. چطور ممکن بود؟
آنها می توانستند با وارد کردن کدهای مخرب در فرآیندهای قانونی شما، تزریق فرآیند را اجرا کنند. فرآیند تزریق چگونه کار می کند و چگونه می توانید از آن جلوگیری کنید؟
فرآیند تزریق چیست؟
تزریق فرآیند فرآیندی است که در آن مهاجم کدهای مخرب را به یک فرآیند قانونی و زنده در یک شبکه تزریق می کند. این برنامه که با حملات بدافزار شایع است، به بازیگران سایبری اجازه میدهد تا سیستمها را به سادهترین راهها آلوده کنند. یک تکنیک پیشرفته حمله سایبری، نفوذگر بدافزار را در فرآیندهای معتبر شما وارد می کند و از امتیازات آن فرآیندها برخوردار می شود.
فرآیند تزریق چگونه کار می کند؟
موثرترین انواع حملات، حملاتی هستند که می توانند بدون ایجاد شک در پس زمینه اجرا شوند. به طور معمول، شما می توانید یک تهدید بدافزار را با تشریح و بررسی تمام فرآیندهای شبکه خود شناسایی کنید. اما تشخیص تزریق فرآیند چندان آسان نیست زیرا کدها در زیر سایه فرآیندهای قانونی شما پنهان می شوند.
از آنجایی که فرآیندهای مجاز خود را در لیست سفید قرار دادهاید، سیستمهای تشخیص شما معتبر بودن آنها را بدون هیچ نشانهای مبنی بر اشتباه بودن آنها تأیید میکنند. فرآیندهای تزریق شده همچنین از تشخیص دیسک عبور می کنند زیرا کدهای مخرب در حافظه فرآیند قانونی اجرا می شوند.
مهاجم از نامرئی کدها برای دسترسی به تمام جنبههای شبکه شما استفاده میکند که فرآیندهای قانونی که تحت آن پنهان میشوند میتوانند به آن دسترسی داشته باشند. این شامل امتیازات اداری خاصی است که شما به کسی اعطا نمی کنید.
اگرچه تزریق فرآیند به راحتی می تواند مورد توجه قرار نگیرد، اما سیستم های امنیتی پیشرفته می توانند آنها را شناسایی کنند. بنابراین، مجرمان سایبری با اجرای آن به سادهترین روشهایی که چنین سیستمهایی نادیده میگیرند، سطح آن را بالا میبرند. آنها از فرآیندهای اساسی ویندوز مانند cmd.exe، msbuild.exe، explorer.exe و غیره برای راه اندازی چنین حملاتی استفاده می کنند.
3 تکنیک های تزریق فرآیند
تکنیک های تزریق فرآیند متفاوتی برای اهداف مختلف وجود دارد. از آنجایی که عوامل تهدید سایبری در مورد سیستمهای مختلف و جایگاه امنیتی آنها بسیار آگاه هستند، مناسبترین تکنیک را برای افزایش میزان موفقیت خود به کار میگیرند. بیایید به برخی از آنها نگاه کنیم.
1. تزریق DLL
تزریق DLL (کتابخانه پیوند پویا) یک تکنیک تزریق فرآیند است که در آن هکر از یک کتابخانه پیوند پویا برای تأثیرگذاری بر فرآیند اجرایی استفاده میکند و آن را مجبور میکند به گونهای رفتار کند که شما قصد یا انتظار ندارید.
این حمله کد را با این هدف تزریق می کند که کد اصلی را در سیستم شما نادیده بگیرد و آن را از راه دور کنترل کند.
سازگار با چندین برنامه، تزریق DLL به برنامه ها اجازه می دهد تا چندین بار بدون از دست دادن اعتبار از کد استفاده کنند. برای موفقیت آمیز بودن فرآیند تزریق DLL، بدافزار باید حاوی داده های فایل DLL آلوده در شبکه شما باشد.
2. تزریق پلی اتیلن
اجرای قابل حمل (PE) یک روش تزریق فرآیند است که در آن مهاجم یک فرآیند معتبر و فعال در شبکه شما را با یک تصویر PE مضر آلوده می کند. این سادهتر از سایر تکنیکهای تزریق فرآیند است زیرا به مهارتهای کدنویسی پوسته نیاز ندارد. مهاجمان می توانند به راحتی کد PE را در C++ پایه بنویسند.
تزریق پلی اتیلن بدون دیسک است. بدافزار قبل از شروع تزریق نیازی به کپی کردن داده های خود روی هیچ دیسکی ندارد.
3. فرآیند توخالی
Process Hollowing یک تکنیک تزریق فرآیند است که در آن مهاجم به جای استفاده از یک فرآیند قانونی موجود، یک فرآیند جدید ایجاد می کند اما آن را با کد مخرب آلوده می کند. مهاجم فرآیند جدید را به عنوان یک فایل svchost.exe یا دفترچه یادداشت توسعه می دهد. به این ترتیب، حتی اگر بخواهید آن را در لیست فرآیند خود کشف کنید، آن را مشکوک نخواهید دید.
فرآیند مخرب جدید بلافاصله شروع به اجرا نمی کند. مجرم سایبری آن را غیرفعال می کند، آن را به فرآیند قانونی متصل می کند و فضایی را برای آن در حافظه سیستم ایجاد می کند.
چگونه می توانید از تزریق فرآیندی جلوگیری کنید؟
تزریق فرآیند می تواند کل شبکه شما را خراب کند زیرا مهاجم می تواند بالاترین سطح دسترسی را داشته باشد. اگر فرآیندهای تزریق شده برای ارزشمندترین دارایی های شما محرمانه باشد، کار آنها را بسیار آسان می کنید. اگر آماده از دست دادن کنترل سیستم خود نیستید، این حمله ای است که باید برای جلوگیری از آن تلاش کنید.
در اینجا برخی از موثرترین راه ها برای جلوگیری از تزریق فرآیندی آورده شده است.
1. پذیرفتن لیست سفید
لیست سفید فرآیند لیست کردن مجموعه ای از برنامه هایی است که می توانند بر اساس ارزیابی امنیتی شما وارد شبکه شما شوند. شما باید موارد موجود در لیست سفید خود را بی ضرر تلقی کرده باشید، و اگر ترافیک ورودی در محدوده لیست سفید شما قرار نگیرد، نمی توانند از آن عبور کنند.
برای جلوگیری از تزریق فرآیند با لیست سفید، باید ورودی کاربر را نیز به لیست سفید خود اضافه کنید. باید مجموعه ای از ورودی وجود داشته باشد که اجازه عبور از بررسی های امنیتی شما را داشته باشد. بنابراین، اگر یک مهاجم ورودی خارج از حوزه قضایی شما ایجاد کند، سیستم آنها را مسدود خواهد کرد.
2. نظارت بر فرآیندها
از آنجایی که تزریق فرآیند می تواند برخی از بررسی های امنیتی را دور بزند، می توانید با توجه دقیق به رفتار فرآیند، آن را تغییر دهید. برای انجام این کار، ابتدا باید عملکرد مورد انتظار یک فرآیند خاص را ترسیم کنید و سپس آن را با عملکرد فعلی آن مقایسه کنید.
وجود کدهای مخرب در یک فرآیند باعث ایجاد برخی تغییرات می شود، مهم نیست که چقدر برای یک فرآیند کوچک باشد. به طور معمول، شما این تغییرات را نادیده می گیرید زیرا آنها ناچیز هستند. اما وقتی مشتاق کشف تفاوتهای بین عملکرد مورد انتظار و عملکرد فعلی از طریق نظارت بر فرآیند هستید، متوجه این ناهنجاری خواهید شد.
3. خروجی را رمزگذاری کنید
عوامل تهدید سایبری اغلب از Cross-Site Scripting (XSS) برای تزریق کدهای خطرناک در تزریق فرآیند استفاده می کنند. این کدها به اسکریپت هایی تبدیل می شوند که بدون اطلاع شما در پس زمینه شبکه شما اجرا می شوند. شما می توانید با بررسی و تمیز کردن تمام ورودی های مشکوک از این اتفاق جلوگیری کنید. به نوبه خود، آنها به عنوان داده نشان داده می شوند و نه کدهای مخرب همانطور که در نظر گرفته شده است.
کدگذاری خروجی با رمزگذاری HTML بهترین کار را دارد – تکنیکی که شما را قادر میسازد خروجی متغیر را رمزگذاری کنید. شما برخی از کاراکترهای خاص را شناسایی کرده و آنها را با گزینه های جایگزین جایگزین می کنید.
جلوگیری از تزریق فرآیند با امنیت مبتنی بر هوش
تزریق فرآیند یک پرده دود ایجاد می کند که کدهای مخرب را در یک فرآیند معتبر و عملیاتی پوشش می دهد. آنچه می بینید چیزی نیست که به دست می آورید. مهاجمان کارآمدی این تکنیک را درک می کنند و به طور مداوم از آن برای سوء استفاده از کاربران استفاده می کنند.
برای مبارزه با تزریقات فرآیندی، باید با دفاعیات نه چندان آشکار، از مهاجم پیشی بگیرید. اقدامات امنیتی را اجرا کنید که در سطح نامرئی باشد. آنها فکر خواهند کرد که دارند شما را بازی می کنند، اما بدون اینکه آنها بدانند، شما هستید که آنها را بازی می کنید.