Peretasan smart meter di PHDays 8: analisis kontes MeterH3cker

gambar

Tahun ini, program kompetisi Positive Hack Days telah diisi ulang dengan kompetisi untuk meretas elemen sistem smart grid - MeterH3cker . Para peserta memiliki mock-up dua rumah, seperti yang dibayangkan oleh penyelenggara, panel surya menyediakan listrik untuk rumah-rumah, dan kelebihan energi yang dihasilkan dapat dijual ke jaringan listrik umum dengan harga khusus. Tugas penyerang adalah mengganggu proses normal pengukuran listrik dan memengaruhi keseimbangan uang tunai dalam sistem penagihan dengan cara apa pun yang memungkinkan.

Berdiri


gambar

Stand MeterH3cker

Rumah-rumah modern yang dilengkapi dengan panel surya dapat mengonsumsi listrik dan mengembalikan kelebihan jaringan. Model ini membentuk dasar dari stan MeterH3cker.

Stand adalah model dua bangunan perumahan modern dengan peralatan nyata, yang menerapkan elemen-elemen teknologi smart grid. Di setiap rumah, pengontrol surya, meteran listrik pintar, dan konsumen energi dipasang. Kedua rumah terhubung ke model gardu listrik di mana pengumpulan data dan perangkat transmisi (DTD) dipasang; itu mewawancarai meter dan meter gardu.

Selain itu, setiap rumah dilengkapi dengan sistem pemanas dan pendingin ruangan, yang berada di bawah kendali umum dari pengontrol yang tersedia di jaringan umum stan. Juga, dekat rumah pintar, stasiun pengisian nyata untuk kendaraan listrik dipasang, yang dikirim ke USPD indikasi konsumsi listriknya untuk kendaraan listrik yang terhubung.

Kami meletakkan skenario siang dan malam. Dalam mode "hari", panel surya di rumah-rumah menghasilkan listrik, dan penghitung mereka berbelok ke arah yang berlawanan dan memperhitungkan energi "yang dikonsumsi" dan "diberikan". Setiap rumah memiliki akun pribadinya sendiri, yang keseimbangannya meningkat selama pembangkitan energi dan menurun selama konsumsi, dan tarif yang diatur dalam meter juga memengaruhi nilai.

Tugas utama peserta kontes adalah meningkatkan keseimbangan akun pribadi rumah dengan menyerang peralatan stand, dan dengan demikian mendapatkan manfaat finansial langsung dari tindakan hacker mereka.

Untuk memvisualisasikan hasil, kami menulis server penagihan kami sendiri, yang mengumpulkan data dari USPD. USPD sendiri, pada gilirannya, menginterogasi konter dengan beberapa cara:

  1. konter di rumah No. 1 - sesuai dengan protokol open-like vendor seperti Modbus;
  2. konter in-house No. 2 diinterogasi oleh perangkat VR-007.3 menggunakan protokol mirip vendor terbuka, dan kemudian USPD menerima data dari server web VR-007.3 melalui HTTP;
  3. meteran gardu induk - sesuai dengan protokol TCP Modbus.

Untuk mendapatkan nilai nyata dari konsumsi energi, meter referensi yang tidak tersedia bagi penyerang dihubungkan ke sirkuit arus dan tegangan yang sama dengan meter yang diserang. Server penagihan secara langsung menyurvei mereka melalui antarmuka RS-485.

Agar pengunjung di forum dapat mengamati apa yang terjadi, sebuah monitor besar dipasang di dekat stand, di mana grafik konsumsi listrik ditampilkan secara real time. Grafik biru menandai pembacaan dari USPD. Mereka berubah tergantung pada tindakan para penyerang. Grafik hijau menunjukkan pembacaan nyata pembangkit listrik dan konsumsi yang dikumpulkan dari meter referensi.

gambar

Tampilan nilai saat ini untuk setiap rumah: saldo akun pribadi, energi yang dikonsumsi dan dikirim ke jaringan, tarif

Portal internal untuk peserta kontes juga tersedia di jaringan stand. Di sana, nilai grafik saat ini ditampilkan, bagian dengan deskripsi setiap elemen dudukan; aturan kontes diterbitkan di sana dan dari waktu ke waktu muncul kiat.

gambar

Portal internal

Ketentuan partisipasi


Kompetisi diadakan selama dua hari. Di hari pertama ada kompetisi kualifikasi. Saat menghubungkan ke jaringan tegakan, setiap peserta mendapat akses ke semua peralatan dari dua rumah, sebuah gardu dan stasiun pengisian daya. Peserta memiliki kesempatan untuk mempelajari peralatan, menemukan kerentanan dan vektor serangan potensial. Pada siang hari, kiat-kiat baru ditambahkan secara berkala ke portal internal kompetisi, yang memungkinkan peserta untuk mendeteksi kelemahan pada peralatan tegakan. Peserta yang mencapai kesuksesan di stand pada hari pertama diundang untuk berpartisipasi dalam turnamen terakhir pada hari kedua.

Final adalah semacam duel. Dua peserta diundang ke stan, yang masing-masing memiliki rumahnya sendiri. Tugas mereka adalah untuk menipu counter dengan cara apa pun selama putaran sepuluh menit dan menghasilkan lebih banyak energi daripada musuh - tetangga bersyarat. Pemenangnya adalah orang yang memiliki saldo akun pribadi yang lebih besar di akhir kompetisi. Pada saat yang sama, tugas menjadi rumit oleh fakta bahwa para peserta memiliki akses ke peralatan satu sama lain, yang berarti bahwa mereka dapat membahayakan tetangga mereka dan meremehkan hasil mereka.

Hari Pertama: Babak Kualifikasi


Ada banyak orang yang ingin mencoba peralatan peretasan. Perhatikan bahwa beberapa dari mereka sangat siap untuk kompetisi dan memiliki perangkat lunak yang diperlukan. Di antara mereka adalah peserta dari Jepang, yang dari jam-jam pertama kompetisi dengan cermat mempelajari stand, yang memungkinkan mereka untuk mencapai hasil yang signifikan pada hari kedua.

Sebuah kejutan besar bagi kami adalah partisipasi seorang penggila peretasan berusia 12 tahun: meskipun usianya, ia dapat menavigasi peralatan yang disajikan dan menunjukkan beberapa serangan.

gambar

Kontestan

Kami mendapat hasil pertama di tengah hari: Peneliti Jepang bergabung untuk mengambil kendali stasiun pengisian untuk mobil listrik dan berhenti mengisi daya mobil listrik dengan mengirimkan perintah kontrol melalui antarmuka web. Beberapa saat kemudian, mereka dapat mengambil kata sandi untuk administrator pengendali matahari dan mematikan pembangkit listrik.

Peretas muda juga tidak ketinggalan di belakang orang dewasa: ia belajar untuk menyebabkan reboot terus menerus dari USPD, dengan demikian menerapkan penolakan serangan layanan dan mengganggu survei counter.

Menjelang malam, salah satu anggota kelompok Jepang mencapai penyimpangan serius antara nilai energi pada referensi dan penyerang, sangat meningkatkan nilai penghitungan. Dan rekannya menemukan kerentanan di antarmuka web penghitung gardu, yang memungkinkan membaca konten file kartu flash perangkat, salah satunya berisi hash kata sandi administrator. Dengan demikian, setelah berhasil memilih kata sandi, ia memperoleh akses ke parameter penghitung.

Satu jam sebelum akhir babak kualifikasi, seorang peserta bernama Oleg bergabung dengan stan. Terlepas dari kenyataan bahwa ia hanya memiliki sedikit waktu tersisa, ia berhasil melakukan serangan yang berhasil dan masuk ke turnamen, yang diadakan pada hari berikutnya.

Sebagai hasilnya, pada akhir hari, semua peserta dapat mengubah pembacaan energi pada semua meter listrik yang tersedia dan mengendalikan berbagai elemen pengendali stand, stasiun pengisian daya.

gambar

Hasil serangan partisipan terhadap penghitung. Grafik kanan bawah menunjukkan bahwa koefisien transformasi konter telah diubah, dan yang kiri bawah menunjukkan bahwa serangan penolakan layanan berhasil dilakukan pada konter -4

Hari Kedua: Turnamen dan Final


Berdasarkan hasil laporan yang dikirim oleh para peserta pada akhir hari pertama, kami memilih tujuh peserta yang dapat menemukan dan mengeksploitasi kerentanan dalam peralatan stand.

Karena pada hari kedua, para peserta selama putaran dapat mempengaruhi pembacaan tidak hanya counter mereka, tetapi juga counter tetangga saingan, setiap kelalaian dapat membawa konsekuensi serius. Jadi, peserta Oleg, yang melakukan serangan pada peralatan tetangga, keliru meningkatkan skor tetangganya, karena ia melakukan serangan pada saat generasi, dan kemudian tidak berhasil "memelintirnya" ke arah lain selama sisa waktu putaran. Dalam perkelahian berikutnya, para peserta memperhitungkan pengalaman menyedihkan ini dan bertindak secara kompeten, misalnya, menetapkan nilai maksimum dari koefisien penghitung mereka selama periode generasi (mode "hari") dan minimum selama periode konsumsi (mode "malam").

gambar

Klasemen

Pertempuran serius terjadi di final kompetisi. Di awal ronde, keuntungan adalah untuk Satoru Takeksoshi, yang pada menit-menit pertama berhasil melakukan serangan dan sangat meningkatkan saldo akunnya. Peserta kedua - Alexey Kuznetsov - juga dapat melakukan serangan di awal putaran dan meningkatkan saldo akunnya, tetapi dalam jumlah yang jauh lebih kecil. Kesenjangan dalam pembacaan energi yang dihasilkan adalah 25 GW ยท jam terhadap 5 GW ยท jam. Untuk sebagian besar ronde, skor tidak berubah. Mungkin, agar tidak mengulangi pengalaman menyedihkan dari para peserta pertama yang menyerang pada waktu yang salah, Alex berperilaku hati-hati dan memantau perubahan rezim. Di babak kedua ronde, ia berhasil melakukan serangan yang berhasil pada meteran gardu listrik dan membuat pemisahan dari tetangga minimal, tetapi skor total masih tidak memungkinkannya untuk menang. Pada detik-detik terakhir, Alex kembali menyerang counter dan berhasil meningkatkan kesaksiannya, yang memungkinkannya untuk merebut kemenangan dari pemimpin. Dengan demikian, Alexey menang, meningkatkan saldonya menjadi 92 miliar. e., dan karena serangannya yang berhasil pada meter gardu listrik, skor totalnya memungkinkan dia untuk menang tanpa syarat.

gambar

Keadaan akun pribadi di detik-detik terakhir setelah serangan terakhir

Ringkasan


Jadi, pemenangnya: tempat pertama diraih oleh Alexei Kuznetsov, tempat kedua diraih Satoru Takekoshi, Nikita Stupin menutup posisi tiga. Hadiah spesial, untuk tempat ke-4, diterima oleh cracker muda Yuri Grishin.

Selama kompetisi (terutama di turnamen final), serangan yang sangat berbeda ditunjukkan. Sebagian besar peserta mencoba melakukan serangan pada pembacaan energi yang diambil dari meter, meningkatkan produksi energi pada saat generasi dan mengurangi pada saat konsumsi. Juga, dalam beberapa putaran, para pesaing berhasil menyerang stasiun pengisian daya untuk mobil listrik dan pengontrol matahari.

Namun, tidak ada satu pun peserta yang dapat melakukan serangan yang berhasil terhadap USPD dan mengganti data yang dikumpulkan langsung di atasnya. Secara potensial, serangan ini dapat menyebabkan kontrol penuh terhadap data yang dikirim ke pusat penagihan dan meningkatkan akun Anda dengan nilai sewenang-wenang. Selama dua hari, kami mencatat hanya satu upaya serangan seperti itu, yang, tampaknya, berakhir dengan kegagalan.

Juga, tidak ada yang menyerang controller yang mengontrol sistem pemanas dan pendingin udara. Diasumsikan bahwa penyerang akan terhubung ke perangkat dan dapat mengendalikan peralatan menggunakan sinyal kontrol yang ada. Kesulitan utama bagi penyerang adalah membandingkan port terbuka dan nama peralatan, misalnya, untuk meminta informasi menggunakan protokol FOX. Itu tidak perlu menggunakan perangkat lunak khusus untuk menyerang peralatan ini. Petunjuk itu juga tidak membantu, karena penyerang tidak menggunakannya, dan yang diperlukan hanyalah mengganti header User-Agent di browser mereka untuk koneksi yang sukses.

Dari pengamatan lain. Selama kompetisi, para kontestan mengajukan banyak pertanyaan klarifikasi tentang struktur dan operasi stan, serta pada perangkat yang tersedia. Hal ini dapat dijelaskan oleh fakta bahwa, selain tugas "menghancurkan" perangkat, perlu untuk mengetahui apa yang masing-masing dari mereka lakukan dan bagaimana memanfaatkan kerentanannya untuk mendapatkan keuntungan.

gambar

Ketinggian hari pertama

Kami senang bahwa meskipun kompetisi kami adalah pendatang baru di forum, banyak penonton datang yang tidak akan berpartisipasi, tetapi tertarik pada karya stan, keberhasilan para kontestan. Ottoman gratis di depan stand dengan cepat berakhir!

Fakta menarik lainnya terkait dengan peserta dari Jepang. Portal internal kompetisi dan dokumentasi perangkat pabrikan domestik berada di Rusia, namun, ini tidak menjadi hambatan bagi tim Jepang - ada cukup keterampilan praktis untuk menunjukkan serangkaian serangan yang berhasil. Namun, setelah kompetisi, mereka mengakui bahwa itu menyebabkan sedikit ketidaknyamanan.

Secara umum, kompetisi menunjukkan bahwa dalam waktu kurang dari dua hari sangat mungkin untuk memahami sistem pengukuran listrik modern dan melakukan serangan yang berhasil pada mereka.

Analisis kontes lain Positive Hack Days 8:


Source: https://habr.com/ru/post/id414557/


All Articles