Reverse-Engineering an IP Camera (2019)
dalpix.com
dalpix.com
Bandwidth to and from China is not that cheap, and you could be running this stream 24x7. The streaming service still works 4 years later even though the company whose name is on the camera has vanished.
So, who is paying the server/bandwidth bill? The camera is too cheap to afford indefinitely providing this service, so you can only presume that you're paying in another way. Probably there is some third party in China that the camera manufacturer makes a deal with. The camera manufacturer may even be getting paid to pick a particular provider.
The company behind the one I bought does seem to have a slightly better business model though. With them you can use it free to see live or you can pay them a monthly fee for recordings.
As for me my plan is to put it on a LAN without internet access and figure out how to get the video locally.
Cheap Chinese IP Cameras: never again.
And it is worth noting that prices are vastly different in China. Labor is much cheaper and licenses aren't respected. The cost of living is cheaper to a smaller profit margin goes a much longer way. As tfa mentions, there are identical cameras sold by different manufacturers. It is unclear if this is typical reskinning or designs being taken. Both significantly reduce the cost of things. I have no idea how much hosting costs in China.
https://www.ftc.gov/enforcement/refunds/ring-refunds
Tesla's been caught doing similar things. The list goes on.
https://www.reuters.com/technology/tesla-workers-shared-sens...
https://techcrunch.com/2020/06/01/google-nest-advanced-prote...
I was also getting sick of cloud-based 'smart' cameras that ping random servers in China, so we made our own 'dumb' cameras that are fast (Uniview hardware with our firmware inside).
If anyone here is interested, I will happily share more info. Always interested in product feedback.
But then I need to figure out how to access the video streams.. from the network my computer is on that does have access to the outside world.
I'm a firmware engineer, so I haven't touched networking since my IT job in college.
If you decide to check it out, and feel free to ping me (email in profile). I am proud of these things, for the reasons you mentioned :)
https://monitoreal.com/pro/monitoreal-camera/ https://monitoreal.com/pro/security-assistant-spartan-i/ https://monitoreal.com/pro/monitoreal-relay/
Happy to chat. Not selling direct-to-consumer yet (going through installers and integrators) but that's coming.
We can still figure out how you can evaluate if you're interested.
Unfortunately, the NVR will probably have the same type of vulnerabilities as the cameras in question (they come from same manufacturers).
Or, use something we've built :)
Also, this feels like my Dropbox moment (the infamous comment below) :)
https://news.ycombinator.com/item?id=9224
I am trying to remove this complexity.
Most NVR's are PC + powered switch built into one. I found them to be running very hot most of the times since they need a fairly beefy power supply to power the cameras and the PC itself. The WIFI only NVR's are much better and the only power drawn is video processing on the PC. Blink Module is a good example.
Another problem is the tight integration of hardware. When I have more cameras than the PoE jacks on the NVR, it becomes obsolete. When some hardware fails on the NVR, the whole thing fails. My last integrated NVR developed a problem in the disk controller and the whole thing couldn't be salvaged.
In the next round of setting the system up, I decided to de-couple all the pieces for better maintenance and upgradibility. The sweet spot I found is: cameras + powered switch + PC + NVR software + external USB storage. It has work great so far. The old PC was underpowered and I swapped it out without impacting the other pieces. I added more disks as needed with minimum fuss. I replaced some of the cameras without much problem.
You're right in that ordinary customers probably won't do all those. For a customer product, a NVR that works with WIFI cameras makes the easiest sales. It has much lower hardware requirement thus keeping the cost down. WIFI cameras are easier to set up and thus plentiful. If it has an Ethernet jack, you can sell a separate powered switch to make it work with the PoE cameras. Basically it's a souped up Blink Module that works with other cameras, with storage, and can stream to apps and web.
I mean you can sell a whole package of the pieces, plus phone apps and cloud storage, to offer a complete solution. Most of the pieces are off the shelf, but you can still offer a complete solution with some critical proprietary pieces like your NVR software. Of course you can offer piece by piece as needed, as long as all the pieces can fit together. There're a lot of cross selling opportunities.
Btw, our video security hub (aka Spartan) has NVR capabilities built in - but it's more selective about what it's recording (based on the rules you've set). It can coexist with an NVR on the same network, or it can replace it entirely. And it can work with WiFi cameras, today (we just recommend wired for security).
Isn't that just the whole cloud (and also a gazillion other services)? I think the argument of "Why pay DropBox when you can just FTP" also applies to why pay AWS when I can manage my own servers? And then to further extend, why pay the supermarket when I can just grow vegetables at home?
Because I can't?
I live in a building on a dense urban area. There's not enough space in my home to grow the necessary amount of vegetables.
While I share your concerns about the security implications of sending video to the cloud, the way I see it if someone's burgling my house they're probably going to steal whatever I'm using for on-prem video storage while they're at it.
And while I could secure it in an impenetrable or hidden box - if I have such a box I can put all my valuables in the box, and feel peace of mind without needing any cameras.
Now, if someone's broken in, that's a different problem. You want video evidence for investigative purposes. The device is small, energy efficient (10-20W typically) and can be easily hidden (provided you supply power and LAN ethernet to it). The storage is encrypted. And we'll be introducing an option for your own offsite backup (again, optional and not centralized).
Interesting problem for sure.
My cat sometimes decides to gather his own food and not go inside for days. He does bother to check his teratory for intruders.
Shady figures and actual con men ringing my bell.
Missed deliveries real or lies.
Arguments with the significant other about who said what.
A drunk englishman sleeping in my garden and other truly hilarious footage.
* What's the status of Uniview? Are their cameras allowed in the US under the 2019 NDAA? still receiving FCC approvals since the Secure Equipment Act of 2021? Does Uniview participate in the Uyghur genocide?
* Do you have any models with large sensors, e.g. 1/1.8" or wider? I prefer good night performance if possible, which I believe requires each pixel to be physically somewhat large. There are a lot of many-megapixel cameras with 1/3" sensors out there, which aren't so great there.
* What's the pricing? Your camera page [2] has "contact us for info" instead of a price, and when that happens I usually assume it's too expensive for the DIY crowd and drop out.
[1] https://github.com/scottlamb/moonfire-nvr
[2] https://monitoreal.com/product/monitoreal-perimeter-cameras-...
This is their formal statement regarding their NDAA status:
https://www.uniview.com/us/About_Us/Legal_Notice/Notice/2020...
2. we are now working in a new line that will have larger sensors, better low-light capabilities, better audio (2-way). We will publish more in Q4.
3. we've been working with professional installers primarily focusing on SMB, so our current 4MP (2.8mm and 4.0mm) cameras can be in $100-200 range depending on volume. 2MP cameras are sold in $80-130 range. With SMB, price hasn't been an issue. I understand this is not particularly useful for DIY, we're just preparing to start selling direct - and aiming to release cameras in $30-80 range.
You can ping me (contact info in profile) if you need more info, or how to evaluate risk-free. Just bear with me as we figure out the DIY route. :)
Perhaps for the new line, we should consider making our own instead of OEM. I appreciate your input.
I'd love that. I would buy and recommend these.
The big Chinese companies have good hardware and prices but as you can see I'm not a fan of their ethics. There are a few companies (e.g. GeoVision, and seemingly Reolink even though they're also Chinese) that at least don't seem genocidal but don't offer the good low-light performance. Axis hardware looks really nice but just doesn't seem within the realm of hobbyists price-wise. And then there are the various cloud options.
I will keep you posted about what we roll out. Maybe do a ShowHN even (that's a scary concept)?
Is there a question one can ask a camera vendor to reveal glass quality, or when the sensor looks promising is the next step to take the plunge and buy one to try?
Reading your later replies, I gathered you took a standard camera but wrote clean new firmware for it. Is the SoC on these devices supported by mainline tf-a, u-boot and kernels, or are you stuck on ancient manufacturer ('BSP') kernel forks and so on? What does the userspace you've put together look like?
I think more time needs to be spent looking into these commonly used, cheap IoT devices and educating consumers on the risks of using a poorly secured device on their network.
The upside of these vulnerabilities is that you can run your own code on these! 'Declouding' is great as it can extend the lifetime of these devices and make using them more private.
Why does this continue to surprise people? So much sketchy garbage coming out of China is sold under numerous "brands". Just look at a lot of computer stuff sold on Amazon.
Wyze camera (top seller on Amazon) is a Tianjin Hualai Technology camera https://www.hualaikeji.com/en/product
Roku just rolled our a similar cube-shaped cam (you can tell by the overall design).
There's very little real innovation happening in consumer cameras right now.
I was wondering if that's already available or not.
What I meant when I said there's very little real innovation is exactly that - the fundamentals are good enough (and have been for a few years), and the bulk of product innovation is in how to make cameras smart with AI - which only makes them slower. I like my cameras dumb and fast.
Better local integration would also be useful. (Axis cameras have supported writing (and recycling) video on a local SMB share for a very long time, with nothing special required on the back end -- but they're not consumer products).
Improved image quality would also be useful. There always seems to be a certain softness and definite lack of fluidity in consumer cameras that has been solved in things like cheap smartphones and GoPros for a over a decade.
Tight integration with local home automation systems like Home Assistant would be great, so I can observe and control all of the things from a central point using my pocket supercomputer.
But otherwise: If all one wants from a camera is for it to take OK-ish pictures and send them down the pipe, then that's a reasonably-solved problem.
At home, I don't use Apple Home or SmartThings. It is unlikely that I ever will.
I own an iPad that I use every day and my phone is a Samsung, but I already have already adopted enough ecosystems with Google Home, Alexa, and Home Assistant, and I'm working on minimizing or eliminating two of those because they're clown-based.
But I am a geek that likes to tinker with electronics and software. I recognize that I am an outlier.
But I will cheerfully pay extra for stuff that Just Works with Home Assistant without using the clown, and that would probably apply to cameras as well.
Outside of cameras (which also feel need to be very basic), we do have our own hardware design and manufacturing capabilities: video security hubs, PoE and WiFi relays.
Consumer grade cameras are definitely commoditized, but the higher end cameras with on camera analytics aren't.
So many security issues and exploits for those things. Hardcoded passwords, backdoors, and loads of exploits for gaining SSH or telnet access on very common models.
As much as I hate the current shift toward camera-remote server setups (and their inevitable subscription fees), I can't imagine expecting your average buyer at Amazon or Walmart to properly configure and lock those things down. At least if it only talks to Amazon or Google or whoever, you won't be able to find it in a port scan and pull an image using admin/admin or whatever.
That said, I can see the average user having a better outcome by "outsourcing their security" to Google, Amazon, and the like. Not ideal for exactly the reasons you stated, but seeing as very few people are going to set up or maintain an on-premises solution, I think the odds are still better than "random Chinese IP camera running a web server and viewable via a janky phone app outside the LAN".
The move to doing everything on phones has only made it worse. At least when you were expected to log in via a "proper" browser for initial setup, you could be prompted to set a new password, update firmware, or make changes to settings. The phone-centric ones I've seen are basically "plug in, scan QR/type serial/connect to temporary AP, (confusing techie stuff happens magically here), now you can watch your dog on your iphone from anywhere!"
Ignore the part about how this actually happens and how anyone can just scan port 8000 or whatever and connect with the hidden root login.
I set it up, connected it to wifi, and it worked... for about 4 days. Resetting it didn't work. Called the company and they sent a replacement. Same thing happened.
I noticed that it had used UPnP to map a public port to itself. I never tried hitting it with anything, but I made the assumption that it was getting pwned. I threw it away.
That experience makes me agree with your assessment.
[1] https://ktla.com/news/local-news/police-warn-of-thieves-usin... [2] https://www.usatoday.com/story/tech/columnist/komando/2024/0...
When it comes to baby monitors, which the device I had was marketed as, I actually prefer analog (because static is better than non-functional) with a dedicated receiver, but I'll use just about anything without a TCP/IP stack :)
I tore down an ankya brand device which had some fun features like setting up the wifi password by showing the camera a QR code
There's lots of garbage cameras now of various quality that behave the same way.
What's needed is a replacement firmware and simple flashing technique for the most popular units to appear, so it's not just one hacker getting proper performance that the hardware is capable of.
> These would be tough as they are based on a proprietary ASIC which is poorly documented even for internal developers. Ask me how I know.
Teardown thread, https://news.ycombinator.com/item?id=33683122
I was amazed at how easy it is, especially the software experience. The mobile app is easy, the web app is easy, RTSP is easy. If I want to add more camers and set up a server to record (like ZoneMinder) that looks easy too.
One time I saw he was on the floor and I ran over to the other house to peek in through the window on him which seemed to piss him off. So I try not to do that.
works with many camera brands and can do all sorts of detection. It's a slight hassle because Zoneminder wants its own filesystem, I could install a spare SSD I have into my home server or maybe I could set up another computer to be a zoneminder server in the rental. I have a microwave link between the houses and it might be better to spare it, but I am worried that anything in the cat room could get sprayed on.
I wish I could run Tailscale on it and use it everywhere with my tablets, laptops, etc. but I can't. You could probably port forward the web server, but you could have a premium experience with ZoneMinder.
I picked that camera out because I was looking at ZoneMinder's web page and thought Amcrest had a pretty good product line in terms of value. At my Uni they've installed a lot of Axis IP cameras which are quite a bit more expensive and are definitely tougher and higher performance.
https://github.com/Yetangitu/cam
I never allowed these camera's or the included DVR (which I do not use since I use Zoneminder [1]) access to the internet, they are confined on their own subnet which does not allow egress other than to my own networks nor ingress from other sources. That is true for any and all network-connected special-purpose hardware, e.g. the Fronius inverter - made in Austria - does not get to access the internet either. I pay for the hardware and I provide my own service infrastructure, I see no need to pay again with my data.
Lorex cameras aren't banned for personal use in the US, but face restrictions for government agencies due to cybersecurity concerns. If you own a Lorex NVR system:
Update firmware regularly Use strong passwords Limit remote access Consider network segmentation Monitor for unusual activity
No need to discard your system, but stay informed about developments. Alternative options exist if you're concerned.
> Lorex cameras aren't banned for personal use in the US, but face restrictions for government agencies due to cybersecurity concerns.
Not entirely sure the first half of this is true. iirc not only are many banned for government use under the 2019 National Defense Authorization Act, but also they've stopped issuing FCC approvals for many of these under the Secure Equipment Act of 2021.
It'd be easy to get around this ban, but I won't. I believe Dahua and Hikvision are active participants in the Uyghur genocide. They've made custom software specifically to support this genocide (ethnic feature identification models) and have contracted to install their cameras themselves at "re-education camps". See e.g. https://www.theguardian.com/world/2021/sep/30/uyghur-tribuna...
I am still using some Hikvision and Dahua cameras I bought prior to learning about this. My network configuration does not allow them to contact the outside world. My NVR connects to them via RTSP. This is the only way to do it with cheap, untrustworthy closed-source IP cameras.