{"id":111344,"date":"2024-11-20T11:12:20","date_gmt":"2024-11-20T09:12:20","guid":{"rendered":"https:\/\/www.dev.piisku.fi\/?post_type=blog_posts&#038;p=111344"},"modified":"2025-05-27T14:48:34","modified_gmt":"2025-05-27T11:48:34","slug":"part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops","status":"publish","type":"blog_posts","link":"https:\/\/www.dev.piisku.fi\/en\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops","title":{"rendered":"PART 1 \u2013 Navigating security challenges: The Secure Software Development Lifecycle meets DevOps"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><div data-parent=\"true\" class=\"vc_row row-container\" id=\"row-unique-0\"><div class=\"row no-top-padding no-bottom-padding no-h-padding full-width row-parent\"><div class=\"wpb_row row-inner\"><div class=\"wpb_column pos-top pos-center align_left column_parent col-lg-12 single-internal-gutter\"><div class=\"uncol style-light\"  ><div class=\"uncoltable\"><div class=\"uncell no-block-padding\" ><div class=\"uncont\" ><div class=\"vc_row row-internal row-container\"><div class=\"row row-child\"><div class=\"wpb_row row-inner\"><div class=\"wpb_column pos-top pos-center align_left column_child col-lg-12 half-internal-gutter\"><div class=\"uncol style-light\" ><div class=\"uncoltable\"><div class=\"uncell no-block-padding\" ><div class=\"uncont\" ><div class=\"vc_custom_heading_wrap\"><div class=\"heading-text el-text\" ><h2 class=\"h4 text-accent-color\" ><span>Mapping the phases of the software development lifecycle to the secure development lifecycle<\/span><\/h2><\/div><div class=\"clear\"><\/div><\/div><div class=\"uncode_text_column\" ><p>Before we dive into the phases of the secure software development lifecycle, or SSDLC, it\u2019s important to understand how the phases of this lifecycle vary from those of the continuous integration and continuous delivery (CI\/CD) pipeline.<\/p>\n<p>The model presented here is one possible phasing of a secure development lifecycle. Making IT operations part of the equation results in a broader DevSecOps strategy for implementing and operating applications and services.<\/p>\n<\/div><div class=\"vc_custom_heading_wrap\"><div class=\"heading-text el-text\" ><h2 class=\"h4 text-accent-color\" ><span><strong>Planning and requirements<\/strong><\/span><\/h2><\/div><div class=\"clear\"><\/div><\/div><div class=\"uncode_text_column\" ><p>Prior to the first full iteration of the development lifecycle, the organization needs to have a solid foundation that supports SSDLC efforts. Staff ought to have awareness of security perspectives in general and understand how those perspectives apply in upcoming projects and their roles within those projects. Before the actual development cycle kicks off, requirements should be gathered and basic building blocks defined for each upcoming project. This means establishing guiding principles, delineating a framework for working methods, and laying the groundwork for architectural decisions.<\/p>\n<p>The sources of requirements can be internal or external. One internal source of requirements is the organization&#8217;s risk-management process. Depending on the application and the data managed by it, external requirements may be laid out in relevant legislation and specific customer security requirements. The guiding principles of secure development, including the necessary security-informed quality gates, should be established and stated during the planning phase.<\/p>\n<p>Security requirements need defining for architecture, authentication, validation, cryptography, key management,\u00a0error handling, logging, and every other element and function of the service being designed. More information on security requirements can be found, for example, in the Open Worldwide Application Security Project (OWASP) \u2019s Application Security Verification Standard (ASVS) or the National Institute of Standards and Technology\u2019s special publication (NIST) SP 800-53 (links are provided in this blog\u2019s resources section).<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"vc_row row-internal row-container\"><div class=\"row col-half-gutter row-child\"><div class=\"wpb_row row-inner\"><div class=\"wpb_column pos-top pos-center align_left column_child col-lg-6 single-internal-gutter\"><div class=\"uncol style-light\" ><div class=\"uncoltable\"><div class=\"uncell no-block-padding\" ><div class=\"uncont\" ><div class=\"uncode_text_column\" ><p>It\u2019s usually wise to begin disaster recovery, or DR, planning, as early as possible. Specific requirements for recovering the system within a defined timeframe and restoring it to a specific point in time are typically established to ensure business continuity. The requirements-gathering phase is not too early to begin making scenario-based recovery plans. Plans must also include scenarios for continuing development if the disaster occurs before the production phase. In general, DR planning ought to be fully implemented and tested before production usage starts.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><div class=\"wpb_column pos-top pos-center align_left column_child col-lg-6 single-internal-gutter\"><div class=\"uncol style-light\" ><div class=\"uncoltable\"><div class=\"uncell no-block-padding\" ><div class=\"uncont\" ><div class=\"uncode-single-media  text-left\"><div class=\"single-wrapper\" style=\"max-width: 400px;\"><div class=\"tmb tmb-light  tmb-media-first tmb-media-last tmb-content-overlay tmb-no-bg\"><div class=\"t-inside\"><div class=\"t-entry-visual\"><div class=\"t-entry-visual-tc\"><div class=\"uncode-single-media-wrapper\"><img decoding=\"async\" class=\"wp-image-111226\" src=\"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/12\/PART2-pic-1.png\" width=\"353\" height=\"354\" alt=\"\" srcset=\"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/12\/PART2-pic-1.png 353w, https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/12\/PART2-pic-1-300x300.png 300w, https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/12\/PART2-pic-1-150x150.png 150w, https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/12\/PART2-pic-1-350x351.png 350w, https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/12\/PART2-pic-1-348x348.png 348w\" sizes=\"(max-width: 353px) 100vw, 353px\" \/><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"vc_row row-internal row-container\"><div class=\"row row-child\"><div class=\"wpb_row row-inner\"><div class=\"wpb_column pos-top pos-center align_left column_child col-lg-12 single-internal-gutter\"><div class=\"uncol style-light\" ><div class=\"uncoltable\"><div class=\"uncell no-block-padding\" ><div class=\"uncont\" ><div class=\"uncode_text_column\" ><p>The basic idea here is that DR be treated in isolation, as something to design, implement, and test right before production begins, but as a stream of tasks mapped to DevSecOps phases, just as any other tasks within the work unit\u2019s iteration activities. Work unit iterations don\u2019t always introduce changes to the DR plan or its implementation, but for instance the introduction of a new platform component may mean defining extra steps in an automated or manual recovery process.<\/p>\n<p>The planning and requirements phases are the time for a quick reality check. Ask yourself: \u201cHave we thought about security risks alongside other project risks?\u201d<\/p>\n<\/div><div class=\"vc_custom_heading_wrap\"><div class=\"heading-text el-text\" ><h2 class=\"h4 text-accent-color\" ><span>Design<\/span><\/h2><\/div><div class=\"clear\"><\/div><\/div><div class=\"uncode_text_column\" ><p>The security requirements derived from the planning phase are then carried over into the system design phase, or the \u201cplan\u201d phase as it\u2019s typically referred to in DevOps. In this phase, security controls (access controls, including authenticating and authorization; input validation; encoding\/decoding; logging and monitoring; target environment hardening; and so on) are designed in accordance with business, security, and architectural requirements. Those requirements guide the principles for developing and designing the application in question. The guidelines derived from the requirements should include the process for accepting open source or proprietary libraries used within the project. Good security hygiene means having a documented process for introducing new components during project implementation: the process\u2019s steps should cover checking version\/update, licence, support, and pricing schemes. If open-source components are used, the guidelines should also define which public repositories are trusted, if any.<\/p>\n<p>In architecture and component design, threat modeling techniques should be leveraged to identify architecture-related risks. Threat modeling practices ought to involve the business perspective, reviewing user stories from a potential attacker&#8217;s point of view. These threat modeling sessions result in abuse use cases and negative test cases that inform system design.<\/p>\n<\/div><div class=\"vc_custom_heading_wrap\"><div class=\"heading-text el-text\" ><h2 class=\"h4 text-accent-color\" ><span><strong>Implementation<\/strong><\/span><\/h2><\/div><div class=\"clear\"><\/div><\/div><div class=\"uncode_text_column\" ><p>During this phase, implementation processes and procedures are put into practice. In DevOps, this phase is usually called the \u201ccreate\u201d phase. The implementation of requirements-based business functionalities and the implementation of security controls go hand in hand.<\/p>\n<p>Many implementation projects have shifted to an infrastructure as code (IaC) model, which means the infrastructure is coded during overall system development. This phase often includes implementation of planned disaster recovery (DR) functionalities and updates to the DR plan. In the case of IaC, you may be thinking: &#8221;what\u2019s there to implement?&#8221; The answer may be: what about the relevant automation?<\/p>\n<p>All elements of system components should be developed in accordance with the selected technology stack&#8217;s written guidelines and security documentation. Development practices should include clear documentation of the development process and guidelines for using source control, including branching, pull request\/code reviews, deployment\/release procedures, and possible GitOps processes. Code review consistency can be supported with a documented code review checklist.<\/p>\n<p>Tooling and support processes play a crucial part in enabling agility in a security-enabled development lifecycle. The verification of secure implementation involves ensuring software composition analysis, including dependency analysis and static analysis tooling, as an integral part of development. The tooling may vary from IDE (Integrated Development Environment)-based tooling to (semi-)automatic tooling that relies on process automation within the CI\/CD pipeline. It\u2019s important to note that having the tooling in place is not enough to support secure development; the project must also have a documented and functioning process to support remediation of possible findings from the analyses.<\/p>\n<\/div><div class=\"vc_custom_heading_wrap\"><div class=\"heading-text el-text\" ><h2 class=\"h4 text-accent-color\" ><span><strong>Testing and verification<\/strong><\/span><\/h2><\/div><div class=\"clear\"><\/div><\/div><div class=\"uncode_text_column\" ><p>Testing and verification\u2014in DevOps, often called the \u201cverify\u201d phase\u2014run alongside the implementation phase. From a security point of view, continued static analysis should be standard during testing and verification. In the past, when security considerations weren\u2019t necessarily integrated into the development lifecycle, security testing typically took place shortly before version release. There was often a hurry to find security testers just a few weeks prior to scheduled testing. But leaving testing to the last means the release date might be compromised if a critical flaw is found. In today&#8217;s fast-paced world, postponing testing until the final stages of a major release is impractical. Some projects might not even involve any \u201cmajor releases,\u201d as small pieces of implemented functionalities are constantly and automatically deployed directly into production. The suggestion here is to incorporate a \u201ctest as you go\u201d mentality, so security testing is built into the development cycle.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"vc_row row-internal row-container\"><div class=\"row col-half-gutter row-child\"><div class=\"wpb_row row-inner\"><div class=\"wpb_column pos-top pos-center align_left column_child col-lg-6 single-internal-gutter\"><div class=\"uncol style-light\" ><div class=\"uncoltable\"><div class=\"uncell no-block-padding\" ><div class=\"uncont\" ><div class=\"uncode-single-media  text-left\"><div class=\"single-wrapper\" style=\"max-width: 400px;\"><div class=\"tmb tmb-light  tmb-media-first tmb-media-last tmb-content-overlay tmb-no-bg\"><div class=\"t-inside\"><div class=\"t-entry-visual\"><div class=\"t-entry-visual-tc\"><div class=\"uncode-single-media-wrapper\"><img decoding=\"async\" class=\"wp-image-111227\" src=\"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/12\/PART2-pic-2.png\" width=\"466\" height=\"466\" alt=\"\" srcset=\"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/12\/PART2-pic-2.png 466w, https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/12\/PART2-pic-2-300x300.png 300w, https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/12\/PART2-pic-2-150x150.png 150w, https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/12\/PART2-pic-2-350x350.png 350w, https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/12\/PART2-pic-2-348x348.png 348w\" sizes=\"(max-width: 466px) 100vw, 466px\" \/><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"wpb_column pos-top pos-center align_left column_child col-lg-6 single-internal-gutter\"><div class=\"uncol style-light\" ><div class=\"uncoltable\"><div class=\"uncell no-block-padding\" ><div class=\"uncont\" ><div class=\"uncode_text_column\" ><p>During this phase, dynamic security testing is also conducted on the implemented deliverable, with the depth and scope of the testing scaled to the implemented functionality. In a security-oriented development team, the work unit cycle may include dynamic security testing of functionality side by side with peer review or the like. Do not mistake this for a full-fledged technical security test. It is not. A valid security audit should also be performed on the fully integrated system to ensure a cross-cut view of system security.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"vc_row row-internal row-container\"><div class=\"row row-child\"><div class=\"wpb_row row-inner\"><div class=\"wpb_column pos-top pos-center align_left column_child col-lg-12 single-internal-gutter\"><div class=\"uncol style-light\" ><div class=\"uncoltable\"><div class=\"uncell no-block-padding\" ><div class=\"uncont\" ><div class=\"uncode_text_column\" ><p><strong>In Part 3 <\/strong>we&#8217;ll dive into the release and maintenance phases.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"divider-wrapper\"  >\n    <hr class=\"separator-no-padding\"  \/>\n<\/div>\n<div class=\"vc_row row-internal row-container\"><div class=\"row row-child\"><div class=\"wpb_row row-inner\"><div class=\"wpb_column pos-top pos-center align_left column_child col-lg-2 single-internal-gutter\"><div class=\"uncol style-light\" ><div class=\"uncoltable\"><div class=\"uncell no-block-padding\" ><div class=\"uncont\" ><div class=\"uncode-single-media  text-left\"><div class=\"single-wrapper\" style=\"max-width: 150px;\"><div class=\"tmb tmb-light  tmb-media-first tmb-media-last tmb-content-overlay tmb-no-bg\"><div class=\"t-inside\"><div class=\"t-entry-visual\"><div class=\"t-entry-visual-tc\"><div class=\"uncode-single-media-wrapper\"><img decoding=\"async\" class=\"wp-image-111026\" src=\"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/11\/Mannonen_image001.png\" width=\"128\" height=\"188\" alt=\"\"><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"wpb_column pos-middle pos-center align_left column_child col-lg-10 single-internal-gutter\"><div class=\"uncol style-light\" ><div class=\"uncoltable\"><div class=\"uncell no-block-padding\" ><div class=\"uncont\" ><div class=\"uncode_text_column\" ><p><em><strong>Jari Mannonen<\/strong> is working as the Head of Cyber Security Development at Piisku. He has over 20 years of consultancy experience in business-critical information technology and application architecture, with a focus on cybersecurity.<\/em><\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"divider-wrapper\"  >\n    <hr class=\"separator-no-padding\"  \/>\n<\/div>\n<div class=\"vc_row row-internal row-container\"><div class=\"row row-child\"><div class=\"wpb_row row-inner\"><div class=\"wpb_column pos-top pos-center align_left column_child col-lg-12 single-internal-gutter\"><div class=\"uncol style-light\" ><div class=\"uncoltable\"><div class=\"uncell no-block-padding\" ><div class=\"uncont\" ><div class=\"uncode_text_column\" ><p><em>In this article, we have used AI-generated images.<\/em><\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><script id=\"script-row-unique-0\" data-row=\"script-row-unique-0\" type=\"text\/javascript\" class=\"vc_controls\">UNCODE.initRow(document.getElementById(\"row-unique-0\"));<\/script><\/div><\/div><\/div>\n<\/div>","protected":false},"author":7,"featured_media":111022,"template":"","class_list":["post-111344","blog_posts","type-blog_posts","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PART 1 \u2013 Navigating security challenges: The Secure Software Development Lifecycle meets DevOps - Piisku<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dev.piisku.fi\/en\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PART 1 \u2013 Navigating security challenges: The Secure Software Development Lifecycle meets DevOps - Piisku\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dev.piisku.fi\/en\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops\/\" \/>\n<meta property=\"og:site_name\" content=\"Piisku\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-27T11:48:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/11\/Picture-1-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops\",\"url\":\"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops\",\"name\":\"PART 1 \u2013 Navigating security challenges: The Secure Software Development Lifecycle meets DevOps - Piisku\",\"isPartOf\":{\"@id\":\"https:\/\/www.dev.piisku.fi\/fi\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/11\/Picture-1-1.jpg\",\"datePublished\":\"2024-11-20T09:12:20+00:00\",\"dateModified\":\"2025-05-27T11:48:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops#primaryimage\",\"url\":\"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/11\/Picture-1-1.jpg\",\"contentUrl\":\"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/11\/Picture-1-1.jpg\",\"width\":1000,\"height\":1000,\"caption\":\"AI-generated\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.dev.piisku.fi\/fi\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PART 1 \u2013 Navigating security challenges: The Secure Software Development Lifecycle meets DevOps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dev.piisku.fi\/fi\/#website\",\"url\":\"https:\/\/www.dev.piisku.fi\/fi\/\",\"name\":\"Piisku\",\"description\":\"Building withstanding quality technology solutions for enhanced productivity, quality, and security.\",\"publisher\":{\"@id\":\"https:\/\/www.dev.piisku.fi\/fi\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dev.piisku.fi\/fi\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.dev.piisku.fi\/fi\/#organization\",\"name\":\"Piisku Ltd\",\"url\":\"https:\/\/www.dev.piisku.fi\/fi\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dev.piisku.fi\/fi\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2022\/09\/piisku-logotiedostot-01.svg\",\"contentUrl\":\"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2022\/09\/piisku-logotiedostot-01.svg\",\"width\":1,\"height\":1,\"caption\":\"Piisku Ltd\"},\"image\":{\"@id\":\"https:\/\/www.dev.piisku.fi\/fi\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/piisku\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PART 1 \u2013 Navigating security challenges: The Secure Software Development Lifecycle meets DevOps - Piisku","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dev.piisku.fi\/en\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops\/","og_locale":"en_US","og_type":"article","og_title":"PART 1 \u2013 Navigating security challenges: The Secure Software Development Lifecycle meets DevOps - Piisku","og_url":"https:\/\/www.dev.piisku.fi\/en\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops\/","og_site_name":"Piisku","article_modified_time":"2025-05-27T11:48:34+00:00","og_image":[{"width":1000,"height":1000,"url":"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/11\/Picture-1-1.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops","url":"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops","name":"PART 1 \u2013 Navigating security challenges: The Secure Software Development Lifecycle meets DevOps - Piisku","isPartOf":{"@id":"https:\/\/www.dev.piisku.fi\/fi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops#primaryimage"},"image":{"@id":"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops#primaryimage"},"thumbnailUrl":"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/11\/Picture-1-1.jpg","datePublished":"2024-11-20T09:12:20+00:00","dateModified":"2025-05-27T11:48:34+00:00","breadcrumb":{"@id":"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops#primaryimage","url":"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/11\/Picture-1-1.jpg","contentUrl":"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2024\/11\/Picture-1-1.jpg","width":1000,"height":1000,"caption":"AI-generated"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dev.piisku.fi\/blog_posts\/part-1-navigating-security-challenges-the-secure-software-development-lifecycle-meets-devops#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dev.piisku.fi\/fi\/"},{"@type":"ListItem","position":2,"name":"PART 1 \u2013 Navigating security challenges: The Secure Software Development Lifecycle meets DevOps"}]},{"@type":"WebSite","@id":"https:\/\/www.dev.piisku.fi\/fi\/#website","url":"https:\/\/www.dev.piisku.fi\/fi\/","name":"Piisku","description":"Building withstanding quality technology solutions for enhanced productivity, quality, and security.","publisher":{"@id":"https:\/\/www.dev.piisku.fi\/fi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dev.piisku.fi\/fi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dev.piisku.fi\/fi\/#organization","name":"Piisku Ltd","url":"https:\/\/www.dev.piisku.fi\/fi\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dev.piisku.fi\/fi\/#\/schema\/logo\/image\/","url":"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2022\/09\/piisku-logotiedostot-01.svg","contentUrl":"https:\/\/www.dev.piisku.fi\/wp-content\/uploads\/2022\/09\/piisku-logotiedostot-01.svg","width":1,"height":1,"caption":"Piisku Ltd"},"image":{"@id":"https:\/\/www.dev.piisku.fi\/fi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/piisku\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.dev.piisku.fi\/en\/wp-json\/wp\/v2\/blog_posts\/111344","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dev.piisku.fi\/en\/wp-json\/wp\/v2\/blog_posts"}],"about":[{"href":"https:\/\/www.dev.piisku.fi\/en\/wp-json\/wp\/v2\/types\/blog_posts"}],"author":[{"embeddable":true,"href":"https:\/\/www.dev.piisku.fi\/en\/wp-json\/wp\/v2\/users\/7"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dev.piisku.fi\/en\/wp-json\/wp\/v2\/media\/111022"}],"wp:attachment":[{"href":"https:\/\/www.dev.piisku.fi\/en\/wp-json\/wp\/v2\/media?parent=111344"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}