- iOS 18 ने एक नया inactivity reboot security feature पेश किया है: "अगर 3 दिनों तक unlock न किया जाए तो automatic reboot"
- iPhone चालू करने के बाद पहली बार passcode दर्ज करना और बाद में unlock करने के लिए passcode दर्ज करना, दोनों बहुत अलग हैं
- जब iPhone पहली बार start होने पर passcode दर्ज किया जाता है, तो Secure Enclave Processor(SEP) का key store खुलता है, जो iPhone के data को encrypt करता है
- पहले unlock से पहले (BFU) स्थिति में user data encrypted रहता है, Face ID और Touch ID काम नहीं करते, और passcode दर्ज करना ज़रूरी होता है। Wi‑Fi password encrypted होने के कारण Wi‑Fi connection संभव नहीं होता, लेकिन अगर SIM PIN से protected न हो तो cellular network से connection संभव है। Notification content preview नहीं दिखता।
- पहले unlock के बाद (AFU) स्थिति में user data decrypt हो जाता है। iOS चलते समय key store खुला रहता है, इसलिए Wi‑Fi connection और message notification preview संभव होते हैं। लेकिन यह स्थिति हमलों के लिए अधिक vulnerable है।
- AFU स्थिति की security weakness: अगर attacker lock screen bypass कर ले, तो decrypted data तक पहुँच सकता है। Physical access होने पर USB, Wi‑Fi, Bluetooth, या hardware attack vulnerabilities के इस्तेमाल की संभावना बढ़ जाती है
iPhone reboot को लेकर अफवाहें
- law enforcement एजेंसियाँ AFU स्थिति में forensic रूप से महत्वपूर्ण data पाने के लिए iPhone को internet से isolated स्थिति में बनाए रखती हैं।
- iOS 18 में यह अफवाह थी कि iPhone wireless networks से पूरी तरह isolated होने पर भी reboot हो जाता है
- यह दावा भी था कि iOS 18 वाला iPhone, lower iOS version वाले iPhone को wireless तरीके से reboot करने का निर्देश दे सकता है (तकनीकी रूप से इसकी संभावना कम है)
inactivity reboot feature की खोज
- Apple नए feature जोड़ते समय debug strings के जरिए संकेत छोड़ता है
- iOS 18.1 से
inactivity_reboot string दिखाई दी। iOS 18.2 में इसे inactivity_reboot_enabled में बदला गया
- tests से यह पुष्टि हुई कि अगर 3 दिन (72 घंटे) तक unlock न किया जाए, तो inactivity reboot होता है
inactivity reboot का reverse engineering
- Secure Enclave Processor(SEP) आखिरी unlock time को track करता है, और 3 दिन से अधिक होने पर AppleSEPKeyStore kernel module को notify करता है।
- AppleSEPKeyStore kernel module user space को reboot शुरू करने के लिए notify करता है। SpringBoard सभी user-space processes को safely terminate करता है।
- reboot के बाद, keybagd NVRAM variable "aks-inactivity" को पढ़ता है, और set होने पर Apple को analytics event भेजता है।
- reboot fail होने पर kernel panic होता है
Secure Enclave Processor का reverse engineering
- SEP, Apple के सबसे सुरक्षित रहस्यों में से एक है, और इसका firmware encrypted है।
- SEP firmware कई apps से बना है, और SEPKeyStore से संबंधित app को "sks" कहा जाता है।
- SEP, 3 दिन (72 घंटे) से अधिक होने पर एक message बनाता है और उसे SEPKeyStore kernel extension को भेजता है।
क्या यह सिर्फ पुलिस को निशाना बनाने वाला उपाय है?
- security improvement effect: मीडिया में इस feature को मुख्य रूप से law enforcement को target करने वाला बताया गया, लेकिन anti-theft के लिहाज़ से यह बड़ा security improvement है।
- पुराने law-enforcement उपकरण अक्सर eBay जैसे platforms पर सस्ते में बिकते हैं, और यह feature ऐसे मामलों को कम करता है जहाँ चोर उनका इस्तेमाल करके iPhone data तक पहुँचते हैं।
- चोरों के लिए latest hacking tools हासिल करना या 3 दिनों के भीतर device unlock कराने के लिए resources जुटाना व्यावहारिक रूप से कठिन है।
- device updates का महत्व: latest iOS version पर बने रहना personal data को सुरक्षित रखने के लिए बहुत महत्वपूर्ण है।
- law enforcement के लिए adaptation की ज़रूरत:
- law enforcement एजेंसियों को data extraction procedures इस तरह adjust करने होंगे कि वे 3 दिनों के भीतर पूरे हो जाएँ।
- कुछ forensic tool manufacturers पहले ही घोषणा कर चुके हैं कि वे 24 घंटे के भीतर data extraction procedure को coordinate कर सकते हैं।
- यह दिखाता है कि data extraction केवल AFU स्थिति में ही संभव होने की सीमा रखता है।
- security threat asymmetry:
- चोरों के लिए यह feature practically data हासिल करना बहुत कठिन बना देता है और एक बड़ी security barrier की तरह काम करता है।
- दूसरी ओर, law enforcement पर process को streamline करने और अधिक तेज़ी से प्रतिक्रिया देने का दबाव होता है।
मुख्य बिंदु
- wireless activity से असंबंधित:
- यह feature wireless network activity से संबंधित नहीं है।
- law enforcement documents में बताए गए "devices के बीच wireless communication से reboot" वाले दावे पर भरोसा करना मुश्किल है।
- iOS 18 से पहले वाले devices का reboot संभवतः software bug के कारण हुआ होगा।
- SEP की भूमिका:
- inactivity time का measurement और reboot trigger, SEP में किया जाता है।
- SEP, SEPKeyStore kernel extension के साथ communicate करके reboot command execute करता है।
- internet या cellular network के ज़रिए external time manipulation से 3-दिन के timer पर असर पड़ने की संभावना कम है।
- मज़बूत security feature:
- अगर attacker inactivity reboot को रोकना चाहता है, तो उसे kernel code execution privilege चाहिए।
- forensic analysts data extraction के लिए reboot delay कर सकें, तब भी initial hack को 3 दिनों के भीतर करना होगा।
- threat landscape में बदलाव:
- यह चोरों और forensic analysts, दोनों के लिए नई चुनौतियाँ पेश करता है।
- चोरों के लिए यह iPhone में stored bank accounts और अन्य sensitive data तक पहुँच को practically रोक देता है।
- law enforcement को data access के लिए अधिक तेज़ी से प्रतिक्रिया देने के दबाव का सामना करना पड़ेगा।
1 टिप्पणियां
Hacker News राय
AFU स्थिति में user data decrypt हो जाता है। डेवलपर data protection के लिए अलग-अलग keys चुन सकते हैं। Apple यूज़र के health data जैसी संवेदनशील जानकारी की सुरक्षा के लिए खास keys का उपयोग करता है
इस बात पर सवाल उठाया गया कि network से connect न होने वाले हिस्से पर इतना ज़ोर क्यों है। GrapheneOS पहले से ही कुछ समय बाद auto reboot फीचर देता है, और यह data exfiltration रोकने में प्रभावी है
दो सवाल उठाए गए:
Apple SEP firmware को encrypt क्यों करता है, इस पर जिज्ञासा जताई गई। अगर यह security model के लिए अनिवार्य नहीं है, तो शायद यह intellectual property protection के लिए हो सकता है
यह एक शानदार लेख है जो दिखाता है कि device security में Apple कैसे आगे है
iOS 18 के दूसरे फोन को wireless तरीके से reboot का निर्देश देने की संभावना का ज़िक्र किया गया, लेकिन लगता है कि बाद में इसे फिर नहीं उठाया गया
राय है कि यह AOSP के BFU और AFU unlock तरीके जैसा है
शक जताया गया कि यह Secure Enclave में manage किया जा रहा होगा। इससे iOS पूरी तरह compromise हो जाने पर भी इसे disable करना बहुत मुश्किल होगा
सवाल है कि 3 दिन की यही खास समय-सीमा क्यों तय की गई, और इसे user-configurable delay क्यों नहीं बनाया गया
शानदार लेख और बेहतरीन विश्लेषण के लिए धन्यवाद