Zvatakadzidza kubatanidza makamera eChinese kwe1000 rubles kune gore. Hapana vanotema matanda kana SMS (uye vakachengeta mamirioni emadhora)

Hello vose!

Zvichida hachisi chakavanzika kuti Cloud vhidhiyo yekutarisa masevhisi ave kuwana mukurumbira munguva pfupi yapfuura. Uye zvakajeka kuti nei izvi zvichiitika, vhidhiyo "inorema" zvinyorwa, kuchengetwa kunoda zvivakoti uye zvakawanda zvekuchengetedza disk. Kushandisa on-premises video surveillance system inoda mari yekushandisa nekutsigira, zvese kusangano rinoshandisa mazana emakamera ekutarisisa uye kune mumwe mushandisi ane makamera akati wandei.

Zvatakadzidza kubatanidza makamera eChinese kwe1000 rubles kune gore. Hapana vanotema matanda kana SMS (uye vakachengeta mamirioni emadhora)

Cloud vhidhiyo yekutarisa masisitimu inogadzirisa dambudziko iri nekupa vatengi neiyo iripo vhidhiyo yekuchengetedza uye kugadzirisa masisitimu. Yegore vhidhiyo yekutarisa mutengi inongoda kubatanidza kamera kuInternet uye kuibatanidza neakaundi yake yegore.

Kune akati wandei tekinoroji nzira dzekubatanidza makamera kune gore. Pasina kupokana, nzira yakanakisa uye yakachipa ndeyekuti kamera inobatanidza zvakananga uye inoshanda negore, pasina kutora chikamu chekuwedzera michina sevha kana rekodhi.

Kuti uite izvi, zvinodikanwa kuti iyo software module inoshanda negore iiswe pane kamera. Nekudaro, kana tikataura nezveakachipa makamera, saka ane mashoma mashoma emidziyo zviwanikwa, ayo angangoita 100% akagarwa neiyo yemuno firmware yemutengesi kamera, uye hapana zviwanikwa zvinodiwa kune gore plugin. Vagadziri kubva ivideon vakapa dambudziko iri chinyorwa, iyo inotsanangura chikonzero nei vasingakwanise kuisa iyo plugin pamakamera akachipa. Nekuda kweizvozvo, mutengo wakaderera wekamera i5000 rubles (madhora makumi masere emadhora) uye mamirioni emari inoshandiswa pamidziyo.

Tabudirira kugadzirisa dambudziko iri. Kana iwe uchifarira kuti sei - kugamuchirwa kune kucheka

A bit of history

Muna 2016, takatanga kugadzira cloud video surveillance platform yeRostelecom.

Panyaya yekamera software, padanho rekutanga takatevera nzira "yakajairika" yemabasa akadaro: isu takagadzira yedu plugin, iyo yakaiswa mune yakajairwa firmware yekamera yemutengesi uye inoshanda negore redu. Nekudaro, zvakakosha kucherechedza kuti panguva yedhizaini takashandisa yakanyanya kureruka uye inoshanda mhinduro (semuenzaniso, pachena C kuisirwa protobuf, libev, mbedtls uye akasiiwa zvachose ari nyore asi anorema maraibhurari senge boost)

Parizvino, hapana mhinduro dzekubatanidza kwepasirese pamusika weIP kamera: mutengesi wega wega ane nzira yake yekuisa iyo plugin, yayo yega seti yeAPIs yekushanda iyo firmware, uye yakasarudzika nzira yekuvandudza.

Izvi zvinoreva kuti kune mumwe nemumwe mutengesi wekamera zvinodikanwa kuti mumwe nemumwe agadzirise yakazara chikamu chekubatanidza software. Uye panguva yekutanga kusimudzira, zvinokurudzirwa kushanda chete nemutengesi 1 kuitira kuti titarise kuedza kwechikwata mukugadzira pfungwa yekushanda negore.

Mutengesi wekutanga akasarudzwa aive Hikvision, mumwe wevatungamiriri vepasirese mumusika wekamera, achipa yakanyatso kunyorwa API uye inokwanisa huinjiniya rutsigiro rwehunyanzvi.

Takatanga chirongwa chedu chekutanga chekuyedza, gore vhidhiyo yekutarisa Vhidhiyo Comfort, tichishandisa Hikvision makamera.

Kanenge pakarepo mushure mekutangwa, vashandisi vedu vakatanga kubvunza mibvunzo nezve mukana wekubatanidza akachipa makamera kubva kune vamwe vagadziri kune sevhisi.

Ini ndakaramba sarudzo yekushandisa yekubatanidza layer kune mumwe nemumwe mutengesi nekukurumidza - sezvo isina kusimba uye inoisa zvakakomba tekinoroji zvinodiwa pane kamera hardware. Mutengo wekamera unosangana nezvinodiwa zvekupinza izvi: ~ 60-70 $

Naizvozvo, ndakafunga kuchera zvakadzika - kugadzira yangu firmware yemakamera kubva kune chero mutengesi. Iyi nzira inoderedza zvakanyanya zvinodikanwa zvekamera hardware zviwanikwa - nekuti Iyo dhizaini yekushanda negore yakanyatsobatanidzwa nevhidhiyo application, uye hapana mafuta asina kufanira asina kushandiswa mune firmware.

Uye chakakosha ndechekuti kana uchishanda nekamera padanho rakaderera, zvinokwanisika kushandisa hardware AES, iyo encrypts data pasina kugadzira yakawedzera mutoro pane yakaderera-simba CPU.

Zvatakadzidza kubatanidza makamera eChinese kwe1000 rubles kune gore. Hapana vanotema matanda kana SMS (uye vakachengeta mamirioni emadhora)

Panguva iyoyo takanga tisina kana chinhu. Hapana zvachose.

Vanenge vatengesi vese vakanga vasina kugadzirira kushanda nesu padanho rakaderera zvakadaro. Iko hakuna ruzivo nezve kutenderera uye zvikamu, hapana yepamutemo SDK ye chipsets uye sensor zvinyorwa.
Iko hakuna zvakare rubatsiro rwehunyanzvi.

Mibvunzo yese yaifanira kupindurwa kuburikidza nereverse engineering β€” kuyedza uye kukanganisa. Asi takakwanisa.

Ekutanga makamera emhando dzatakaedza paari Xiaomi Yi Ants, Hikvision, Dahua, Spezvision, D-Link makamera uye akati wandei ekupedzisira-akachipa asina mazita eChinese makamera.

Technique

Makamera akavakirwa paHisilicon 3518E chipset. Hunhu hwehardware hwemakamera ndeiyi inotevera:

Xiaomi Yi Ants
Kwete

SoC
Hisilicon 3518E
Hisilicon 3518E

RAM
64MB
64MB

mbaravara
16MB
8MB

WiFi
mt7601/bcm43143
-

Switch
ov9732 (720p)
ov9712 (720p)

Ethernet
-
+

MicroSD
+
+

Microphone
+
+

Mutauriri
+
+

IRLed
+
+

IRCut
+
+

Takatanga navo.

Isu parizvino tinotsigira Hisilicon 3516/3518 chipsets, pamwe neAmbarella S2L/S2LM. Kune akawanda emhando dzekamera.

Firmware kuumbwa

yepasi pegungwa

uboot ndiyo bootloader, inotanga kutanga mushure mesimba, inotanga hardware uye inotakura linux kernel.

Iyo kamera yekurodha script idiki chaizvo:

bootargs=mem=38M console=ttyAMA0,115200 rootfstype=ramfs mtdparts=hi_sfc:256K(boot),64K(tech),4096K(kernel),8192K(app),-(config) hw_type=101
bootcmd=sf probe 0; sf read 0x82000000 0x50000 0x400000; bootm 0x82000000; setenv bootargs $(bootargs) bkp=1; sf read 0x82000000 0x450000 0x400000; bootm 0x82000000

Chimwe chezvimiro ndechekuti inonzi kaviri bootm, zvimwe pamusoro peizvi zvishoma gare gare, kana tasvika kune yekuvandudza subsystem.

Ngwarira kumutsara mem=38M. Hongu, hongu, iyi haisi typo - iyo Linux kernel uye zvese, zvese, zvese zvikumbiro zvinowana chete 38 megabytes ye RAM.

Zvakare padhuze neuboot pane special block inonzi reg_info, iyo ine yakaderera-level script yekutanga DDR uye akati wandei ehurongwa marejista eSoC. Content reg_info zvinoenderana nekamera modhi, uye kana isiri iyo, kamera haizotombokwanisa kurodha uboot, asi inoomesa padanho rekutanga rekurodha.

Pakutanga, patakashanda pasina rutsigiro rwemutengesi, takangokopa iyi block kubva kune yekutanga kamera firmware.

Linux kernel uye rootfs

Makamera anoshandisa iyo Linux kernel, inova chikamu che chip's SDK; kazhinji idzi hadzisi dzazvino kernels kubva kubazi re3.x, saka isu kazhinji tinotarisana nenyaya yekuti vatyairi vekuwedzera michina haienderane nekernel inoshandiswa. , uye isu tinofanirwa kudzosera kumashure kune kernel kamera.

Imwe nyaya ndeyekukura kwekernel. Kana iyo FLASH saizi ichingori 8MB, ipapo yega yega inoverengera uye basa redu nderekudzima nekungwarira mabasa ese asina kushandiswa kernel kuitira kuderedza saizi kusvika padiki.

Rootfs ndiyo yakakosha faira system. Zvinosanganisira busybox, wifi module vatyairi, seti yeyakajairwa system maraibhurari, senge libld ΠΈ libc, pamwe nesoftware yedu, iyo inotungamira iyo LED control logic, network yekubatanidza manejimendi uye firmware zvigadziriso.

Iyo mudzi faira system yakabatana kune kernel se initramfs uye semhedzisiro yekuvaka tinowana imwe faira. uImage, iyo ine kernel uye rootfs.

Vhidhiyo application

Iyo yakanyanya kuomesesa uye ine zviwanikwa-yakanyanya chikamu cheiyo firmware ndeye application, iyo inopa vhidhiyo-odhiyo kubatwa, vhidhiyo encoding, inogadzirisa mapikicha ma paramita, inoshandisa vhidhiyo analytics, semuenzaniso, kufamba kana manzwi ekuona, inodzora PTZ uye ine basa rekuchinja zuva uye. husiku modes.

Chinhu chakakosha, ndingatoti kiyi, chimiro ndechekuti vhidhiyo application inodyidzana sei neyegore plugin.

Muchinyakare mhinduro 'mutengesi firmware + gore plugin', isingakwanise kushanda pane yakachipa Hardware, vhidhiyo mukati mekamera inofambiswa kuburikidza neRTSP protocol - uye iyi ihombe yepamusoro: kukopa uye kutumira data kuburikidza nesokisi, zvisina basa syscalls.

Pano isu tinoshandisa yakagovaniswa memory meshini - iyo vhidhiyo haina kukopwa kana kutumirwa kuburikidza nesoketi pakati pekamera software zvikamu, nekudaro zvakanaka uye nekungwarira kushandisa zvine mwero Hardware kugona kwekamera.

Zvatakadzidza kubatanidza makamera eChinese kwe1000 rubles kune gore. Hapana vanotema matanda kana SMS (uye vakachengeta mamirioni emadhora)

Gadziridza subsystem

Ipoindi yekudada kwakakosha ndiyo yekutadza-kushivirira subsystem ye online firmware updates.

Rega nditsanangure dambudziko. Kuvandudza firmware hakusi kushanda kweatomu, uye kana kukundikana kwesimba kukaitika pakati pekugadzirisa, ipapo flash memory ichava nechikamu che "pasi-yakanyorwa" firmware itsva. Kana iwe ukasatora matanho akakosha, kamera inozove "chidhinha" chinoda kuendeswa kunzvimbo yebasa.

Takatarisanawo nedambudziko iri. Kunyangwe iyo kamera yakadzimwa panguva yekuvandudza, inozviita otomatiki uye pasina kupindira kwemushandisi kurodha firmware kubva mugore uye kudzoreredza kushanda.

Ngatitarisei tekiniki mune zvakadzama:

Iyo yakanyanya kutambudzika nzvimbo ndeyekunyora chikamu neLinux kernel uye midzi faira system. Kana chimwe chezvikamu izvi chikakuvadzwa, kamera haizobhoti zvachose kunze kweuboot bootloader, iyo isingagoni kurodha firmware kubva mugore.

Izvi zvinoreva kuti isu tinofanirwa kuve nechokwadi chekuti kamera ine kernel inoshanda uye rootfs chero nguva panguva yekuvandudza maitiro. Zvingaita sekuti mhinduro iri nyore ndeyekugara uchichengeta makopi maviri ekernel ane rootfs pane flash memory uye, kana iyo huru kernel ikakuvadzwa, itakure kubva kune backup kopi.

Mhinduro yakanaka - zvisinei, iyo kernel ine rootfs inotora inosvika 3.5MB uye kuitira kuchengetedza zvachose unofanirwa kugovera 3.5MB. Iwo akachipa makamera haangove neyakawanda nzvimbo yemahara yekuchengetedza kernel.

Naizvozvo, kuchengetedza kernel panguva ye firmware update, isu tinoshandisa iyo application partition.
Uye kusarudza chikamu chinodiwa nekernel, mirairo miviri inoshandiswa bootm muuboot - pakutanga tinoedza kurodha iyo huru kernel uye kana yakakuvadzwa, ipapo iyo yekuchengetedza.

Zvatakadzidza kubatanidza makamera eChinese kwe1000 rubles kune gore. Hapana vanotema matanda kana SMS (uye vakachengeta mamirioni emadhora)

Izvi zvinovimbisa kuti chero nguva kamera ichange iine kernel chaiyo ine rootfs, uye ichakwanisa kubhoti uye kudzoreredza firmware.

CI/CD system yekuvaka uye kutumira firmware

Kuvaka firmware, isu tinoshandisa gitlab CI, iyo inovaka otomatiki firmware kune ese anotsigirwa kamera modhi, uye mushure mekuvaka iyo firmware, inoiswa otomatiki kune kamera software yekuvandudza sevhisi.

Zvatakadzidza kubatanidza makamera eChinese kwe1000 rubles kune gore. Hapana vanotema matanda kana SMS (uye vakachengeta mamirioni emadhora)

Kubva pasevhisi, zvigadziriso zve firmware zvinounzwa kumakamera edu ebvunzo dzeQA, uye pakupera kwematanho ese ekuyedza, kumakamera evashandisi.

Information Security

Haisi chakavanzika kuti mazuva ano kuchengetedzwa kwemashoko ndiyo inonyanya kukosha pane chero mudziyo weIoT, kusanganisira makamera. Botnets saMirai ari kutenderera paInternet, achitapura mamirioni emakamera neyakajairwa firmware kubva kune vatengesi. Neruremekedzo rwese rwakakodzera kune vatengesi vekamera, ini handigone kubatsira asi kucherechedza kuti yakajairwa firmware ine yakawanda yekushanda iyo isingadikanwi pakushanda negore, asi ine huzhinji husina simba hunoshandiswa nebotnets.

Nokudaro, mabasa ose asina kushandiswa mu firmware yedu akavharwa, zvose tcp / udp ports zvakavharwa, uye kana uchivandudza firmware, siginecha yedhijitari yepurogiramu inotariswa.

Uye kunze kweizvi, iyo firmware inogara ichiyedzwa murabhoritari yekuchengetedza ruzivo.

mhedziso

Iye zvino firmware yedu inoshandiswa zvakanyanya mumavhidhiyo ekuongorora mapurojekiti. Zvichida chikuru chazvo ndechekuparidzirwa kwekuvhota pazuva rekusarudzwa kweMutungamiri weRussian Federation.
Iyo purojekiti yaisanganisira anopfuura zviuru makumi manomwe emakamera ane firmware yedu, iyo yakaiswa panzvimbo dzekuvhotera munyika yedu.

Tagadzirisa zvinoverengeka zvakaoma, uye mune dzimwe nzvimbo, kunyange panguva iyoyo zvinenge zvisingabviri matambudziko, isu, chokwadi, takawana kugutsikana kukuru semainjiniya, asi kunze kweizvi, takachengetawo mamiriyoni emadhora pakutenga makamera. Uye mune iyi kesi, kuchengetedza haisi mazwi chete uye maverengero ezvinyorwa, asi mhedzisiro yetenda yakatopedzwa yekutenga michina. Saizvozvo, kana tikataura nezve Cloud vhidhiyo yekutarisa: kune nzira mbiri - zvine hungwaru kuvimba neakaderera-chikamu hunyanzvi uye kusimudzira, zvichikonzera kuchengetwa kwakakura pamidziyo, kana kushandisa michina inodhura, iyo, kana iwe ukatarisa zvakanangana nehunhu hwevatengi, ichokwadi kwete. akasiyana neakachipa akafanana.

Sei zvakakosha zvakakosha kusarudza pamusoro pesarudzo yekubatanidza nzira nekukurumidza sezvinobvira? Paunenge uchigadzira plugin, vanogadzira vanovimba nehumwe matekinoroji (maraibhurari, maprotocol, zviyero). Uye kana seti yetekinoroji yakasarudzirwa chete michina inodhura, saka mune ramangwana kuedza kushandura kumakamera akachipa kungangoitika, zvishoma, kutora nguva yakareba inopenga kana kukundikana uye kudzokera kumidziyo inodhura kuchaitika.

Source: www.habr.com

Voeg