WHAT'S NEW?
Loading...

Para Peneliti membangun Rotkit yang tidak Terdeteksi PROGRAMMABLE LOGIC CONTROLLER


Para peneliti telah merancang serangan malware baru terhadap industri programman logic controller (PLC) yang mengambil keuntungan dari arsitektur kekurangan di mikroprosesor dan bypasses saat ini mekanisme deteksi.

Serangan perubahan konfigurasi input/output pin yang membentuk interface yang digunakan oleh PLC untuk berkomunikasi dengan perangkat lain seperti sensor, katup, dan motor. PLC adalah komputer yang tertanam khusus yang digunakan untuk memantau dan mengontrol proses fisik di pabrik-pabrik, pembangkit listrik, gas kilang, utilitas publik, dan instalasi industri lainnya.

Serangan yang akan dipresentasikan pada konferensi keamanan Black Hat Eropa di London pada hari Kamis, dikembangkan oleh Ali Abbasi, calon doktor dalam grup keamanan sistem terdistribusi dan tertanam di Universitas Twente di Belanda, dan Majid Hashemi, penelitian dan pengembangan engineer di Quarkslab, sebuah perusahaan berbasis di Paris cybersecurity.

Satu versi dari serangan I/O disebut konfigurasi pin dan melibatkan penggunaan kode berbahaya konfigurasi pin switch I/O yang dari output untuk input, atau cara lain di sekitar, tanpa PLC OS atau program yang mengetahui.

Sebagai contoh, mari kita ambil kasus PLC yang terhubung ke katup dan mampu membuka atau menutup dengan mengirimkan sinyal ke pin I/O yang dikonfigurasi sebagai output. PLC sama juga menerima pembacaan tekanan dari sensor melalui pin lain yang dikonfigurasi sebagai masukan.

Sebuah program yang berjalan pada PLC–dikenal sebagai logika PLC–monitor bacaan-bacaan dari sensor dan secara otomatis membuka katup untuk melepaskan tekanan ketika diperlukan.

Kode berbahaya yang diinjeksikan oleh penyerang PLC dapat mengkonfigurasi output pin sebagai masukan, mencegah logika PLC dari menulis untuk itu dan membuka katup Juga dapat mengkonfigurasi ulang pin input Keluaran dan menulis data palsu untuk itu Hasilnya akan terjadi bahwa PLC akan melaporkan bahwa itu telah dibuka katup software monitoring dan bahwa tekanan akan turun karena bacaan palsu sekarang disediakan oleh penyerang ketika belum dalam kenyataannya.

Masalah mendasar adalah bahwa ada tidak ada perangkat keras menyela untuk konfigurasi pin dalam sistem chip (SoCs) digunakan dalam perangkat embedded seperti PLC, sehingga OS akan mendapatkan tidak ada kesalahan dari prosesor ketika mencoba untuk menulis ke pin ulang sebagai masukan, menurut Abbasi Ini berarti logika PLC, yang berlangsung di dalam lingkungan runtime, akan crash dan akan terus bertindak seolah-olah operasi berhasil karena, dalam memori virtual OS, semuanya akan terlihat baik.

“Itu adalah masalah inti di sini,” kata Abbasi. “Tampaknya bahwa tidak ada vendor SoC yang telah dipertimbangkan ke pin konfigurasi umpan balik, dan yang mungkin tidak penting bagi sistem tertanam lainnya, tetapi untuk PLC, yang pengoperasiannya utama adalah dengan i/o, ini menjadi super penting dan dapat menyebabkan masalah.”

Abbasi dan Hashemi dilaksanakan teknik serangan mereka di rootkit yang berfungsi sebagai modul loadable kernel (LKM). Hal ini memungkinkan mereka untuk memotong alat yang ada intrusi berbasis host Deteksi dan aliran kontrol integritas untuk embedded System seperti Doppelgänger dan Autoscopy Jr.

“Kebaruan serangan kami terletak pada kenyataan bahwa untuk memanipulasi proses fisik kita tidak memodifikasi PLC logika instruksi atau firmware,” kata para peneliti dalam kertas. “Ini dapat dicapai tanpa memanfaatkan fungsi tradisional yang mengaitkan teknik dan dengan menempatkan seluruh kode berbahaya di memori dinamis.”

Kekurangannya pelaksanaan rootkit sebagai LKM–pada dasarnya driver–bahwa penggelaran itu membutuhkan hak akses root. Karena ini, para peneliti juga mengembangkan sebuah versi dari serangan yang menggunakan fitur-fitur PLC runtime untuk mengkonfigurasi ulang PIN, dan varian ini dapat dilaksanakan dengan memanfaatkan setiap memori korup kerentanan yang memungkinkan memuat kode berbahaya langsung ke memori dinamis.

Target teknik serangan lain fitur yang disebut pin multiplexing yang memungkinkan penggunaan pin sama untuk mode antarmuka yang berbeda selain GPIO (tujuan umum bahasa). Fungsi pin dapat kembali ditetapkan selama runtime dan sekali lagi,tidak ada umpan balik untuk memberitahu OS sesuatu telah terjadi.
“Katakanlah Anda menggunakan pin untuk menghubungkan ke motor dan mengelolanya melalui pulse width modulation (PWM) controller di dalam CPU,” kata Abbasi.

“Dalam serangan tersebut, apa yang kita lakukan adalah multipleks yang pin dan mengubah fungsionalitas ke sesuatu yang lain, tetapi CPU tidak memberitahu unit manajemen memori (MMU), yang diterjemahkan virtual alamat ke alamat fisik, bahwa alamat fisik yang berkaitan dengan pin yang tidak lagi tersedia.

MMU akan terus mencoba untuk menulis itu, CPU akan mengabaikan permintaan, tetapi tidak akan mengulang kembali kesalahan, dan itu hal gila karena PLC masih akan berpikir bahwa motor bisa dicapai.

0 komentar:

Posting Komentar