Stuxnet

دژافزارهایی مانند Stuxnet می‌توانند زیرساخت‌های فیزیکی حیاتی که توسط نرم‌افزار کنترل می‌شوند را تحت تأثیر قرار دهند، که بدین معنی است که این تهدیدات ممکن است به زندگی واقعی نیز گسترش یابند. متن زیر ترجمه‌ای از مقاله تحت عنوانLessons From Suxnet  که در فروردین ۱۳۹۰ ه.ش. (آوریل ۲۰۱۱ میلادی در مجله Computer  از انتشاراتIEEE Computer Society چاپ شده است، و به بررسی دژافزار Stuxnet، که یک تهدید از نوع APT می‌باشد می‌پردازد.

 

روزانه هزاران دژافزار جدید در سطح اینترنت ظاهر می‌شوند. اکثر آن‌ها انواع تکاملی از خانواده‌های موجود هستند و تأثیر گسترده‌ای ندارند. بااین‌حال، گاهی اوقات یک دژافزار جدیدِ قابل‌توجه چشم‌انداز امنیتی را تغییر می‌دهد. به‌عنوان‌مثال، حمله‌ی Morris در سال ۱۹۸۸ نشان داد که یک کرم‌واره تهاجمی می‌تواند بخش قابل‌توجهی از ARPANET را از بین ببرد و حمله SQL Slammer در سال ۲۰۰۳ نشان داد که یک کرم واره ساده‌ی مبتنی بر پروتکلUDP می‌تواند یک تراکمِ(۱) شبکه‌ی ویرانگر را ایجاد کند.

Stuxnet درس‌های جدیدی به جامعه امنیتی می‌آموزد. از زمانی که موسسه VirusBlokAda کرم‌واره ویندوز را در ژوئیه ۲۰۱۰ در بلاروس کشف کرد، محققان به‌شدت آن را بررسی کردند. آن‌ها بر این باورند که Stuxnet چندین ماه قبل از کشف گسترش‌یافته بوده و قبلاً هدف موردنظر خود را تسخیر کرده است.

همان‌طور که جدول ۱ نشان می‌دهد، Stuxnet از چند جهت با دژافزارهای قبل از خود متفاوت است. اولاً، بیشتر دژافزارها سعی می‌کنند تا آنجا که ممکن است  کامپیوترها را آلوده کنند، درحالی‌که به نظر می‌رسد Stuxnet سیستم‌های کنترل صنعتی را هدف قرار می‌دهد و payload خود را تحت شرایط بسیار خاصی منتقل می‌کند. دوم، Stuxnet بزرگ‌تر و پیچیده‌تر از دژافزارهای دیگر است، و شامل اکسپلویت‌هایی برای چهار آسیب‌پذیری وصله نشده است که این تعداد به‌طور غیرمعمول بالاست. کد آن تقریباً ۵۰۰ کیلوبایت است و به چند زبان نوشته شده است. به‌عنوان مرجعی برای مقایسه، کرم‌واره SQL Slammer 376 بایت، کرم‌واره Code Red تقریباً ۴ کیلوبایت و کرم‌واره Nimda  حدوداً ۶۰ کیلوبایت بود. همچنین، گونه‌های ترویان بانکیZeus  بین ۴۰ تا ۱۵۰ کیلوبایت بودند و تقریباً همه دژافزارها کمتر از ۱ مگابایت هستند.

جدول ۱: ویژگی‌های جدید Stuxnet

Stuxnet

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

۱) انتخاب هدف

برخلاف اکثر دژافزارها، Stuxnet سیستم‌های کنترل صنعتی را هدف قرار می‌دهد که به‌طور گسترده در کارخانه‌ها، خطوط مونتاژ، پالایشگاه‌ها و نیروگاه‌ها استفاده می‌شوند. این دژافزار به کامپیوترهای شخصی دارای سیستم‌عامل ویندوزی حمله می‌کند که کنترل‌کننده‌های منطقی قابل‌برنامه‌ریزی(۲) زیمنس را برنامه‌ریزی می‌کنند – به‌عبارت‌دیگر به کامپیوترهای تخصصی که فرآیندهای فیزیکی خودکار مانند بازوهای روبات در سیستم‌های کنترل صنعتی رایج را کنترل می‌کنند. PLC ها می‌توانند ترتیبات ورودی یا خروجی دقیقی برای کاربردهای مختلف در محیط‌های فیزیکی مختلف داشته باشند. آن‌ها اغلب حس‌گرهایی روی ورودی‌ها دارند (مثلاً برای دما)، و خروجی‌ها معمولاً تجهیزاتی مانند موتورها، سوئیچ‌ها و رله‌ها را مدیریت می‌کنند.

Stuxnet کامپیوترهای شخصی آسیب‌پذیر را هدف قرار می‌دهد که نرم‌افزار کنترل WinCC/Step 7 را اجرا می‌کنند، که معمولاً برای برنامه‌نویسی PLC‌ها استفاده می‌شود. هنگامی‌که یک کامپیوتر آلوده به Simatic PLC Siemens متصل می‌شود، Stuxnet یک فایل .dll موذی را نصب می‌کند و جایگزین فایل .dll اصلی PLC می‌شود. فایل .dll موذی به Stuxnet اجازه می‌دهد تا تمام ارتباطات بین کامپیوتر شخصی و PLC را نظارت و ره‌گیری کند. بسته به شرایط خاص PLC، Stuxnet کد خود را به نحویکه توسط اپراتور کامپیوتر شخصی غیرقابل‌شناسایی باشد به PLC تزریق می‌کند.

درحالی‌که بیشتر payload های دژافزاری منظور واضحی مانند هرزنامه یا استراق داده‌ها دارند، هدف Stuxnet واضح نیست. محققان امنیتی بر این باورند که بخشی از کد تزریق‌شده برای تأثیرگذاری بر سرعت درایوهای مبدل فرکانس است. به نظر می‌رسد که این کد به‌صورت متناوب فرکانس عادی را کاهش و افزایش می‌دهد. فرضاً، اگر PLC موردنظر به یک سانتریفیوژ هسته‌ای که برای غنی‌سازی اورانیوم استفاده می‌شود متصل شود، نوسانات سرعت می‌تواند باعث متلاشی شدن سانتریفیوژ شود. بااین‌حال، حدس زدن نتیجه در دنیای واقعی دشوار است زیرا PLC ها می‌توانند به تجهیزات مختلفی متصل شوند.

مطابق اندازه‌گیری‌های ترافیک Stuxnet به سرورهای فرماندهی و کنترل خود، Stuxnet حدود ۵۰ تا ۱۰۰ هزار کامپیوتر را آلوده کرده بوده است، عمدتاً در ایران (۵۸ درصد)، اندونزی، هند و آذربایجان[۱]. ایران همچنین دارای درصد بالایی از میزبان‌های آلوده است که از نرم‌افزار Step 7 زیمنس استفاده می‌کنند –  ۶۷ درصد در مقایسه با کشورهای دیگر که میزان آلودگی کمتر از ۱۳ درصد است.

نرخ بالای آلودگی در ایران حاکی از انگیزه سیاسی است. بر اساس تست‌های آزمایشگاهی و تشریح کد Stuxnet، آقای Ralph Langner کارشناس امنیتی آلمانی و آشنا با سیستم‌های صنعتی اظهار کرده است که هدف اولیه نیروگاه هسته‌ای ایران در بوشهر بوده است[۲]. مقامات ایرانی هرگونه آسیبی به سیستم‌های اصلی نیروگاه هسته‌ای بوشهر توسط Stuxnet را رد کرده‌اند. بااین‌حال، آن‌ها پذیرفته‌اند که برخی از PC های سازمان آلوده‌شده‌اند. مقامات، تأخیر دوماهه در آنلاین کردن راکتور را به دلیل نشت در استخر ذخیره‌ی سوخت نیروگاه می‌دانند.

کارشناسان دیگر فکر می‌کنند که هدف اولیه تأسیسات غنی‌سازی اورانیوم نطنز در ایران بوده است. تولید این سایت در سال ۲۰۰۹ به میزان ۱۵ درصد کاهش یافت، تقریباً زمانی که گمان می‌رود Stuxnet شروع به گسترش کرده است. در نوامبر ۲۰۱۰، رئیس‌جمهور ایران تأیید کرد که چندین سانتریفیوژ موردحمله‌ی دژافزاری قرارگرفته‌اند، که از این نظریه حمایت می‌کند که Stuxnet برنامه‌ی هسته‌ای ایران را هدف قرار داده است.

۲) دانش عامل درونی

Stuxnet بیانگر دانش بسیار دقیقی از PLC ها و سیستم‌های کنترل صنعتی است. این نوع اطلاعات به‌طور علنی منتشر نمی‌شود. برای نمونه، سازندگان آن می‌دانستند که هدف آن‌ها از طریق اینترنت قابل‌دسترسی نیست. بنابراین، ناقل عفونت اولیه ممکن است یک درایو فلش قابل جابجایی باشد. Stuxnet برای آلوده کردن و پنهان شدن در درایوهای قابل جابجایی طراحی شده است، و از یک روت کیت ویندوز برای جلوگیری از کشف فایل‌های Stuxnet توسط صاحب کامپیوتر استفاده می‌کند. آن درایو فلش {حاوی Stuxnet} تنها امکان سه آلودگی را فراهم می‌کند که به مدت ۲۱ روز سعی بر گسترش می‌کند. این موضوع نشان می‌دهد که شاید برای حفظ پنهان‌کاری، تعمداً نرخ گسترش خود را محدود کرده است.

پس از نصب در یک شبکه محلی، Stuxnet سعی می‌کند رایانه‌های شخصی آسیب‌پذیر را پیدا کند و از طریق اشتراک‌گذاری در شبکه منتشر می‌شود. این دژافزار خود را از طریق یک آسیب‌پذیری قرقره‌ی چاپ(۳) (MS10-061) به PC های ویندوزی دیگر کپی می‌کند و از طریق پروتکل Server Message Block به کامپیوترهای دیگر متصل می‌شود و از آسیب‌پذیری (MS08-067) فراخوانی راه دور روال‌ها سرویس ویندوز سرور یا همان RPC بهره‌برداری می‌کند. علاوه بر این، به دنبال سرورهایی می‌گردد که نرم‌افزار پایگاه داده SiemensWinCC را اجرا می‌کنند، که یک کلمه‌ی عبور hard-coded شده دارند که قابل‌تغییر یا حذف نیست. Stuxnet خود را با SQL injection (تزریق SQL) به روی سرور کپی می‌کند.

Stuxnet همچنین بیانگر دانش دقیقی از نرم‌افزار WinCC/Step 7 زیمنس است که این امر در توانایی آن برای شناسایی شرایط خاص و تغییر کد بسته به CPU PLC هدف بازتاب می‌یابد. سازندگان Stuxnet باید پیکربندی PLC هدف را می‌دانستند و احتمالاً برای توسعه و آزمایش کد این دژافزار به سخت‌افزار مشابهی نیاز داشتند.

۳) سطح تلاش

پیچیدگی Stuxnet اشاره به سطح تلاش فوق‌العاده بالایی دارد. Ilias Chantzos، مدیر روابط دولتی Symantec، نیروی انسانی موردنیاز برای توسعه‌ی Stuxnet را بین ۵ تا ۱۰ نفر تخمین زد که به مدت شش ماه با دسترسی به سیستم‌های Scada کار می‌کرده‌اند. همه گزارش‌هایی که Stuxnet را بررسی می‌کنند، بر احتمال دخالت حداقل یک دولت در توسعه‌ی آن توافق دارند.

علاوه بر دانش ریز عامل درونی از هدف، جنبه‌های دیگر نشان می‌دهد که سازندگان Stuxnet منابع قابل‌توجهی را صرف کرده‌اند. این کد شامل بهره‌بردارهای بی‌سابقه از چهار آسیب‌پذیری صفر-روزه در ویندوز است. این مهاجمان برای بهره‌برداری‌های صفر-روزه ارزش قائل بوده‌اند، بنابراین عدد چهار نشان‌دهنده یک سرمایه‌گذاری غیرمعمول و بالا است. کرم‌واره Conficker نیز از آسیب‌پذیری Windows Server Service RPC که مایکروسافت برای آن در سال ۲۰۰۸ وصله‌ای منتشر کرد، بهره‌برداری کرد، اما به نظر می‌رسد که سازندگان Stuxnet می‌دانستند که اصلاح سیستم‌های Scada زمان‌بَر است.

Stuxnet برای آنکه قانونی به نظر برسد توسط دو گواهینامه امضاء دیجیتالی شده است. در ابتدا، از یک گواهینامه سرقت شده از Realtek Semiconductor استفاده کرد، اما VeriSign آن گواهینامه را در ۱۶ ژوئیه ۲۰۱۰ لغو کرد. روز بعدش مشخص شد Stuxnet از گواهی سرقت شده از JMicron Technology دارد استفاده می‌کند، که متعاقباً در ۲۲ ژوئیه لغو شد. این دو شرکت در نزدیکی یکدیگر قرار دارند، که این نکته اشاره‌کننده به سرقت فیزیکی در آن مکان‌ها است.

Stuxnet برای مخفی‌کاری بیشتر تلاش می‌کند، اما تکنیک‌های آن جدید نیستند. این کد موذی سعی می‌کند با تزریق خود به یک فرآیند شناخته‌شده، نرم‌افزارهای امنیتی متداول را دور بزند، سپس یک روت کیت ویندوز را برای مخفی شدن درون یک PC آلوده نصب می‌کند.

علاوه بر این، Stuxnet می‌تواند خود را از دو طریق به‌روز کند. یک کامپیوتر آلوده از ارتباطات peer-to-peer برای یادگیری به‌روزرسانی‌های جدید استفاده می‌کند. همچنین، سعی می‌کند به سرورهای فرمان و کنترل (در ابتدا در مالزی و دانمارک) متصل شود تا داده‌های سیستمی حذف‌شده از سیستم آلوده را گزارش کند و فایل‌های اجرایی دلخواه را دانلود کند.

۴) عواقب و نتایج

اگرچه جزئیات مهمی در مورد Stuxnet – مانند سازندگان، انگیزه‌ها، اهداف و اینکه آیا به هدف خود دست‌ یافته است یا خیر – در حد ظنّ باقیمانده است، اما مطمئناً نگرانی‌ها در مورد احتمال جنگ سایبری را برانگیخته است. برخی از کارشناسان Stuxnet را اولین سلاح واقعی جنگ سایبری می‌دانند.

ترس از جنگ سایبری در اواسط سال ۲۰۰۷ توسط حملات ممانعت از سرویس توزیع‌شده (یا DDoS) در استونی افزایش یافت. بااین‌حال، DDoS یک حمله‌ی brute-force نسبتاً ساده است. Stuxnet در گزینش پذیری، پنهان‌کاری، محافظت از خود و در به‌روزرسانی خود بسیار پیچیده‌تر است. دژافزارهای مشابه {با آن} ممکن است برای مخفیانه به خطر انداختن هدف خود و قبل از یک حمله علنی، به‌عنوان یک سلاح ٬٬ضربه اول٬٬ (first strike) مناسب باشند.

ایران پس از کشف Stuxnet، ناتو و آمریکا را به دست داشتن در این حملات متهم کرد، اما هر دو مسئولیت را انکار کردند. برخی نیز به واحد ۸۲۰۰ آژانس امنیتی اسرائیل مشکوک هستند. اسرائیل به‌طور علنی در مورد Stuxnet اظهارنظر نکرده است، اما تصدیق می‌کند که جنگ سایبری اکنون بخشی از مأموریت آن {واحد} است. اسرائیل تنها کشوری است که حتماً دارای قابلیت‌های جنگ سایبری است. ایالات‌متحده برای دفاع از شبکه‌های نظامی آمریکایی، فرماندهی سایبری (USCYBERCOM) را در Fort Meade ایالت مریلند تأسیس کرد. باور گسترده آن است که کشورهای دیگر ازجمله بریتانیا، چین و روسیه نیز به دنبال قابلیت‌های جنگ سایبری هستند.

Stuxnet چشمان محققان امنیتی را به این واقعیت باز کرده است که کدهای موذی مقیّد به کامپیوتر‌ها نیستند. دژافزارها می‌توانند زیرساخت‌های فیزیکی حیاتی را که عمدتاً توسط نرم‌افزار کنترل می‌شوند، تحت تأثیر قرار دهند. درنتیجه این تهدیدات ممکن است به زندگی واقعی نیز گسترش یابد.

Stuxnet همچنین نشان داده است که جداسازی از اینترنت دفاع مؤثری نیست و یک مهاجم پرانگیزه ممکن است ترکیبی غیرمنتظره از دانش درونی، مهارت‌های پیشرفته و منابع وسیع داشته باشد. تکنولوژی‌های موجود در دفاع در برابر این استعداد حمله مشکل خواهند داشت. درواقع، Stuxnet ممکن است به مدلی برای نسل‌های آینده حملات سایبری تبدیل شود[۳].

منابع

[۱] https://www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/w32_stuxnet_dossier.pdf

[۲] www.langner.com/en

[۳] https://www.computer.org/csdl/magazine/co/2011/04/mco2011040091/13rRUB7a16whttps://openaccess.city.ac.uk/id/eprint/8203/1/ieee-computer-april-2011.pdf


(۱) congestion
(2) programmable logic controllers (PLC)
(3) print spooler