آشنایی با اهمیت اتوماسیون Event-Driven

آشنایی با اهمیت اتوماسیون Event-Driven

Event-Driven Automation یا «اتوماسیون رویداد محور» و اپلیکیشن‌های که با این رویکرد توسعه داده شده‌اند، برای حل تضادها و ناسازگاری‌های میان دولوپرها و تیم‌های امنیتی و عملیاتی در سازمان‌های مختلف به‌کار می‌روند. در طی پذیرش روش‌ها و ابزار مختلف اتوماسیون برای حرکت به سمت مسیر اصلی، سازمان‌های پیشرفته‌تر به دنبال واحدهای کوچک‌تری از اتوماسیون هستند که بتوان آن‌ها را به روشی مؤثر به‌کار گرفت. یکی از راه‌هایی که می‌تواند آن‌ها را در رسیدن به اهدافشان یاری کند، همین Event-Driven Automation است.

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

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

به همین دلیل، شرکت‌ها به‌طور فزاینده‌ای به دنبال اتوماسیون رویداد محور هستند تا جایگزین بررسی‌هایی نمایند که قبلاً به‌صورت دستی انجام می‌شد؛ درنتیجه، هم این تنگناها رفع می‌شوند و هم امنیت ارتقأ می‌یابد. گزارش Verizon دربارهٔ نفوذهای صورت گرفته روی داده‌ها، مشخص کرد که اقدام‌های دستی (انسانی) برای بستن حفره‌های امنیتی، از وقوع حملات جلوگیری نکرده و تأثیرگذار نیستند!

اتوماسیون رویداد محور چیست؟
Event-Driven Automation سعی دارد تا نقاط حساس امنیتی و عملیاتی شناخته شده را مدیریت نماید؛ به طور مثال، Automated Blocking (بلاک کردن خودکار) پیش از پیاده‌سازی سیستم، از اجرای آسیب‌پذیری‌های امنیتی معروف جلوگیری می‌کند. 

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

به‌طور مثال، Netflix برای افزایش میزان دسترسی و تغییرپذیری خود، اتوماسیون رویداد محور را برگزیده است؛ Netflix اقدام به ساخت فریمورک Winston برپایهٔ Stackstorm کرده که هدف آن بی‌نیازی به مهندسان در وقت و بی‌وقت به‌خاطر حل یک مسأله است.

با اپلیکیشن‌هایی که روز‌به‌روز پیچیده‌تر می‌شوند، تکنیک‌هایی که در یک اپ یکپارچه کار می‌کردند، مانند Pair Programming، تأثیرگذاری کمتری خواهند داشت. هیچ مهندسی به همهٔ آسیب‌پذیری‌های امنیتی شناخته شده دسترسی ندارد و هیچ فرایند بررسی و تجدید نظری نیست که کدهای ضدضربه‌ای تولید کند تا اطمینان دهد سرویس مورد نظر، به هیچ طریقی در میانهٔ شب از کار نخواهد افتاد (برای آشنایی بیشتر با Pair Programming، به مقالهٔ آیا می‌دانستید که برنامه‌نویسی دو نفره می‌تواند شما را به برنامه‌نویس ماهرتری تبدیل کند؟ مراجعه نمایید.)

نیازمندی‌های اتوماسیون رویداد محور
برای پیاده‌سازی اتوماسیون رویداد محور توسط تیم‌های امنیتی یا عملیاتی، دسترسی به اطلاعاتی در خصوص رویدادها در محیط مورد نظر به‌طوری‌که پاسخ‌دهی مناسبی را تضمین کند، اهمیت دارد. این داده‌ها می‌تواند اغلب به‌صورت گزارش‌های سرور (معمولاً بااستفاده از ابزارهایی مثل LogShash یا ElasticSearch یا Splunk)، سیستم‌های نظارت و هشدار یا منابع دیگر باشد. واضح است گه اگر تیمی به داده‌هایی که نشان می‌دهد رویداد خاصی در حال وقوع است دسترسی نداشته باشد یا نتواند رد این داده‌ها را پیدا کند، اتوماتیک کردن پاسخ به آن رویداد خاص نیز غیرممکن خواهد بود.

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

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

همچنین باید سیستم‌هایی ایمن را برای پیاده‌سازی سیستم‌های اتوماتیک ایجاد کرد؛ سیستم‌های اتوماتیک که بااستفاده از کنترل‌های مناسب در زمینهٔ ساخت و پیاده‌سازی طراحی نشده باشند، احتمالاً مشکلات امنیتی را افزایش خواهند داد! 

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

چندین راه برای پیاده‌سازی اتوماسیون رویداد محور وجود دارد؛ برای مثال، پلتفرم AWS آمازون چندین پیش‌نیاز را برای امنیت رویداد محور و اتوماسیون پیشنهاد می‌کند. AWS پلتفرمی را فراهم می‌کند که بسیاری از کارهای زمان‌بر از قبل انجام شده‌اند. چنین پلتفرمی به تیم‌های امنیتی اجازه می‌دهد تا به‌جای فراهم کردن سیستمی جامع و کامپوننت‌های مربوط به پلتفرم، روی پیاده‌سازی قوانین امنیتی تمرکز کنند.

این چیز کوچکی نیست چراکه تقریباً هر نوع منبعی که بتوان توسط AWS ایجاد کرد می‌تواند توسط فراخوانی وب‌سرویس‌ها نیز ایجاد شود، به‌جای این‌که نیاز باشد انسان‌ها عملی را انجام دهند. به‌طور مثال، می‌توانید هر فراخوانی API را با استفاده از CloudTrail ثبت کنید، یا از VPC Flow Logs‌ استفاده کنید تا بفهمید ترافیک شبکه توسط گروه‌های امنیتی در دسترس قرار گرفته یا نه و هر فراخوانی که به‌طور عمومی با استفاده از S3 و CloudFront و گزارش‌های دسترسی ELB انجام شده را دنبال کنید و درنهایت این داده‌ها می‌توانند تقریباً به‌طور آنی توسط Lambda تجزیه و تحلیل شوند.

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

منبع


مرتضی صمدی