نحوه مقابله با بدافزار TRITON

به تازگی Mandiant با اختلال امنیتی در زیرساخت اصلی شبکه‌ایِ خود مواجه گردید که پس از انجام تحقیقات، مشخص شد که یک مهاجم، بدافزاری را به منظور دست‌کاری در سیستم‌های امنیتی صنعتیِ مجموعه که دارای قابلیت Shutdown اضطراری در فرایند‌های صنعتی می‌باشند، راه اندازی کرده است. با توجه به ارزیابی­ های صورت ­گرفته، مهاجم قصد ایجاد آسیب فیزیکی و لغو بی‌دلیل عملیات را داشته است. این بدافزار که خبرگزاری شرکت Fireeye آنرا بدافزار TRITON نام‌گذاری کرده است، حمله‌ای است که برای تعامل با کنترلر Triconex Safety Instrumented System که به اختصار SIS نامیده می‌شود، ساخته شده است. با توجه به تحقیقات صورت گرفته در این حمله، ما بر این باوریم که این فرایند توسط یک فرد یا گروه خاص صورت نگرفته بلکه توسط دولت یکی از کشورها سازمان‌دهی و راه­اندازی­ شده است.

TRITON یکی از تعداد محدود نرم­ افزار­های مخربی است که به صورت عمومی شناسایی شده و هدف آن سیستم­های کنترل صنعتی می‌باشد. این بدافزار از Stuxnet  که در سال 2010 علیه ایران استفاده شده بود و از Industroyer که در سال 2016 از طرف Sandworm Team علیه اکراین مورد استفاده قرار گرفت، پیروی می‌نماید. TRITON با تمامی این حملات سازگار بوده و می‌تواند مکانیزم‌های امنیتی را از عملکرد خود باز دارد و منجر به بروز نتایج فیزیکی گردد.

نحوه مقابله با بدافزار TRITON

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

حمله نوع اول: استفاده از SIS برای Shutdown نمودن فرآیند.

  • مهاجم می‌تواند SIS Logic را مجددا برنامه‌ریزی کند تا فرآیندی که در وضعیت امن می‌باشد را دچار اختلال کرده و لغو نماید. به عبارت دیگر موجب بروز False Positive یا خطا در اعلام هشدار می‌گردد.
  • پیامد: خسارات ناشی از Downtime شدن فرآیند و ایجاد پروسه‌ی Start Up پیچیده پس از Shutdown.

حمله نوع دوم: برنامه‌ریزی مجدد SIS به منظور ایجاد حالت ناامن

  • مهاجم می‌تواند SIS Logic را برای ایجاد حالت ناامن مجددا برنامه‌ریزی کند.
  • پیامد: ایجاد وضعیت خطرناک که منجر به بروز نتایج فیزیکی می­ گردد و ریسک را افزایش می ­دهد. مانند اثرگذاری بروی امنیت تجهیزات، محصولات، محیط و انسان که موجب از دست رفتن عملکرد SIS خواهد شد.

حمله نوع سوم: برنامه‌ریزی مجدد SIS برای ایجاد حالت ناامن و همچنین استفاده از سیستم جمع ­آوری اطلاعات (Data Collection System) یا به اختصار DCS برای ایجاد خطر و وضعیت ناامن.

  • مهاجم می‌تواند با استفاده از DCS، فرآیند را برای ایجاد حالت ناامن دست‌کاری نماید در حالی‌که اجازه نمی‌دهد SIS عملکرد مطلوب خود را داشته باشد.
  • پیامد: تاثیر بر روی سلامت انسان و محیط و یا آسیب به طراحی دستگاه و تجهیزات که میزان این آسیب به محدودیت‌های فیزیکی فرآیند بستگی دارد.

بررسی قابلیت‌های بدافزار TRITON

ابزار حمله‌ی TRITON با شماری از قابلیت‌ها ساخته می‌شود، از جمله‌ی این قابلیت‌ها می‌توان از قابلیت خواندن و نوشتن برنامه‌ها، خواندن و نوشتن عملکردهای مجزا و منحصر به فرد و بررسی وضعیت کنترلر SIS نام برد، گرچه تنها برخی از این ویژگی‌ها در Trilog.exe اعمال می‌گردد. برای مثال مهاجم نمی­تواند به تمام قابلیت‌های گسترده‌ی شناسایی TRITON نفوذ ‌نماید.

نحوه مقابله با بدافزار TRITON

بدافزار TRITON دارای قابلیت برقراری ارتباط با کنترلرهای Triconex SIS می‌باشد، برای مثال ارسال فرمان‌های خاص همچون Halt و یا خواندن محتوای حافظه‌ی آن و همچنین آن‌ها را به صورت Remote و با استفاده از یک Attacker-Defined Payload مجددا برنامه‌نویسی می‌نماید. بررسی­ های صورت­گرفته بر روی نمونه­ ی TRITON Mandiant نشان می­دهد که یک برنامه توسط مهاجم به جدول اجرایی کنترلر Triconex افزوده شده است که برنامه‌های مجاز را ثابت نگه می‌دارد تا کنترلر بدون وقفه و خرابی به کار خود ادامه دهد. درصورتی‌که این کنترلر کار نکند، TRITON تلاش می‌کند که آن را به حالت درحال اجرا بازگرداند. اگر کنترلر در پنجره‌ی زمانی تعیین شده ترمیم نگردد این نمونه به منظور پوشش ردیابی‌ها، برنامه‌های مخرب را با داده‌های نامعتبر بازنویسی می‌کند.

مقابله با بدافزار TRITON

به منظور محافظت در مقابل این بدافزار موارد زیر حائز اهمیت می‌باشند:

  • در صورت امکان شبکه‌های سیستم امنیتی از کنترل فرایند و شبکه‌های سیستم اطلاعاتی جدا شوند. مکان‌های کاری مهندسی که می‌توانند کنترلرهای SIS را برنامه‌نویسی کنند نباید ارتباط خود را با هیچ‌یک از کنترل فرایند‌های DCS یا شبکه سیستم اطلاعاتی در حالت Dual-Home برقرار کنند. (طراحی Dual-Home به منظور رعایت Redundancy در شبکه مورد استفاده قرار می­گیرد.)
  • اعمال ویژگی‌های سخت‌افزاری که برای کنترل فیزیکی برنامه‌نویسی کنترلرهای ایمنی فراهم شده است که معمولا این ویژگی‌ها قالب سوئیچ‌هایی را می‌گیرند که توسط کلیدهای فیزیکی کنترل می‌شوند. کلیدهای روی کنترلرهای Triconex بجز در حین انجام رویدادهای برنامه ریزی شده، نباید در حالت PROGRAM باقی بمانند.
  • پیاده ­سازی روش­های مدیریت تغییر برای اعمال تغییر در موقعیت‌های اضطراری. توجه داشته باشید که وضعیت فعلی کلید مداوماً ممیزی (Audit) ‌شود.
  • استفاده از یک Gateway یک‌سویه به‌جای استفاده از اتصالات شبکه‌ی دوسویه برای هر یک از برنامه‌هایی که به اطلاعات تهیه شده توسط SIS وابسته می‌باشند.
  • اجرای کنترل‌های دسترسی سخت‌گیرانه و Whitelist کردن برنامه‌ها بر روی هر سرور یا Endpointهای محل کار که می‌توانند از طریق TCP/IP به سیستم SIS دسترسی داشته باشند.
  • ترافیک شبکه‌ی ICS برای جریان‌های ترافیک ارتباطی غیرمنتظره و دیگر فعالیت‌های غیر معمول مانیتور شود.