{"id":75,"date":"2014-11-18T16:34:44","date_gmt":"2014-11-18T16:34:44","guid":{"rendered":"https:\/\/softwaresecurityconsulting.com\/?p=75"},"modified":"2014-11-18T16:34:44","modified_gmt":"2014-11-18T16:34:44","slug":"start-assessment","status":"publish","type":"post","link":"https:\/\/softwaresecurityconsulting.com\/?p=75","title":{"rendered":"How to start an assessment."},"content":{"rendered":"<p>An Application Security Assessment is started by examining the security practices of a solution\u00a0in its SDLC ( Software Development Lifecycle ). The key areas are examined are broken down into 4 domains of Governance, Intelligence, SSDL Touch-points, and Deployment. In those domains Strategy &amp; Metrics, Compliance &amp; Policy, Training, Attack Models, Security Features &amp; Design, Standards &amp; Requirements, Architecture Analysis, Code Review, Security Testing, Penetration Testing, Software Environment, and Configuration Management &amp; Vulnerability Management are examined.<\/p>\n<p>Specifically a program is examined to ensure that there are at least Security minimums in key areas that are in place (these are my view on minimums): Training, Architectural Analysis, Code Review, Penetration Testing, and Privacy. These are the standard starting point for any assessment in Application Security.<\/p>\n<p>Within the areas listed above they are looked at to understand the maturity of each. It is important to look at how a security activity is offered, performed, and any external effect it has on the lifecycle. No security practice is an island unto itself. They all work holistically in a SDLC lifecycle eco-system.<\/p>\n<p>An overview into the core security practices and maturity:<\/p>\n<p>Training maturity- Software Security training and awareness promote a culture of software security throughout the organization.<\/p>\n<ul>\n<li>Level 1 &#8211; Does the organization make customized, role-based training available to their employees?<\/li>\n<li>Level 2 &#8211; Does the organization create satellite groups within development teams that promote security practices?<\/li>\n<li>Level 3 &#8211; Is the security culture promoted externally with vendors and outsourced contractors? Is recognition given and advancement provided in the training curriculum?<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Architectural Analysis maturity &#8211; Perform a security feature review and get started with Architectural Analysis.<\/p>\n<ul>\n<li>Level 1 &#8211; Are risk driven architectural reviews done? Does the organization provide a lightweight risk classification?<\/li>\n<li>Level 2 &#8211; Is there an architectural analysis process based on common architectural descriptions and attack models?<\/li>\n<li>Level 3 &#8211; Do software architects lead efforts across the organization to lead analysis efforts and have standard secure architectural patterns they use and provide?<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Code Review maturity &#8211; Use manual code analysis review along-side automation. Use automated tools to drive efficiency and consistency .<\/p>\n<ul>\n<li>Level 1 &#8211; Is manual or automated code review being done with centralized reporting? Is code review mandatory for all software projects? Are findings folded back into\u00a0 strategy and training?<\/li>\n<li>Level 2 &#8211; Do automated tools and tool mentors enforce coding standard behaviors in development teams?<\/li>\n<li>Level 3 &#8211; Has an automated code review factory been built to find bugs in the entire code-base?<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Penetration Testing maturity &#8211; Use Penetration Testers to find problems.<\/p>\n<ul>\n<li>Level 1 &#8211; Are internal or external penetration testers being used? Are the deficiencies being discovered and addressed? Is everyone is being made aware of progress?<\/li>\n<li>Level 2 &#8211; Are periodic penetration tests being performed for all applications?<\/li>\n<li>Level 3 &#8211; Is penetration testing knowledge being kept in pace with attack advances of attackers?<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Privacy &#8211; Identify PII obligations and promote privacy.<\/p>\n<ul>\n<li>Level 1 &#8211; Are statutory, regulatory, and contractual compliance drivers understood and available to all lifecycle stakeholders?<\/li>\n<li>Level 2 &#8211; Do SLAs address the software security properties of vendor software deliverables? Is this backed by executive support? Do risk managers take responsibility for software risk?<\/li>\n<li>Level 3 &#8211; Does data gathered from attacks, threats, defects, and operational issues drive policy? Are policies evolving? Do the demands upon the vendors change because of this?<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Outside the core security practices other security practices that are examined are one\u2019s that are common across the Industry.<\/p>\n<p>&nbsp;<\/p>\n<p>Security &amp; Metrics &#8211;\u00a0What SDLC is being used and what gates are enforced?<\/p>\n<ul>\n<li>Level 1 &#8211; Does everyone who is involved with the software lifecycle understand the written organization security objectives? Is there demonstrated support from executive level on these efforts?<\/li>\n<li>Level 2 &#8211; Are there individuals that are responsible for the successful performance of secure lifecycle activities? Are activities that lead to unacceptable risk removed and replaced?<\/li>\n<li>Level 3 &#8211; Is risk-based portfolio being managed?<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Attack Models -Create a data classification scheme and inventory. Prioritize applications by data consumed and data manipulated.<\/p>\n<ul>\n<li>Level 1 &#8211; Is there a knowledge-base built up around attacks and attack data? This includes attacks that have already occurred and attacks that are of concern. Is there a data classification scheme that is used to inventory and prioritize applications?<\/li>\n<li>Level 2 &#8211; Does a security team offer assistance on attackers and relevant attacks?<\/li>\n<li>Level 3 &#8211; Is attack research being done? Is this knowledge being provided to auditors?<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Security Features &amp; Design\u00a0&#8211;\u00a0Build and track a common library of security features for re-use.<\/p>\n<ul>\n<li>Level 1 &#8211; Are architects and developers being provided guidance around security features? Are security features and secure architecture published?<\/li>\n<li>Level 2 &#8211; Are secure-by-design frameworks being provided to lifecycle teams?<\/li>\n<li>Level 3 -Are defined security features being used across the organization? Do teams understand design choices?<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Standards &amp; Requirements &#8211; Create security standards.<\/p>\n<ul>\n<li>Level 1 &#8211; Is security being kept up-to-date and made available to everyone in the organization? Are these easily accessible. Artifacts included as a minimum are: security standards, coding standards, and compliance requirements.<\/li>\n<li>Level 2 &#8211; Are formally approved standards communicated internally and to vendors? Are SLAs being enforced? Is usage of open source software understood?<\/li>\n<li>Level 3 &#8211; Is open source software being held to the same standard as the organization?<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Security Testing &#8211; Drive tests with security requirements and security features.<\/p>\n<ul>\n<li>Level 1 &#8211; Does QA perform functional security testing?<\/li>\n<li>Level 2 &#8211; Has QA included black-box testing tools in their processes?<\/li>\n<li>Level 3 &#8211; Does QA include security testing in an automated regression suites? Does security testing follow an attackers perspective?<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Software Environment &#8211; Host and network security basics are in place.<\/p>\n<ul>\n<li>Level 1 &#8211; Operation group ensures that required security controls are in place and the integrity of these controls are kept in tacked? Is monitoring used that includes application input?<\/li>\n<li>Level 2 &#8211; Are application installation and maintenance guides created for operations teams? Is code signing being used?<\/li>\n<li>Level 3 &#8211; Is client-side code protected when leaving the organization? Is software behavior being monitored?<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Configuration Management &amp; Vulnerability Management &#8211; Use Operations data to change development behavior.<\/p>\n<ul>\n<li>Level 1 &#8211; Do results from CM and VM drive development behavior? Is there an Incident Response program in place?<\/li>\n<li>Level 2 &#8211; Is there emergency response available during application attacks?<\/li>\n<li>Level 3 &#8211; Is there a tight response loop between operations and development of deficiencies found in ops and are enhancements made in the application that eliminate root-cause?<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>An Application Security Assessment is started by examining the security practices of a solution&nbsp;in its SDLC ( Software Development Lifecycle ). The key areas are examined are broken down into 4 domains of Governance, Intelligence, SSDL Touch-points, and Deployment. In those domains Strategy &amp; Metrics, Compliance &amp; Policy, Training, Attack Models, Security Features &amp; Design, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-75","post","type-post","status-publish","format-standard","hentry","category-software-security"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.7.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to start an assessment. - Software Security Consulting<\/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:\/\/softwaresecurityconsulting.com\/?p=75\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to start an assessment. - Software Security Consulting\" \/>\n<meta property=\"og:description\" content=\"An Application Security Assessment is started by examining the security practices of a solution&nbsp;in its SDLC ( Software Development Lifecycle ). The key areas are examined are broken down into 4 domains of Governance, Intelligence, SSDL Touch-points, and Deployment. In those domains Strategy &amp; Metrics, Compliance &amp; Policy, Training, Attack Models, Security Features &amp; Design, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/softwaresecurityconsulting.com\/?p=75\" \/>\n<meta property=\"og:site_name\" content=\"Software Security Consulting\" \/>\n<meta property=\"article:published_time\" content=\"2014-11-18T16:34:44+00:00\" \/>\n<meta name=\"author\" content=\"lucidmonk\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"lucidmonk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/softwaresecurityconsulting.com\/?p=75\",\"url\":\"https:\/\/softwaresecurityconsulting.com\/?p=75\",\"name\":\"How to start an assessment. - Software Security Consulting\",\"isPartOf\":{\"@id\":\"https:\/\/softwaresecurityconsulting.com\/#website\"},\"datePublished\":\"2014-11-18T16:34:44+00:00\",\"dateModified\":\"2014-11-18T16:34:44+00:00\",\"author\":{\"@id\":\"https:\/\/softwaresecurityconsulting.com\/#\/schema\/person\/0dfdc11a3e348fb376fa2e2c5d0f10b9\"},\"breadcrumb\":{\"@id\":\"https:\/\/softwaresecurityconsulting.com\/?p=75#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/softwaresecurityconsulting.com\/?p=75\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/softwaresecurityconsulting.com\/?p=75#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/softwaresecurityconsulting.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to start an assessment.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/softwaresecurityconsulting.com\/#website\",\"url\":\"https:\/\/softwaresecurityconsulting.com\/\",\"name\":\"Software Security Consulting\",\"description\":\"It&#039;s better to learn wisdom late, than never learn it at all.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/softwaresecurityconsulting.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/softwaresecurityconsulting.com\/#\/schema\/person\/0dfdc11a3e348fb376fa2e2c5d0f10b9\",\"name\":\"lucidmonk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwaresecurityconsulting.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1d28454298361d57be31f2e919e9bd3c21f8686aa0651cefb33fbdcd403ff177?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1d28454298361d57be31f2e919e9bd3c21f8686aa0651cefb33fbdcd403ff177?s=96&d=mm&r=g\",\"caption\":\"lucidmonk\"},\"url\":\"https:\/\/softwaresecurityconsulting.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to start an assessment. - Software Security Consulting","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:\/\/softwaresecurityconsulting.com\/?p=75","og_locale":"en_US","og_type":"article","og_title":"How to start an assessment. - Software Security Consulting","og_description":"An Application Security Assessment is started by examining the security practices of a solution&nbsp;in its SDLC ( Software Development Lifecycle ). The key areas are examined are broken down into 4 domains of Governance, Intelligence, SSDL Touch-points, and Deployment. In those domains Strategy &amp; Metrics, Compliance &amp; Policy, Training, Attack Models, Security Features &amp; Design, [&hellip;]","og_url":"https:\/\/softwaresecurityconsulting.com\/?p=75","og_site_name":"Software Security Consulting","article_published_time":"2014-11-18T16:34:44+00:00","author":"lucidmonk","twitter_misc":{"Written by":"lucidmonk","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/softwaresecurityconsulting.com\/?p=75","url":"https:\/\/softwaresecurityconsulting.com\/?p=75","name":"How to start an assessment. - Software Security Consulting","isPartOf":{"@id":"https:\/\/softwaresecurityconsulting.com\/#website"},"datePublished":"2014-11-18T16:34:44+00:00","dateModified":"2014-11-18T16:34:44+00:00","author":{"@id":"https:\/\/softwaresecurityconsulting.com\/#\/schema\/person\/0dfdc11a3e348fb376fa2e2c5d0f10b9"},"breadcrumb":{"@id":"https:\/\/softwaresecurityconsulting.com\/?p=75#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/softwaresecurityconsulting.com\/?p=75"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/softwaresecurityconsulting.com\/?p=75#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/softwaresecurityconsulting.com\/"},{"@type":"ListItem","position":2,"name":"How to start an assessment."}]},{"@type":"WebSite","@id":"https:\/\/softwaresecurityconsulting.com\/#website","url":"https:\/\/softwaresecurityconsulting.com\/","name":"Software Security Consulting","description":"It&#039;s better to learn wisdom late, than never learn it at all.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/softwaresecurityconsulting.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/softwaresecurityconsulting.com\/#\/schema\/person\/0dfdc11a3e348fb376fa2e2c5d0f10b9","name":"lucidmonk","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwaresecurityconsulting.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1d28454298361d57be31f2e919e9bd3c21f8686aa0651cefb33fbdcd403ff177?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1d28454298361d57be31f2e919e9bd3c21f8686aa0651cefb33fbdcd403ff177?s=96&d=mm&r=g","caption":"lucidmonk"},"url":"https:\/\/softwaresecurityconsulting.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/softwaresecurityconsulting.com\/index.php?rest_route=\/wp\/v2\/posts\/75","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/softwaresecurityconsulting.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softwaresecurityconsulting.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softwaresecurityconsulting.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/softwaresecurityconsulting.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=75"}],"version-history":[{"count":2,"href":"https:\/\/softwaresecurityconsulting.com\/index.php?rest_route=\/wp\/v2\/posts\/75\/revisions"}],"predecessor-version":[{"id":77,"href":"https:\/\/softwaresecurityconsulting.com\/index.php?rest_route=\/wp\/v2\/posts\/75\/revisions\/77"}],"wp:attachment":[{"href":"https:\/\/softwaresecurityconsulting.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=75"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwaresecurityconsulting.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=75"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwaresecurityconsulting.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=75"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}