Saya telah membaca bahwa Gpu dapat digunakan dalam serangan brute force? Tapi bagaimana hal ini dapat dilakukan dan apakah ada kebutuhan lain perangkat keras (hard disk misalnya)?
Catatan: saya'm lebih tertarik pada keamanan aplikasi web, tapi aku don't ingin mengenakan penutup mata. I'm maaf jika pertanyaan saya ini konyol bagi anda, tapi saya hardware latar belakang isn't sangat baik. Aku hanya tahu bagaimana dasar komponen-komponen yang bekerja bersama-sama dan bagaimana untuk menggabungkan mereka.
I'm memilih untuk menganggap anda're bertanya mengapa itu's risiko daripada cara hack.
Gpu yang sangat baik di parallelising operasi matematika, yang merupakan dasar dari kedua komputer grafis dan kriptografi. Biasanya, GPU diprogram menggunakan baik CUDA atau OpenCL. Alasan mereka're baik untuk serangan brute-force adalah bahwa mereka're kali lipat lebih cepat dari CPU untuk operasi tertentu - mereka tidak't intrinisically lebih pintar.
Operasi yang sama dapat dilakukan pada CPU, mereka hanya memakan waktu lebih lama.
Orang-orang yang telah memberikan jawaban yang besar di sini yang langsung menjawab pertanyaan anda, tapi saya'd ingin memberikan melengkapi jawaban untuk menjelaskan lebih mendalam mengapa Gpu yang begitu kuat untuk ini, dan aplikasi lainnya.
Karena beberapa telah menunjukkan, Gpu secara khusus dirancang untuk menjadi cepat dengan operasi matematika sejak menggambar hal-hal ke layar anda adalah semua matematika (merencanakan vertice posisi, manipulasi matriks, pencampuran RBG nilai-nilai, membaca tekstur ruang dll). Namun, ini isn't benar-benar kekuatan pendorong utama di balik keuntungan kinerja. Pendorong utama adalah paralelisme. High end CPU mungkin memiliki 12 logis core, di mana high end GPU akan packing sesuatu seperti 3072.
Untuk tetap sederhana, jumlah logis inti sama dengan jumlah total bersamaan operasi yang dapat dilakukan terhadap dataset yang diberikan. Katakanlah misalnya saya ingin membandingkan, atau mendapatkan jumlah nilai dua array. Katakanlah panjang array adalah 3072. Pada CPU, aku bisa membuat array kosong dengan panjang yang sama, kemudian menelurkan 12 benang yang akan iterate di dua input array pada langkah yang sama dengan nomor benang (12) dan merangkap menjadi dumping jumlah dari nilai-nilai ke dalam ketiga array output. Ini akan mengambil 256 total iterasi.
Dengan GPU namun, saya bisa dari CPU tanggal yang sama nilai-nilai ke GPU kemudian menulis kernel yang bisa 3072 benang melahirkan terhadap kernel yang pada waktu yang sama dan memiliki seluruh operasi selesai dalam satu iterasi.
Hal ini berguna untuk bekerja terhadap setiap data yang, berdasarkan sifatnya, dukungan yang "bekerja pada" dalam parallelizable fashion. Apa yang saya'm coba katakan adalah bahwa ini isn't terbatas untuk hacking/jahat yang sesuai. Ini sebabnya GPGPU adalah menjadi lebih dan lebih populer, hal-hal seperti OpenCL, OpenMP dan seperti yang telah terjadi karena orang-orang telah menyadari bahwa kita programmer bogging bawah kita yang miskin sedikit Cpu dengan bekerja ketika ada kekuatan besar tanaman duduk di PC hampir tidak digunakan oleh kontras. It's tidak hanya untuk cracking software. Misalnya, setelah saya menulis yang rumit CUDA program yang mengambil lotto sejarah selama 30 tahun terakhir dan dihitung hadiah/probabilitas menang dengan promo dari berbagai kombinasi dari semua kemungkinan angka dengan menyesuaikan angka memainkan per tiket, karena saya pikir itu ide yang lebih baik daripada menggunakan kemampuan yang besar untuk mendapatkan pekerjaan (ini adalah untuk tertawa, tapi sedih juga benar).
Meskipun aku don't selalu mendukung orang-orang yang memberikan presentasi, [presentasi ini][5] memberikan sangat sederhana tetapi akurat ilustrasi mengapa GPU yang begitu besar untuk apa pun yang dapat diparalelkan, terutama tanpa bentuk penguncian (yang memegang benang lainnya, sangat mengurangi efek positif dari paralelisme).
Anda don't membutuhkan perangkat lain, hanya cocok GPU, dan perangkat lunak. Misalnya, cRARk dapat menggunakan GPU anda untuk brute-force rar password. Dan oclhashcat dapat menggunakan GPU anda untuk brute-force dengan banyak hal.
Mengapa GPU's jauh lebih cepat dari CPU di retak? Karena cracking adalah sesuatu yang dapat anda berjalan secara paralel (Anda dapat menggunakan setiap inti untuk mencoba password yang berbeda pada waktu yang sama) Dan GPU's memiliki banyak core yang dapat digunakan secara paralel.
Sebagai contoh: GeForce GTX980 Ti, yang merupakan high-end GPU, telah 2816 core. Sementara tidak ada PC CPU memiliki lebih dari 16 core (Tertinggi saya tahu adalah 72-core tetapi untuk superkomputer dan server tujuan).
Tapi mengapa Cpu memiliki sedikit jumlah core dibandingkan dengan Gpu? Bisa't mereka membuat Cpu dengan banyak core? Tentu saja mereka bisa, tapi itu tidak menguntungkan. Karena umumnya hal ini tidak mungkin untuk proses secara paralel seperti grafis. Banyak perangkat lunak untuk memproses secara berurutan, dan bahkan jika mereka bisa proses secara paralel, hal ini tidak umum untuk menulis perangkat lunak untuk pemrosesan paralel, karena itu lebih sulit untuk pengembang.
Lihat grafik di bawah ini:
Dengan asumsi bahwa rata-rata %50 dari pengolahan dapat diparalelkan, speedup ini hanya 2x dengan 16 core. Sehingga meningkatkan core angka telah sangat berkurang untuk Cpu.
Di tempat kerja kami memiliki server khusus yang memecahkan "komputasi keras routing masalah." Setiap host cukup baik ditentukan dengan empat soket dan prosesor quad core xeon, jadi 16 core fisik dan HT di atas itu. Menyebutnya 32 core.
Masing-masing kotak memiliki PCIe expander chassis, dan ada beberapa yang lebih tinggi-end NVidia Gpu, dan besar Ulp untuk kekuasaan mereka. Karena masing-masing kartu grafis ini memiliki sekitar 2000 CUDA core, yang bekerja di sekitar 30,000 CUDA core per host.
Jadi jika kita tangan-gelombang dan memanggil CUDA core setara dengan core CPU, server ini adalah sama seperti seribu server berjalan normal pada Cpu. Banyak fudging ada karena CUDA core yang tidak baik pada beberapa tugas, tetapi sangat baik pada orang lain.
Bayangkan penyelesaian traveling salesman problem dengan menghitung semua kemungkinan rute dan memilih yang terbaik. Atau menghitung semua kemungkinan catur bergerak dari dewan saat ini, dan mengambil satu langkah yang mengarah ke tertinggi kesempatan sukses untuk langkah berikutnya.
Don't perlu ada stinkin' heuristik ketika semua kemungkinan jawaban yang telah dihitung! Dan itu adalah definisi dari serangan brute-force.
GPU brute forcer hanya PC dengan satu atau lebih tinggi-end Gpu dalam. Berjalan beberapa bentuk password cracking software, yang dioptimalkan untuk penggunaan khusus GPU kekuatan pemrosesan untuk tinggi kinerja operasi matematika pada bilangan besar.
Itu biasanya membutuhkan daya yang relatif tinggi PSU, karena kartu grafis yang cukup haus kekuasaan, dan hard drive besar dapat membantu dengan beberapa tugas, seperti memegang kamus besar untuk serangan untuk digunakan.
Semua hal ini adalah hash hal-hal yang sangat cepat, baik dari kamus, atau dari generator yang menghasilkan urutan-urutan dari karakter untuk menutupi seluruh keyspace. Kemudian membandingkan hasil dari hashing dengan target hash, yang biasanya sudah pulih dari suatu sistem diserang.
Anda mungkin ingin melihat link ini https://www.iacr.org/archive/ches2006/09/09.pdf. Keuntungan dari GPU adalah untuk memparalelkan besar-besaran diskrit perhitungan logaritma yang diperlukan untuk memecahkan suatu cryptosystem.
Abstrak. Pembacaan sandi simetris dan asimetris cipher adalah komputasi yang sangat menuntut. Karena parameter keamanan (khususnya panjang kunci) dari hampir semua praktis crypto algoritma yang dipilih sedemikian rupa sehingga serangan dengan komputer konvensional adalah komputasi tidak layak, satu-satunya yang menjanjikan cara untuk mengatasi ada cipher (dengan asumsi tidak ada matematika terobosan) adalah untuk membangun tujuan khusus hardware. Mendedikasikan mesin-mesin untuk tugas kriptanalisis memegang janji dramatis meningkatkan rasio biaya-kinerja sehingga melanggar komersial cipher datang dalam jangkauan. Kontribusi ini menyajikan desain dan realisasi COPACOBANA (Biaya-Dioptimalkan Paralel Kode Breaker), mesin yang dioptimalkan untuk menjalankan cryptanalytical algoritma dan dapat direalisasikan untuk kurang dari US$ 10.000. Itu akan menunjukkan bahwa, tergantung pada algoritma, arsitektur dapat mengungguli komputer konvensional dengan beberapa perintah dalam besarnya. COPACOBANA host 120 rendah-biaya FPGAs dan mampu, misalnya, melakukan exhaustive key search dari Data Encryption Standard (DES) dalam waktu kurang dari sembilan hari pada rata-rata. Sebagai aplikasi dunia nyata, kami arsitektur yang dapat digunakan untuk menyerang mesin yang dapat dibaca dokumen perjalanan (ePass). COPACOBANA ini dimaksudkan, tetapi tidak harus dibatasi untuk memecahkan masalah yang berkaitan dengan pembacaan sandi. Dengan arsitektur perangkat keras yang cocok untuk komputasi masalah yang parallelizable dan memiliki komunikasi persyaratan. Hardware dapat digunakan, misalnya, untuk menyerang elliptic curve kriptografi dan faktor bilangan. Meskipun melanggar ukuran penuh RSA (1024 bit atau lebih) atau kurva eliptik (ECC dengan 160 bit atau lebih) adalah keluar dari jangkauan dengan COPACOBANA, dapat digunakan untuk menganalisis kriptografi dengan (sengaja dipilih) kecil bitlength untuk memberikan keamanan yang dapat diandalkan perkiraan RSA dan ECC oleh extrapolation3 .
Semua sangat teknis jawaban tetapi untuk menempatkan lebih banyak konteks dunia nyata.
Ketika anda memiliki pekerjaan yang sederhana untuk mengatakan berbunyi barang-barang anda di supermarket sampai dan membayar untuk mereka adalah lebih baik untuk memiliki satu checkout atau 1024? Yakin satu checkout akan bekerja, dan anda dapat membuat itu benar-benar canggih dengan banyak trik untuk mempercepat hal-hal sehingga melakukan lebih baik daripada yang normal. Tapi di akhir hari, orang-orang hanya dapat bekerja begitu cepat dan pembeli sering memperlambat segalanya. Oleh karena itu banyak tills itu lebih baik.
Sebaliknya bila anda memiliki pekerjaan yang sangat sulit untuk dilakukan seperti operasi. Lebih baik untuk memiliki satu yang benar-benar ahli bedah didukung oleh kecil tapi baik tim atau pasukan tukang daging yang baik pada apa yang mereka lakukan, tetapi pada dasarnya dapat hanya memotong hal-hal up?