Problemet e sistemeve autonome të kontrollit të aksesit - Aty ku nuk priten

Ditë të mbarë për të gjithë. Do të filloj me sfondin se çfarë më shtyu për të kryer këtë hulumtim, por fillimisht do t'ju paralajmëroj: të gjitha veprimet praktike u kryen me pëlqimin e strukturave qeverisëse. Çdo përpjekje për të përdorur këtë material për të hyrë në një zonë të kufizuar pa të drejtën për të qenë atje është një vepër penale.

Gjithçka filloi kur, gjatë pastrimit të tryezës, vendosa aksidentalisht çelësin e hyrjes RFID në lexuesin NFC ACR122 - imagjinoni habinë time kur Windows luajti tingullin e zbulimit të një pajisjeje të re dhe LED u kthye në jeshile. Deri në këtë moment, unë besoja se këta çelësa funksionojnë ekskluzivisht në standardin Proximity.
Problemet e sistemeve autonome të kontrollit të aksesit - Aty ku nuk priten
Por meqenëse lexuesi e pa atë, do të thotë se çelësi plotëson një nga protokollet në krye të standardit ISO 14443 (i njohur ndryshe si Komunikimi në Fushë afër, 13,56 MHz). Pastrimi u harrua menjëherë, pasi pashë një mundësi për të hequr qafe plotësisht grupin e çelësave dhe për të mbajtur çelësin e hyrjes në telefonin tim (apartamenti ka kohë që është i pajisur me një bravë elektronike). Pasi fillova të studioja, zbulova se nën plastikë fshihet një etiketë Mifare 1k NFC - i njëjti model si në shënjat e ndërmarrjeve, kartat e transportit, etj. Përpjekjet për të hyrë në përmbajtjen e sektorëve nuk sollën sukses në fillim, dhe kur çelësi më në fund u plas, doli që ishte përdorur vetëm sektori i 3-të, dhe UID-i i vetë çipit ishte dublikuar në të. Dukej shumë e thjeshtë, dhe doli të ishte kështu, dhe nuk do të kishte asnjë artikull nëse gjithçka do të shkonte saktësisht siç ishte planifikuar. Kështu që mora gjilpërat e çelësit dhe nuk ka probleme nëse duhet ta kopjoni çelësin në një tjetër të të njëjtit lloj. Por detyra ishte të transferoja çelësin në një pajisje celulare, gjë që bëra. Këtu filloi argëtimi - ne kemi një telefon - iPhone SE me themeluar iOS 13.4.5 Beta build 17F5044d dhe disa komponentë me porosi për funksionimin falas të NFC - nuk do të ndalem në këtë në detaje për disa arsye objektive. Nëse dëshironi, gjithçka që thuhet më poshtë vlen edhe për sistemin Android, por me disa thjeshtime.

Lista e detyrave për të zgjidhur:

  • Hyni në përmbajtjen e çelësit.
  • Zbatoni aftësinë për të imituar një çelës nga pajisja.

Nëse me të parën gjithçka ishte relativisht e thjeshtë, atëherë me të dytën kishte probleme. Versioni i parë i emulatorit nuk funksionoi. Problemi u zbulua mjaft shpejt - në pajisjet mobile (qoftë iOS ose Android) në modalitetin e emulimit, UID është dinamik dhe, pavarësisht nga ajo që është e lidhur në imazh, noton. Versioni i dytë (i ekzekutuar me të drejtat e superpërdoruesit) fiksoi në mënyrë të ngurtë numrin serial në atë të zgjedhur - dera u hap. Megjithatë, doja të bëja gjithçka në mënyrë perfekte dhe përfundova duke bashkuar një version të plotë të emulatorit që mund të hapte deponitë e Mifare dhe t'i imitonte ato. Duke iu dorëzuar një impulsi të papritur, ndryshova çelësat e sektorit në arbitrarë dhe u përpoqa të hap derën. Dhe ajo… HAPUR! Pas pak kuptova që po hapeshin ndonjë dyert me këtë bravë, edhe ato të cilave nuk u përshtatej çelësi origjinal. Në lidhje me këtë, unë krijova një listë të re detyrash për të përfunduar:

  • Zbuloni se çfarë lloj kontrolluesi është përgjegjës për punën me çelësat
  • Kuptoni nëse ka një lidhje rrjeti dhe një bazë të përbashkët
  • Zbuloni pse një çelës praktikisht i palexueshëm bëhet universal

Pasi fola me një inxhinier në kompaninë e menaxhimit, mësova se kontrollorët e thjeshtë Iron Logic z5r përdoren pa u lidhur me një rrjet të jashtëm.

Lexues CP-Z2 MF dhe kontrollues IronLogic z5r
Më dhanë një grup pajisjesh për eksperimentet:

Problemet e sistemeve autonome të kontrollit të aksesit - Aty ku nuk priten

Siç është e qartë nga këtu, sistemi është plotësisht autonom dhe jashtëzakonisht primitiv. Në fillim mendova se kontrolluesi ishte në modalitetin e të mësuarit - kuptimi është se ai lexon çelësin, e ruan atë në memorie dhe hap derën - kjo mënyrë përdoret kur është e nevojshme të regjistrohen të gjithë çelësat, për shembull, kur zëvendësohet mbyllet në një pallat. Por kjo teori nuk u konfirmua - kjo mënyrë është e fikur në softuer, kërcyesi është në pozicionin e punës - dhe megjithatë, kur e nxjerrim pajisjen lart, shohim sa vijon:

Pamja e ekranit të procesit të emulimit në pajisje
Problemet e sistemeve autonome të kontrollit të aksesit - Aty ku nuk priten
... dhe kontrolluesi sinjalizon se aksesi është dhënë.

Kjo do të thotë se problemi qëndron në softuerin ose të kontrolluesit ose të lexuesit. Le të kontrollojmë lexuesin - funksionon në modalitetin iButton, kështu që le të lidhim tabelën e sigurisë Bolid - do të jemi në gjendje të shohim të dhënat e daljes nga lexuesi.

Bordi më vonë do të lidhet përmes RS232
Problemet e sistemeve autonome të kontrollit të aksesit - Aty ku nuk priten

Duke përdorur metodën e testeve të shumëfishta, zbulojmë se lexuesi transmeton të njëjtin kod me në rast dështimi të autorizimit: 1219191919

Situata ka filluar të qartësohet, por për momentin nuk e kam të qartë pse kontrollori i përgjigjet pozitivisht këtij kodi. Ekziston një supozim se kur u mbush baza e të dhënave - rastësisht ose me qëllim u paraqit një kartë me çelësat e tjerë të sektorit - lexuesi dërgoi këtë kod dhe kontrolluesi e ruajti atë. Fatkeqësisht, nuk kam një programues të pronarit nga IronLogic për të parë në bazën e të dhënave të çelësave të kontrolluesit, por shpresoj se kam qenë në gjendje të tërheq vëmendjen për faktin se problemi ekziston. Ekziston një video demonstrim i punës me këtë dobësi по ссылке.

PS Teoria e shtimit të rastësishëm kundërshtohet nga fakti se në një qendër biznesi në Krasnoyarsk arrita gjithashtu të hap derën duke përdorur të njëjtën metodë.

Burimi: www.habr.com

Shto një koment