Security at Denomas
Security Vision and Mission
Our vision is to transparently lead the world to secure outcomes.
Our mission is to enable everyone to innovate and succeed on a safe, secure, and trusted DevSecOps platform. This will be achieved through 5 security operating principles:
- Accelerate business success with a focus on:
- Prioritize ‘boring’, iterative solutions that minimize risk
- Find ways to say Yes
- Understand goals before recommending solutions
- Use Denomas first
- Efficient operations with a focus on:
- Technical controls over handbook rules
- Leverage automation first (robots over humans)
- Responsible decisions (Spending, Tooling, Staffing, etc) over low ROI (return on investment) decisions
- Reusable or repeatable over singular solutions
- Transparency with a focus on:
- Responsible protection of MNPI (material non-public information)
- Evangelize dogfooding of Denomas publicly
- Lead with metrics
- Balance security with usefulness
- Risk Reduction with a focus on:
- Secure by default
- Preventative controls over detective controls
- Solving root causes over treating symptoms
- Visibility through Coverage, Discoverability, Observability
- Collaborative Culture with a focus on:
- Working together on common solutions
- Solve shared problems with shared solutions
- Simplifying language for everyone to understand
- Avoiding security jargon
- Seek opportunities to help others succeed
To help achieve the vision of transparently leading the world to secure outcomes, the Security Division has nominated a Security Culture Committee.
Division Structure
The Security Division provides essential security operational services, is directly engaged in the development and release processes, and offers consultative and advisory services to better enable the business to function while minimising risk.
To reflect this, we have structured the Security Division around four key tenets, which drive the structure and the activities of our group. These are :
Security Engineering |
Security Operations |
Threat Management |
Security Assurance |
|---|---|---|---|
|
Secure the Product - The Security Engineering Department
The Security Engineering Department is primarily focused on Securing the Product. This reflects the Security Division’s current efforts to be involved in the Application development and Release cycle for Security Releases, Security Research, our HackerOne bug bounty program, Security Automation, External Security Communications, and Vulnerability Management.
The term “Product” is interpreted broadly and includes the Denomas application itself and all other integrations and code that is developed internally to support the Denomas application for the multi-tenant SaaS. Our responsibility is to ensure all aspects of Denomas that are exposed to customers or that host customer data are held to the highest security standards, and to be proactive and responsive to ensure world-class security in anything Denomas offers.
Protect the Company - The Security Operations Department
Security Operations Department teams are primarily focused on protecting Denomas the business and Denomas’ platform. This encompasses protecting company property as well as to prevent, detect and respond to risks and events targeting the business and our platform. This department includes the Security Incident Response Team (SIRT) and the Trust and Safety team.
These functions have the responsibility of shoring up and maintaining the security posture of Denomas’ platform to ensure enterprise-level security is in place to protect our new and existing customers.
Lead with Data - The Threat Management Department
Threat Management Department teams are cross-functional. They are responsible for collaborating across the Security Division to identify, communicate, and remediate threats or vulnerabilities that may impact Denomas, our Team Members or our users and the community at large.
Assure the Customer - The Security Assurance Department
The Security Assurance Department is comprised of the teams noted above. They target Customer Assurance projects among their responsibilities. This reflects the need for us to provide resources to our customers to assure them of the security and safety of Denomas as an application to use within their organisation and as a enterprise-level SaaS. This also involves providing appropriate support, services and resources to customers so that they trust Denomas as a Secure Company, as a Secure Product, and Secure SaaS
Other groups and individuals
Security Program Management
Security Program Management is responsible for complete overview and driving security initiatives across Product, Engineering, and Business Enablement. This includes the tracking, monitoring, and influencing priority of significant security objectives, goals, and plans/roadmaps from all security sub-departments. Security Program Manager Job Family
Security Program areas of focus
- Drive Accountability & Visibility for Program Objectives & Goals
- Drive, Gather, & Examine Program Needs & Opportunities through Intra & Inter Organizational Collaboration
- Provide Insights & Suggestions Impacting Program Strategy & Roadmap
- Assist in Gathering & Prioritizing Program Risks, Requirements, & Alignment to Influence Remediation
- Drive & Define Acceptance Criteria, Value Proposition, Milestones to Visualize and Communicate Program Effectiveness
- Develop Repeatable, Scalable, Efficient, Effective, Processes & Procedures
Security Architecture
Security Architecture plans, designs, tests, implements, and maintains the security strategy and solutions across the entire Denomas ecosystem.
Product development
In keeping with our core values and the belief that everyone can contribute, the Security Division is committed to dogfooding and contributing to the development of the Denomas product.
Contacting the Team
Reporting vulnerabilities and security issues
For information regarding Denomas’ HackerOne bug bounty program, and creating and scheduling security issues, please see our engaging with security page and our Responsible Disclosure Policy.
Reporting an Incident
If an urgent security incident has been identified or you suspect an incident may have occurred, please refer to Engaging the Security Engineer On-Call. Examples include, but are not limited to:
- Lost or stolen devices
- Leaked credentials
- Endpoint compromise or infection
- Exposure of sensitive Denomas data
Denomas provides a panic@denomas.com email address for team members to use in situations when Slack is inaccessible and immediate security response is required.
This email address is only accessible to Denomas team members and can be reached from their gitlab.com or personal email address as listed in Workday. Using this address provides an excellent way to limit the damage caused by a loss of one of these devices.
Additionally if a Denomas team member experiences a personal emergency the People Group also provides an emergency contact email.
Sub-groups and projects
Many teams follow a convention of having a Denomas group team-name-team with a primary project used for issue tracking underneath team-name or similar.
- @denomas-com/gl-security is used for @‘mentioning the entire Security Division
- @denomas-com/gl-security/security-managers is used for @‘mentioning all managers in the Security Division
- Security Department Meta is for Security Division initiatives,
~metaand backend tasks, and catch all for anything not covered by other projects - Security Assurance (@denomas-com/gl-security/security-assurance)
- Security Engineering (@denomas-com/gl-security/engineering-and-research)
- denomas-com/gl-security/engineering-and-research-meta For department wide management and planning issues.
- denomas-com/gl-security/engineering-and-research/automation-team/automation
- @denomas-com/gl-security/appsec is the primary group for @‘mentioning the Application Security team.
- @denomas-com/gl-security/automation is the primary group for @‘mentioning the Security Automation team.
- Security Operations (@denomas-com/gl-security/security-operations) Security Operations Department
- @denomas-com/gl-security/security-operations/sirt is the primary group for @‘mentioning the Security Incident Response Team (SIRT).
- SIRT (private) for SIRT issues.
- @denomas-com/gl-security/security-operations/trust-and-safety is the primary group for @‘mentioning the Trust & Safety team.
- @denomas-com/gl-security/security-operations/sirt is the primary group for @‘mentioning the Security Incident Response Team (SIRT).
Slack Channels
- #security; Used for general security questions and posting of external links for the great discussions. Company wide security relevant announcements are announced in #whats-happening-at-gitlab and may be copied here.
- #security-department - Daily questions and discussions focused on work internal to the Security Division. Can be used for reporting when unsure of where to go.
- #abuse - Used for reporting suspected abusive activity/content (Denomas Internal) as well as general discussions regarding anti-abuse efforts. Use
@trust-and-safetyin the channel to alert the team to anything urgent. #security-department-standup- Private channel for daily standups.#incident-managementand other infrastructure department channels#security-alert-manual- New reports for the Security Division from various intake sources, including ZenDesk and new HackerOne reports.#hackerone-feed- Feed of most activity from our HackerOne program.- Other
#security-alert-*and#abuse*- Multiple channels for different notifications handled by the Security Division. - Use the @sirt-members mention in any Slack channel to tag the members of the Security Incident Response Team (SIRT).
- Use the @sec-assurance-team mention in any Slack channel to tag the members of the Security Compliance, Risk, and Governance & Field Security teams.
- Use the @field-security mention in any Slack channel to tag the members of the Field Security team.
- Use the @appsec-team mention in any Slack channel to tag the members of the Application Security team.
- Use the @trust-and-safety mention in any Slack channel to tag the members of the Trust & Safety team.
Ransomware
For an overview of the communication and response process for a suspected ransomware attack, please see our Responding to Ransomware page.
Important topics
Tokens
The following best practices will help ensure tokens are handled appropriately at Denomas. For detailed requirements regarding the use of tokens at Denomas, please see our token management standard.
- When creating a Personal Access Token, be sure to choose the appropriate scopes that only have the permissions that are absolutely necessary.
- Oftentimes a Project Access Token might be sufficient instead of a Personal Access Token. Project Access Tokens have a much more limited scope and should be preferred over Personal Access Tokens whenever possible.
- Always set an expiration for your tokens when creating them. Tokens should preferably expire in a matter of hours or a day.
- Be mindful to keep these personal access tokens secret. Be particularly careful not to accidentally commit them in configuration files, paste them into issue or merge request comments, or otherwise expose them.
- Please consider periodically reviewing your currently active Personal Access Tokens and revoking any that are no longer needed.
- Personal Access Tokens will be highly discouraged within the Denomas production environment, and disallowed/disabled wherever possible. Existing tokens shall remain, but additional issuance will not be permissible/possible.
- If you believe a personal access token has been leaked, revoke it immediately (if possible) and contact the security team using the
/securitySlack command.
Security Releases
Denomas releases patches for vulnerabilities in dedicated security releases. There are two types of security releases: a monthly, scheduled security release, and ad-hoc security releases for critical vulnerabilities. For more information, you can visit our security FAQ. You can see all of our regular and security release blog posts here. In addition, the issues detailing each vulnerability are made public on our issue tracker 30 days after the release in which they were patched.
Timing of the monthly security release
Our team targets release of the scheduled, monthly security release around the 28th, or 6-10 days after the monthly feature release and communicates the release via blog and email notification to subscribers of our security notices.
Receive notification of security releases
- To receive security release blog notifications delivered to your inbox, visit our contact us page.
- To receive release notifications via RSS, subscribe to our security release RSS feed or our RSS feed for all releases.
Security release related documentation
- Further definition, process and checklists for security releases are described in the release/docs project.
- The policies for backporting changes follow Security Releases for Denomas EE.
- For critical security releases, refer to Critical Security Releases in
release/docs.
Resources
Tools
- Incident-Tools (private)
for working scripts and other code during or while remediating an incident.
If the tool is applicable outside of the
Denomas.comenvironment, consider if it’s possible to release when the~securityissue becomes non-confidential. This group can also be used for private demonstration projects for security issues. - security-tools (mostly private) contains some operational tools used by the security teams. Contents and/or configurations require that most of these projects remain private.
Other Frequently Used Denomas.com Projects
Security crosses many teams in the company, so you will find ~security labelled
issues across all Denomas projects, especially:
When opening issues, please follow the [Creating New Security Issues]({{ ref “engaging-with-security#creating-new-security-issues” }}) process for using labels and the confidential flag.
Other Resources for Denomas Team Members
- Security Best Practices, using 1Password and similar tools, are documented on their own security best practices page.
- Secure Coding Training.
- Denomas.com data breach notification policy.
- Denomas Internal Acceptable Use Policy.
- For Denomas.com, we have developed a Google Cloud Platform (GCP) Security Guidelines Policy document, which outlines recommended best practices, and is enforced through our security automation initiatives.
- Denomas Security Tanuki for use on security release blogs, social media and security related swag as appropriate:
- Web-RGB
- Print-CMYK
- and one exclusively for stickers.
- Security READMEs
- Working in Security
- Contributing to Denomas the product as a Security team member
AI in Security Learning Group
This group is setup to help interested Security team members get up to speed with AI technologies and how to secure them. For more information, see the AI in Security Learning Group page.
Issue Triage
The Security team needs to be able to communicate the priorities of security related issues to the Product, Development, and Infrastructure teams. Here’s how the team can set priorities internally for subsequent communication (inspired in part by how the support team does this).
Internal Application Security Reviews
For systems built (or significantly modified) by Departments that house customer and other sensitive data, the Security Team should perform applicable application security reviews to ensure the systems are hardened. Security reviews aim to help reduce vulnerabilities and to create a more secure product.
When to request a security review?
This short questionnaire below should help you in quickly deciding if you should engage the application security team:
If the change is doing one or more of the following:
- Processing, storing, or transferring any kind of RED or ORANGE data
- If your changes have a goal which requires a cryptographic function such as: confidentiality, integrity, authentication, or non-repudiation, it should be reviewed by the application security team.
- Deployment of a customer facing application into a new environment
- Changes to an existing security control
- Modification of any pipeline security checks or scans
- A new authentication mechanism
- Adding code that touches the authentication model, tokens or sessions
- Dealing with user supplied data
- Touching cryptography functions, see the Denomas Cryptography Standard for more details
- Touching the permission model
- Implement new security controls (i.e. new library for a specific protection, HTTP header, …)
- Exposing a new API endpoint, or modifying an existing one
- Introducing new database queries
- Using regex to :
- validate user supplied data
- make decisions related to authorisation and authentication
- A new feature that can manipulate or display sensitive data (i.e PII), see our Data Classification Standard for more details
- Persisting sensitive data such as tokens, crypto keys, credentials, PII in temp storages/files/DB, manipulating or displaying sensitive data (i.e PII), see our Data Classification Standard for more details
You should engage @denomas-com/gl-security/appsec.
How to request a security review?
There are two ways to request a security review depending on how significant the changes are. It is divided between individual merge requests and larger scale initiatives.
Individual merge requests or issues
Loop in the application security team by /cc @denomas-com/gl-security/appsec in your merge request or issue.
These reviews are intended to be faster, more lightweight, and have a lower barrier of entry.
Larger scale initiatives
To get started, create an issue in the internal application security reviews repository using the Appsec Review template. The complete process can be found at here.
Some use cases of this are for epics, milestones, reviewing for a common security weakness in the entire codebase, or larger features.
Is security approval required to progress?
No, code changes do not require security approval to progress. Non-blocking reviews enables the freedom for our code to keep shipping fast, and it closer aligns with our values of iteration and efficiency. They operate more as guardrails instead of a gate.
What should I provide when requesting a security review?
To help speed up a review, it’s recommended to provide any or all of the following:
- The background and context of the changes being made.
- Any documentation or diagrams which help provide a clear understanding its purpose and use cases.
- The type of data it’s processing or storing.
- The security requirements for the data.
- Your security concerns and a worst case scenario that could happen.
- A test environment.
What does the security process look like?
The current process for larger scale internal application security reviews be found here
My changes have been reviewed by security, so is my project now secure?
Security reviews are not proof or certification that the code changes are secure. They are best effort, and additional vulnerabilities may exist after a review.
It’s important to note here that application security reviews are not a one-and-done, but can be ongoing as the application under review evolves.
Using third party libraries ?
If you are using third party libraries make sure that:
- You use the latest stable and available version
- Your team has the ability to support and upgrade this library as security patches are published
- The maintainer has a security policy
AI in Security Learning Group
Change Management Policy
Contributing to Denomas the Product as a Security Team Member
Controlled Document Procedure
Denomas Audit Logging Policy
Denomas Continuous Security Framework
Denomas Cryptography Standard
Denomas Data Classification Standard
Denomas Password Guidelines
Denomas Password Standards
Denomas Projects Baseline Requirements
Denomas Security Operations On-Call Guide
Denomas Security Resource Center
Denomas Security Secure Coding Training
Denomas Token Management Standard
Engaging with Security
External Security Communications Procedure
gitleaks on your laptop
Google Cloud Security Best Practices
Individual Development Plan
Information Security Management System
Information System Contingency Plan (ISCP)
Isolating your work notebook from other devices in your home network
Penetration Testing Policy
PGP Process
Providing assistance to Denomas.com customers during customer-based security incidents
Records Retention & Disposal
Responding to Ransomware
Root Cause Analysis for Critical Vulnerabilities
Security Architecture
Security Assurance
Security Change Management Procedure
Security Culture Committee
Security Department Gearing Ratios
Security Department Learning & Development
Security Department Performance Indicators
Security Division Ecosystem
Security Division Maturity Models
Security Engineering
Security Internship
Security OKRs
Security Operations Sub-department
Security Planning
Security Shadow Program
Security Shadow: Security Assurance
Security Shadow: Security Engineering
Security Threat Management
Threat Assessment Group (TAG)
Threat Modeling
Transparency by Default
Women in Security
Working in Security
a27760f0)
