Periset telah menemukan beberapa kelemahan utama dalam penerapan standar kriptografi Institute of Electrical and Electronics Engineers atau yang biasa disingkat IEEE P1735 yang dapat dimanfaatkan untuk membuka, memodifikasi atau mencuri blueprint dari system-on-chip yang dienkripsi.
Skema IEEE P1735 dirancang untuk mengenkripsi properti intelektual (PI) desain elektronik di perangkat keras dan perangkat lunak sehingga perancang chip dapat melindungi PI mereka dari peretas dan mata pencongkongan lainnya.
Mayoritas perangkat mobile dan embed termasuk system-on-chip (SoC), satu sirkuit terpadu yang dapat terdiri dari beberapa PI -koleksi spesifikasi desain yang dapat digunakan kembali- seperti penerima frekuensi radio, konverter analog ke digital, unit pemrosesan sinyal digital, unit pemrosesan grafis, mesin kriptografi, dari vendor yang berbeda.
Oleh karena itu, PI berlisensi ini sangat berharga bagi vendor mereka, jadi untuk melindungi mereka dari reverse engineering setelah dijual, IEEE mengembangkan standar P1735 untuk mengenkripsi PI desain elektronik.
Namun, sebuah peringatan yang diterbitkan Jumat oleh Departemen Keamanan Dalam Negeri US-CERT memperingatkan bahwa standar IEEE P1735 rentan.
“Dalam kasus yang paling mengerikan, [kesalahan ini] memungkinkan vektor serangan [seperti serangan padding-oracle] yang memungkinkan pemulihan seluruh PI plainteks yang mendasari,” menurut peringatan US-CERT.
“Implementasi IEEE P1735 mungkin lemah terhadap serangan kriptografi yang memungkinkan penyerang mendapatkan properti intelektual plaintext tanpa kunci, di antara dampak lainnya.”
Peringatan US-CERT muncul setelah sebuah makalah akademis baru-baru ini, berjudul “Standardizing Bad Cryptographic Practice,” yang dikeluarkan oleh tim peneliti dari University of Florida menemukan dan melaporkan total tujuh kerentanan pada standar IEEE P1735.
Inilah daftar semua kerentanan dalam standar P1735 dengan ID CVE nya:
- CVE-2017-13091: Padding yang tidak sesuai dengan penggunaan standar mode AES-CBC memungkinkan penggunaan alat Electronic Design Automation (EDA) sebagai dekripsi oracle.
- CVE-2017-13092: Sintaks HDL (bahasa deskripsi perangkat keras) yang tidak tepat memungkinkan penggunaan alat EDA sebagai dekripsi oracle.
- CVE-2017-13093: Modifikasi cyphertext properti intelektual terenkripsi untuk menyertakan trojan perangkat keras.
- CVE-2017-13094: Modifikasi kunci enkripsi dan penyisipan trojan perangkat keras di PI manapun tanpa mengetahui kuncinya.
- CVE-2017-13095: Modifikasi sebuah lisensi menolak respon terhadap hibah lisensi atau sebaliknya.
- CVE-2017-13096: Modifikasi Rights Block, yang berisi enkripsi RSA untuk kunci AES, untuk menyingkirkan atau mengendalikan kontrol akses.
- CVE-2017-13097: Modifikasi Rights Block untuk menyingkirkan atau melonggarkan persyaratan lisensi.
Kerentanan utama (CVE-2017-13091) berada pada penggunaan standar IEEE P1735 mode AES-CBC.
Karena standar tidak membuat rekomendasi untuk skema padding tertentu, para pengembang sering memilih skema yang salah, sehingga memungkinkan penyerang menggunakan teknik pembuatan padding-oracle attack (POA) yang terkenal untuk mendekripsi blueprint dari system-on-chip tanpa mengetahui kuncinya.
“Sementara serangan konfidensial dapat mengungkapkan keseluruhan PI plaintext, serangan integritas memungkinkan penyerang untuk memasukkan trojan perangkat keras ke PI terenkripsi,” para peneliti menyimpulkan.
“Ini tidak hanya menghancurkan perlindungan standar yang seharusnya diberikan tetapi juga meningkatkan premi risiko PI.”
Para periset juga mengusulkan berbagai optimisasi serangan konfidensial dasar yang bisa mengurangi kompleksitas.
Vendor yang menggunakan skema IEEE P1735 dengan cara yang tidak aman telah diberitahu oleh US-CERT. Vendor yang dihubungi oleh US-CERT termasuk AMD, Intel, Qualcomm, Cisco, IBM, Samsung, Synopsys, Mentor Graphics, Marvell, NXP, Cadence Design Systems, Xilinx dan Zuken.
Semua vendor di atas diyakini memiliki potensi risiko dari kerentanan ini, namun sejauh ini belum dikonfirmasi.
Para periset telah menyarankan perbaikan cepat yang dapat diterapkan pengembang perangkat lunak EDA untuk mengatasi masalah ini. Pengguna dianjurkan untuk menunggu pembaruan dari vendor perangkat lunak EDA dan segera menerapkannya saat tersedia.