سيد محمد جلالي مرکز تخصصی آپا دانشگاه صنعتي اصفهان...
description
Transcript of سيد محمد جلالي مرکز تخصصی آپا دانشگاه صنعتي اصفهان...
سيد محمد جاللي
مرکز تخصصی آپا دانشگاه صنعتي اصفهان1389آبان ماه
Stuxnetسمينار آشنايي با بدافزار
در Stuxnetتشريح عملكرد سيستم هاي كنترل صنعتي و
روش هاي مقابله با آن
2
بخش هاي مختلف سمينار
امنيت در سيستم های کنترل صنعتی
زیر مؤلفه های مولفه يPLC بدافزار
Stuxnet
3
امنيت در سيستم های کنترل صنعتی
4
SCADA چيست؟ SCADA: Supervisory Control And Data Acquisitionمشاهده و كنترل فرآيند صنعتي به صورت متمركز
5
•IT
می توان از ضدویروس استفاده کرد.•
آگاهی ها و آموزش های امنیتی وجود دارد.•
مي توان از تکنیک های رمزنگاری استفاده •
نمود.
امکان تست نفوذپذیری روتین وجود دارد.•
وصله های امنیتی مرتب وجود دارد و •
توصيه مي شود كه اعمال شوند.
SCADA
استفاده از ضدویروس ها به دليل تاخیر
مشکل است.
آگاهی ها و آموزش های امنیتی پایین است.
اکثر داده ها و اطالعات کنترلی به صورت
رمزنشده مبادله می شوند.
تست نفوذپذیری ممکن است مخرب
باشد.
وصله های امنیتی نامرتب و اعمال آن ها
ممکن است مخرب باشد.
SCADA و امنیت ITتفاوت امنیت
6
بی شک امنیتIT.مهم است
عواقب نقض امنیتIT
مالی
نقض حریم خصوصی
نیاز به پیکره بندی مجدد سامانه ها
.... ارسال نامه های ناخواسته کندی اجرای فرامین و
!ولی زندگی جریان دارد
- SCADA و امنیت ITتفاوت امنیت ادامه
7
و امنیت ITتفاوت امنیت SCADAادامه -
ناامنی در سیستم هایSCADA زندگی در دنیای
را تحت تاثیر قرار میدهد.واقعی
عواقب نقض امنیتSCADA
کشته و زخمی شدن انسانها
نابودی تاسیسات
8
روش های ممکن برای ایجاد اختالل
انکار سرویسDOS جلوگیری از دستیابی اپراتور به سیستم ها و عدم امکان
مشاهده وضعیت یا صدور فرمان های کنترلیگمراه سازی اپراتور
گمراه سازی اپراتور و تشويق به انجام اقدامات اشتباهبر اساس اطالعات نادرست
دست کاری مستقیم تجهیزات صنعتیارسال غیرمجاز فرمان به تجهیزات
9
توصیه های ایمنی
استفاده سیستم عامل مناسب و امن متناسب با
شرایط سازمان
به روزرسانی مداوم سیستم عامل و نصب وصله های
امنیتی
استفاده از نرم افزار ضدبدافزار مناسب و
به روزرسانی مداوم آن
طبقه بندی رایانه ها و الیه بندی شبکه و استفاده از
firewall در هر الیه
استفاده از حداقل سطح دسترسی در حساب
کاربری به هنگام اتصال رایانه به اینترنت یا
حافظه هاي جانبی
10
توصیه های ایمنی خاص سامانه های کنترل صنعتی
محدودسازی و کنترل دسترسی به سامانه های صنعتی
محدودسازی و کنترل ارتباط هاي شبکه ي اداری، شبکه ي
کنترلي و شبکه ي صنعتی
تشکیل گروه های کاری متشکل از متخصصانIT و متخصصان
کنترل صنعتی
حمایت از توسعه و بهبود دانش و تجربه امنیت در سامانه های
صنعتی
طراحی امنیتی شبکه های جدید و طراحی مجدد شبکه های
موجود
11
بدافزار PLCزیر مؤلفه های مولفه ي Stuxnet
« Siemens» مختص نرم افزارها و سخت افزارهاي شركت
12
بدافزار PLCزیر مؤلفه های مولفه ي Stuxnet
Driver Project WinCC CPU
13
بدافزار PLCزیر مؤلفه های مولفه ي Stuxnet
Driver Project WinCC CPU
14
PLC ارتباط با Driverتغيير
Modified STL code block
Request code block from PLC
Show PLC code block
SIMATIC Manager
Modified STL code block
PLC
S7blk_read
s7otbxsx.dll
Driver سالم
Modified STL code block
S7blk_read
s7otbxdx.dll
Driver آلوده
15
- ادامهPLC ارتباط با Driverتغيير
هدف از آلوده كردنDriver 3:چيز است
مانيتوركردن بلوك هاي كدي كه خوانده يا نوشته
مي شوند.
آلوده كردنPLC با تزريق كد يا تغيير كد قبلي آن ها
مخفي كردن اين موضوع كهPLC.آلوده شده است
16
- يك نمونه PLC ارتباط با Driverتغيير
Driver آلوده Driver سالم
17
- ادامهPLC ارتباط با Driverتغيير
راه تشخيص
چك كردن وجود فايل با نامs7otbxsx.dll
راه پاك سازي
نصب دوباره نرم افزارهايSiemens)راه حل بهتر(
حذفs7otbxdx.dll و تغيير نام s7otbxsx.dll به
s7otbxdx.dll
18
بدافزار PLCزیر مؤلفه های مولفه ي Stuxnet
Driver Project WinCC CPU
19
Step7آلودگي پروژه هاي
پوشه هايي حاوي فايل هايS7P .را آلوده مي كند
فايل هاي پروژه هاي داخلzip .هم مي توانند آلوده شوند
بازكردن پروژه هاي آلوده منجر به آلودگي رايانه ها
مي شود.
،با بازكردن پروژه هاي آلوده به نسخه ي جديدتر ويروس
نسخه ي جديدتر جايگزين مي شود.
20
Step7تشخيص آلودگي پروژه هاي
.بدافزار اين فايل ها را ايجاد مي كند
xutils\listen\xr000000.mdx
فایل اصلی بدافزار با حجم(487KB)
xutils\links\s7p00001.dbf
xutils\listen\s7000001.mdx
21
- Step7تشخيص آلودگي پروژه هاي ادامه
xutils\listen\ xutils\links\
22
- Step7تشخيص آلودگي پروژه هاي ادامه« درون تمام زيرپوشه هاي پوشه يhOmSave7 يك فايل »dll
كپي مي كند.
.ممكن است نام هاي متفاوتي به آن داده شود(s7hkimdb.dll)
با بازكردن يك پروژه ي آلوده در يك سيستم سالم اينdll
آلودگي را منتشر مي كند.
23
Step7پاك سازي پروژه هاي
استفاده از نرم افزارهاي ضدويروس كه به روز رساني شده اند.)راه حل
بهتر(
حذف فايل هاي اضافه شده
xutils\listen\xr000000.mdx
فایل اصلی بدافزار با حجم(487KB)
xutils\links\s7p00001.dbf
xutils\listen\s7000001.mdx
dll پوشه ي »كپي شده در تمام زيرپوشه هايhOmSave7 »
24
بدافزار PLCزیر مؤلفه های مولفه ي Stuxnet
Driver Project WinCC CPU
WinCCتشخيص آلودگي
.بدافزار اين فايل ها را ايجاد مي كند
GracS\cc_alg.sav
فایل اصلی بدافزار با حجم حدود(487KB)
GracS\db_log.sav
GracS\cc_tag.sav
GracS\cc_tlg7.sav
25
26
- ادامهWinCCتشخيص آلودگي
27
WinCCپاك سازي
استفاده از نرم افزارهاي ضدويروس كه به روز رساني
شده اند.)راه حل بهتر(
حذف فايل هاي اضافه شده
GracS\cc_alg.sav
فایل اصلی بدافزار با حجم حدود(487KB)
GracS\db_log.sav
GracS\cc_tag.sav
GracS\cc_tlg7.sav
28
بدافزار PLCزیر مؤلفه های مولفه ي Stuxnet
Driver Project WinCC CPU
29
PLCآلودگي پردازنده هاي
هدف نهاييStuxnet تغيير كد PLC.ها است
فقط سيستم هايSiemens.آلوده مي شوند
بسته به خصوصيات سيستم كنترلي هدف، كدهاي تزريق
شده فرق مي كند.
دو نوع كد جهت تزريق درPLC .در بدافزار پيدا شده است
كد نوع اولPLC را آلوده مي كند.315با پردازنده
كد نوع دومPLC را آلوده مي كند.417 با پردازنده
30
PLCمراحل آلودگي پردازنده هاي
.ابتدا نوع پردازنده را چك مي كند
6اگرES7-315-2 6 ياES7-417 روند آلودگي را ادامه نمي دهد.نباشد
SDB را چك مي كند براي تعيين اين كه آيا بايد روند آلودگي ادامه
پيدا كند.
هدف از چك كردنSDB.معلوم نيست
FC1869 با كد آلوده اي كه داخلStuxnet تعبيه شده جايگزين
مي شود.
به اين ترتيب كنترلprofibus .را به دست مي گيرد
31
- PLCمراحل آلودگي پردازنده هاي ادامه
ساختار شكل صفحه ي بعد به داخلPLC .تزريق مي شود
OB1 به شكلي آلوده مي شود كه با اجراي هر سيكل كد تزريق
اجرا شود.PLCشده در
OB1 بزرگ تر مي شود. كد آلوده به ابتداي آن اضافه مي شود. كد اصلي به
بعد از آن كپي مي شود.
OB35 به شكلي آلوده مي شود كه در شرايط خاصي جلوي
را بگيرد. OB1اجراي
32
كد نوع اولساختار
33
كد نوع دومساختار
34
PLCتشخيص آلودگي پردازنده هاي
استفاده از رايانه ي بدون آلودگي و پروژه ي خام
ابتدايOB1 اين دستورات را مي بينيد:نوع اول آلوده با كد
UC FC1865
POP
L DW#16#DEADF007
==D
BEC
L DW#16#0
L DW#16#0
35
- PLCتشخيص آلودگي پردازنده هاي ادامه
ابتدايOB35 اين دستورات را مي بينيد:نوع اول آلوده با كدUC FC1874POPL DW#16#DEADF007==DBECL DW#16#0L DW#16#0
ابتدايOB1 اين دستورات را مي بينيد:نوع دومآلوده با كد
UC FC6083
36
PLCپاك سازي پردازنده هاي
.برنامه ي داخل پردازنده ها حذف شوند
با يك رايانه و پروژه ي بدون آلودگي دوباره برنامه ريزي
شوند.
!هشدار
از عدم آلودگي تشخيص آلودگي پروژه ها پيش از بازكردن پروژه با انجام روند
آن ها مطمئن شويد.
در صورتDownload ،كد، با رايانه ي آلوده يا پروژه هاي آلودهPLC پاك سازي نشده
است.
فايل هاي پشتيبان پروژه ها حتي اگرzip.شده باشند ممكن است آلوده باشند
37
جمع بندي
Driver ارتباط باPLC .آلوده مي شود
درPLC كدهايي را تزريق مي كند و كدها را از ديد استفاده كننده مخفي
مي كند.
پروژه هايstep7 .آلوده مي شوند
.مي توانند آلودگي را نيز به يك رايانه ي سالم منتقل كنند
پروژه هايWinCC.آلوده مي شوند
.عالوه بر انتقال آلودگي مي توانند اطالعات را به سرقت ببرند
.پردازنده ها آلوده مي شوند
.ممكن است در نحوه ي كار سيستم كنترل اخالل ايجاد شود
38
جمع بندي - ادامه
آلودگیPLC ها می تواند مستقل از آلودگی رایانه های محیط
هاي آلوده، رايانه هاي پاك و يا بالعكس(PLC)صنعتی باشد.
ها و پردازنده ها پاالیش شوند.برای پاک سازی باید رایانه ها، پروژه
هدف بدافزار از تزريق كد درونPLC :معلوم نيست زيرا
با اين كه تغييرات بدافزار در كدPLC .مشخص شده است
.اما ساختار سيستم كنترلي كه جزء اهداف بدافزار بوده را نمي دانيم
پس نشانه ها و اشکاالت غیرمتعارف سيستم كنترل را
جدي بگيريد!
39
تماس بگیرید...
ی وقایع نامتعارفدر صورت مشاهدهافزارهای صنعتیسایت های تولید نرمنياز به آموزشنياز به ايجاد گوهر در سازماننياز به اطالعات بیشتر
http://www.certcc.irhttp://[email protected]
?
40