my thoughts on IOT are
a) before producing an IOT device, do your homework, find out how to secure the device from being hacked and either being used as part of a botnet, or as leverage to break into the owner's home network.
b) don't leave open backdoors on the hardware itself. in many cases all it takes is a 4-pin header plug and a serial port to get root access to the IOT device (this requires access to the physical device). other devices have been hacked through their JTAG ports.
c) never rely on "security by obscurity". "homebrew" or proprietary encryption methods often aren't well tested. one IOT device saved paswords using a rolling caesar cipher (i.e. 1st character ROT1, second character ROT2, 3rd character ROT3, etc...). open source encryption algorithms are well tested through tons of peer review, while commercial algorithms are rarely tested beyond the most basic attacks. a lot of proprietary encryption methods have flaws in the math that leak clues about the nature of the encryption.
d) lock down everything that talks beyond the local network. if the device is to be accessed from outside the local network, from a phone for example, lock down all other ports, and only allow authenticated traffic from the external device. don't leave telnet ports or other common points of entry open.
e) do not make devices with a common password. each device should be sold with it's own individual password. remember, someone can go out and buy the same device, just to find the security flaws. many users do not set passwords, and keep defaults in place. after all, IOT devices are supposed to be "plug and play", so who is going to set a password? also, avoid using the device's serial number as the password.
f) have a secure method of pushing firmware updates, and if you update firmware, don't change it's location on the internet. an attacker can, if firmware updates are sent "in the clear" do a man in the middle attack and upload modified code to the device. also, if the manufacturer changes their folder structure around, or changes their domain name, the firmware updates are no longer available to the IOT device to download, and if there was a security weakness that was being fixed in the update, devices that can't find the update will remain vulnerable. if you have a method for the owner of the device to update firmware, make sure it can only be done on the local LAN, and the user should provide a password.
several years ago, there was a botnet that infected printers that had ports open to the internet. more recently, there was a botnet that spread through webcams that had open ports on the internet. one researcher was able to propagate an experimental botnet through "smart" light bulbs, and it only took a matter of hours before the virus infected several thousand light bulbs. the virus propagated both over networks, and through modulated light. "smart" refrigerators and TVs have been hacked and used to gather information (for instance by turning on the cam on the TV as well as the microphone that's used for voice command of the TV), or to provide leverage to break into the home network.
a) before producing an IOT device, do your homework, find out how to secure the device from being hacked and either being used as part of a botnet, or as leverage to break into the owner's home network.
b) don't leave open backdoors on the hardware itself. in many cases all it takes is a 4-pin header plug and a serial port to get root access to the IOT device (this requires access to the physical device). other devices have been hacked through their JTAG ports.
c) never rely on "security by obscurity". "homebrew" or proprietary encryption methods often aren't well tested. one IOT device saved paswords using a rolling caesar cipher (i.e. 1st character ROT1, second character ROT2, 3rd character ROT3, etc...). open source encryption algorithms are well tested through tons of peer review, while commercial algorithms are rarely tested beyond the most basic attacks. a lot of proprietary encryption methods have flaws in the math that leak clues about the nature of the encryption.
d) lock down everything that talks beyond the local network. if the device is to be accessed from outside the local network, from a phone for example, lock down all other ports, and only allow authenticated traffic from the external device. don't leave telnet ports or other common points of entry open.
e) do not make devices with a common password. each device should be sold with it's own individual password. remember, someone can go out and buy the same device, just to find the security flaws. many users do not set passwords, and keep defaults in place. after all, IOT devices are supposed to be "plug and play", so who is going to set a password? also, avoid using the device's serial number as the password.
f) have a secure method of pushing firmware updates, and if you update firmware, don't change it's location on the internet. an attacker can, if firmware updates are sent "in the clear" do a man in the middle attack and upload modified code to the device. also, if the manufacturer changes their folder structure around, or changes their domain name, the firmware updates are no longer available to the IOT device to download, and if there was a security weakness that was being fixed in the update, devices that can't find the update will remain vulnerable. if you have a method for the owner of the device to update firmware, make sure it can only be done on the local LAN, and the user should provide a password.
several years ago, there was a botnet that infected printers that had ports open to the internet. more recently, there was a botnet that spread through webcams that had open ports on the internet. one researcher was able to propagate an experimental botnet through "smart" light bulbs, and it only took a matter of hours before the virus infected several thousand light bulbs. the virus propagated both over networks, and through modulated light. "smart" refrigerators and TVs have been hacked and used to gather information (for instance by turning on the cam on the TV as well as the microphone that's used for voice command of the TV), or to provide leverage to break into the home network.