Problémy autonómnych systémov kontroly prístupu - Tam, kde sa neočakávali

Pekný deň všetkým. Začnem pozadím toho, čo ma podnietilo k uskutočneniu tohto výskumu, ale najprv vás upozorním: všetky praktické činnosti boli vykonané so súhlasom riadiacich štruktúr. Akýkoľvek pokus použiť tento materiál na vstup do zakázanej oblasti bez práva tam byť je trestným činom.

Všetko to začalo, keď som pri upratovaní stola omylom položil vstupný RFID kľúč na čítačku ACR122 NFC – predstavte si moje prekvapenie, keď Windows prehral zvuk detekcie nového zariadenia a LED sa rozsvietila na zeleno. Do tohto momentu som veril, že tieto klávesy fungujú výlučne v štandarde Proximity.
Problémy autonómnych systémov kontroly prístupu - Tam, kde sa neočakávali
Ale keďže to čitateľ videl, znamená to, že kľúč spĺňa jeden z protokolov nad rámec normy ISO 14443 (aka Near Field Communication, 13,56 MHz). Na upratovanie sa okamžite zabudlo, pretože som videl príležitosť úplne sa zbaviť sady kľúčov a ponechať si kľúč od vchodu v telefóne (byt je už dlho vybavený elektronickým zámkom). Po začatí štúdia som zistil, že pod plastom je skrytý štítok Mifare 1k NFC - rovnaký model ako v podnikových odznakoch, dopravných kartách atď. Pokusy dostať sa do obsahu sektorov spočiatku nepriniesli úspech a keď sa kľúč konečne zlomil, ukázalo sa, že bol použitý iba 3. sektor a v ňom bolo duplikované UID samotného čipu. Vyzeralo to príliš jednoducho a ukázalo sa, že je to tak a nebol by žiadny článok, keby všetko išlo presne podľa plánu. Takže som dostal droby kľúča a nie sú žiadne problémy, ak potrebujete skopírovať kľúč do iného rovnakého druhu. Ale úlohou bolo preniesť kľúč do mobilného zariadenia, čo som aj urobil. Tu sa začala zábava - máme telefón - iPhone SE s nainštalovaným iOS 13.4.5 Beta zostava 17F5044d a nejaké vlastné komponenty pre voľnú prevádzku NFC - tomu sa nebudem z nejakých objektívnych dôvodov podrobne venovať. Ak chcete, všetko uvedené nižšie platí aj pre systém Android, ale s určitými zjednodušeniami.

Zoznam úloh na riešenie:

  • Prístup k obsahu kľúča.
  • Implementujte schopnosť emulovať kľúč zariadením.

Ak s prvým bolo všetko relatívne jednoduché, potom s druhým boli problémy. Prvá verzia emulátora nefungovala. Problém bol odhalený pomerne rýchlo – na mobilných zariadeniach (či už iOS alebo Android) v emulačnom režime je UID dynamické a bez ohľadu na to, čo je napevno zapojené do obrazu, pláva. Druhá verzia (beh s právami superužívateľa) pevne pripevnila sériové číslo na vybranú verziu - dvere sa otvorili. Chcel som však urobiť všetko dokonale a nakoniec som dal dohromady kompletnú verziu emulátora, ktorý by mohol otvárať výpisy Mifare a emulovať ich. Podľahol som náhlemu impulzu, zmenil som sektorové kľúče na ľubovoľné a pokúsil som sa otvoriť dvere. A ona… OTVORENÉ! Po chvíli som si uvedomil, že sa otvárajú akýkoľvek dvere s týmto zámkom, aj tie, ku ktorým pôvodný kľúč nepasoval. V tejto súvislosti som vytvoril nový zoznam úloh, ktoré treba splniť:

  • Zistite, aký typ ovládača je zodpovedný za prácu s kľúčmi
  • Pochopte, či existuje sieťové pripojenie a spoločná základňa
  • Zistite, prečo sa prakticky nečitateľný kľúč stáva univerzálnym

Po rozhovore s inžinierom v správcovskej spoločnosti som sa dozvedel, že jednoduché ovládače Iron Logic z5r sa používajú bez pripojenia k externej sieti.

Čítačka CP-Z2 MF a ovládač IronLogic z5r
Dostal som sadu zariadení na experimenty:

Problémy autonómnych systémov kontroly prístupu - Tam, kde sa neočakávali

Ako je tu zrejmé, systém je úplne autonómny a mimoriadne primitívny. Najprv som si myslel, že ovládač je v režime učenia - to znamená, že načíta kľúč, uloží ho do pamäte a otvorí dvere - tento režim sa používa, keď je potrebné zaznamenať všetky kľúče, napríklad pri výmene kľúča. zamknúť v bytovom dome. Táto teória sa však nepotvrdila - tento režim je softvérovo vypnutý, prepojka je v pracovnej polohe - a napriek tomu, keď zariadenie zdvihneme, vidíme nasledovné:

Snímka obrazovky procesu emulácie na zariadení
Problémy autonómnych systémov kontroly prístupu - Tam, kde sa neočakávali
... a ovládač signalizuje, že prístup bol udelený.

To znamená, že problém spočíva v softvéri ovládača alebo čítačky. Skontrolujeme čítačku – funguje v režime iButton, pripojíme teda bezpečnostnú dosku Bolid – budeme si môcť prezerať výstupné dáta z čítačky.

Doska bude neskôr pripojená cez RS232
Problémy autonómnych systémov kontroly prístupu - Tam, kde sa neočakávali

Metódou viacerých testov zistíme, že čítačka v prípade zlyhania autorizácie vysiela rovnaký kód s: 1219191919

Situácia sa začína vyjasňovať, no momentálne mi nie je jasné, prečo na tento kódex prevádzkovateľ pozitívne reaguje. Je predpoklad, že pri naplnení databázy - náhodne alebo zámerne bola predložená karta s inými sektorovými kľúčmi - čítačka odoslala tento kód a kontrolór ho uložil. Žiaľ, nemám proprietárneho programátora od IronLogic, ktorý by nahliadol do databázy kľúčov ovládača, ale dúfam, že sa mi podarilo upozorniť na skutočnosť, že problém existuje. K dispozícii je video ukážka práce s touto zraniteľnosťou по ссылке.

PS Teórii náhodného pridávania odporuje fakt, že v jednom obchodnom centre v Krasnojarsku sa mi rovnakou metódou podarilo otvoriť dvere.

Zdroj: hab.com

Pridať komentár