Responses to OWASP Top 10 - IoT version 2018
- Weak, Guessable, or Hardcoded Passwords
- Devices are not remotely accessible, as they are not running an OS. As such there are no passwords anywhere.
- Insecure Network Services
- Due to the devices being micro-controller based without an OS, we can guarantee there are no services or software running that we did not intend to have.
- Insecure Ecosystem Interfaces
- All device access to the cloud is required to happen through TLS 1.2, with individual device certificates for authorization.
- Lack of Secure Update Mechanism
- We are using AWS IoT services to provide updates over the air, through TLS encrypted MQTT, of signed firmware files.
- All firmware updates will do signature verification & self-testing with automatic rollback on failures.
- Use of Insecure or Outdated Components
- Our devices are built with a secure crypto module, where all secrets are generated inside at runtime. Our supply chain does not impact nor encounter cloud sensitive secrets.
- Insufficient Privacy Protection
- The device has no knowledge of anything specific to the customer. This information is all kept and added in the cloud.
- Insecure Data Transfer and Storage
- All data is encrypted in transfer using TLS 1.2, and encrypted as rest in the cloud by AWS DynamoDB
- Lack of Device Management
- We utilize the full device management platform of AWS IoT, with an additional layer on top for cross cloud asset management for device lifecycle management.
- Insecure Default Settings
- All access policies in AWS IoT are linked to device certificates in the cloud, allowing us to restrict or revoke access to individual devices at all times.
- Lack of Physical Hardening
- Sensitive information on the device is limited to its individual device certificate, stored in a crypto module & limited by AWS access policies to not allow cross-contamination of other devices in any way in the cloud.