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.
Serang MELALUI…. Sudah lama sekali aku tidak tertawa terbahak-bahak!
Bagaimanapun - Saya pribadi memahaminya sebagai pesan dari APPLE kepada semua pengguna - baik itu satu atau lain cara (dan menurut saya tidak lebih dari 2 kemungkinan terjadinya kesalahan ini yang disebutkan adalah nyata), keduanya hanyalah olok-olok sederhana terhadap pemilik biasa barang-barang APPLE!
Syukurlah kamu benar.
Saya yakin ini adalah kesalahan nyata. Saya bisa membayangkan itu dibuat ketika menggabungkan dua cabang dalam sistem versi, jika satu cabang lebih panjang. Bagaimanapun, ini hanyalah kasus lain yang menegaskan bahwa memaksa pemrogram untuk menyertakan satu baris if body dalam sebuah blok adalah hal yang masuk akal.
Terima kasih atas penjelasan detailnya!
Maaf menulis di luar diskusi, tapi sekarang saya membaca di idnes bahwa dugaan iPhone yang lebih besar harus disebut iPablet :-D Saya hampir kehilangannya.. :-D Salam untuk semua pecinta apel
….. Wah, kreativitas tak perlahan hilang….. mungkin hanya bebek saja!
Hai, apakah Anda mengalami masalah masa pakai baterai setelah pembaruan? Saya mendapat yang baru setelah banyak keluhan tentang iP5, jadi saya punya baterai baru yang tahan hampir dua hari. Setelah pembaruan, ponsel saya mati dalam waktu 8 jam dan saya jarang menggunakannya.
Secara pribadi, saya belum mencatat adanya masalah dengan senter. Ya, di masa lalu, dan pencadangan serta penginstalan ulang iOS yang bersih selalu membantu. Semoga ini bisa membantu Anda.
Saya melakukannya hari ini dan sayangnya tidak ada perubahan :-/