CSS321_IP5

docx

School

Colorado Technical University *

*We aren’t endorsed by this school

Course

321

Subject

Information Systems

Date

Dec 6, 2023

Type

docx

Pages

17

Uploaded by EarlKoalaPerson755

Report
CSS321-2304B-01, Software Assurance Individual Project – Week 5
Table of Contents Unit 1 – Project Outline ............................................................................................................................... 3 Company Description .............................................................................................................................. 3 Applications Provided .............................................................................................................................. 3 Software Development Methods ............................................................................................................. 3 Unit 1 – Security in the Development Life Cycle .......................................................................................... 5 Software Development Lifecycle .............................................................................................................. 5 Security Development Lifecycle ............................................................................................................... 5 Unit 2 – Software Assurance Techniques ..................................................................................................... 7 Analysis .................................................................................................................................................... 7 Guidelines ................................................................................................................................................ 8 Unit 3 – Security in Nontraditional Development Models ......................................................................... 10 Nontraditional Development Model ...................................................................................................... 10 Major Steps in Rapid Application Development .................................................................................... 10 Security Risks ......................................................................................................................................... 11 Unit 4– Security Static Analysis .................................................................................................................. 12 Application Design ................................................................................................................................. 12 Sample Vulnerability Code ..................................................................................................................... 12 Security Analysis Tools ........................................................................................................................... 13 Unit 5– Software Assurance Policies and Processes .................................................................................. 15 Software Assurance Training .................................................................................................................. 15 Software Assurance Metrics .................................................................................................................. 15 Roles and Responsibilities ...................................................................................................................... 16 References ................................................................................................................................................. 17
Unit 1 – Project Outline Company Description Amazon Web Services, a subsidiary of Amazon, holds 34% of the current market when it comes to cloud computing. AWS was launch 17 years ago in 2006, and the team that designed it was called S3. S3 had a huge challenge Infront of them and had to design a service that would provide storage for developers. They had a goal in mind that one they simply put as, “The system should be made as simple as possible (but no simpler)." What they landed on was a completely new system that used "objects," "buckets," and "keys" to offer secure internet storage that developers could use and afford at $0.15 per gigabyte of storage per month (the price for what is now called S3 Standard storage has since dropped to about $0.02 per gig per month)[ CITATION Ama21 \l 1033 ]. Applications Provided When it comes to cloud computing AWS offers over 200 fully featured services to customers globally. Some of the top AWS services include Amazon EC2, Amazon RDS, Amazon S3, Amazon Lambda, and Amazon Cognito[ CITATION Tra23 \l 1033 ]. The services offer things from virtualization, database servers, to backup storage servers. AWS even offers a service called Amazon Workforce, where users can login to a virtual environment and collaborate on a project, or even work on their own projects not just from an APP on their desktop, but also from their phone, or even by simply logging into a website to gain access. Software Development Methods AWS loves decomposition, automation, and organizing developments around what customers want when they are developing software. They focus on a DevSecOps methodology, DevSecOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes[ CITATION Sta \l 1033 ]. This also allows them to combine certain teams that normally worked separate and speed up the process to deliver quality software.
Unit 1 – Security in the Development Life Cycle Software Development Lifecycle AWS uses the methodology of DevSecOps when it comes to SDLC, and they do it in a unique way. AWS and Amazon implement something called the “Two-Pizza Team”. The reason they do this is because small teams have minimized bureaucracy and maximized time to focus on innovating for customers, which in turn raises employee satisfaction, mitigate the Ringelmann Effect (the tendency for individual productivity to decrease in larger groups), allows teams to run fast, experiment early and frequently, and apply learnings rapidly to constantly drive value to their customers, helps lower the costs of failure – your learnings come quicker and at lower stakes than you may have otherwise faced at later stages of development[ CITATION Sta23 \l 1033 ]. These small teams are not just the developers, they are also the operators of the front-end equipment, and the team also handles security issues during and after the development of a service. Another great concept to these teams is that they have what Amazon calls single-threaded ownership, which the teams are only focused on that one service and nothing else. This is great for customers because if a problem arises and customer support can’t handle it, you as the customer know that when the ticket gets pushed higher someone who developed the service is going to figure the solution. Security Development Lifecycle With AWS using a DevSecOps methodology, security is integrated during the software development lifecycle. The Two-Pizza Teams that AWS forms handle the initial risk assessment when planning a project, and they are the ones who figure out fixes as vulnerabilities arise from customers or testing. Teams are held accountable when it comes to security. At Amazon if a security vulnerability is found or the team is made aware of it the CISO and CEO need to be made aware of it as soon as possible as well.
AWS allow makes the teams follow principles and tenants with security issues. They are ownership, insist on the highest standards, dive deep, and stay simple. With ownership the team is the owner of the product, and it is their responsibility to fix the security issue. Insist on the highest standards is that the leaders of the teams hold their teams to the highest standard and don’t let poor quality products be released. Dive deep is where the teams need to dive to the deepest part of service to locate and fix vulnerabilities, and to make sure the service is free from other vulnerabilities. Stay simple is a way for Amazon to have teams write not simple code but use code that is needed to make the service a success. AWS integrates security into development by a three-pillar system. They are policy, process, and tools. With policies these are given to teams to give them the guidelines to follow as they develop the service. These include security polices, security training, data encryption standards, PII and CII handling standards, and compliance requirements[ CITATION Col19 \l 1033 ]. Security processes include security reviews, penetration testing, and formal verification. Security reviews are started from the early stages in development and periodically after that. Throughout the lifecycle penetration testing is done to locate any possible vulnerabilities there may be. Formal verification is something that is done by an Automated Reasoning Group, and they verify the code for any possible errors that may need to be fixed. The final pillar is tools and AWS offers many tools to developers to help with security. Thes include toolkits with already provide things like TLS/SSL, Access Management, AWS Config, and others.
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
Unit 2 – Software Assurance Techniques Analysis The great thing about AWS is that they offer so many applications that not only service small home networks but can handle enterprise level needs. One of these applications is Amazon Aurora which is a relational database service that combines the speed and availability of high-end commercial databases with the simplicity and cost-effectiveness of open-source databases. Aurora is fully compatible with MySQL and PostgreSQL, allowing existing applications and tools to run without requiring modification[ CITATION AWS23 \l 1033 ]. One risk you can run into while using this application is SQL injection. To mitigate this from happening developers using this to create databases should use prepared statements and stay away from dynamic queries. Another risk that threatens this database is unnecessary access privileges. To fix this the developer of the database needs to set privileges according to each user and what they are allowed to do in the database. This can also mitigate from an attacker gaining access from a user who should have read only privileges. Amazon Workspaces is a great application AWS offers. It can be accessed in many ways from an application on your desktop to even an application on your mobile device. It is a virtual desktop that supports Windows, Linux, and Ubuntu. Risks that can cause security issues with this can be from the end user like unsecure internet connections, or even virus and malware attacks. If a user connects to a to the virtual desktop from an untrusted access point it can allow an attacker access into that virtual environment and wreak havoc. Companies can mitigate this by supplying a VPN or requiring the user to install a trusted VPN to secure their connection. If the user is accessing an email client from within the virtual environment and they open or click a malicious email, they can cause that application to become corrupt. The company should have a separate email client accessed outside Amazon Workspace, and
security training should be held periodically to show what signs employees should be looking for in malicious emails. Amazon Elastic Compute Cloud (Amazon EC2) offers the broadest and deepest compute platform, with over 700 instances and choice of the latest processor, storage, networking, operating system, and purchase model to help you best match the needs of your workload[ CITATION AWS231 \l 1033 ]. This application gives you all the basics to start running on a cloud based virtual environment. This application faces security risks like unsecured network connection and unauthorized access. With any application where the user is accessing an environment from outside the companies network there is the risk of them using an unsecure network and can allow attackers access to implement deeper attacks. This can be mitigated by using a trusted VPN that the company supplies or that the user is required to download. Unauthorized access can come from a user leaving the computer with the application still signed in or it could even be low security on sign processes. To fix this companies should instill multi-authentication principles and configure the application to time out and sign out after a certain amount of idle time. Guidelines With AWS using many different development teams for their products and giving them ownership over said product taking pride in security is a must. Attacks can come at any time and attackers look for the smallest weakness to take advantage of. So, when developing a product these guidelines should be taken into consideration: o Training: Developers should receive training on a scheduled basis not just on security and what threats to look out for, but also on good software development techniques. o Conduct Regular Security Checks: Leads of development teams should conduct random checks on vulnerabilities in the software code itself and any vulnerabilities that may be on the network.
If the environment is a container and no outside access should be allowed, then periodic Penetration Testing should be performed for an outside source. o Secure Coding: Being that software is use by our customers to store or even create data, the software’s code should be written with prepared statements. The code should also be check before moving to the next stage of development for vulnerabilities and if they are found fix immediately. o Post release: issues found after the release of the software should be handled in a timely manner. If the issues involve security, fix to the known vulnerability or vulnerabilities should be found and released to the customers as soon as possible.
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
Unit 3 – Security in Nontraditional Development Models Nontraditional Development Model For AWS the nontraditional development model that would work great for them is Rapid Application Development (RAD). Rapid application development (RAD) is a methodology that focuses on - as the name indicates - developing rapidly through frequent iterations and continuous feedback. As the demand for new software and features skyrockets in our modern tech era, RAD has become an increasingly popular development method in business globally[ CITATION Chr20 \l 1033 ]. RAD is like agile in a lot of ways. AWS already uses agile in their development cycle so integrating RAD wouldn’t be too hard. RAD works well with teams of small sizes and AWS sets the development teams in small groups who have take charge of the whole process to develop their product. Major Steps in Rapid Application Development RAD has 4 which are define project requirements, prototype, rapid construction, and feedback, and finalize product. During define project requirements the projects goals and budget are set, and the customers vision is also heard. These requirements are not set in stone, they can be changed at anytime during the development cycle if needed. Once the team gets the requirements taken care of, the prototypes can be built. Multiple prototypes are built so tat during the next step they can best tested and get feedback on which one fits the customers needs the best. Rapid construction is where application coding, system testing, and unit integration occurs, converting prototype and beta systems into a working model. This phase may also be repeated as required, supporting new components and alterations. Generally, teams use low-code or rapid application development tools to quickly progress the application[ CITATION Chr20 \l 1033 ]. Through this step developers can find problems with the product before it is fully released to the public. During the final phase the software is finished and released to the customers.
Security Risks RAD can bring some security risks if the developers try to speed through and put speed over security in the development cycle. Some issues can be quality of code, security monitoring for the customer, and third-party security issues. When it comes to quality of code RAD can be low to no -code type of development and this can cause developers to use third parties for their code. This ties into third-party security issues. AWS needs to have their development teams look at both code they are writing and code they may use from a third-party for vulnerabilities. AWS should also require their teams to only use trusted third parties for code, and if the code they need is from a source not on the trusted list it needs to be thoroughly checked first before given the approval to use. Now when it comes to monitoring for security this is a risk to customers using a poorly designed product. If the product isn’t designed so that the user or the users company can detect unwanted access, then attackers could use a product without the user even knowing. This is a big deal for SaaS products. AWS should require developers to program in a monitoring system to alert users if unusual processes are running. They can do this with SaaS by alerting if there are multiple users accessing the same virtualized environment.
Unit 4– Security Static Analysis Application Design The application design for a product AWS uses is Amazon WorkSpaces. This product offers users a fully managed virtual desktop. A user can use existing network and equipment without having to spend anymore money on new infrastructure to deploy this virtual environment. It can be accessed from an icon on your desktop, a mobile application, or even though their web browser. A business could also use this product to setup a desktop and share it with the whole company or make separate desktop configurations depending on what its intended use is. [ CITATION AWS232 \l 1033 ] Sample Vulnerability Code The code bellow shows an example of a remote code execution vulnerability. WorkSpaces registers a custom URI when the desktop application is installed on a windows machine. When handling the URI, WorkSpaces fails to sanitize the parameters, which are then passed to the command line when authenticating access to WorkSpaces. The way the code is written an attacker can execute arbitrary commands, they could also gain access to Workspaces by using a valid registration code and the adding “-gpu-luancher” argument in the URI, specifying a command that CEF will execute[ CITATION Ion21 \l
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
1033 ]. An attacker can also use this vulnerability to can access to the host by configuring proxy settings, or even by keylogging usernames or passwords. The example bellow shows how the URI doesn’t sanitize various parameters and they can be seen such as username, Regcode, and host. [ CITATION Dav23 \l 1033 ] Security Analysis Tools Three security Analysis Tools that I found are Veracode SAST, Checkmarx SAST, and InsightAppSec. Veracode SAST is a tool that can be run automatically as code is being written and can alert when vulnerability arise throughout development. Checkmarx SAST is another tool that can be ran
in the background and alert when vulnerabilities appear, it can also give you suggestions to correct the vulnerability. InsightAppSec scans applications or web applications for vulnerabilities, this tool would be useful for end users to make sure the remote code execution vulnerability is not still a risk when using WorkSpaces.
Unit 5– Software Assurance Policies and Processes Software Assurance Training All AWS development teams will obtain certifications from AWS Training and Certification courses. Before a member of a development team can work on a project, they must attend the AWS Developer Learning Plan course. Once they complete the course, they will take the AWS Certified Developer - Associate certification exam. Every member of the development team will regularly take courses to keep them up to date on changes in the industry and maintain any required certifications required for their project. Software Assurance Metrics When it comes to software assurance metrics, AWS development teams will use process, product, and project metrics to monitor QA. The process metrics will help improve the process of the SLDC. The product metrics will help improve the quality of the product being delivered. Finally, the Project metrics will help measure the efficiency of the development team. Teams will us ethe follow metrics table: Sr # Steps to test metrics Example 1 Identify the key software testing processes to be measured Testing progress tracking process 2 In this Step, the tester uses the data as a baseline to define the metrics The number of test cases planned to be executed per day 3 Determination of the information to be followed, a frequency of tracking and the person responsible The actual test execution per day will be captured by the test manager at the end of the day 4 Effective calculation, management, and interpretation of the defined metrics The actual test cases executed per day 5 Identify the areas of improvement depending on the interpretation of defined metrics The Test Case execution falls below the goal set, we need to investigate the reason and suggest the improvement measures
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
[ CITATION Tho23 \l 1033 ] Roles and Responsibilities AWS teams are called “Two Pizza Teams” because they are made up of 3-5 developers. Each team will have the following at a minimum: Lead Developer – The lead developer will manage day to day tasks within the team. Verify the project is on schedule and conduct periodic audits on work being conduct by the team. Developers – Conducts daily task, meets time related goals to finish the project. No matter what position is being held every team member is responsible for security and reporting any issues or vulnerabilities that may arise. Also each team will take ownership of the project they are working on and even after it is released, the team that created it will fix any issues that may come up while the product is still being offered to customers.
References Arghire, I. (2021, September 22). VULNERABILITIESRemote Code Execution Vulnerability Found in AWS WorkSpaces . Retrieved from Security Week: https://www.securityweek.com/remote-code- execution-vulnerability-found-aws-workspaces/ Chien, C. (2020, February 04). What is Rapid Application Development (RAD)? Retrieved from CodeBots: https://codebots.com/app-development/what-is-rapid-application-development-rad Hamilton, T. (2023, October 14). Software Testing Metrics: What is, Types & Example . Retrieved from GURU99: https://www.guru99.com/software-testing-metrics-complete-tutorial.html House, T. (2023). Top 25 AWS Services List 2023 . Retrieved from All Services: https://allcode.com/top- aws-services/ MacCarthaigh, C. (2019, December 10). Amazon's approach to security during development . Retrieved from YouTube: https://www.youtube.com/watch?v=NeR7FhHqDGQ Staff. (2023, October 6). High-performing organization - the Amazon Two Pizza Team . Retrieved from AWS Executive Insights: https://aws.amazon.com/executive-insights/content/amazon-two-pizza- team/ Staff. (n.d.). What is DevOps? Retrieved from Amazon Web Services (AWS): https://aws.amazon.com/devops/what-is-devops/ Staff, A. (2021, March 17). The deceptively simple origins of AWS . Retrieved from About Amazon: https://www.aboutamazon.com/news/aws/the-deceptively-simple-origins-of-aws Staff, A. (2023, October 19). Amazon Aurora Features . Retrieved from AWS: https://aws.amazon.com/rds/aurora/features/ Staff, A. (2023, October 19). Amazon EC2 . Retrieved from AWS: https://aws.amazon.com/ec2/ Staff, A. (2023, October 28). Amazon WorkSpaces . Retrieved from AWS: https://aws.amazon.com/workspaces/all-inclusive/ Yesland, D. (2023, October 28). CVE-2021-38112: . Retrieved from Rhino Security Labs: https://rhinosecuritylabs.com/aws/cve-2021-38112-aws-workspaces-rce/