Nguyên nhân hệ thống CCTV bị tấn công xâm nhập là do lỗ hổng bảo mật trong phần mềm điều khiển nhúng (Firmware), phần mềm quản lý điều khiển của hãng sản xuất CCTV; do hệ điều hành; giả mạo các thiết bị giám sát từ xa kết nối vào hệ thống; các nguy cơ mất an toàn thông tin từ các User trong hệ thống... Tin tặc lợi dụng lỗ hổng bảo mật để cài mã độc cửa hậu (Backdoor) vào hệ thống CCTV.
Nhiều hệ thống Camera bị phát hiện lỗ hổng bảo mật như: Camera an ninh cao cấp ngoài trời D-Link DCS-7410. Giao diện quản trị của DCS-7410 được cung cấp qua web server nguồn mở lighttpd, nhưng script rtpd.cgi của nó lại chứa lỗi bảo mật nghiêm trọng. Script này xử lý các tham số đầu vào bằng cách thay thế tất cả các dấu “&” bằng khoảng trắng rồi đánh giá kết quả. Do dữ liệu trong $QUERY_STRING được xử lý một cách “máy móc”, một tin tặc không được hệ thống xác thực cũng có thể thực hiện bất kỳ lệnh nào bằng cách chỉ định nó trong các tham số HTTP GET: $ wget http://192.168.1.101/cgi- bin/rtpd.cgi?reboot. Vì lighttpd và các script CGI mà nó thực thi được chạy với quyền root, nên lệnh mà tin tặc gửi vào cũng có quyền root. Hơn nữa, kết quả của câu lệnh sẽ được gửi lại cho trình duyệt web của tin tặc, nên sẽ cung cấp cho chúng một giao diện thực thi lệnh
bằng quyền root qua web. Tin tặc cũng có thể lợi dụng lỗ hổng này để lấy được mật khẩu quản trị không được bảo mật của camera.
Hay như Camera không dây Linksys WVC80N. Trong cấu hình mặc định cho giao diện web của nó, tất cả người dùng không có quyền (kể cả người dùng chưa được xác thực) đều có thể truy cập địa chỉ /img/snapshot.cgi (trên thực tế là một symlink tới tệp /adm/ez.cgi). Tệp thi hành ez.cgi được tham chiếu tới bởi khá nhiều symlink khác và chọn thực hiện tác vụ dựa trên việc symlink được gọi. Tác vụ của snapshot.cgi được xử lý bởi hàm sub_AE64. Tuy nhiên, hàm sub_AE64 chứa một lỗi nghiêm trọng: nó lấy biến môi trường QUERY_STRING chứa dữ liệu do người dùng cung cấp và dùng hàm strcpy để chép dữ liệu đó vào một ngăn xếp có kích thước cố định tên là “dest”. Biến dest chỉ nằm cách địa chỉ quay về được lưu trên ngăn xếp đó có 152 byte. Vì thế địa chỉ quay về có thể bị ghi đè một cách dễ dàng khi người dùng gửi một chuỗi yêu cầu lớn hơn hoặc bằng 152 byte cho /img/snapshot.cgi: $ wget http://192.168.1.101/img/snapshot.cgi? $(perl -e „print “A”x152‟). Tin tặc có thể tạo ra những cách phá hoại theo ý mình bằng cách tạo các yêu cầu đặc chế. Và do tệp ez.cgi binary cũng xử lý các yêu cầu cho các symlink bị hạn chế khác, tin tặc có thể khiến hàm bị lỗi gọi đến các chức năng mà chỉ có người quản trị được phép dùng. Hàm xử lý cho symlink admcfg.cfg (sub_9B88) có lẽ là hàm dễ thấy và dễ bị lợi dụng nhất; nó không cần tham số nào và trả lại cấu hình hiện thời cho người yêu cầu, trong đó bao gồm cả thông tin tài khoản quản trị và mạng không dây: $ wget http://192.168.1.101/img/snapshot.cgi? $(perl -e „print “A”x148; print “\x88\x9B”‟). Gửi yêu cầu không cần xác thực trên tới camera sẽ trả về một tệp cấu hình được mã theo base64. WVC80N dùng một chuỗi khóa không chuẩn cho base64. Việc thay thế chuỗi khóa chuẩn của base64 bằng chuỗi tùy biến trong môđun Python không phải là việc quá khó và tin tặc sẽ giải mã được toàn bộ tệp cấu hình, trong đó có cả tài khoản/ mật khẩu trần cho quản trị và mạng không dây: admin_name=admin/ admin_password=11696626/ wlan_essid=chupaca/ wpa_ascii=grreatcoloroloc1873. Với những thông tin này trong tay, tin tặc có thể truy cập mạng không dây của camera, đồng thời nắm quyền quản trị thiết bị, kể cả việc bật/ tắt âm thanh và cập nhật firmware mới.
(ThS. Nguyễn Anh Tuấn - Tạp trí an toàn thông tin, tháng 03/2014)
Tháng 7/2016, Trung tâm An toàn thông tin (VNPT CERT) – Bộ Thông tin và Truyền thông đã thông báo "Lỗ hổng thực thi mã từ xa trong CCTV-DVR ảnh hưởng tới 79 nhà cung cấp khác nhau". Tin tặc lợi dụng lỗ hổng bảo mật khi kiểm tra cây thư mục mà không tìm thấy thư mục [language] để truyền vào giá trị [language] chưa có, đồng thời gửi
kèm câu lệnh cần thực thi, cho phép chúng cài mã độc cửa hậu (Backdoor) vào hệ thống CCTV. 79 nhà cung cấp gồm:
Bảng 1.1. Danh sách 79 nhà cung cấp tồn tại lỗ hổng thực thi mã từ xa trong CCTV
1 Ademco 41 Optivision
2 ATS Alarmes technolgy and ststems 42 PARA Vision
3 Area1Protection 43 Provision-ISR
4 Avio 44 Q-See
5 Black Hawk Security 45 Questek
6 Capture 46 Retail Solution Inc
7 China security systems 47 RIT Huston .com
8 Cocktail Service 48 ROD Security cameras
9 Cpsecured 49 Satvision
10 CP PLUS 50 Sav Technology
11 Digital Eye‟z no website 51 Skilleye 12 Diote Service & Consulting 52 Smarteye
13 DVR Kapta 53 Superior Electrial Systems
14 ELVOX 54 TechShell
15 ET Vision 55 TechSon
16 Extra Eye 4 U 56 Technomate
17 eyemotion 57 TecVoz 18 EDS 58 TeleEye 19 Fujitron 59 Tomura 20 Full HD 1080p 60 truVue 21 Gazer 61 TVT 22 Goldeye 62 Umbrella
23 Goldmaster 63 United Video Security System, Inc
24 Grizzly 64 Universal IT Solutions
25 HD IViewer 65 US IT Express
26 Hi-View 66 U-Spy Store
27 Ipcom 67 Ventetian
28 IPOX 68 V-Gurad Security
29 IR 69 Vid8
30 ISC Illinois Security Cameras, Inc. 70 Vtek
32 Lince 72 Visar
33 LOT 73 Vodotech.com
34 Lux 74 Vook
35 Lynx Security 75 Watchman
36 Magtec 76 Xrplus
37 Meriva Security 77 Yansi
38 Multistar 78 Zetec
39 Navaio 79 ZoomX
40 NoVus
(Nguồn: http://www.kerneronsec.com/2016/02/remote-code-execution-in-cctv-dvrs-of.html) Khi đã xâm nhập, tin tặc có thể sử dụng một cửa hậu (backdoor) để đạt được quyền điều khiển cao nhất (root) của camera. Kẻ tấn công cũng có thể lợi dụng một password dạng định trước (hardcode) cho tài khoản root để chiếm toàn bộ quyền điều khiển camera. Việc chiếm quyền điều khiển hệ thống Camera qua lỗ hổng bảo mật của hệ thống CCTV là một trong những nguy cơ cao nhất mà tin tặc sử dụng tạo thành mạng Botnet để tấn công vào các hệ thống máy tính, trang Web của các chính phủ, cơ quan, doanh nghiệp...