Internet of Things vendors continue to make rookie mistakes when it comes to security -- even if they're in the business of making people safe. Security cameras that they can be managed remotely with mobile apps are becoming popular with homeowners -- but these mobile apps are prone to fundamental infosec failures that leave the camera feeds open to snooping and manipulation, according to researchers at NowSecure.
The most common failures across the board, were sending and storing sensitive data, including credentials, in plaintext.
"I was shocked and disappointed at the same time to see how easy some of the systems made it for somebody else to access the account," says NowSecure researcher Jake Van Dyke.
Four different vendors -- all chosen for being "popular online choices," according to NowSecure researcher Jake Van Dyke -- were examined in the study, ranging from a one-camera set-up that cost around $100 to multi-camera systems costing thousands of dollars. The Vimtag Fujikam 361 HD camera, coupled with the Vimtag app; the Zmodo PKD-DK4216 model coupled with the Zsight and MeShare apps; the LaView LV-KDV0804B6S paired with the LaView Live app; and the Best Vision Systems SK-DVR-DIY system teamed up with the QMEye were all studied.
Which was worst? In Van Dyke's opinion, it's a toss-up between the Zmodo and Vimtag systems.
The ZSight app used by ZModo played fast and loose with credentials. As Van Dyke wrote, during account registration or login:
...the app will send your username in plaintext and MD5-hashed password to http://openapi.meshare.com. The Zsight app for iOS sent the username and password as GET parameters meaning the credentials are recoverable from server access logs. Upon successful log in, MeShare's back-end server returns a token for app authentication on subsequent requests. As far as an attacker is concerned, the password, it's MD5 hash, or the token all grant access to the victim's account (i.e., any of these items are equal to a valid login).
It also left username, unencypted passwords, email addresses and valid tokens sitting in XML files. With account access, an attacker could then view the camera's live feed, take pictures, or disassociate the camera with that user's account, and more.
The Vimtag app's key problem was that the app and the back-end server mostly communicate through unencrypted channels, leaving certain activities vulnerable to man-in-the middle threats. Some of those vulnerable activities include, initiating recording of audio or video, accessing stored audio or video, registering a camera to an account, adjusting settings, and formatting an SD card.
Plus, when Van Dyke viewed the app's network settings, the Vimtag back-end server sent over the WPA2 key for the wireless network the camera is connected to and the SSIDs of all wireless networks in the camera's proximity. "This means," Van Dyke wrote, "an attacker could use SSID to locate a house using the camera, sit on the curb in front, and connect to the network."
"The Zsight application made it easy for somebody to grab the credentials and watch your cameras," says Van Dyke. "The Vimtag system actually leaked enough information for somebody to be able to locate your house and connect your home network."
Of course the IoT world does not have a monopoly on insecure mobile apps. "It is not unique to IoT at all," says Van Dyke. "When we perform app assessments for our customers for a medical or financial-related mobile app, this would get you a report with a big fat red F on the top of it."