name: inverse class: center, middle, inverse layout: true .header[.floatleft[.teal[Christopher Biggs] — The Internet of Scary Things].floatright[.teal[@unixbigot] .logo[@accelerando_au]]] .footer[.floatleft[ #YOWWest May 2017]] --- layout: true .header[.floatleft[.teal[Christopher Biggs] — The Internet of Scary Things].floatright[.teal[@unixbigot] .logo[@accelerando_au]]] .footer[.floatleft[ #YOWWest May 2017]] --- class: center, middle template: inverse # The Internet of .red[**Scary**] Things ## .green[Guidance for Devloping and Deploying IoT products] ### or, .orange[What you need to know about the coming Dishwasher Apocalypse] .bottom.right[ .teal[Christopher Biggs], .logo[Accelerando Consulting]
.teal[@unixbigot] .logo[@accelerando_au] ] --- .left-column[ # Agenda ] .right-column.tight[  ### **The Bad**: * .red[**Risks**]: What you should worry about * .orange[**Faults**]: How devices expose risks * .yellow[**Causes**]: Which factors make faults likely ### **The Ugly**: * .teal[**Interlude**]: Pointing and laughing ### **The Good**: * .green[**Buying**]: Selecting well-behaved devices * .blue[**Deploying**]: Defensive architecture to minimise risks * .purple[**Building**]: Design desiderata for the next generation * .pink[**The Future**]: Sanity on the horizon ] --- class: center, middle template: inverse # The Internet of .red[Insecure] Things ## What you need to understand about the Dishwasher Apocalypse --- .left-column[ #The Bad ## Risks ] .right-column.autodim.tight[  ## What Risks do IoT devices present? #### "Mummy, why are you on YouTube .pink[in the Nude]?" * Unauthorised **retrieval** of information from your devices * Targeted intrusion (papparazi, neighbours, stalkers) * Government surveillance (it's already happenning) * Indiscriminate harvesting of images/video/audio * Drive-by pervs * Always-on microphones/cameras ] --- .left-column[ #The Bad ## Risks ] .right-column.autodim.tight[  ## What Risks do IoT devices present? #### "Mummy, why are you on YouTube in the Nude?" #### "Hey, who turned out the .yellow[lights]?" * Unauthorised **control** of your devices * Quadcopters broadcasting "lights out" * Vandals/Extortion/Terrorists * Smart meters compromised, for your cost (or benefit) * Medical device tampering * Theft of service/property ] --- .left-column[ #The Bad ## Risks ] .right-column.autodim.tight[  ## What Risks do IoT devices present? #### "Mummy, why are you on YouTube in the Nude?" #### "Hey, who turned out the lights?" #### "Hey, who turned out the .purple[entire Internet?]" * **Mass takeover** of devices * Distributed Denial-of-Service attacks * Bitcoin mining * Spam (email, web, audio, video, app) * Other compute theft ] --- .left-column[ #The Bad ## Risks ] .right-column.autodim.tight[  ## What Risks do IoT devices present? #### "Mummy, why are you on YouTube in the Nude?" #### "Hey, who turned out the lights?" #### "Hey, who turned out the entire Internet?" #### "What do you *mean* they're .red[Inside the Room]?" * IoT devices as a beachhead for **network intrusion** * Corporate espionage * Identity theft * Firewalls are *so over* - uPNP, Tunnels, SDNs * Malicious/compromised cloud actors * Untrusted updates or MiTM tampering ] --- .left-column[ #The Bad ## Risks ] .right-column.autodim.tight[  ## What Risks do IoT devices present? #### "Mummy, why are you on YouTube in the Nude?" #### "Hey, who turned out the lights?" #### "Hey, who turned out the entire Internet?" #### "What do you mean they're Inside the Room?" #### "I wish I could just go back to the .blue[Ocean]!" * Management is **tedious** and entirely **manual** * Finicky set-up process * Junkware mobile apps * No tools to help with patch management * No infrastructure for vulnerabity alerts ] --- class: center, middle template: inverse # The Internet of .orange[Incompatible] Things ## How bad practices lead to risky devices --- .left-column[ #The Bad ## Risks ## Faults ] .right-column.autodim.tight[  ## How everything old (and awful) is new again #### Poor security * **Incompetence** * Home-brew "crypto" * Good crypto used badly * Security by (only) obscurity * Vunlerability to injection attacks ] --- .left-column[ #The Bad ## Risks ## Faults ] .right-column.autodim.tight[  ## How everything old (and awful) is new again #### Poor security * Incompetence * **Laziness** * developer back-doors * default passwords * shell script CGI * opaque user interfaces ] --- .left-column[ #The Bad ## Risks ## Faults ] .right-column.autodim.tight[  ## How everything old (and awful) is new again #### Poor security * Incompetence * Laziness * **Ignorance** * The 1988 **Great Morris Worm** was almost 30 years ago, yet the 2016 *Mirai* botnets used basically the same vector * Coders making the same mistakes over and over * Almost all vulnerabilites are common "security 101" topics ] --- .left-column[ #The Bad ## Risks ## Faults ] .right-column.autodim.tight[  ## How everything old (and awful) is new again #### Poor security * Incompetence * Laziness * Ignorance * **Malice?** ] --- .left-column[ #The Bad ## Risks ## Faults ] .right-column.autodim.tight[  ## How everything old (and awful) is new again #### Poor security #### Low interoperability * Everything talks to its own cloud service * Different apps for each device * Incompatible major frameworks (walled gardens) * Wemo, Hue, Apple, Google, Amazon... * Cloud service dependence * Inability to compose services ] --- .left-column[ #The Bad ## Risks ## Faults ] .right-column.autodim.tight[  ## How everything old (and awful) is new again #### Poor security #### Low interoperability #### Limited maintainability * Owners have no way to learn of vulnerabilities * Updates are rare * Vendors potentially unreachable for parts/support/recall ] --- class: center, middle template: inverse # The Internet of .yellow[Broken] Things ## Market and cultural factors that lead to bad products --- .left-column[ #The Bad ## Risks ## Faults ## Causes] .right-column.autodim.tight[ ## Why does everything suck  #### Just Because * "Ninety percent of **everything** is crap" - T. Sturgeon, 1957 ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes ] .right-column.autodim.tight[  ## Why does everything suck #### Sturgeon was an optimist #### Short product cycles * Slap openwrt in a box * Cruft some shell scripts * Profit! ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes ] .right-column.autodim.tight[  ## Why does everything suck #### Sturgeon was an optimist #### Short product cycles #### Fragmentation * Businesses want to lock-in users for a variety of dumb reasons * "Industrial IoT" and building automation are awful for this * "Not Invented Here" syndrome means no building on others' work ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes ] .right-column.autodim.tight[  ## Why does everything suck #### Sturgeon was an optimist #### Short product cycles #### Fragmentation #### Security is Rocket Science: One safe way, 999 paths to doom * Humans are bad at understanding the physics of crowds * Obscurity is no defense * A Mirai-vulnerable IoT device gets attacked in under 2 minutes (via .blue[@ErrataRob]) ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes ] .right-column.autodim.tight[  ## Why does everything suck #### Sturgeon was an optimist #### Short product cycles #### Fragmentation #### Security is Hard #### Laziness * Threat surfaces are too large * Telnet is convenient for developers...and attackers * With the great power of Unix comes you-know-what ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes ] .right-column.autodim.tight[  ## Why does everything suck #### Sturgeon was an optimist #### Short product cycles #### Fragmentation #### Security is Hard #### Laziness #### Market Incentives * Consumers want fast setup, no complications * Nobody is mandating standards for security or privacy * Market disintermediation lessens need to maintain reputation ] --- class: center, middle template: inverse # The Internet of .teal[Awful] Things ## True tales of terrible consumer goods --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude ] .right-column.autodim[  ## True tales of awful devices #### Security cameras and the Mirai botnet * Oct 2016: Mirai Botnet attacks DNS provider Dyn * DNS outage brings down down social media giants * A number of products able to be trivially compromised * Device opens root telnet via uPNP * No way to permanently change password * Too-powerful devices ship as attack-in-a-box * Russian unprotected-camera-feed aggregator site emerges ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude ] .right-column.autodim.vtight[  ## True tales of awful devices #### Security cameras and the Mirai botnet #### Dishwashers of the Apocalypse * Aug 2016: Equity fund shorts Cardiac Implant firm * Nov 2016: Siemens IP-CCTV cameras directory traversal * Dec 2016: Sony patches secret SSH backdoor in 80 camera models * Dec 2016: Netgear routers' hilariously trivial exploit * Jan 2017: FTC files suit against D-Link for wanton awfulness * Mar 2017: Hyundai "start my car" app data transmits key * Mar 2016: Meile dishwasher directory traversal * Apr 2017: Bosch automobile diagnostic dongle allows remote shutdown * Apr 2017: Samsung Tizen widespread vulnerabilities ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude ] .right-column.autodim.tight[  ## True tales of awful devices #### Security cameras and the Mirai botnet #### Dishwashers of the Apocalypse #### IoT Teddy Bears (via @troyhunt) * "CloudPets" let kids send audio messages to parents * Mongo Database on public subnet with no passwords * Audio stored on public Amazon S3 bucket * Developer test databases contained real customer data * Hackers had erased data and left ransom note * 'abc123' was an acceptable password ] --- class: center, middle template: inverse # The Internet of .green[Cheap] Things ## Advice for selecting well-behaved devices --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ] .right-column.arrow[ ## Selecting well behaved devices #### Return or bin unacceptable quality #### Look out for hinky setup procedures #### Favour "big 3" framework support #### Demand support for open protocols #### Check if open-source firmware or clients exist #### Suspect positive reviews, believe the negatives (shoutout: .blue[@mjg59]) ] --- class: center, middle template: inverse # The Internet of .blue[Untrustworthy] Things ## Using defensive architecture to minimise risks of deploying IoT --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ] .right-column.autodim.tight[  ## Defensive deployment #### Sandbox your devices * Use OpenWRT? Set up a dedicated Wifi network with filters * Use your guest network * Turn off or block uPNP * Whitelist trusted devices and put the rest on limited access ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ] .right-column.autodim.tight[  ## Defensive deployment #### Sandbox your devices #### Plan for breaches * Set a deny-by-default access policy on your IoT network * Minimise the damage a device can do with rate-limiting * Keep your device register up to date * .teal[Fing] app for Wifi census with alerts ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ] .right-column.autodim.tight[  ## Defensive deployment #### Sandbox your devices #### Plan for breaches #### Monitor device behaviour * Track what's on your network and look for new/changed devices * Learn what ports/services a device needs * Look for changes in access patterns * Look for spikes in data volume ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ] .right-column.autodim.tight[ ## Defensive deployment #### Sandbox your devices #### Plan for breaches #### Monitor device behaviour #### BYO cloud: Use enterprise or open-source hubs over vendor crudware * For devices with Amazon, Apple, Google, Microsoft IoT support, use your hub * Plan B: go open source - Homebridge (expose non-compatible devices to Apple Homekit) - Node-RED (expose non-compatible devices to Amazon Alexa) - For surveillance --- Zoneminder, Motion et.al. ] --- class: center, middle template: inverse # The Internet of .purple[Responsible] Things ## Design desiderata for building your own IoT products --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ] .right-column.autodim.tight[  ## Architectural Guidelines #### Simplicity is Mandatory * Dawn of compting: 1 computer per company * Desktop Era: 1 computer per person * Mobile Age: ~5 computers per person * The Cloud: Who even counts any more? * The Internet of Things: **Everything** is a computer - "When everything is a computer, either everyone is a sysadmin, or noone." --me ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ] .right-column.autodim.tight[  ## Architectural Guidelines #### Simplicity is Mandatory #### Avoid the "hack-in-a-box" * Don't just ship a miniaturised Unix PC * Think Ants, not Anteaters * Imagine your device will be compromised. How can you limit harm? * Automate your build pipeline for dev/prod/test firmwares ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ] .right-column.autodim.tight[  ## Architectural Guidelines #### Simplicity is Mandatory #### Avoid the "hack-in-a-box" #### Containerised Shipping * Can you run Docker on a $5 computer? Yes! * IoT-targeted container hosts are available - Alpine Linux, CoreOS, Ubuntu Core * IoT-targeted orchestration frameworks are here too - Resin.io is Docker as a Service - Ubuntu Snaps adopts the iOS everything-is-sandboxed approach - I built my own with SaltStack (.blue[github.com/unixbigot/kevin]) ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ] .right-column.autodim.vtight[  ## Architectural Guidelines #### Simplicity is Mandatory #### Avoid the "hack-in-a-box" #### Containerised Shipping #### Be wary of Lock-In * I-IoT "The *Industrial* Internet Of Things" * aka "Add another Zero to the Price Tag" * Everybody's doing it, nobody can explain why it's a good idea * Probably makes sense for factories, industry, municipal services * The wrong way for user benefit - composability is key ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ] .right-column.autodim.vtight[ ## Architectural Guidelines #### Simplicity is Mandatory #### Avoid the "hack-in-a-box" #### Containerised Shipping #### Industrial IoT Frameworks #### Consumer IoT Frameworks: Amazon, Apple, Google, Microsoft * Amazon IoT/Echo Hub/Alexa voice assistant * Apple HomeKit/AppleTV Hub/Siri Voice assistant * Google Android Things/Google Home Hub/Google voice assistant * IBM IoT/Watson AI engine * Microsoft Azure IoT/Cortana voice assistant * Samsung, Sony et.al. please stop embarrassing yourselves ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ] .right-column.autodim.vtight[ ## Architectural Guidelines #### Simplicity is Mandatory #### Avoid the "hack-in-a-box" #### Containerised Shipping #### Industrial IoT Frameworks #### Consumer IoT Frameworks: Amazon, Apple, Google, Microsoft #### Open source frameworks * For Linux: OCF IoTivity, Linux Foundation EdgeX, thingsboard.io, contiki, ThingSpeak * For Embedded: MongooseOS, FreeRTOS, Riot, Blynk ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ] .right-column.autodim.vtight[  ## Best practices for development #### Educate and Agitate about security * Educate *everyone* about security gotchas - Get a trainer, run some skill shares, or even watch YouTube videos * Have an in-house security expert, or bring in a sanity-checker * Review and Audit for quality * Do Penetration tests * Avoid hard-to-secure tools (Shell Scripts) ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ] .right-column.autodim.vtight[  ## Best practices for development #### Educate and Agitate about security #### No-app setup * Maintaining an app is a lot of work * Provide simple web setup * Provide an API * Decentralise ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ] .right-column.autodim.vtight[ ## Best practices for development #### Educate and Agitate about security #### No-app setup #### Support MQTT * This is the glue that binds the IoT together * IRC for robots * Open-ended extensibility * If you outgrow MQTT, look to Apache Kafka, AWS Kinesis, Google PubSub etc. * Support client-certificate auth ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ] .right-column.autodim.tight[  ## Best practices for development #### Educate and Agitate about security #### No-app setup #### Support MQTT #### Long term support * Make devices self-documenting * Provide updates or GTFO * Graceful end-of-life * Feature switches for disabling unwanted/unsafe subcomponents ] --- class: center, middle template: inverse # The Internet of .silver[Shiny] Things ## How the next generation of IoT frameworks will improve the situation --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future ] .right-column.autodim.tight[ ## Future trends and tools  #### Standards (Formal and Informal) * BITAG (Google, Intel, Microsoft et.al) * Open Connectivity Foundation * Bob Martin, Bruce Schneier et.al. ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future ] .right-column.autodim.tight[  ## Future trends and tools #### Standards #### Apple HomeKit * (Too?) strongly curated * Good composability * Remote access via home gateway * Standard security camera interface * Legacy devices via homebridge ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future ] .right-column.autodim.vtight[  ## Future trends and tools #### Standards #### Apple HomeKit #### Amazon AWS IoT * Very open (even BYO device) * An Extension of MQTT * Solid certificate-based authentication * Support for disconnected devices and resynchronisation * AWS rules engine in the cloud (vs in the hub for apple) * Trigger lambda functions or other AWS services for rule actions * "Echo" hardware only on sale in USA and UK * Extensible (eg Node-RED) ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future ] .right-column.autodim.tight[ ## Future trends and tools  #### Standards #### Apple HomeKit #### Amazon AWS IoT #### Google Android Things * Very new, but promising * Standard device profiles * Curated device program * "Weave" framework for discovery and management ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future ] .right-column.autodim.tight[ ## Future trends and tools  #### Standards #### Apple HomeKit #### Amazon AWS IoT #### Google Android Things #### Microsoft IoT HUB * Azure IoT api is cross platform * Hub just announced last week, little detail * Typically arcane pricing ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future ] .right-column.autodim.vtight[  ## Future trends and tools #### Standards #### Apple HomeKit #### Amazon AWS IoT #### Google Android Things #### Microsoft IoT HUB #### Open Connectivity Foundation * Discovery and management - Devices self-describe their capabilities - Devices can discover each other - Reference implementation of a framework * Multi language support (but not the right languages) * Steep learning curve ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future ] .right-column.autodim.vtight[  ## Future trends and tools #### Standards #### Apple HomeKit #### Amazon AWS IoT #### Google Android Things #### Microsoft IoT HUB #### Open Connectivity Foundation #### Mongoose OS - Targeted at smaller (non-unix) devices - Code in C or Javascript - Self contained IDE - Easy discovery, setup, and updates are solved for you - Painless integration with Amazon IoT, other MQTT ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future ] .right-column.autodim.vtight[  ## Future trends and tools #### Standards #### Apple HomeKit #### Amazon AWS IoT #### Google Android Things #### Microsoft IoT HUB #### Open Connectivity Foundation #### Mongoose OS #### Resin.io * Linux and Docker based * Device registry for management and update * Not fully open source, but many components are * More aimed at enterprise/industrial than consumer ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future ] .right-column.autodim[  ## Missing pieces #### Network access policy framework * "Anything the client initates is OK" doesn't scale to IoT * Devices need to self-describe ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future ] .right-column.autodim[  ## Missing pieces #### Network access policy framework #### Initial network authentication * There's no good solution here * A standard is needed ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future ] .right-column.autodim[  ## Missing pieces #### Network access policy framework #### Initial network authentication #### Vulnerability alerting * How to get the word out to device owners * Directory-based solution (a-la SPF) * SDP "I am a vulnerable device" ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future ] .right-column.autodim[  ## Missing pieces #### Network access policy framework #### Initial network authentication #### Vulnerability alerting #### Patch distribution * Things are improving here (good: resin.io, mongooseOS) * Roll your own with Salt or similar * Again, standardisation would be great ] --- class: center, middle template: inverse # The internet of .pink[Friendly] things ## Conclusion: What have we learned, how to learn more --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future # Coda ## ] .right-column.bulletsh4[  ## Recap #### Immature industry brings *Confusion*, *Faults*, *Risks* #### Buyers: Choose devices with care #### Installers: Deploy defensively #### Coders: Don't be *lazy* and *ignorant* #### Frameworks: Here comes the cavalry ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future # Coda ## ] .right-column.vtight.small.bulletsh4[ ## Over to you ### Learn More - Slides (with references): https://christopher.biggs.id.au/ - See my blog [accelerando.com.au/news](https://accelerando.com.au/news) ### Contact me - Email: .blue[christopher@biggs.id.au] - Twitter: .blue[@unixbigot]
] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future # Coda ## ] .right-column.small.tight.bulletsh4[ ## Frameworks #### My project ['Kevin'](https://github.com/unixbigot/kevin) - provisioning, keydist, updates via [SaltStack](http://saltstack.com) #### Amazon IoT - https://aws.amazon.com/iot/ #### Android Things - [developer.android.com/things](https://developer.android.com/things/index.html/) #### Microsoft VapourThing - https://azure.microsoft.com/en-us/services/iot-hub/ #### resin.io - [resin.io](https//resin.io/) #### IoTivity - [openconnectivity.org](https://openconnectivity.org/resources/iotivity) ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future # Coda ## ] .right-column.small.tight.bulletsh4[ ## Anecdata #### Retrieval Threats - [Mirai DDoS Analysis](http://dyn.com/blog/dyn-analysis-summary-of-friday-october-21-attack/) - [Insecure webcams](http://www.theregister.co.uk/2014/11/20/insecure_webcam_peeping_tom_threat/) - [Video Blackmail](http://www.usmagazine.com/entertainment/news/kris-jenner-blackmailed-naked-footage-kuwtk-sneak-peek-2015234) - [Russian video stream aggregator](http://www.newsweek.com/russian-website-streams-footage-thousands-hacked-webcams-285721) - [Sony back doors](https://www.helpnetsecurity.com/2016/12/07/sony-ip-camera-backdoors/) - [Sony back-doors patched](https://threatpost.com/sony-closes-backdoors-in-ip-enabled-cameras/122271/) - [Cloud Pets IoT Teddy Bears](https://www.troyhunt.com/data-from-connected-cloudpets-teddy-bears-leaked-and-ransomed-exposing-kids-voice-messages/) ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future # Coda ## ] .right-column.small.tight.bulletsh4[ ## Anecdata #### Control Threats - [Drones Extinguish lights](http://www.computerworld.com/article/3139860/security/researchers-hack-philips-hue-lights-via-a-drone-iot-worm-could-cause-city-blackout.html) - [DC Police Camera Ransomware](https://www.scmagazine.com/police-camera-system-in-dc-hit-with-ransomware/article/634545/) - [Samsung Tizen](https://threatpost.com/samsung-tizen-security-feels-like-2005/124841/) - [Hyundai Blue Link](https://threatpost.com/hyundai-patches-leaky-blue-link-mobile-app/125182/) - [Pacemaker hacking fears](https://threatpost.com/pacemaker-hacking-fears-rise-with-critical-research-report/120174/) - [Pacemaker security is terrifying](https://www.engadget.com/amp/2017/04/21/pacemaker-security-is-terrifying/) - [Pacemakers patched, finally](https://threatpost.com/st-jude-medical-patches-vulnerable-cardiac-devices/122955/) - [FTC charges D-Link](https://www.ftc.gov/news-events/press-releases/2017/01/ftc-charges-d-link-put-consumers-privacy-risk-due-inadequate) - [Netgear vulnerability](https://www.kb.cert.org/vuls/id/582384) ] --- .left-column[ #The Bad ## Risks ## Faults ## Causes # The Ugly ## Interlude # The Good ## Buying ## Deploying ## Building ## Future # Coda ## ] .right-column.small.tight.bulletsh4[ ## Good news * [BITAG IoT Security and Privacy Recommendations](http://www.bitag.org/report-internet-of-things-security-privacy-recommendations.php) * [Microsoft IoT Hub Announcement](https://techcrunch.com/2017/04/20/microsoft-launches-new-iot-services-for-the-enterprise/) * [Bob Martin's books Clean Coder etc](https://sites.google.com/site/unclebobconsultingllc/) * [Software Craftsmanship Manifesto](http://manifesto.softwarecraftsmanship.org) * [Bruce Schneier's campaign for regulation](https://threatpost.com/schneier-brings-campaign-for-iot-regulation-to-rsa/123730/)