IP Camera Cybersecurity Shootout - Avigilon, Axis, Bosch, Dahua, Hanwha, Hikvision, Uniview
This is IPVM's first Cyber Security shootout of IP cameras, where we rank 7 manufacturers based on the criteria explained in the post - IP Camera Cybersecurity Comparison Criteria.
IPVM tested seven manufacturers' IP cameras, evaluating Avigilon, Axis, Bosch, Dahua, Hanwha, Hikvision, Uniview, and Verkada.
In this report, we detail the best and worst across 7 main categories which included 50 total criteria.
- Fundamental Built-In Security Features
- Advanced Built-In Security Features
- IP Camera Attack Surface - WebUI, HTTPS/TLS/SSL, Default Enabled Services
- IP Camera Digital Fingerprinting - Information Gathering
- Cloud / P2P Connections
- Firmware Update
- Manufacturer Cybersecurity Support
UPDATE: Plus, we now have released Cloud IP Camera Cybersecurity Shootout - Ava, Meraki, Rhombus, Verkada.
*** ********* ************* *** ******** ******** were ******, ******* **** ******* **** the ****** ********* ********, *** ******* reset ****** *******.
- ********: *.**.*.**
- ****: **.*.**
- *****: *.**.**** (********)
- *****: **.***.*******.**.*, ***** ****: ****-**-**
- ****** *-******: *.**.**
- ****** ******* *: *.**.**
- *********: **.*.** ***** ******
- *******: ****-*****.**.**.******
- *******: ****-*****.*.*.****** (**** *********)
- *******: **** ****** ******** ** ** 1/24/2023
**** ***** ** ******* *** ****** more ************* ** ****.
*** ******** *** ********* ** * groups: **** *******, ******* *********** (* manufacturers), *** ***** (* *************).
Executive *******
**** ***** *********** *********** ******* ********* manufacturers' ** *******, ***** ** *** ranking ** ****** *******.
*** *** ********************** ******** ******** ********* ********** ** **** ******** *** criteria.
**** *******
**** ******* ******* *** ********* ************* focus, **** ******** ****** ** ** out ** ** ********. **** *** the **** ************ **** ******** ******* in *** * ************ ************* ******* criteria. **** *** **** ** *********** Gathering, **** * *** ** * negative ******, *** ** ******* ***** network ********* ******** ********* **** ****** to ****** ***********.
******* **********
****** ******** *** ******** ******* ** 32 *** ** ** ********, **** strong ******* ** *********** *****-** ******** and *****/*** **********. ****** ******** ****** TPM ********, *** ****** ***** ***********-********* weaknesses, ******** ******* *** ****** ***** cannot ** ********.
********* *** ******** ******* ** ** out ** ** ********, **** ****** results ** *********** *****-** ******** *** HTTPS/TLS **********. ********* **** *** ***** TPM **** ********, ****** ** *** brute ***** ***** ******* *** ***** enabled ** *******.
******** *** ******** ******* ** ** out ** ** ********, **** ****** results ** *****/*** ********, *** ******* average ****** ** *** ***** * categories. ******** ** ******* ** *** offer *** ***** (****** ****** ** its ****) ** ***** ***** ***** locking, *** **** ***** ******* ** default, ******* *** **.*, *** *********** block ****** ** ********* ** *** web ****** ******* **************.
***** *** ******** ******* ** ** out ** ** ********, **** ****** results ** *********** *****-** ******** *** HTTPS/TLS **********. ***** ****** *** **** security, ****** ** ******* ***** ***** login *******, *** ******* ******* **** viewing *****, *** ****** ***** ****** be ********.
***** *** ******** ******* ** ** out ** ** ********, **** ******* average ******* ****** * **********, *** good ** ** ****** ****** *******. Dahua ******* **** *** *** ****** Client-Initiated ************* *** *************, ***** ******* for *** **.*, *** *** ******** discovery ********* ******* ** *******.
****** *-****** *** ******** ******* ** 26 *** ** ** ********, **** fundamental ******* **********. ******-**** *-****** (**** ******)**** ********* ***, *** ***** * TPM ****, ****** ****, *** ****** firmware. *** *-****** *** **** ***** and **** *****************, ***** *** ******** are ********* ******* ******** *** ****** undocumented ********.
***** *******
******* *** ******** ******* ** ** out ** ** ********, **** ******* below-average ******* ****** *** * **********. There *** ******* ********** ** *** features *** *********** ** **** *** non-NDAA-compliant *******. ******* *** *** ** far ******* ******* ** *****/*** ****** Surface *** *** **** *********** *****-** Features.
******* ************* *********
******* ** ******* *** ****** ** its ***** ********, ***** ***** **** the ******* ********** ** ** *******'* own ***** ******** *** ** ***** services *** ********* ** ** ** default. *** ********** ** *** ***** uses ***** *** ****** ************, ***** prevents ************ ** *** ***** ******* through * *** ** *** ****** (MiTM) ******. ***** ** * ******* local ********** ******* ******* *** *******, mainly ***** **** ***** *********, ***** is ******** ** *******.
**** **** ** ********** * ********** test ********** *******'* ************* **** *** cons.
Summary *****
***** ** *** ********** ***** ******* tested *******, *** ***** ** **** provide ******** *********** ** **** ****.
Differentiators ********
*** ******* ************** ******* *** **** performers *** ***** **********, ***** *** categories, *** ** ****** ****** *******. Axis ****** *** ********* ******* *****/***/*** features, **** ** ******** *******, *** HTTPS *** *** **.* ******* ** default.
*******, *****, ****** *-******, *** ******* are *** ***** ** *******, ***** Dahua *** ******* *** **** ******* TLS **.* *******. ****** ******* ****** A-Series *** ******* **** ******* ********** TLS **.*/**.*, ** **** ** ******** ciphers. *******, ***** *********** **** ****** and ********* ****** ********* ******* ************** was ******* *********.
*********** *****-** ******** **** ****** ****** varying *******, **** *** ****** ********** not ******** ***, ****** ****, *** Signed ********. *******, ********-********** ******** *** Bosch ** *** ******* *****-***** ***** locking.
************ ************* *** ********* **** *******, with **** **** ******* ******** ** all * ********. ******** **** ** Materials (****) *** **** **** ******* (LTS) ******** *** *********** ******* ******** for **** ** ****** *************.
Fundamental *****-** ******** ********
*********** *****-** ******** ******* *********** *** based ** ********* *** ******** **** ensure ****** ****** *** ** *** device *** **** ******* ********** ******* from ******** ******.
** ******* ********* *** *** **** feature ********* ** *** *************. ******* Platform ****** ***** **** **** ******* by ****, *****, *** ****** ******* 7, *** *** **** ********* ***** in ***** ****** **** ** ******* lines. ****** *-******, ***** ** ********* SOC *** *** ***** * ***.
***** *******, ** **** **** ** prevent ***** ***** *******, *** ****** supported, **** ***** *** ******** *** offering **. ******'* ******* * ****** after * ******** ***** ** *******:
Advanced *****-** ******** ********
******** *****-** ******** ******* *********** *** based ** ************* ********** ** ******* devices **** ******* *** ****** ****** login.
*********, ****, *****, ******, *** ********* support *** **** ****** ***.** ***-***, Dahua ******** ***-**** *** ******* ******** only ***-***, ***** ** ***** ** password *******, ***** ** **** ****** than ***. ***** ******** *** ******** provided ** *********** ******* ********** ******* and *** *** ********** ** *** device/IP ******.
**** ***.** ************* ** *************** ** navigate ** *** *** ********* *** configure:
Device ****** *******
** *** ********, **** ** ******'* attack ******* *** ******** *** ****** based ** ** ******** ** * overall **********; *** ** *************, *****/***/***, and ******* ******* ********.
WebUI *************
***** ************* ******* *********** *** ***** on *** ** ****** ***** ********* and *********** ********* ****** *** ************** and ************* *******.
*** ************* ******* ********* - ******** mechanisms, ****** **** ******** *********** ***** access ** ********* ** ***** *** server ******* **************, ************* ******** *** risks ** ********** ********* ********** *** server *********, ******* ************ ** ********* security ***** ** *** ***** ******* and ** *** *** ****** ******.
******** (******* *****) *** **** *** the **** ************* **** ******* ********* WebUI:
**** ***** ** ******* **** *********** WebUI ************* ********* *** **** ************* that ** ********** *** ***********, ***** is * ********* **** *** ******.
***** *** ** *********** *********** ***** language *** ***** ** *** ********, it ** **** ***** ** ***** *********** ******** called ***+.
******* ******* ** ********** *********** ********* is ******** ************** ****** **** **** ******** on ** ****.
******* **** ********
****** *******, ** ***** **** ***** has *** ******* **** ******** **** do *** **** ******* ********* ***:
******** ******** **** ************* *********** **** ********* **** ** ******** for ***** ********. **** ******** **** the '****' *** '****' ******** ****** be **** ** *** *** ********* without *** *********.
*****/***/***
*****/***/*** ******* *********** *** ***** ** if ***** ** ******* ** *******, what *** ********* *** ****, **** ciphers *** ****, *** **** ************* issues *** *****.
********, ****, *****, ****** ********, *** Hikvision **** ***** ******* ** ******* and **** *** ******* ******** ********* such ** *** **.* *** **.*. Hanwha *-****** *** ******* **** **** deprecated *** **.*/**.* ******* ** *******.
****** ******* ** ***** *** ********* fundamental ************* ******:
- ****** *-******
- *** *** ***** **** (***/***) **** by *******, **** ** ***** ** not ******** ** ** *** ******, which *** **** ** **** *** unencrypted *************.
- *****
- **** *** **** ***** ******* ** default *** **** *** ******* *** v1.3,*** ******* **** *******.********* **** *** ************** ** ****** client-initiated ************* ** ********** ** ****** of ******* (***).
- *******
- **** *** **** ***** ******* ** default *** **** *** ******* *** v1.3,*** ******* **** *******.********* **** *** ****** ************* (*** 5746) ************** ** ****** *** ********* or ** **********
Default ******* ********
******* ******* ******** ******* *********** *** based ** *** **** ********, **** of ***** *** ** ******, *** enabled ** ******* ** *** ** camera, ***** ********* *** ****** *******.
**** ** ******* ** ******* ** all *** ************* ******* **** ** the ******** **** ** ****** ***** in **** *******. *******, ** ******* we ***** *** ***** ******* ** a ***** ****** **** ***** *** and ***** ******* **** * *********** service *** ********, ***** ** ** reason ** **** **** *** ***** enabled ** *******, **** ***** **** not ** ****. ** ******, ***** services *** ** ********, *** ** is **** ****** **** **** **** not **.
** ***** **** **** ******** ** not ********* ** ******** ** **** manufacturers, ****** *** **** ***** *** it ******* ** *******, ******* **** for ********* ******** *** *** *** NAT *********.
****** *******, ********** ******** ******* ******* issues ** ***** ****:
- *******
- *** ******* ********* ** ***/** *** TCP/85
- ******* ****
- *** ****** **** ****** (***) ******* listening ** ***/**
- *****
- **** *** *** ***** ***/**** ******** enabled ** *******
*** ****** *-****** *** ******* ***-**** were *** **** ** ******* **** SNMP ******* ** *******. ****** *-****** tested ****** *** ******* ***** ********* despite ***** ********, ***** ******* ***-**** could *** ** ********.
***********
****, *****, *** ********* ***** ************** to ****** *** ******* ***** ******, with **** ********* * ***** **** shell, *** *****, *** ********* **** their ********** ********* ******.
****** *** ************* ** *******, **** discovered **** ** ** ******** ** an ************* ** ****** *** ****** to * ********* *****:
* ********* ***** ***** **** *****, Hikvision, *** ******* **** ** ******** to *** ** ** ** *** shell **** *** ********** ********* *********, for ********* *** ***** ******. **** has ** *** ***** ******* ***-******* functions, ***** ******** * **** **** shell.
*****, *********, *** ******* **** ***** own ********* ****** ** ******* **** shell **** ***** ********* *****, *** how ** ***** ** ****** *** scope ** **** *******.
IP ****** ******* ************** - *********** *********
** ****** ******* ************** *********** *** based ** *** ** ******'* ********** for ******** *********** ********* ***** *** camera, ********* ** *******, *****, ******** version, ***.
****, ***** *** ********* **** ******* enabled ** *******, ***** **** *** the **** ************ **** **** *** enabled ** *******.
*** *** ******* ******, ***** ******* by ******* ***** ** *** ******** to *** *** ***** ********* ******** with * ******** ** ******* ***** with *****/*****/****** *** ********* *********** ********* protocol.
************, *** ***** *** *********, ** recommend ******* *** ******* ** ****** ***** *** ********* Devices ****** ************ **** ******** ** ** ******** 2022.
** **** ****** *********** ***** *** tested ******* ***** ***** ********* ******** which ******** **** **** *** ********.
*** ********* ******** ** ******** *** local ***, **** **, ** *********** sends *** * ******* ** * multicast ******* (*.* ***.***.***.***) ** ********* address (*.* ***.***.***.***) ***** *** ********* will ** **** **** ** *** sender. *******, **** **** ** ******* can **** ** ******** ** ******** IP ********* ** ****** ********* *** multicast/broadcast ******* **** *** ******** ** address, ***** ***** **** *** *** packet *** ****** ******* *** ***** network *** ** *** **** ******* information ********.
***** *** * ******** ** ** camera *********** ********* ******* ***** ************** that ******** **** *********** ***** *** targets.
********
** ********** *** ************, *** *******, Model, *** ******** ******* *** ** ONVIF *******:
****
** ********** *** ************, *****, *** Firmware ******* *** ** **** *******:
*******
** ********** *** ************ *** ***** via ** **** *******:
Cloud / *** ***********
***** *** *** ********** *********** *** based ** **** ********** *** ******* services ***** ** ******* **** ****** cloud ** *** ****** ************ ********** to ******.
*****/*** ***** ******* **** ** ****, Bosch, *****, *********, *** ******* ** disabled ** ******* **** ** ******** connectivity, *.*. "***** ****". ** **** as ***-*****/*** ***** ******* **** ** Avigilon *** ****** **** **** ***** to **** ** ******** ************, *.*. "Call ****".
*****, *****, *** ********* **** ***** with ****** ************ ***** **** ******* devices **** **** *** **** *** not ******* *** *************.
****** ************ *** * ******** ********* set ** ************* ** ***** **** authorized ************ ******* *** ****** *** Cloud/P2P, ****** *** ** *** ****** (MiTM) ********* **********.
******* ******* ***********
**** ********** **** ******* **** *** use ***** *** ***** ***** ***********, making **** *** **** ********** ** MiTM ******* *** ******* ** *** from ***** ***** *** **** ** sniffed ** ************ ******* ** *** below ******* *****:
Firmware ******
******** ****** ******* *********** *** ***** on *** ************ ** ***-********* ******** for ************ *** **** ** ******** updates.
*** ************* ***** ***** ******** ** firmware, **** ******* **** ** ******* the ***** ***** *** *******, ***** Axis *** *** ******* ** **** the ***** ***** *** ********* ******** via ***** *******.
***** ** ** ******* ** ***** for **** ***** *** ***** ******** checks.
**** *** ******* ***-**** ******** **** not ********* *** ***********, ***** ******* NDAA ********* *** *** ***** *************' firmware **** *********.
Manufacturer ************* *******
************ ************* ******* *********** *** ***** on *** ************'* ******* ************* ******* and *****, ********* ******** *** ******** transparency *** ****-**** ******** *******.
***** *** ************* ******* ***** ******** guides *** ******** ******** ***** ****-****** licenses, **** *** **** ******* ** 6 ********** *** **** ************ **** provides * ******** **** ** ********* and * *** ****** *******. **** and ****** **** ***** *** ******** and *********** *********** **********.
*********** *********** **********
**** ****** ************* *** *********** ******** Certificates ** *** ****** ******* ****, with ****** ********* ******** *** ********** of ******** *****. **** *** **** integrators/users ** ****** **** ************** *** secure **** ****:
** ****** *** *********** ********** ** setting *** "****** ** ****" ***** to *, *** ********** *** *********** was *******/*******.
************* *****
************* ****** *** ******* ******* ** IP ****** ************* *** ** ***** that *** ****** **** *** ** camera ******** ********* **** ******** *** helpful ***********.
** **** *'* *** ************* ********* about *** *******.
**** ******** ****** * **** *** SSH ** *** ******** ******* ****?
*** ********** ** ******* * ******* has ****** ** ****** ** ***** on *** ******** ** ***. ** SSH ** *******, ** ** ********** passed. ** *** ***** ****, ** SSH ** ******* ** ******* **, as ** *** **** ** ********, if *** ** *** *********, ** is ********** ** ****.
***** *********** *** ****** ** *** principles ********** ******* ************ ************* ************.
***** *** **** ***** ** ***** to **.
***** ** ** *********, ***, *** a ****** ** ***** *** ******. In ****, ******** **** *** ** in **** *** ********* ** *** cameras ******* **** **** *** ******* on * *****-***** **, ***** ***** very **** ******, ** *** ** absolute *********** ** ****** * ********** IP ******.
** **** ****** ******** * **** for *** ****** ** ***** **** you ***** ***** ******** **** ** SSH ****** ** *** **** **** is **** ******* ****** **** ****** by * ****?
*****,
* ********** **** *********** *** ** this ******, *** *** *** *** many ************* **** *********** ***. ** in-depth *********** ** **** *****, ********* the ******** ** ******** ******* *********, cybersecurity ************, *** ********* ********, **** be ******** ** * ********** ******.
*** **** *********** ******** ******* *********, which *********** ***** ****** ** ******* security ** ******* ********* ********** * secret. **** ** ********* **** *** having * ********, ** **** **** an *** *****, ** *** ***** place.
****** *** *** ******** **** *** have ***** * *** ** ****** an *** ***** ** ** ******** camera, * ***** **** **** ********** here ** *********.
*****,
****** *** **** ******** *** *** reviewing *** *******. ***** ** ********** your ***** **** *** ** *** a ********* *** ** ** ******, SSH ** * ******** ********* *********/******** when *****/*********** **** **** *************** *** by ******** *********** ********* *** ******.
***** ***** **** *****, *** **.* is *** (*********) * *********, *** is ***** * ******* **** ** scored *** ******* **.
** ******** *** ***** ****** **********/******** and ******** ***** ******** (*** *** other *************) ***** *** ********* **:
**** ******* ** *** ******, ** provide ************* *** *** ******’* ***** or **** *****. ***** ********** *** sufficiently **** **** ** ******* **** access ** ********, ***** ** *** they *** ********* *** ********* ** our *******.
*** **** ** *** * ****** about ********* *****, ** ** * report ***** *************.
** * ******* ****, ******** ***-********* services *** ********* ** * *********** best ******** *** ******** *** ****** surface ** * ******. ** **** (most) ******* "***** ******** **** *********" guides ******, *** ** ********** **** severe **** ** ****** *** ** is ********* *********** ** ******* ****** and ******* *** ******* **** ***.
******* *********** ***** ****** ** *** ** being ******* ** ***********, ***** * would ***** ****.
*** ** * *** *******, *** are ******* ** ** *** * necessity, *** ** ** ********* **** INCREASES ************* **** ********* *** ********.
* ******** ******** **** *** ****** be ********** "* ******** ********* *********", unless *** *** ***** ** **** expect ************* ** ******* ********* *********** about *** ** *** ******** ******* on * ****** ** **** *** SSH ********* ***** ** ******** ******** and ********* ********** ** *** ***** context. ******** *********** ***** ** **** to ******* *** ** ***** **** info ** ** ******* *************** *********, but ** ****** ************ **** * am ***** ** ******** ********** *** of ** *** ***** ** ** end **** ** ********** *** ****** debugging ********.
**** ** **** *** ***** ** the ******* **** * ***** ****** runs ** ** ***** *** ******** support ***, ***** ** *** * safe **********. ***** **** ******* ** run ******** ** ***** *** *** host ** *** ******, ****** **** are *** ***** ** ***** ** exist, *** ***** **** ** ********* way ** ******* ** *** ******. Thus, ******* ****** ** *** ****** via *** * **** ************* ** cybersecurity **** ********* ** *********.
** * ****** ******* *** ******, and *** **** ****** ******* ** default, **** * **** ***** **** sense. *** * ** *** ********* that ******** **** *** ****** ** production ******** ****** ** ********** * Fail **** ***'** ********** ***** ********, much **** ** ***** **** **** of "******** ** *********" ** **** case.
* **** ******* ** *** ****** bashis ********* **** **** ******* *** you ******** *** ****** ** ** IP ****** ** ** * ********* of ****** ***** ********.
** **** **********, ***** ** ***** a ******** **** "****** ***, *** good" *** ***** ***** ** ******/*******. I *** *** **** *** ******** of **** ***** ********* ***********, *** is ****** ********/**********. ***, ****'* ********* from "**** **** **** *********** ***/** end *****" - *'* *** ***** to ******* ** ****. **** *** evolution ** ****** ********, *** **** the ****** ** *****/**** *** ** needed, **** **** **** *******.
*** ****** 😊
* *** *** **** *** ******** of **** ***** ********* ***********, *** is ****** ********/**********.
*** *************, ****, *** *** *** production *******.
***** ******** ******* @****** ***.
**** ***** ** ******** ********* ** standardize ** ****. ******!
*'* ********* ** *** **** ******** had *** ******* ** ***** *******, if * ** ******* *** ******* correctly. **** **** ** * ****** thing, ******* ** *** ***** ** previous *******/*********.