Tutup iklan

Beberapa hari lalu, Apple merilis yang keseratus pembaruan iOS 7.0.6, tentang rilis yang kami informasikan kepada Anda. Mungkin banyak yang terkejut bahwa pembaruan juga dirilis untuk iOS 6 lama (versi 6.1.6) dan Apple TV (versi 6.0.2). Ini adalah patch keamanan, jadi Apple tidak mampu memperbarui hanya sebagian perangkatnya. Terlebih lagi, masalah ini juga mempengaruhi OS X. Menurut juru bicara Apple Trudy Muller, pembaruan OS X akan dirilis sesegera mungkin.

Mengapa ada begitu banyak hype seputar pembaruan ini? Cacat dalam kode sistem memungkinkan verifikasi server dilewati pada transmisi aman pada lapisan relasional model referensi ISO/OSI. Secara khusus, kesalahannya adalah implementasi SSL yang buruk di bagian tempat verifikasi sertifikat server dilakukan. Sebelum saya masuk ke penjelasan lebih lanjut, saya lebih suka menguraikan konsep dasarnya.

SSL (Secure Socket Layer) adalah protokol yang digunakan untuk komunikasi yang aman. Ini mencapai keamanan melalui enkripsi dan otentikasi pihak yang berkomunikasi. Otentikasi adalah verifikasi identitas yang disajikan. Dalam kehidupan nyata, misalnya, Anda menyebutkan nama Anda (identitas) dan menunjukkan ID Anda agar orang lain dapat memverifikasinya (otentikasi). Otentikasi kemudian dibagi menjadi verifikasi, yang hanya contoh dengan kartu identitas nasional, atau identifikasi, ketika orang yang bersangkutan dapat mengetahui identitas Anda tanpa Anda menunjukkannya terlebih dahulu.

Sekarang saya akan secara singkat membuka sertifikat server. Dalam kehidupan nyata, sertifikat Anda bisa berupa, misalnya, kartu identitas. Semuanya didasarkan pada kriptografi asimetris, di mana setiap subjek memiliki dua kunci - privat dan publik. Keindahannya terletak pada kenyataan bahwa pesan tersebut dapat dienkripsi dengan kunci publik dan didekripsi dengan kunci pribadi. Artinya hanya pemilik kunci privat yang dapat mendekripsi pesan tersebut. Pada saat yang sama, tidak perlu khawatir untuk mentransfer kunci rahasia ke kedua pihak yang berkomunikasi. Sertifikat tersebut kemudian menjadi kunci publik subjek yang dilengkapi dengan informasinya dan ditandatangani oleh otoritas sertifikasi. Di Republik Ceko, salah satu otoritas sertifikasi, misalnya, adalah Česká Pošta. Berkat sertifikat tersebut, iPhone dapat memverifikasi bahwa ia benar-benar berkomunikasi dengan server yang diberikan.

SSL menggunakan enkripsi asimetris saat membuat koneksi, yang disebut jabat tangan SSL. Pada tahap ini, iPhone Anda memverifikasi bahwa ia berkomunikasi dengan server tertentu, dan pada saat yang sama, dengan bantuan enkripsi asimetris, kunci simetris dibuat, yang akan digunakan untuk semua komunikasi selanjutnya. Enkripsi simetris lebih cepat. Seperti yang sudah tertulis, error sudah terjadi saat verifikasi server. Mari kita lihat kode yang menyebabkan kerentanan sistem ini.

static OSStatus
SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa,
SSLBuffer signedParams, uint8_t *signature, UInt16 signatureLen)

{
   OSStatus err;
   …

   if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
       goto fail;
   if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
       goto fail;
       goto fail;
   if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
       goto fail;
   …

fail:
   SSLFreeBuffer(&signedHashes);
   SSLFreeBuffer(&hashCtx);
   return err;
}

Pada kondisi kedua if Anda dapat melihat dua perintah di bawah ini harus gagal;. Dan itulah yang menjadi batu sandungannya. Kode ini kemudian menyebabkan perintah kedua dijalankan pada tahap ketika sertifikat harus diverifikasi harus gagal;. Hal ini menyebabkan kondisi ketiga dilewati if dan tidak akan ada verifikasi server sama sekali.

Implikasinya adalah siapa pun yang mengetahui kerentanan ini dapat menawarkan sertifikat palsu pada iPhone Anda. Kamu atau iPhone Anda, Anda akan mengira Anda sedang berkomunikasi terenkripsi, sementara ada penyerang antara Anda dan server. Serangan seperti ini disebut serangan man-in-the-middle, yang secara kasar diterjemahkan ke dalam bahasa Ceko sebagai serangan man-in-the-middle atau pria di antara. Serangan yang menggunakan kelemahan khusus ini di OS X dan iOS hanya dapat dilakukan jika penyerang dan korban berada di jaringan yang sama. Oleh karena itu, lebih baik hindari jaringan Wi-Fi publik jika Anda belum memperbarui iOS Anda. Pengguna Mac tetap harus berhati-hati dalam menentukan jaringan mana yang mereka sambungkan dan situs apa yang mereka kunjungi di jaringan tersebut.

Tidak dapat dipercaya bagaimana kesalahan fatal seperti itu bisa terjadi di versi final OS X dan iOS. Ini mungkin merupakan pengujian yang tidak konsisten terhadap kode yang ditulis dengan buruk. Ini berarti pemrogram dan penguji akan melakukan kesalahan. Ini mungkin tampak tidak mungkin bagi Apple, sehingga muncul spekulasi bahwa bug ini sebenarnya adalah pintu belakang, yang disebut dengan backdoor. pintu belakang. Bukan tanpa alasan mereka mengatakan bahwa pintu belakang terbaik terlihat seperti kesalahan halus. Namun, ini hanyalah teori yang belum dikonfirmasi, jadi kami berasumsi bahwa seseorang memang melakukan kesalahan.

Jika Anda tidak yakin apakah sistem atau browser Anda kebal terhadap bug ini, kunjungi halaman tersebut gotofail.com. Seperti yang Anda lihat pada gambar di bawah, Safari 7.0.1 di OS X Mavericks 10.9.1 mengandung bug, sedangkan di Safari di iOS 7.0.6 semuanya baik-baik saja.

Sumber daya: iMore, Reuters
.