Selasa, 19 Februari 2019

Kriptografi dan Ransomware

Ransomware didasarkan pada gagasan bahwa korban tidak dapat mendekripsi file terenkripsi mereka dengan kunci karena tidak mungkin untuk menebak nilai kunci tersebut. Peretas yang telah mengenkripsi file seperti ini akan menjual kunci ini kepada korban.

Jadi Anda bisa mengatakan bahwa mereka telah menahan sandera file mereka dan menuntut uang tebusan , itulah sebabnya mereka menyebutnya ransomware .

Dijelaskan Kriptografi Ransomware

Mungkin tampak berlawanan dengan intuisi bahwa output dari file yang dienkripsi adalah teks walaupun inputnya tidak. Itu karena bit dalam file adalah apa yang dienkripsi, dan bit hanya angka.

Mari kita lihat sebuah contoh.

Jika Anda bertanya kepada Ubuntu jenis file apa dari dokumen Word dalam.doc menggunakan perintah file:

file in.doc

Itu akan mengatakan:

in.doc: Microsoft Word 2007+

File ini dalam format biner yang tidak dapat ditampilkan dengan editor teks. Jika Anda mencoba menampilkannya, Anda akan mendapatkan omong kosong seperti ini:

 U 4 F + LH | x 2 @ ڮ 8 j
^ & b0c5 Xi , I ($ G 9 d cLB ^ Lh \% iz) - ^ L v F \ k m س V Q [B.
_ pn
<# = $

Jadi seperti apa bentuknya saat dienkripsi?

Peretas akan menggunakan alat yang sama dengan programmer yang jujur, yang sebagian besar menggunakan openssl, yang dibangun ke dalam sistem Linux. OpenSS adalah perangkat lunak open source yang mengimplementasikan teknik enkripsi yang ditemukan oleh ahli matematika dan kriptologis beberapa dekade yang lalu, seperti AES (Advanced Encryption Standard).
Berikut ini cara mengenkripsi file menggunakan openssl dari baris perintah. Saat kami mengetik perintah ini, kami memasukkan kode sandi saat diminta:
openssl enc -aes-256-cbc -in in.doc -out out.doc.enc
masukkan kata sandi enkripsi aes-256-cbc:
Kemudian tanyakan pada Ubuntu format apa file terenkripsi itu dan akan memberi tahu Anda teks ASCII.

file out.doc.enc

out.doc.enc: teks ASCII
Dan ketika kita melihat bagian atas file ini Anda dapat melihat bahwa itu adalah teks biasa: 

 U2FsdGVkX1 + ZFWfn7HwskHQYivyAxAzSAPaycHFi5L1VVRGe38NznYLVnIdpJAUz

wa146rhYLwakr8d3Xo + vnwRYPtzv1JXmknIzgYumDTkKPyA4vzBWZq3e246JDBND

762HHa4akkZOcFbPwaSRBaiD4JR2JX2fbOoet7d2sBag2UO + g7rwFX467j2Rx3GV

hdz3PhGKLu + LrwJ2Jx86ZNrAtF / 5AC2nqMOZiZYEKDuUIa / T + OpRx9LjYUONAGn6

2wwf7g18HGnE3 + K9THlq0zIiVvfnRXPW8RlFSxZ3n3nYICI5Jm9hW9ASwF1Yj1mw

wn4JPb7uIwDrg + k2QZDFT2aQUboNkJRhPBi4oSWlZjpm5qrzmIZXhsh6jS + vwfFZ

Untuk mendekripsi file ini, kami menulis:
openssl enc -d -aes-256-cbc -in out.doc.enc -out out.doc.dec
Tapi itu hanya berfungsi jika Anda tahu kunci yang Anda ketikkan di atas

Dalam contoh ini, kami mengatakan untuk menggunakan algoritma enkripsi AES dengan kunci 256 bit dan menggunakan mode blok cipher (cbc).

Block cipher berarti serangkaian bit yang digunakan sebagai unit tunggal untuk teks produk. Teks itu, yang disebut ciphertext , adalah apa yang dienkripsi oleh algoritma enkripsi. Referensi ke blok berarti bahwa data disimpan dalam unit dengan panjang tetap yang dikenal sebagai blok. 

Cara Kerja Kriptografi

Semua algoritma enkripsi didasarkan pada masalah matematika dasar yang sama, yang merupakan kesulitan dalam menentukan apakah suatu bilangan prima. Kunci enkripsi biasanya merupakan produk dari dua angka harga, atau beberapa variasi dari itu. Temukan satu faktor utama dan Anda tahu yang lain.

Bilangan prima adalah angka yang tidak dapat difaktorkan. Semua angka lain, seperti 6, dapat ditulis sebagai produk bilangan prima, 6 = 2x3. Tetapi untuk menemukan faktor-faktor itu, komputer harus mengaduk semua angka yang kurang dari atau sama dengan akar kuadrat dari angka itu (Lihat apakah Anda dapat memahami mengapa Anda hanya perlu naik ke akar kuadrat.) Untuk melihat apakah ada angka-angka itu membagi angka target. Dalam 2.000 tahun tidak ada ahli matematika sejak Euclid telah menemukan cara yang lebih cepat. Banyak yang sudah mencoba.

Apa yang membuat ini sulit untuk dipecahkan adalah ukuran kuncinya adalah sejumlah besar sehingga mustahil untuk memperhitungkan faktor daya komputasi saat ini.

Misalnya, kunci 256 bit berarti ada 2 yang dinaikkan ke 256 kemungkinan. (Ini 2 karena setiap bit bisa menjadi 0 atau 1). Itu adalah angka dengan 77 nol. Butuh komputer bertahun-tahun untuk mempelajari semua kemungkinan itu. (Cryptographers di Princeton University ingin menunjukkan berapa lama waktu yang dibutuhkan komputer untuk menebak nilai kunci enkripsi 1024 bit. Mereka menghubungkan ratusan komputer bersama-sama untuk menyelesaikan masalah. Butuh waktu 2 tahun.)

Cara membangun salah satu kunci ini dijelaskan dengan contoh dalam contoh algoritma enkripsi RSA ini.

Bukti Brute Force

Jika Anda mencoba masuk ke Windows terlalu sering, sistem operasi akan mengunci akun Anda ketika Anda berada di lingkungan perusahaan dan ada beberapa jenis perangkat lunak, seperti Active Directory, yang mengeluarkan userid dan kata sandi.

Tetapi korban ransomware dapat mencoba serangan brute force untuk membuka kunci file, karena tidak ada batasan berapa kali mereka dapat mencobanya. Tetapi apa yang membuat enkripsi tidak bisa dipecahkan adalah ada begitu banyak kemungkinan kunci enkripsi untuk ditebak sehingga membuat semuanya menjadi mustahil.

Satu-satunya cara untuk mengalahkan ini adalah jika ada cacat dalam implementasinya. Dengan kata lain, matematika di balik algoritme itu solid. Tetapi seorang programmer harus mengubah ide itu menjadi kode kerja. Mereka melakukannya dengan perpustakaan pemrograman yang berbeda, seperti di Jawa. Bisa jadi mereka membuat kesalahan di sana. Seorang hacker dapat mempelajarinya dan menemukan beberapa kelemahan. Misalnya ada bug yang mungkin mengekspos data dalam teks yang jelas dalam memori.

Ransomware

Cerber , Locky dan Troldesh adalah infeksi ransomware yang umum. Mereka menggunakan enkripsi kunci publik. Itu menggunakan dua kunci: kunci publik dan kunci pribadi. Peretas mengenkripsi data dengan kunci publik. Itu hanya dapat didekripsi dengan kunci pribadi. 

Mengejutkan bahwa mereka akan menggunakan pendekatan ini dan bukan algoritma enkripsi seperti AES. Ini karena kunci pribadi harus ada pada mesin korban. Anda seharusnya menghapus kunci pribadi Anda dari komputer saat Anda mengenkripsi data karena itu dapat digunakan untuk mendekripsi.

Jadi peretas mengirimkan sendiri salinan kunci pribadi ketika mereka menjalankan ransomware mereka dan kemudian menghapusnya dari komputer korban. Para peretas mengancam para korban bahwa mereka akan menghapus kunci pribadi jika korban tidak membayar uang tebusan dalam periode waktu tertentu. 

Tidak ada komentar:

how to update playonlinux? || bagaimana update playonlinux di linux mint

open terminal wget -q "http://deb.playonlinux.com/public.gpg" -O - | sudo apt-key add - sudo wget http://deb.playonlinux.com/pla...