Chagua Lugha

NFCGate: Zana ya Simu Mkononi kwa Utafiti na Uchambuzi wa Juu wa Usalama wa NFC

Uchambuzi wa NFCGate, zana ya Android iliyopanuliwa kwa uchambuzi wa itifaki ya NFC, yenye uwezo wa kubadilisha trafiki wakati wa mawasiliano, mashambulizi ya kurudisha na kuiga, na utafiti wa mfano kwenye kufuli ya NFC ya biashara.
contact-less.com | PDF Size: 0.2 MB
Ukadiriaji: 4.5/5
Ukadiriaji Wako
Umekadiria waraka huu tayari
Kifuniko cha Waraka PDF - NFCGate: Zana ya Simu Mkononi kwa Utafiti na Uchambuzi wa Juu wa Usalama wa NFC

1. Utangulizi

Mawasiliano ya Karibu (NFC) imekuwa sehemu muhimu ya programu muhimu za usalama kama vile udhibiti wa ufikiaji na malipo. Hata hivyo, uchambuzi wa itifaki za NFC kihistoria umetaka vifaa maalumu na vya gharama kubwa, na hivyo kuwa kikwazo kwa watafiti wa usalama. Uthibitishaji wa awali wa NFCGate (2015) ulionyesha uwezekano wa kutumia simu za kawaida za Android kwa madhumuni haya. Karatasi hii inawasilisha toleo lililopanuliwa na kuboreshwa sana la zana ya NFCGate, na kubadilisha simu za kawaida kuwa majukwaa yenye nguvu, ya siri, na ya bei nafuu ya utafiti wa NFC yenye uwezo wa uchambuzi/kubadilisha trafiki wakati wa mawasiliano, na mashambulizi ya kurudisha na kuiga.

2. Msingi

Sehemu hii inashughulikia teknolojia za msingi zinazowezesha NFCGate.

2.1 Viwango vya NFC

Mkusanyiko wa NFC wa Android unaunga mkono aina nne kuu za teknolojia: NFC-A (ISO/IEC 14443 Aina ya A), NFC-B (ISO/IEC 14443 Aina ya B), NFC-F (FeliCa), na NFC-V (ISO/IEC 15693). Mawasiliano yamefafanuliwa kati ya Kadi ya Mzunguko wa Karibu (PICC - lebo/kadi) na Kifaa cha Kuunganisha cha Karibu (PCD - kisoma).

3. Muundo wa Zana ya NFCGate

NFCGate inafanya kazi kwa kukatiza na kuendesha mkusanyiko wa NFC wa Android. Inatumia mbinu za kukamata kazi (hooking) ili kupata udhibiti wa kiwango cha chini juu ya mawasiliano ya NFC, ikikaa kati ya API za programu za kiwango cha juu za Android na safu maalumu ya vifaa ya kudhibiti NFC (NCI). Hii inairuhusu kutenda kama mahali pa mwisho (endpoint) ya NFC inayoweza kuandikishwa, kuiga lebo, visoma, au kufanya shughuli za katikati (man-in-the-middle).

4. Vipengele Muhimu & Utekelezaji wa Kiufundi

Nguvu ya zana hii iko katika hali zake za uendeshaji.

4.1 Hali ya Kurudisha & Mashambulizi ya Shimo la Mnyoo

Hali hii inaanzisha daraja la wakati halisi na la ucheleweshaji mdogo kati ya shughuli mbili za NFC zilizotengwa kimwili. Inaweza kupanua "shimo la mnyoo" juu ya miunganisho ya mtandao (k.m., Wi-Fi, Bluetooth), na kuwezesha mashambulizi ambapo kadi ya mwathirika na kisoma lengwa viko katika maeneo tofauti.

4.2 Hali za Kuiga na Kuiga Kamili

Kuiga: Inatekeleza mlolongo wa mawasiliano ya NFC uliorekodiwa awali. Kuiga Kamili: Hufanya nakala ya kitambulisho kisichobadilika (UID) na data ya lebo/kadi lengwa ya NFC kwenye simu mahiri, na kuiruhusu kuiga kifaa cha asili kwa teknolojia kama NFC-A na NFC-V.

4.3 Mfumo wa Programu-jalizi za Python

Uvumbuzi muhimu ni mfumo wa programu-jalizi unaowaruhusu watafiti kuandika hati za Python kwa uchambuzi wa nguvu. Hati hizi zinaweza kukagua, kubadilisha, kuacha, au kuingiza pakiti katika mkondo wa mawasiliano ya NFC kwa wakati halisi, na kuwezesha upimaji wa kiotomatiki wa itifaki (fuzzing) na upimaji wa mantiki.

5. Utafiti wa Mfano: Uchambuzi wa Kufuli ya NFC ya Biashara

Karatasi hii inaonyesha ufanisi wa NFCGate kwa kuchambua kufuli ya kisasa ya NFC ya Ulaya ya kibiashara iliyoshinda tuzo. Kwa kutumia uwezo wa zana hii wa kuiga itifaki maalumu ambazo hazisaidiiwi na Android ya kawaida, watafiti waligundua kasoro nyingi za usalama, ikiwa ni pamoja na uthibitishaji dhaifu na uwezekano wa kushambuliwa kwa kurudisha. Matokeo haya yalifichuliwa kwa uwajibikaji kwa muuzaji.

6. Tathmini ya Utendaji & Uchambuzi wa Ucheleweshaji

Kipimo muhimu cha uwezekano wa shambulio la kurudisha ni ucheleweshaji unaoongezwa. Karatasi hii inatathmini ucheleweshaji unaoletwa na NFCGate katika usanidi mbalimbali (k.m., kurudisha ndani vs. shambulio la shimo la mnyoo la mtandao). Kuelewa ucheleweshaji huu ni muhimu kwa kuunda njia za kinga zenye ufanisi zinazotegemea wakati.

7. Uchambuzi wa Asili: Ufahamu Muhimu na Ukosoaji

Ufahamu Muhimu: NFCGate sio zana nyingine tu ya udukuzi; ni urahisishaji wa kimkakati wa utafiti wa usalama wa NFC. Kwa kubadilisha vifaa vinavyohitajika kutoka kwa kichanganuzi maalumu cha $10,000 hadi simu mahiri ya $300, inabadilisha kabisa hali ya tishio na zana za mtafiti. Hii inafanana na mabadiliko makubwa yaliyoonwa katika nyanja zingine, kama vile kutolewa kwa mifumo kama Metasploit kwa utumiaji wa mtandao au Frida kwa upimaji wa nguvu, ambayo ilipunguza vikwazo na kuongeza kasi ya ugunduzi wa udhaifu.

Mtiririko wa Mantiki: Hoja ya karatasi hii ni ya kulazimisha: 1) NFC imeenea katika mifumo muhimu. 2) Utafiti umekwama kwa gharama/utata wa zana. 3) NFCGate inatatua hili. 4) Hapa kuna uthibitisho kupitia uchambuzi wa kufuli halisi. Mantiki ni sahihi, lakini dhana iliyofichika ni kwamba watafiti wengi wakichunguza NFC ni jambo zuri kabisa. Lazima tuzingatie hali ya matumizi mawili: inawapa nguvu wadhibiti na washambuliaji wenye ujuzi mdogo.

Nguvu na Kasoro: Nguvu ya zana hii ni utendaji wake na muundo wa programu-jalizi, unaokuza uwezo wa kupanuliwa. Hata hivyo, kasoro kuu ya karatasi hii ni uchambuzi wake wa kina kidogo wa njia za kinga. Ingawa ucheleweshaji unajadiliwa, kinga za kisasa kama vile itifaki za kupima umbali (k.m., mfano wa Hancke na Kuhn) au uthibitishaji unaozingatia muktadha zinatolewa tu kwa ishara. Uchunguzi wa kina zaidi wa jinsi vipimo vya NFCGate vingeweza kutumika kubuni kinga bora zingeliimarisha mchango huu. Zaidi ya hayo, kutegemea uwezo maalumu wa chipset ya NFC ya Android (k.m., ya Broadcom) kunaweza kupunguza uwezekano wa utumiaji wa ulimwengu wote, jambo ambalo halisisitizwi vya kutosha.

Ufahamu Unaotekelezeka: Kwa timu za usalama wa bidhaa, hii ni wito wa kuamka: fikiri kuwa itifaki yako maalumu ya NFC itachambuliwa kwa zana kama hii. Usalama lazima usonge mbele ya "usalama kupitia utata." Tekeleza kupima umbali, mabadilishano ya changamoto na majibu yenye muda mfupi sana (chini ya millisecond), na tumia vipengele salama. Kwa watafiti, njia ni wazi: tumia NFCGate kukagua mifumo halisi, lakini changia alama za kugundua au programu-jalizi za kinga kwa jamii. Wadhibiti wanapaswa kuzingatia kutoa amri ya upinzani wa shambulio la kurudisha kwa programu muhimu za NFC, sawa na mahitaji ya EMV kwa malipo yasiyo ya kugusa.

8. Maelezo ya Kiufundi & Miundo ya Kihisabati

Uwezekano wa shambulio la kurudisha unategemea wakati wa jumla wa safari ya kwenda na kurudi ($T_{total}$) kuwa chini ya kizingiti cha muda wa mfumo ($T_{max}$). $T_{total}$ inaweza kuonyeshwa kama:

$T_{total} = T_{propagation} + T_{processing}$

Ambapo $T_{propagation}$ ni wakati wa usafiri wa ishara kwenye njia ya kurudisha, na $T_{processing}$ ni ucheleweshaji unaoletwa na programu ya zana hii na vifaa vya simu mahiri. Kwa shambulio la shimo la mnyoo juu ya mtandao, $T_{propagation}$ inakuwa muhimu. Itifaki rahisi ya kupima umbali hupima wakati wa safari ya kwenda na kurudi ($t_{round}$) kwa mabadilishano ya changamoto na majibu. Ikiwa wakati uliopimwa unazidi wakati unaotarajiwa wa usafiri wa mwanga juu ya umbali unaodaiwa ($2 \cdot d / c$, ambapo $c$ ni kasi ya mwanga), shambulio la kurudisha linaweza kudhaniwa. Ucheleweshaji uliopimwa wa NFCGate hutoa msingi $T_{processing}$ unaohitajika kuhesabu anuwai ya shambulio yenye ufanisi.

9. Matokeo ya Majaribio & Maelezo ya Chati

Karatasi hii inajumuisha vipimo vya ucheleweshaji kwa shughuli za NFCGate. Ingawa chati halisi haijarudiwa hapa, matokeo yaliyoelezwa kwa kawaida yanaonyesha:

  • Hali ya Kurudisha Ndani: Ucheleweshaji katika anuwai ya millisecond chache (k.m., 2-5 ms), ambayo mara nyingi iko chini ya kizingiti cha kugundua cha mifumo mingi rahisi.
  • Kurudisha kwa Mtandao (Shimo la Mnyoo): Ucheleweshaji huongezeka sana na idadi ya kuruka kwenye mtandao, na kufikia makumi hadi mamia ya millisecond. Hii ingeonekana kwenye chati ya baa ikilinganisha hali za "Moja kwa Moja," "Kurudisha Ndani," na "Shimo la Mnyoo (Wi-Fi)".
  • Athari kwa Mafanikio ya Shambulio: Grafu inayowezekana ingeonyesha kiwango cha mafanikio ya shambulio la kurudisha lililosimamiwa dhidi ya ucheleweshaji ulioletwa, na kuonyesha kushuka kwa kasi baada ya kizingiti fulani cha ucheleweshaji (k.m., > 10 ms), na kuonyesha dirisha la udhaifu.

Matokeo haya yanaonyesha wazi kuwa mashambulizi ya kurudisha ndani yana uwezekano mkubwa, wakati mashambulizi ya shimo la mnyoo ya umbali mrefu yanaweza kugunduliwa na kinga zinazotegemea wakati.

10. Mfumo wa Uchambuzi: Mfano wa Kesi

Hali: Kuchambua mfumo mpya wa beji ya wafanyikazi unaotumia NFC.

  1. Upelelezi (Hali ya Kuiga Kamili): Tumia NFCGate kuiga UID na data isiyobadilika ya beji halali.
  2. Kukamata Trafiki (Hali ya Kwenye Kifaa): Rekodi shughuli ya uthibitishaji yenye mafanikio kati ya beji halali na kisoma.
  3. Uchambuzi wa Itifaki (Programu-jalizi ya Python): Andika programu-jalizi kuchambua baiti zilizokamatwa, kutambua muundo wa amri/jibu, na kutenganisha mlolongo wa uthibitishaji.
    # Mfano wa hati-bandia ya programu-jalizi
    def process_packet(data, direction):
        if data.startswith(b'\x90\x00'):  # Amri inayowezekana ya uthibitishaji
            log(f"Amri ya uthibitishaji imepatikana: {data.hex()}")
            # Toa changamoto/nonce inayowezekana
            challenge = data[2:6]
            # Simulia uchambuzi dhaifu wa majibu
            if challenge == b'\x00\x00\x00\x00':
                log("ONYO: Changamoto isiyobadilika au tupu imegunduliwa.")
        return data  # Endelea bila kubadilishwa kwa sasa
  4. Upimaji wa Kikamilifu (Kuiga/Badilisha): Rudia mlolongo wa uthibitishaji uliokamatwa. Kisha, tumia programu-jalizi kubadilisha changamoto au jibu kwa wakati halisi ili kupima udhaifu wa usimbu fiche au udhibiti mbaya wa hali.
  5. Jaribio la Kurudisha: Jaribu shambulio la kurudisha ili kuona ikiwa mfumo unakagua uwepo wa karibu kimwili.

11. Matumizi ya Baadaye & Mwelekeo wa Utafiti

  • Usalama wa IoT na Magari: Kupima kufungua milango ya magari kwa kutumia NFC, mifumo ya kuwasha bila ufunguo, na kuunganisha vifaa vya IoT.
  • Usalama wa Vifaa vya Afya: Kuchambua vifaa vya matibabu vinavyosaidia NFC (k.m., pampu za insulini, vifaa vya kufuatilia wagonjwa) kwa udhaifu.
  • Ujumuishaji na Mifumo ya Kiotomatiki ya Upimaji (Fuzzing): Kuunganisha mfumo wa programu-jalizi za Python na vipima (fuzzers) kama AFL++ kwa ugunduzi wa kiotomatiki wa udhaifu katika mkusanyiko wa NFC.
  • Uandaliwa wa Usimbu Fiche wa Baada ya Quantum: Kadiri mifumo ya NFC inavyokubali viwango vipya vya usimbu fiche, zana kama NFCGate zitakuwa muhimu kwa kupima usalama wa utekelezaji wao halisi.
  • Uwekaji wa Viwango vya Upimaji wa Njia za Kinga: NFCGate inaweza kukua na kuwa zana ya kiwango cha kuthibitisha vifaa dhidi ya mashambulizi ya kurudisha na kusikilizia kwa siri.

12. Marejeo

  1. Klee, S., Roussos, A., Maass, M., & Hollick, M. (2020). NFCGate: Opening the Door for NFC Security Research with a Smartphone-Based Toolkit. arXiv preprint arXiv:2008.03913.
  2. Maass, M., et al. (2015). NFCGate: An NFC Relay Attack Demo. Demo at ACM Conference on Security and Privacy in Wireless and Mobile Networks (WiSec).
  3. Hancke, G. P., & Kuhn, M. G. (2005). An RFID Distance Bounding Protocol. IEEE International Conference on Security and Privacy for Emerging Areas in Communications (SecureComm).
  4. ISO/IEC 14443. Kadi za kitambulisho -- Kadi za mzunguko uliojumuishwa zisizo za kugusa -- Kadi za karibu.
  5. Francis, L., et al. (2020). A Survey on NFC and RFID Security. ACM Computing Surveys.
  6. Android Open Source Project. Nyaraka za NFC. Imepatikana kutoka source.android.com/docs/core/connect/nfc.