CIP Development Environment Security
Revision History
Revision No |
Date |
Change description |
Author |
Reviewed by |
|---|---|---|---|---|
001 |
2021-06-14 |
Draft development environment security |
Dinesh Kumar |
To be reviewed by CIP Security WG members |
002 |
2021-06-19 |
Updated based on Daniel-san’s comment, email dated 15/06/2021 |
Dinesh Kumar |
To be reviewed by CIP Security WG members |
003 |
2021-08-30 |
Updated based on Yasin’s comment in gitlab |
Dinesh Kumar |
Yasin |
004 |
2022-04-14 |
Reviewed and updated all gitlab owners and maintainers |
Dinesh Kumar |
TBR |
005 |
2022-06-20 |
Updated owners table |
Dinesh Kumar |
TBR |
006 |
2024-05-29 |
Added details for Gitlab provided protection based on BV feedback |
Dinesh Kumar |
George Hsiao |
007 |
2024-06-20 |
Added gitlab security compliance based on George suggestion |
Dinesh Kumar |
TBR |
1. Objective
The primary objective of this document is to explain current development environment security, development flow and how security is maintained during CIP platform development.
Moreover, subsequent revisions of this document may consider additional details of existing development or changes and enhancement to improve development environment security.
2. Assumptions
Assumption |
Impact |
|---|---|
The development environment of upstream developers(Debian and Mainline kernel) is protected |
Any security loopholes embedded in upstream project will impact CIP directly |
3. Scope
Scope of this document is to consider current development model for CIP. Current CIP development model follows open source development method where everyone is allowed to contribute and only few members have privilege to merge the changes in CIP repositories.
This document is intended to meet CIP IEC-62443-4-1 SM-7 requirement which expects a process for securing CIP development environment.
4. Security Requirement
IEC-62443-4-1 has following development environment security requirements
- CIP shall define process which has procedural as well as technical control for protecting a product during development, production and delivery. Thisincludes following
Update patches
Design
Implementation
Testing
Releases
- Having this process in place means CIP provides ways to protect integrity of following
Code
Documents (User manuals, Design, )
Configuration setting
Private keys
Authenticators (password, access control list, code signing certificates)
5. CIP Development Environment
5.1 Protection During Development
As CIP re-uses open source components hence it is assumed upstream components are protected by respective component owner. However, artifacts such as various documents are kept in gitlab and they are protected by gitlab authentication mechanism. Similarly meta-data of recipes(.bb, .bbclass files etc) is protected by gitlab authentication mechanism.
GitLab has adopted the ISO/IEC 27001:2022, ISO/IEC 27017:2015 and ISO/IEC 27018:2019 standards for information security management system. Additionally Gitlab complies to several other security standards which are available at [Gitlab Trust centre](https://about.gitlab.com/security/).
During development any CIP developers can send merge requests with their changes. Here one thing to note is CIP developers can send merge requests, whereas CIP contributors can only send patches to the mailing list. All changes/patches are reviewed by CIP peer developers and feedback is provided. Once all the review comments are fixed, CIP maintainer of the respective repository merges the changes.
CIP development flow
Gitlab provides two factor authentication, password protection, key based authentication for protecting all the code and repositories.
5.2 Protection During Production
This requirement is not applicable to CIP as CIP is a software based component and no production is required.
5.3 Protection During Delivery
This requirement should be met by CIP users.(TO_BE_MET_BY_CIP_USERS)
Currently there is no production by CIP. When CIP adds production of images there will be information added here. Currently CIP does only deliver source code via Gitlab. Therefore, CIP relies on Gitlabs security
6. Policy for CIP repository maintainer privilege
CIP has following policy for reviewing maintainers privilege to control CIP repositories
If a CIP maintainer leaves CIP development and has not contributed in 6 months, his merge privilege is revoked in all CIP repositories and downgraded to developer privilege.
All repositories are reviewed annually. If a maintainer has not contributed in 6 months, his maintainer privileges are revoked.
Any CIP member can be given maintainer rights for any repositories after TSC members approval.
CIP has following policy for reviewing maintainers privilege to control CIP AWS accounts
If a CIP contributor on AWS leaves CIP development and has not contributed in 6 months, his AWS account access is revoked.
All AWS accounts are reviewed annually. If a contributor has not contributed in 6 months, his access is revoked if he left his role.
Any CIP member can be given AWS access rights after TSC members approval.
No shared machine accounts are allowed to have remote login access enabled. (Feedback needed)
7. Current CIP repositories and maintainers
CIP Gitlab group |
Repo and it’s URL |
Owners |
Maintainers |
Last review date |
|---|---|---|---|---|
cip-project |
Yoshitake Kobayashi, Chris Paterson, Takehisa Katayama, Hidehiro Kawai, Laurence Urhegyi, Kazuhiro Hayashi, Samuel holder, Kento Yoshida, Jan Kiszka |
None |
20 Jun 2022 |
|
cip-security |
Hidehiro Kawai,Kento Yoshida, Laurence Urhegyi, Kazuhiro Hayashi, Yasin Demirci, Samuel holder,Jan Kiszka, Chris Paterson,Takehisa Katayama, Yoshitake Kobayashi |
Stefan shroeder |
14 Apr 2022 |
|
cip-sw-update |
Hidehiro Kawai,Kento Yoshida, Laurence Urhegyi, Kazuhiro Hayashi, Samuel holder,Jan Kiszka, Chris Paterson,Takehisa Katayama, Yoshitake Kobayashi, Akihiro Suzuki |
swupdate-handler-roundrobin maintainer Christian Storm |
14 Apr 2022 |
|
cip-core |
Hidehiro Kawai,Kento Yoshida, Laurence Urhegyi, Kazuhiro Hayashi, Samuel holder,Jan Kiszka, Chris Paterson,Takehisa Katayama, Yoshitake Kobayashi, Daniel Sangorrin |
Alice Ferrazzi |
14 Apr 2022 |
|
cip-kernel |
Hidehiro Kawai,Kento Yoshida, Laurence Urhegyi, Kazuhiro Hayashi, Samuel holder,Jan Kiszka, Chris Paterson,Takehisa Katayama, Yoshitake Kobayashi |
cip-kernel-sec: Nobohiro Iwamatsu, Pavel Machek, Masami Ishikawa linux-cip, cip-kernel-config, classify-failed-patches: Nobohiro Iwamatsu, Pavel Machek lts-commit-list: Nobohiro Iwamatsu, Pavel Machek, Ulrich Hecht cip-kernel-tests: Robert Marshal, Nobohiro Iwamatsu, Pavel Machek |
14 Apr 2022 |
|
cip-testing |
Hidehiro Kawai,Kento Yoshida, Laurence Urhegyi, Kazuhiro Hayashi, Samuel holder,Jan Kiszka, Chris Paterson,Takehisa Katayama, Yoshitake Kobayashi |
Alice Ferrazzi |
14 Apr 2022 |
|
cip-lifecycle |
Hidehiro Kawai,Kento Yoshida, Laurence Urhegyi, Kazuhiro Hayashi, Samuel holder,Jan Kiszka, Chris Paterson,Takehisa Katayama, Yoshitake Kobayashi |
None |
14 Apr 2022 |
|
cip-documents |
Hidehiro Kawai,Kento Yoshida, Laurence Urhegyi, Kazuhiro Hayashi, Samuel holder,Jan Kiszka, Chris Paterson,Takehisa Katayama, Yoshitake Kobayashi |
Dinesh Kumar |
14 Apr 2022 |
8. References
Gitlab Compliance features
https://about.gitlab.com/blog/2022/07/13/top-5-compliance-features-to-leverage-in-gitlab/