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