محققان موسسه امنیت سایبری صنعتی Claroty یک آسیبپذیری با شدت بالا را در دستگاههای PLC زیمنس کشف کردهاند که با شناسه CVE-2020-15782 شناخته میشود. مهاجمان میتوانند از راه دور و به صورت غیرمجاز این آسیبپذیری را اکسپلویت کرده و تمهیدات حفاظتی حافظه را دور بزنند.
مهاجمی که به پورت TCP شماره 102 دسترسی داشته باشد، میتواند با استفاده از این آسیبپذیری، دادههایی را که در نواحی محافظتشدهی حافظه قرار دارند بخواند و بنویسد.
این نقص امنیتی پردازندههای SIMATiC نسخه S7-1200 و S7-1500 را تحت تاثیر قرار میدهند. سازنده این پردازندهها بهروزرسانیهای Firmware را برای سیستمهای آسیبپذیر منتشر کرده است. زیمنس هم برای محصولاتی که هنوز مشکل در آنها حل نشده، راهحلهایی فوری و موقتی ارائه کرده است.
در توصیهنامه منتشرشده توسط این شرکت آلمانی آمده است:
« محصولات دارای پردازندههای SIMATIC نسخه S7-1200 و S7-1500، دارای یک آسیبپذیری دورزدن حفاظت حافظه هستند. این آسیبپذیری باعث میشود یک مهاجم بتواند دادهها و کد دلخواه خود را در نواحی حفاظتشدهی حافظه بنویسد یا دادههای حساس را بخواند تا بتواند حملات بعدی را در آینده با استفاده از آنها انجام دهد. زیمنس برای بسیاری از دستگاههای دارای این آسیبپذیری، بهروزرسانیهایی را منتشر کرده و بهشدت توصیه میکند که دستگاههای خود را به آخرین نسخه بهروزرسانی کنید. زیمنس در حال آمادهشدن برای انتشار بهروزرسانیهای بیشتر است و توصیه میکند برای دستگاههایی که هنوز بهروزرسانی برای آنها منتشر نشده، تمهیدات دفاعی ویژهای در نظر گرفته شود.»
مهاجمان با استفاده از این نقص امنیتی میتوانند سندباکس را دور بزنند و کد native را روی نواحی حفاظتشده از PLCهای S7 زیمنس اجرا کنند.
در پست منتشرشده توسط Claroty آمده است:
«در کارهای قبلی، برای ممکنشدن این سطح از اجرای کد، به دسترسی و اتصال فیزیکی به PLC، یا تکنیکهایی برای هدف قراردادن رایانههای کاری مهندسی یا دیگر دستگاههای متصل به PLC نیاز بود. این در حالی است که Claroty کار را یک قدم جلوتر برده و با استفاده از یک آسیبپذیری که به تازگی کشف شده، سندباکس PLC در پردازندههای SIMATIC مدل S7-1200 و S7-1500 را دور زده و کد native را در نواحی حفاظتشده از حافظه اجرا کرده است. یک مهاجم میتواند با استفاده از این آسیبپذیری، CVE-2020-15782، از راه دور دسترسی خواندن-نوشتن به حافظه بگیرد؛ دسترسی که شناسایی و حذف آن کار دشواری است.»
محققان این شرکت نشان دادهاند که یک مهاجم چگونه میتواند تمهیدات حفاظتی حافظه را دور بزند و کد شل را مستقیما در بخشهای حفاظتشدهی حافظه بنویسد. به ادعای این محققان، شناسایی مهاجمی که این آسیبپذیری را اکسپلویت کرده باشد بسیار سخت است.
مهاجمی که بتواند از سندباکس فرار کند میتواند از راه دور دادههای روی PLC را بخواند و بنویسد، و عملا میتواند کد عملیاتی موجود یک ماشین مجازی را با کدهای مخرب پچ کند تا دسترسی root روی دستگاه را به دست آورد.
Claroty پست خود را اینگونه جمعبندی کرده است:
«برای مثال Claroty توانسته کد شل ARM/MIPS را به صورت مستقیم به ساختار داخلی سیستمعامل تزریق کند؛ به صورتی که وقتی سیستم عامل کد عملیاتی منتخب ما را اجرا میکند، به جای آن کد شل مخرب ما اجرا میشود، که به ما امکان اجرای کد از راه دور را میدهد. ما از این تکنیک برای نصب برنامههای سطح کرنل استفاده کردیم که قابلیتها و کارکردهای آن کاملا از دید سیستمعامل پنهان بودند.».