Apa kriptografi cacat dimanfaatkan oleh Api, untuk mendapatkan kode yang ditandatangani oleh Microsoft?

Hari ini, Microsoft merilis penasihat keamanan peringatan bahwa "Api" malware yang mengeksploitasi kelemahan dalam algoritma kriptografi yang digunakan oleh Microsoft Terminal Server Lisensi Layanan, dan dengan demikian bisa mendapatkan beberapa kode yang ditandatangani sehingga tampaknya telah datang dari Microsoft.

Berikut ini's apa yang Microsoft wrote:

Kami telah menemukan melalui analisis kami bahwa beberapa komponen dari malware telah ditandatangani dengan sertifikat yang memungkinkan perangkat lunak untuk muncul seolah-olah itu diproduksi oleh Microsoft. Kami mengidentifikasi bahwa yang lebih tua algoritma kriptografi dapat dimanfaatkan dan kemudian dapat digunakan untuk menandatangani kode seolah-olah itu berasal dari Microsoft. Secara khusus, kami Terminal Server Lisensi Layanan, yang memungkinkan pelanggan untuk memberikan otorisasi Remote Desktop services di perusahaan mereka, digunakan yang lebih tua algoritma dan diberikan sertifikat dengan kemampuan untuk menandatangani kode, sehingga memungkinkan kode untuk ditandatangani seolah-olah datang dari Microsoft.

Lihat juga posting blog ini dari Microsoft](https://blogs.technet.com/b/srd/archive/2012/06/03/microsoft-certification-authority-signing-certificates-added-to-the-untrusted-certificate-store.aspx?Redirected=true).

Jadi, apa dieksploitasi algoritma kriptografi yang digunakan oleh Microsoft Terminal Service Pelayanan Perizinan? Apa itu kriptografi kelemahan yang dimanfaatkan oleh Api? Apakah ada pelajaran yang dapat kita pelajari dari kejadian ini?

Mengomentari pertanyaan (1)

Update: Microsoft menerbitkan sebuah laporan yang menegaskan tebakan di posting ini dan memberikan tingkat detail.

Sertifikat Tujuan

Ada beberapa tujuan sertifikat yang dapat digunakan untuk. Misalnya dapat digunakan sebagai bukti identitas seseorang atau webserver. Ini dapat digunakan untuk kode sining atau untuk menandatangani sertifikat lainnya.

Dalam hal ini sertifikat yang dimaksudkan untuk menandatangani lisensi informasi mampu untuk menandatangani kode.

Ini mungkin yang sederhana seperti Microsoft tidak memeriksa tujuan-bendera dari pelanggan mereka menandatangani sertifikat:

secara Khusus, ketika suatu perusahaan permintaan pelanggan Layanan Terminal aktivasi lisensi, sertifikat yang dikeluarkan oleh Microsoft dalam menanggapi permintaan memungkinkan kode penandatanganan.

MD5 collision attack

Referensi untuk sebuah algoritma mungkin menunjukkan tabrakan serangan pada penandatanganan proses: Ada pembicaraan di CCC 2008 disebut MD5 dianggap berbahaya hari ini - Menciptakan nakal Sertifikat CA

Dalam pembicaraan itu penelitian yang menjelaskan bagaimana untuk menghasilkan dua sertifikat dengan hash yang sama.

Yang dihasilkan tampak tidak berbahaya permintaan sertifikasi dan diserahkan ke CA. CA menandatangani dan menghasilkan sertifikat yang sah untuk https-server.

Tapi sertifikat ini memiliki hash yang sama seperti yang lain yang dihasilkan sertifikat yang memiliki tujuan CA-sertifikat. Sehingga CA tanda tangan tidak berbahaya sertifikat berlaku untuk satu berbahaya juga.

Penelitian yang mengeksploitasi kelemahan dalam MD5 untuk menghasilkan tabrakan. Dalam rangka untuk menyerang untuk bekerja, mereka harus memprediksi informasi yang CA akan menulis surat ke sertifikat.

Pelajaran yang bisa dipetik?

  • Microsoft sudah cek bahwa akar dari penandatanganan sertifikat kode untuk Windows Update adalah Microsoft CA. Sehingga sertifikat yang ditandatangani oleh yang lain rouge CAs tidak dapat digunakan.

  • Don't lupa kode legacy dan jasa

  • Jika ada motivasi yang cukup bahkan tidak praktis teoritis kelemahan, akan dimanfaatkan. (Judul asli dari berbicara adalah "Melakukan teoritis mungkin").

Update

Microsoft telah mengkonfirmasi kedua isu (masalah satu saja sudah cukup untuk mengeksploitasi):

malware Flame digunakan kriptografi tabrakan serangan dalam kombinasi dengan terminal server lisensi layanan sertifikat untuk menandatangani kode yang seolah-olah datang dari Microsoft. Namun, penandatanganan kode tanpa melakukan tabrakan juga mungkin.

Update 2

Microsoft menerbitkan rincian:

  • Kerentanan tidak memeriksa sertifikat tujuan dengan benar hanya efek versi lama dari Windows.
  • Tabrakan serangan itu digunakan memanipulasi ekstensi sertifikat, sehingga saat ini versi Windows yang tertipu juga.

Update 3

Para peneliti dari asli md5 collision attack yang diterbitkan penyerang menggunakan sebuah varian baru yang dikenal md5 dipilih awalan serangan, yang berarti bahwa mereka memiliki pengetahuan yang mendalam tentang kriptografi.

Komentar (5)

Pertanyaan bagus :) Tidak yakin jika ada's jawaban yang jelas.

Aku't berpikir bahwa itu adalah sebuah alogorithm yang rusak seperti itu, tapi yang dicuri cert.

Saya kira salah satu pelajaran adalah bahwa model CA rusak tapi kemudian anda mungkin tahu bahwa sebelum. Sehingga terlihat seperti nyata "Microsoft" sertifikat yang digunakan untuk menandatangani Api. SANS telah diposting berikut - https://isc.sans.edu/diary.html?storyid=13366. Tidak ada yang saat ini muncul untuk tahu bagaimana itu dicuri dll atau siapa yang melakukannya, namun akan KAMI pemerintah (yang banyak awalnya diduga) benar-benar mencuri Microsoft cert, siapa yang tahu???

Saya suka sedikit di link yang disediakan anda di mana Microsoft mengatakan -

"Selain itu, sebagian besar produk antivirus akan mendeteksi dan menghapus malware ini."

Saya pikir Api kejadian ini adalah bukti lebih lanjut bahwa industri AV adalah benar-benar reaksioner, sangat banyak pemasaran yang digerakkan dan tidak efektif lagi (bahkan Mikko Hyponnen mengatakan itu adalah kegagalan di internet Kabel kecepatan tinggi selama akhir pekan - http://www.wired.com/threatlevel/2012/06/internet-security-fail/ ).

Hyponnen memposting foto apa yang dicuri sertifikat yang digunakan dalam nyala Api akan terlihat seperti di Windows 7 sebelum mencabut mereka - http://t.co/M7phmvAu.

Seseorang yang tahu lebih banyak dari saya tentang sertifikat dll (Moxie Marlinspike) tidak posting di topik yang tahun lalu - http://blog.thoughtcrime.org/ssl-and-the-future-of-authenticity. I've telah bermain sedikit dengan Konvergensi (http://convergence.io) dan I'mungkin akan melihat ke dalamnya lebih lanjut, meskipun itu's pada dasarnya untuk browsing dan tidak't membantu sayangnya di sini. Sebagian besar pengguna don't tahu bagaimana untuk memeriksa sertifikat di browser mereka atau memahami cara kerjanya, apalagi melihat driver sertifikat. Saya kira itu's contoh lain akan pentingnya benar-benar memahami apa yang anda (atau pengguna) menjalankan, melakukan, dan apa yang lalu lintas normal. Membangun kebijakan yang memungkinkan dikenal, lalu lintas yang baik dan menolak sesuatu yang tidak secara eksplisit diperbolehkan (untuk Internet) membantu mengurangi serangan permukaan dan kemampuan.

Komentar (0)

nasihat Ini adalah untuk mereka yang membutuhkan keamanan tingkat tinggi, dan tidak untuk casual pengguna web

Pelajaran yang dapat kita pelajari adalah untuk mengurangi luas permukaan kepercayaan publik. Saya don't tahu apa yang spesifik akar hirarki dikompromikan, tetapi secara umum out-of-the-box publik PKI kepercayaan terlalu luas menurut saya.

Saya akan menyarankan menghapus semua non-esensial sertifikat akar dari host anda kecuali untuk orang-orang yang tercantum di sini:

Issued to                              Issued by                            Serial number                   Expiration date Intended purposes   Friendly name                        Status
Microsoft Root Authority               Microsoft Root Authority         00c1008b3c3c8811d13ef663ecdf40  12/31/2020  All                     Microsoft Root Authority                R
Thawte Timestamping CA                 Thawte Timestamping CA           00                              12/31/2020  Time Stamping           Thawte Timestamping CA                  R
Microsoft Root Certificate Authority   Microsoft Root Certificate Authority 79ad16a14aa0a5ad4c7358f407132e65 5/9/2021   All                     Microsoft Root Certificate Authority    R

Kemudian petisi Microsoft untuk membatasi orang-orang yang dipercaya akar untuk minimum EKU's diperlukan seperti penandatanganan kode, dll. Bahkan dibatasi daftar 3 sertifikat memiliki terlalu banyak izin.

Pengguna kasual yang bersikeras menghapus sertifikat akar harus melihat melalui jawaban ini mengenai mengapa CAs ditempatkan di sana, metodologi, dan persyaratan keamanan dari masing-root ca.

Komentar (2)
Larutan

Ada dua kerentanan di sini:

  • Tak terbatas penandatanganan kode. Microsoft memberikan pengguna Layanan Terminal kemampuan untuk mendapatkan sign cert bahwa rantai hingga ke Akar Microsoft. Mereka sengaja membiarkan ini cert akan digunakan untuk menandatangani kode. Oleh karena itu, pengguna bisa menandatangani kode apapun yang mereka sukai dan membuatnya terlihat seperti itu telah disetujui oleh Microsoft. Yikes! Sangat buruk.

Kerentanan ini dapat dimanfaatkan pada sistem sebelum Windows Vista (misalnya, pada Windows XP). Namun, karena baru pengerasan langkah-langkah yang diperkenalkan di Vista, kerentanan ini tidak lagi dimanfaatkan untuk penandatanganan kode pada Windows Vista atau yang lebih baru, sendiri.

  • Tabrakan serangan. Salah satu sertifikat dalam rantai menggunakan MD5. MD5 adalah salah untuk menjadi rentan terhadap tabrakan serangan, dan hal ini diketahui cara menggunakan serangan ini untuk mengeksploitasi otoritas sertifikat yang menggunakan MD5. Hal ini memungkinkan bagi penyerang untuk mendapatkan kode apapun dari mereka memilih ditandatangani, dalam cara yang membuatnya tampak seperti itu telah disetujui oleh Microsoft. (Lihat @Hendrik's jawaban untuk lebih lanjut.) Ini juga sangat buruk.

Kerentanan ini memungkinkan mereka untuk memotong Vista yang berhubungan dengan pengerasan. Dengan demikian, kombinasi dari dua kerentanan yang memungkinkan penyerang untuk menyerang semua sistem operasi Windows berhasil: mereka mampu untuk mendapatkan kode berbahaya yang ditandatangani sehingga tampak seperti itu datang dari Jendela.

Ini adalah dua terpisah (tapi terkait) kerentanan. Api menggunakan dua kombinasi, memungkinkan Api untuk berhasil menyerang semua platform Windows. Kerentanan ini telah hadir selama bertahun-tahun. Seseorang bisa saja dengan mudah dieksploitasi mantan kerentanan, meskipun ini hanya akan menjadi sukses melawan pra-Vista platform.

Sumber daya untuk membaca lebih lanjut:

malware Flame digunakan kriptografi tabrakan serangan dalam kombinasi dengan terminal server lisensi layanan sertifikat untuk menandatangani kode yang seolah-olah datang dari Microsoft. Namun, penandatanganan kode tanpa melakukan tabrakan juga mungkin.

secara default penyerang sertifikat tidak akan bekerja pada Windows Vista atau versi Windows yang lebih baru. Mereka harus melakukan tabrakan serangan untuk membentuk sebuah sertifikat yang akan berlaku untuk penandatanganan kode pada Windows Vista atau versi Windows yang lebih baru. Pada sistem yang pra-date Windows Vista, serangan mungkin tanpa MD5 hash collision.

Komentar (1)