Kesalahan iPhone Crashing dapat disebabkan oleh Kode yang ditambahkan untuk menenangkan …

Pembaruan iOS 11.4.1 Apple Rilis Senin paling menonjol karena mempersulit penegakan hukum untuk mengakses iPhone yang terkunci. Pada hari Selasa, peneliti keamanan Patrick Wardle menjelaskan perbaikan lain. Dia menunjukkan kode alamatnya yang sudah diperbaiki Apple selain berpotensi menenangkan pemerintah Cina; ini adalah kode yang menyebabkan kesalahan pada beberapa iDevices ketika pengguna masuk dari Taiwan atau menerima pesan dengan emoji bendera Taiwan.

“Meskipun dampaknya terbatas pada penolakan layanan (dereferensi pointer NULL), itu dibuat untuk studi kasus yang menarik dalam analisis kode iOS,” kata Wardle, mantan peretas Badan Keamanan Nasional, menulis dalam sebuah posting blog. “Dan jika Apple tidak mencoba menenangkan pemerintah China sejak awal, tidak akan ada kesalahan! “

Wardle, sekarang menjadi pakar keamanan macOS dan iOS di Digital Security, mengatakan dia bingung ketika seorang teman pertama kali melaporkan bahwa perangkatnya yang sepenuhnya ditambal dan tidak di-jailbreak gagal setiap kali dia mengetik dalam bahasa Taiwan atau menerima pesan dengan bendera Taiwan. Dia tidak kesulitan mereproduksi bug yang dapat dipicu dari jarak jauh, yang membuat crash semua aplikasi iOS yang menangani pesan jarak jauh, termasuk iMessage, Facebook Messenger dan WhatsApp. Namun, Wardle telah menemukan bahwa hanya perangkat dengan konfigurasi khusus wilayah yang terpengaruh.

Sifat iPhone tertutup yang terkenal membuat analisis kesalahan menjadi sulit. Ini membantu mengisolasi lokasi memori di mana pointer nol direferensikan dan instruksi yang salah menyebabkannya. Wardle juga bergantung pada gambar pemulihan iPhone untuk beberapa pustaka kode. Pada akhirnya, ia menemukan bahwa masalahnya disebabkan oleh kode yang mengklasifikasikan pesan berdasarkan emoji yang mereka miliki. Dia juga memperhatikan bahwa bug tampaknya dipicu ketika iOS memiliki kode negara yang menyertakan China atau pengaturan bahasa yang menyertakan bahasa Mandarin (ponsel temannya menentukan wilayah tersebut sebagai AS dan bahasanya sebagai Inggris), Inggris, lalu China).

Penemuan itu akhirnya menghasilkan solusi sederhana. Wardel menjelaskan:

“Setelah lebih dari dua tahun tidak bisa masuk ‘Taiwan’ atau mendapatkan DOS dari jarak jauh kapan saja ponselnya mendapat emoji bendera Taiwan, bagaimana cara memperbaikinya (kudo to my friend Josh S.) untuk idenya!), cukup pindahkan wilayah jauh dari AS ke Cina, lalu kembali ke AS. “

“Saya tidak 100% yakin mengapa (atau bagaimana cara memperbaikinya), tetapi saya kira itu atau menyetel nilai “Negara” ke “AS” sehingga bendera boolean (di byte_1b1c9bb00) sekarang disetel ke 0x1, yaitu CFStringCompare() `tidak pernah dipanggil…atau, panggilan ke CFLocaleCopyCurrent() / CFLocaleGetValue() tidak lagi mengembalikan NULL, artinya string yang valid telah diteruskan ke CFStringCompare().”

Wardle telah melacak kemungkinan tujuan kode kesalahan ke perilaku iOS yang didokumentasikan menyembunyikan bendera Taiwan dari menu emoji atau tidak muncul di layar saat wilayah diatur ke China. Apple tidak menanggapi email yang meminta komentar untuk posting ini. Wardle juga secara pribadi melaporkan bug ini ke Apple. Kerentanan telah diindeks sebagai CVE-2018-4290 dan ditambal di iOS 11.4.1.

Sumber: artechnica

Pos terkait

Back to top button