Skip to content

Commit 1217eb3

Browse files
committed
highlight fixes
1 parent 1a53840 commit 1217eb3

File tree

1 file changed

+25
-25
lines changed

1 file changed

+25
-25
lines changed

content/arduino-cloud/02.features/00.security-considerations/security-considerations.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@ In order to provide secure digital services to customers, we at Arduino are comm
1313

1414
In general, the approach to Security is aligned with Cybersecurity standards such as ISO27001.
1515

16-
To ensure the highest level of confidentiality, integrity and availability, Arduino operates under a shared security responsibility model. The shared security responsibility model identifies the distinct security responsibilities of the customer and Arduino. In this model:
17-
* Arduino is responsible for the security of the cloud infrastructure services provided to customers and the confidentiality of sensitive data.
18-
* Customers are responsible for the security of their account, personal access credentials, and for the information they decide to store in the cloud.
16+
To ensure the highest level of confidentiality, integrity and availability, Arduino operates under a **shared security responsibility model**. The shared security responsibility model identifies the distinct security responsibilities of the customer and Arduino. In this model:
17+
* **Arduino** is responsible for the security of the cloud infrastructure services provided to customers and the confidentiality of sensitive data.
18+
* **Customers** are responsible for the security of their account, personal access credentials, and for the information they decide to store in the cloud.
1919

2020

2121
## Security and Data Protection Strategy
2222

2323
Arduino leverages the security level provided by infrastructure based on Cloud providers (Amazon Web Services and Google Compute Platform) and third party services also hosted in Cloud.
2424
For a complete list of providers in use, see https://www.arduino.cc/en/Main/PrivacyPolicy.
2525

26-
The Authentication phase plays a major role in security protection. Arduino takes advantage of a third party Authentication service that provides:
26+
The *Authentication* phase plays a major role in security protection. Arduino takes advantage of a third party Authentication service that provides:
2727
* Web protection against several common threats to web applications such as XSS (Cross-Site Scripting), Clickjacking and Cross-Site Request Forgery.
2828
* Anomaly Detection such as Brute-Force Protection: provides protection against suspicious failed login attempts.
2929
* Universal Login Support which increases security so that users have the ability to use their social logins without the need of sharing their credentials with us.
@@ -35,46 +35,46 @@ Arduino data protection strategy starts by identifying sensitive data that requi
3535
* Personally Identifiable Information (PII) of users - username, password, name, surname, email address, user profile picture and home address (for shipment and billing).
3636
* Data shared from boards to the Cloud.
3737
Security measures are applied to ensure confidentiality and integrity of data:
38-
* Protection at rest:
38+
* **Protection at rest**:
3939
* PII are stored in databases and the whole database is encrypted using the industry standard AES-256 encryption algorithm.
4040
* Users’ credentials are hashed using PBKDF2.
41-
* Protection in transit:
41+
* **Protection in transit**:
4242
* Any Browser-based or API-based communication uses HTTPS protocol secured with TLS.
4343
* IoT devices are sending data to our cloud using MQTT protocol secured with TLS.
4444

4545

4646
### Secure Software Development Practices
4747

48-
Arduino follows the Secure by Design principle in every stage of the software development. The following list describes the Security Principles that are followed during the secure development lifecycle.
49-
* Apply Defense in Depth
48+
Arduino follows the **Secure by Design** principle in every stage of the software development. The following list describes the **Security Principles** that are followed during the secure development lifecycle.
49+
* **Apply Defense in Depth**
5050
* Layered security mechanisms are in place to increase security as a whole.
51-
* Use a Positive Security Model
51+
* **Use a Positive Security Model**
5252
* A ‘positive’ security model defines what is allowed and rejects everything else.
53-
* Fail Securely
53+
* **Fail Securely**
5454
* It is important that failures are handled so that exceptions do not enable unwanted behavior.
55-
* Run with Least Privileges
55+
* **Run with Least Privileges**
5656
* The principle of least privilege is required to perform every business process.
57-
* Avoid Security through Obscurity
57+
* **Avoid Security through Obscurity**
5858
* Security through obscurity alone is a weak security mechanism, however when combined with all principles it can be used as an additional layer of security.
59-
* Keep Security Simple
59+
* **Keep Security Simple**
6060
* Keeping the application’s security simple is a better option than having complex designs.
61-
* Assuming compromise
61+
* **Assuming compromise**
6262
* The assuming compromise principle is useful to improve the detection and response capabilities in order to predict and remediate the security events before they evolve into security incidents.
63-
* Keep people away from data
63+
* **Keep people away from data**
6464
* Usage of mechanisms, patterns and tools to reduce or eliminate the need for direct data access or manual processing data with the aim of reducing the risk of mishandling or modification and human error when handling sensitive data.
6565

6666
In particular the following pillars are taken into consideration as part of the Arduino Secure Software Development Lifecycle
67-
* Education and Guidance: in order to ensure that developers have specific know-how and receive training on secure architectural and coding standards.
68-
* Secure Data Management: in order to ensure that environments, sensitive data, PII are managed properly and in accordance with legislation, adopting and implementing in a correct way, the necessary security standards.
69-
* Secure Repository Management: with the purpose of guaranteeing that the Least of privilege and Separation of duties principles are in place to protect the software repositories.
70-
* Secure Environment: in order to ensure the adequate segregation of the services and data contained into Development / Staging / Production environments
71-
* Secure Development: with the purpose of guaranteeing that security risks, security requirements and best practices are taken into consideration in all the steps of the development lifecycle for Hardware, Software and Infrastructure artifacts and reducing the residual risk associated with security flaws and bugs managed through the internal Vulnerability Management Program.
72-
* Security Testing: in order to ensure that all required security activities such as, but not limited to: Design Review, Threat and Risk Analysis, Code Review, Penetration Test, Vulnerability Assessment and all fixing activities related to the Vulnerability Management Program are performed by the security team, with the help of the developers, along all stages of the development lifecycle.
67+
* **Education and Guidance**: in order to ensure that developers have specific know-how and receive training on secure architectural and coding standards.
68+
* **Secure Data Management**: in order to ensure that environments, sensitive data, PII are managed properly and in accordance with legislation, adopting and implementing in a correct way, the necessary security standards.
69+
* **Secure Repository Management**: with the purpose of guaranteeing that the Least of privilege and Separation of duties principles are in place to protect the software repositories.
70+
* **Secure Environment**: in order to ensure the adequate segregation of the services and data contained into Development / Staging / Production environments
71+
* **Secure Development**: with the purpose of guaranteeing that security risks, security requirements and best practices are taken into consideration in all the steps of the development lifecycle for Hardware, Software and Infrastructure artifacts and reducing the residual risk associated with security flaws and bugs managed through the internal Vulnerability Management Program.
72+
* **Security Testing**: in order to ensure that all required security activities such as, but not limited to: Design Review, Threat and Risk Analysis, Code Review, Penetration Test, Vulnerability Assessment and all fixing activities related to the Vulnerability Management Program are performed by the security team, with the help of the developers, along all stages of the development lifecycle.
7373

7474

7575
### Logical Access Control
7676

77-
Logical access control is governed by the principle of least privilege. Specific users are granted the minimum access needed to perform their job functions.
77+
Logical access control is governed by the principle of **least privilege**. Specific users are granted the minimum access needed to perform their job functions.
7878
In general, Arduino internal staff members do not have direct access to PII or Arduino’s services users, with the following exceptions:
7979
* Our customer support team has administrator-level access to assist users with technical issues.
8080
* Only specific members of technical staff can access the databases directly, by remotely connecting to servers via the VPN. VPN access is only granted to those members who need it to perform their job functions, and is limited to specific network segments based on role. Multi-factor authentication is used during the VPN authentication process. The access control list is reviewed periodically to determine whether access is still needed. Accounts are modified or disabled based upon changes in job responsibilities.
@@ -125,7 +125,7 @@ The Arduino Cloud CLI provides a way for interacting with the Arduino IoT Cloud
125125
The Arduino Cloud Editor allows customers to create sketches they can subsequently deploy on boards. Each customer has a separate area where their sketches are stored so that no other customer has access to them. Sketches can be made publicly available to everyone, in which case access is granted by whomever possesses the link to access them.
126126

127127
The Arduino Cloud Editor also provides a secret tab that can be used to securely store sensitive information needed by the device (e.g. WiFi credentials, API credentials). Secrets in this tab are encrypted with the AES-256 algorithm to safely store them in the Cloud.
128-
In order to communicate with the Arduino Cloud Editor, web browsers should be able to communicate over the internet to port 80, 443 and 8080 towards Arduino’s subdomains *.arduino.cc.
128+
In order to communicate with the Arduino Cloud Editor, web browsers should be able to communicate over the internet to port 80, 443 and 8080 towards Arduino’s subdomains \*.arduino.cc.
129129

130130
### Arduino IoT Cloud
131131

@@ -139,9 +139,9 @@ Devices onboarding and communication with the Arduino Cloud is ensured to protec
139139

140140
![Device Setup & Operation Phases.](assets/device-phases.png)
141141

142-
> Note: this communication process is available only on devices equipped with a secure element chip.
142+
> **Note**: this communication process is available only on devices equipped with a secure element chip.
143143
144-
Device setup phase:
144+
**Device setup phase**:
145145
* The setup phase is initiated by the web browser with a secure connection to the Arduino IoT Cloud over HTTPS requesting to create a new device.
146146
* The IoTCloud provides a special sketch that is run on the device to generate:
147147
* a private and public keys;

0 commit comments

Comments
 (0)