CSS321_IP2
docx
keyboard_arrow_up
School
Colorado Technical University *
*We aren’t endorsed by this school
Course
321
Subject
Information Systems
Date
Dec 6, 2023
Type
docx
Pages
13
Uploaded by EarlKoalaPerson755
CSS321-2304B-01, Software Assurance
Individual Project – Week 1
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
TBD
........................................................................................................................................................
10
Unit 4– Static Analysis
...............................................................................................................................
11
TBD
........................................................................................................................................................
11
Unit 5– Software Assurance Policies and Processes
..................................................................................
12
References
.................................................................................................................................................
13
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 involves 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
TBD
TBD
Unit 4– Static Analysis
TBD
TBD
Unit 5– Software Assurance Policies and Processes
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
References
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/