Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Teknologi Internet of Things

Enam langkah untuk mengamankan sistem tertanam di IoT

Mark Pitchford dari LDRA

Keamanan terus menjadi perhatian utama untuk beragam sistem tertanam di Internet of Things (IoT). Jika disusupi, sistem yang terkubur dalam jaringan listrik, pembangkit listrik, manufaktur, sistem otomotif, perangkat medis, manajemen gedung, pompa bensin, pemanggang roti, dan banyak lagi, dapat menjadi risiko yang signifikan, Mark Pitchford dari LDRA laporan.

Untungnya, dengan keamanan, pepatah lama "satu ons pencegahan bernilai satu pon penyembuhan" tentu saja benar, dan dasar dari frasa buzz "geser kiri" yang jauh lebih baru! Tinjauan ke depan teknik membantu membangun sistem yang aman dengan biaya lebih rendah daripada pengujian reaktif nanti. Faktanya, karena membangun perangkat lunak yang aman memiliki banyak kesamaan dengan membangun aplikasi yang aman secara fungsional, pengembangan perangkat lunak yang aman dimulai dengan mengikuti proses keamanan fungsional.

Pertimbangkan praktik terbaik berikut untuk membantu menghasilkan kode berkualitas tinggi dan meningkatkan keamanan sistem tertanam:

1. Bangun keamanan ke dalam siklus hidup pengembangan perangkat lunak

Verifikasi kode aman tradisional sebagian besar bersifat reaktif. Kode dikembangkan sesuai dengan pedoman yang relatif longgar, kemudian diuji untuk mengidentifikasi kerentanan. Baik menggunakan pengembangan tangkas atau model siklus hidup pengembangan tradisional, ada pendekatan yang lebih proaktif untuk keamanan yang dirancang.

Dengan pengembangan tradisional, persyaratan mengalir ke desain, ke kode (mungkin melalui model), dan ke pengujian. Dengan pengembangan tangkas, persyaratan dibangun secara iteratif berlapis-lapis dari dalam ke luar, masing-masing dengan loop persyaratan, desain, kode, dan pengujiannya sendiri. Dengan metodologi mana pun, memastikan bahwa persyaratan keamanan merupakan bagian integral dari proses pengembangan akan menghasilkan hasil yang jauh lebih memuaskan daripada sekadar mencari kerentanan di akhir.

2. Pastikan ketertelusuran dua arah

Sebagian besar standar keselamatan fungsional memerlukan bukti konfirmasi ketertelusuran dua arah dari cakupan yang lengkap dan menyeluruh antara fase pengembangan antara semua tahap pengembangan mulai dari persyaratan hingga desain, kode, dan pengujian. Dengan transparansi seperti itu, dampak dari setiap perubahan pada persyaratan atau kasus uji yang gagal dapat dinilai dengan analisis dampak dan kemudian ditangani.

Artefak dapat dibuat ulang secara otomatis untuk menyajikan bukti kepatuhan yang berkelanjutan terhadap standar yang sesuai. Di mana keamanan adalah yang terpenting, keterlacakan dua arah juga memastikan bahwa tidak ada kode yang berlebihan, atau fungsionalitas yang tidak ditentukan dan itu termasuk metode pintu belakang. Keunggulan ini menggarisbawahi nilai pengembangan sistematis untuk meningkatkan kemampuan membangun sistem yang aman.

3. Pilih subset bahasa yang aman

Saat mengembangkan dengan C atau C++, sekitar 80% dari cacat perangkat lunak dapat dikaitkan dengan penggunaan yang salah dari 20% konstruksi bahasa. Subset bahasa meningkatkan keselamatan dan keamanan dengan mencegah atau menandai penggunaan konstruksi yang tidak aman. Dua standar pengkodean populer, MISRA C dan Carnegie Mellon Software Engineering Institute (SEI) CERT C, membantu pengembang menghasilkan kode yang aman.

Menerapkan MISRA C atau CERT C akan menghasilkan kode yang lebih aman daripada jika keduanya tidak diterapkan. Namun, menegakkan pedoman ini secara manual harus dibayar dengan waktu, tenaga, uang, dan ironisnya kualitas, karena proses manualnya rumit dan rawan kesalahan. Untuk mengurangi biaya dan meningkatkan produktivitas, organisasi pengembangan perlu mengotomatiskan dukungan untuk kepatuhan.

4. Gunakan standar proses yang berfokus pada keamanan

Standar keamanan memberikan bagian lain dari solusi pengembangan aman, meskipun standar keamanan tidak dikembangkan dengan baik dan diuji waktu sebagai standar keselamatan fungsional, yang telah digunakan selama beberapa dekade. Namun, ini akan berubah, seiring dengan pengembangan standar keamanan khusus industri.

Industri otomotif, misalnya, saat ini sedang mengembangkan ISO/SAE 21434 “Rekayasa keamanan siber kendaraan jalan” untuk mengurangi masalah kendaraan yang terhubung sebagai target serangan siber. Janji dokumen substansial dengan lebih detail daripada prinsip panduan tingkat tinggi SAE J3061 “Buku Panduan Keamanan Siber untuk Sistem Kendaraan Fisik-Siber”, membuat ISO/SAE 21434 diantisipasi secara luas.

5. Otomatiskan sebanyak mungkin

Pada setiap tahap proses pengembangan perangkat lunak, otomatisasi mengurangi kerentanan dalam sistem tertanam dan menghemat banyak waktu dan biaya. Pengembang dapat menyambungkan ke alat persyaratan (misalnya, IBM Rational DOORS), mengimpor konstruksi simulasi dan pemodelan, dan mengujinya terhadap kode untuk melihat sekilas bagaimana dan jika persyaratan terpenuhi, apa yang hilang, dan di mana kode mati yang tidak' tidak memenuhi persyaratan.

Mesin analisis statis dapat memeriksa kepatuhan terhadap standar pengkodean dan standar keselamatan dan keamanan fungsional. Dengan otomatisasi dan desain yang aman, pengujian reaktif seperti pengujian penetrasi memiliki tempat, tetapi perannya adalah untuk memastikan bahwa kode tersebut aman untuk tidak mengetahui di mana letaknya.

6. Pilih fondasi perangkat lunak yang aman

Perangkat lunak tertanam yang aman harus berjalan pada platform yang aman, jadi jika aplikasi diserang, aplikasi itu berjalan dalam silonya sendiri, terisolasi dari komponen perangkat lunak lain (“pemisahan domain”). Alat uji dan verifikasi perangkat lunak otomatis terintegrasi ke dalam lingkungan pengembangan umum dari spesifikasi persyaratan hingga desain dan pemodelan melalui pengkodean dan dokumentasi. Ini memastikan bahwa pengembang dapat membangun sistem yang aman di lingkungan yang sudah dikenal dan dengan alat yang telah ditentukan untuk sistem mereka.

Mengikuti enam proses ini memberikan pendekatan kohesif untuk mengembangkan perangkat lunak tertanam untuk IoT yang aman, terjamin, dan andal.

Penulisnya adalah Mark Pitchford dari LDRA.

Untuk informasi lebih lanjut klik di sini:


Teknologi Internet of Things

  1. Mengamankan IoT industri:bagian teka-teki yang hilang
  2. Jalan menuju keamanan IoT industri
  3. Menangani kerentanan keamanan IoT industri
  4. Mengamankan IoT dari serangan cyber
  5. Mengamankan vektor ancaman IoT
  6. Mengamankan IoT melalui penipuan
  7. Hand-in-hand – Mengapa IoT membutuhkan SD-WAN
  8. Mengamankan IoT dari lapisan jaringan ke lapisan aplikasi
  9. Empat langkah untuk merekrut CISO terbaik di dunia IoT
  10. Tiga langkah untuk keamanan IoT global