Pengertian dan Bagaimana Kegagalan Kriptografi Terjadi

Pengertian dan Bagaimana Kegagalan Kriptografi Terjadi

Apa itu Kegagalan Kriptografi?
Daftar 10 Teratas OWASP keluar pada tahun 2021 dan seperti biasa, daftar ini telah mencerahkan kita tentang kerentanan paling berbahaya dan potensial. Dan kegagalan kriptografi (sebelumnya dikenal sebagai Paparan Data Sensitif) telah menempati posisi kedua dalam daftar 10 kerentanan teratas. Jadi tentang apa semua ini?

Sesuai OWASP, kegagalan kriptografi adalah gejala, bukan penyebab. Kegagalan apa pun yang bertanggung jawab atas pemaparan data sensitif dan kritis ke entitas yang tidak berwenang dapat dianggap sebagai kegagalan kriptografi. 

Ada berbagai alasan untuk kegagalan kriptografi. Beberapa dari Common Weakness Enumerations (CWEs) adalah:


  • CWE-259: Use of Hard-coded Password, 
  • CWE-327: Broken or Risky Crypto Algorithm, and 
  • CWE-331: Insufficient Entropy.

Jadi apa yang terjadi ketika kelemahan-kelemahan ini berubah menjadi kegagalan? Bagaimana kegagalan kriptografi mempengaruhi bisnis? Sekarang setelah kita memiliki gambaran tentang apa itu kegagalan kriptografi, mari kita coba memahami bagaimana hal itu berdampak pada organisasi dan individu.

Apa Dampak Kegagalan Kriptografi?
Kriptografi yang buruk secara langsung mempengaruhi keamanan aplikasi dan datanya. Kurangnya keamanan dapat membiarkan penyerang mencuri dan memodifikasi data untuk melakukan penipuan, dan pencurian identitas, yang dapat menyebabkan konsekuensi serius.

Penyerang mencoba mencuri kunci, mengeksekusi serangan man-in-the-middle, atau mencuri data dari server, dalam perjalanan, atau dari browser. Hal ini lagi-lagi mengarah ke kompromi dalam informasi sensitif.

Dampak dari kegagalan kriptografi tidak terbatas pada pencurian sepotong informasi dari/pada pengguna. Penyerang bisa mendapatkan database lengkap yang memiliki ribuan informasi sensitif, pencurian data, daftar publik, pelanggaran, dan banyak masalah kritis dengan data terkait bisnis. Anda juga dapat membayangkan skenario di mana kredensial admin dicuri dan penyerang mendapatkan kendali penuh atas server. Kegagalan kriptografi dapat mengakibatkan kerusakan reputasi yang tidak dapat diperbaiki dan tuntutan hukum yang berat.

Apakah Aplikasi Anda Rentan terhadap Kegagalan Kriptografi?
Katakanlah Anda memiliki aplikasi yang sudah berjalan. Dan sekarang Anda ingin menilai apakah aplikasi Anda rentan terhadap kegagalan kriptografi. Tentu saja, jika Anda menginginkan jawaban yang didukung oleh tes yang ketat, Anda harus menunggu tes tersebut terjadi. Tetapi ada beberapa aspek yang sangat sederhana sehingga hanya dengan mengajukan beberapa pertanyaan kepada diri sendiri dapat memberi Anda rasa percaya diri.

Berikut ini beberapa pertanyaan tersebut:

Apakah data ditransmisikan dalam teks yang jelas?
Apakah sistem saya menyimpan data sensitif dalam teks yang jelas?
Apakah aplikasi saya menggunakan algoritma enkripsi lama atau lemah?
Apakah saya menggunakan konfigurasi dan kunci default untuk sistem kriptografi saya?
Apakah saya tidak mengikuti manajemen kunci yang aman?
Apakah aplikasi saya tidak menggunakan koneksi aman dengan sertifikat yang valid?
Jika jawaban Anda untuk salah satu pertanyaan ini adalah "ya", maka Anda rentan terhadap kegagalan kriptografi. Untuk memahami bagaimana pertanyaan-pertanyaan ini menentukan keamanan kripto Anda dan melihat bagaimana kegagalan kriptografi terjadi, mari kita lihat beberapa contoh.

Contoh-contoh Kegagalan Kriptografi
Skenario 1: Meretas Hash Kata Sandi yang Tidak Tawar Menggunakan Tabel Pelangi
Hanya menyandikan kata sandi saja tidak cukup di era ini. Dengan alat dan teknik yang kuat, hash yang tidak diberi garam tidak terlalu sulit untuk dipecahkan. Salting kata sandi menyulitkan teknik peretasan kata sandi apa pun karena garam menambahkan panjang tambahan pada kata sandi. Semakin panjang garamnya, semakin sulit untuk dipecahkan. Namun, Jika Anda menyimpan kata sandi yang tidak diberi garam, penyerang dapat menggunakan tabel pelangi untuk memecahkan kata sandi ini.

Skenario 2: Enkripsi dan Dekripsi Basis Data Otomatis
Sistem manajemen basis data modern menganggap serius kriptografi. Itulah mengapa mereka menyediakan fitur-fitur seperti enkripsi data transparan (TDE) yang menangani enkripsi data saat mereka ditulis ke dalam database. Tetapi masalahnya adalah bahwa data ini juga secara otomatis didekripsi ketika Anda mengambilnya kembali. Jadi ini masih membuatnya rentan terhadap kegagalan kriptografi dari teknik seperti injeksi SQL.

Skenario 3: Kurangnya enkripsi TLS
Seharusnya sebuah situs web tidak menggunakan protokol yang kuat. Penyerang bisa memanfaatkan ini dan mendapatkan akses ke lalu lintas jaringan Anda. Ini tidak hanya terbatas pada memata-matai lalu lintas jaringan. Untuk memikirkan kemungkinan-kemungkinannya, penyerang dapat mengakses semua permintaan yang dibuat melalui browser Anda, memodifikasi permintaan, dan mencuri cookie sesi pengguna. Mereka juga bisa memaksa koneksi dari HTTPS ke HTTP untuk mendapatkan akses ke data yang didekripsi. Hal ini bisa berakibat fatal karena data sensitif dan sangat rahasia sedang diekspos.

Skenario 4: Manajemen Kata Sandi yang Tidak Aman
Anda mungkin pernah mendengar banyak kasus di mana seorang "magang" secara tidak sengaja mendorong beberapa kode dengan kredensial yang dikodekan dengan keras ke repositori. Dan ini menyebabkan kegagalan kriptografi. Bayangkan seorang pengembang yang memiliki akses ke basis data mendorong kode dengan kredensial mereka di server publik. Apa yang bisa dilakukan oleh aktor jahat dengan itu sangat menakutkan! Ini adalah kurangnya manajemen kata sandi/kredensial yang aman.

Mengurangi Kegagalan Kriptografi
Kunci enkripsi
Direkomendasikan bahwa semua kunci enkripsi harus dibuat secara kriptografis. Mereka harus disimpan dalam bentuk array byte. Kata sandi teks biasa harus selalu diubah menjadi teks sandi atau mengenkripsinya menggunakan kunci ini. Ini hanya boleh dilakukan dengan menggunakan metode atau algoritma enkripsi yang kuat. Menggunakan garam yang panjang untuk data sensitif juga meningkatkan keamanan.

Pengkodean yang aman
Pengkodean aman adalah seperangkat pedoman yang diikuti pengembang untuk mengintegrasikan keamanan dalam kode aplikasi. Praktik-praktik ini memastikan penggunaan praktik kriptografi yang kuat di berbagai bagian aplikasi, bukan hanya pada perimeter komponen aplikasi. Oleh karena itu mengurangi kemungkinan kegagalan kriptografi.

Pengujian Penetrasi
Kriptografi adalah salah satu aspek keamanan yang sulit untuk dilakukan dengan benar. Itulah mengapa untuk memastikan bahwa Anda tidak melewatkan apa pun, Anda perlu melakukan pengujian penetrasi secara teratur. Pengujian penetrasi memungkinkan Anda memahami perspektif penyerang terhadap aplikasi Anda. Oleh karena itu, berpikir seperti penyerang membantu dalam mengidentifikasi kelemahan kriptografi dan kelemahan lainnya serta membantu memprioritaskan perbaikan.

Kesimpulan
Singkat cerita, Cukup jelas mengapa OWASP Top 10 memiliki kegagalan kriptografi dalam daftar mereka. Ini adalah sesuatu yang tidak boleh dianggap enteng karena perusahaan-perusahaan dalam skala besar dan kecil telah menjadi korban kegagalan kriptografi.

Ruang lingkup penguatan kriptografi dalam aplikasi Anda cukup besar karena bukan hanya satu celah atau bug yang harus diperbaiki. Ini adalah kumpulan kelemahan atau praktik kriptografi yang buruk yang perlu ditangani. Satu hal yang jelas dari semua hal yang telah kita bahas sejauh ini - Sangat penting untuk menilai kekuatan implementasi kriptografi Anda dalam aplikasi Anda dan bekerja untuk memperbaikinya.