6 पॉइंट द्वारा kuroneko 2023-08-25 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • सस्ते logic analyzer का उपयोग करके अलग TPM chip वाले कंप्यूटर पर BitLocker की full-disk encryption को बायपास किया जा सकता है।
  • BitLocker पहले FVEK (Full Volume Encryption Key) बनाता है, फिर VMK (Volume Master Key) से उसे encrypt करके hard disk में स्टोर करता है।
    • जब TPM सक्षम होता है, तो VMK TPM के अंदर स्टोर होता है और boot के समय TPM से VMK लेकर hard disk को decrypt किया जाता है।
    • लेकिन VMK को लाने की प्रक्रिया में message plain text में ट्रांसफर होता है।
  • इसे decrypt करने के लिए logic analyzer से CPU और TPM chip के बीच आने-जाने वाले SPI commands को capture करना होता है।
    • TPM chip पर सीधे logic analyzer लगाना बहुत कठिन है, इसलिए TPM के साथ SPI bus साझा करने वाली दूसरी chip से कनेक्ट करके signal capture शुरू किया गया।
    • पहले आसानी से पहचाने जा सकने वाले SPI requests को capture करना होता है, और फिर TPM interface specification में communication को दर्शाने वाले TIS को decode करना होता है।
    • TIS को decode करने का आसान तरीका नहीं था, इसलिए इसे manually decode करके TPM signal के start byte का पता लगाया गया।
    • अब TPM 2.0 specification में दिए गए TPM2_Unseal command को capture करके secret निकालने की बारी आती है।
    • TIS से पहचाने गए bytes के आधार पर TPM 2.0 command खोजा जाता है, response को अलग किया जाता है, और फिर tpmstream-web जैसे tools से TPM response में buffer को अलग किया जाता है।
  • key मिल जाने के बाद अब hard disk के data तक पहुँचा जा सकता है।
    • hard disk निकालकर दूसरे system से जोड़ने के बाद, dislocker जैसे tools का उपयोग करके encrypted file system को एक्सप्लोर किया जाता है।
    • पारंपरिक तरीके से किसी खास program को cmd.exe से बदलकर login screen पर इस्तेमाल किया जा सकने वाला system shell बनाया जाता है।
    • अब administrator privileges वाला cmd मिल गया है, इसलिए कुछ भी किया जा सकता है।
  • अंततः, physical TPM होने पर BitLocker बहुत कमजोर हो जाता है, इसलिए CPU में पूरी तरह integrated fTPM की सिफारिश की जाती है, जहाँ ऐसा attack संभव नहीं होता।
  • अगर physical TPM वाले system पर BitLocker को सुरक्षित तरीके से इस्तेमाल करना है, तो PIN या password सेट करना चाहिए।

1 टिप्पणियां

 
kuroneko 2023-08-25

इसी विषय पर एक और पोस्ट है।

कहा गया है कि सिर्फ Bitlocker ही अजीब तरह से TPM द्वारा इस तरह के man-in-the-middle हमलों को रोकने के लिए बनाई गई encrypted session का उपयोग नहीं करता, इसलिए यह समस्या होती है।
systemd में TPM और LUKS encryption का उपयोग करते समय यह समस्या नहीं होती।

मेरी सोच से कहीं ज़्यादा Bitlocker कुछ खास परिस्थितियों में काफ़ी कमज़ोर निकला।
आख़िर इसके नाम में Trusted तक आता है, इसलिए लगा था कि ऐसी समस्या नहीं होगी...