(Only need step 9&10 about 5 pages) Software Development Life Cycle For Data In the Cloud Computing environment

profileBobJones
Organizationstep17DRaftSam.docx

Organization

Workday Human Capital is a Human Resources (HR) company that is involved with housing large amounts of employee data throughout the United States. The hardware associated with storing all of the collected data and the accompanying maintenance is proving to be costly year after year. Workday Human Capital intends to drastically reduce the incurred costs from hosting data on physical hardware, increase the availability of data and reduce downtime associated with patching or upgrades. In order to reach the intended goals, Workday HR plans to move all of its HR data into the cloud. Amazon Web Services (AWS) is one of the most prominent cloud providers that offers several services to include Software as a Service or SaaS also referred to as Web-based software, on-demand software and hosted software. With SaaS, the cloud provider is responsible for maintaining several components to include data servers, storage, redundancy and availability.  

         AWS will provide Workday HR with reliable data integrity and confidentiality protections for data in transit that will be using applications in the cloud. The security team at AWS follows the SDLC methodology, also known as the systems development life cycle. This methodology is used to develop and implement the appropriate cloud architecture that will meet the company’s specific needs. The SDLC report will enumerate the different ways and methods that data is secured while hosted in the cloud and provide more information on the development plan as well as the cloud computing model.

Scope

The system development life cycle cannot be complete without incorporating security as an essential tenant. By implementing security controls, identifying and mitigating threats, disruptions can be minimized and therefore reduce the associated costs with unavailability of data to the company and its clients. With better security controls, the threat surface is reduced and attackers have less opportunities to exploit certain vulnerabilities. The SDLC is also a framework of structuring, planning and controlling the creation of an Information Technology system. Several frameworks exist in the SDLC realm, to include Waterfall, Rapid application development and Agile. The engineers at AWS will be following the XXXXX method to support the Workday Cloud migration.

The processes of security and software development life cycle are important for developing a cloud-based system. These processes will follow an incremental approach, which is executed by joining two or more logically related modules and testing their functionality. With the XXXX cycle approach, requirements are split into subgroups. The engineers at AWS recommend migrating information systems to a cloud computing environment for several reasons. First, availability allows the organization’s data to be available anywhere with internet connectivity. Second, scalability allows the organization’s information systems resources to be scaled up or down depending on the concurrent needs at the time. Lastly, moving to a cloud based service can allow Workday HR to focus on its business goals rather than the on premise equipment that require maintenance, time and extensive resources. 

rchitecture Overview - AWS Connected Vehicle Solution

When dealing with sensitive information, it is best to choose the private cloud model. It is also important to ensure that the cloud computing environment uses encryption for both data that is in transit and data at rest. With strong encryption protocols, Workday HR’s data can be protected against the many different cyber attacks aimed at compromising sensitive employee and client information. The AWS security engineers  will also assure interoperability, which allows unrestricted sharing of resources between dissimilar systems, both software and application, or between networks.

In addition to strong encryption protocols, a robust risk management strategy needs to be implemented to protect the data stored in the cloud environment. Performing periodic penetration testing can be a great element of the risk management framework, because it allows for an attacker’s perspective. The different types of pen testing can determine zero days vulnerabilities, alongside determining where those vulnerabilities and threats reside in the infrastructure. It is also important to develop a threat model for the company in order to help determine risk. Threat modeling is helpful because it identifies, analyzes and mitigates security risks to systems and applications. The security team will then classify all threats based on their severity and devise an action plan and best  practices to countermeasure and mitigate the attacks. 

Testing and Integration (Part 7)

The testing and integration phase ensures that all the different components of the software are performing as intended. Testing enables service providers to make objective assessments in regards to the degree of conformance required for the company based on specific specifications and requirements. The testing phase also ensures that all systems meet the required functionality to perform reliably, in a secure manner and be available when needed without interruption. Without the testing phase, user’s needs might not be met according to the policy implemented. Testing is a crucial part of the SDLC because it helps expose possible defects and faults that may be hiding within the software. Any undetected fault or defects are potential vulnerabilities that could affect the confidentiality, integrity, and availability of the organization’s network.

     Safeguarding organizational data is vital to its survival and ensures its continued success as a whole. Data that is within a network can be in several states. First, data can be at rest where it is stored on a device or backup medium such as hard drives, backup tapes and possibly mobile devices. The data at rest is quite literally inactive or not currently used or transmitted across the network. Second, Data in use is data that is not only stored on a hard drive or external media storage, but is also actively being processed by at least one application. Finally, data in motion or transit is data that is currently traveling across a network or is sitting in a computer’s RAM ready to be read, updated or processed. Data in transit must be protected against eavesdropping where an attacker or hacker can place himself in the middle between two legitimate parties trying to establish a communication.

It is also extremely important to maintain the CIA triad (confidentiality, integrity and availability) during all implementation phases so as to keep data secure. Each data state present a unique set of challenges that require different methodologies to ensure it is protected. For example, below are encryption types used for data at rest:

· Full Disk Encryption (FDE)

· Hardware Security Model (HSM)

· Encrypting File System (EFS)

· Database Encryption

· Virtual Encryption

· File and Folder Encryption (Green, Grahn, Hair, O'Leary, & Nelson, 2018).

For data in motion, Virtual Private Network (VPN), Wi-Fi Protected Access ((WPA/WPA2), Secured Socket Layer (SSL), and Secure Shell (SSH) are some methods that are used to ensure secure end to end movement. However, the most common protection method used for data in motion is SSL VPN. These methods help protect and mitigate against attacks that are similar in nature to Man-in-the-middle and packet sniffer attacks. Furthermore, unlike data at rest and data in motion, data in use is much harder to protect. The reason being since it is being used, it must usually be decrypted therefore leaving it exposed. This leaves the servers open for attacks while the data is being transmitted in an unencrypted state. 

Test Phases

According to LaTonya Pearson of Segue Technologies (2017), four levels of software testing exist. The levels include:unit tests, integration testing, system testing and acceptance testing. In addition to these four levels, regression testing can be accomplished at any time throughout the testing process. Unit Testing is typically focused on the specific units and components of the software to ensure that each aspect is operating smoothly and is fully functional. The main priority of this level of testing is to determine if the software is running and functioning as originally designed. An example of this type of testing would be white-box testing.

Integration Testing gives the opportunity to combine multiple units and test them as a group. This level of testing is primarily done to help isolate defects and faults in the programs functions. The importance of this step is vital because no matter how well a program is running on its own, if it is not properly integrated, the overall functionality of the program may not properly operate.

 System Testing is technically the first level of testing that occurs with the application completely as a whole. This step is used to determine if all requirements and standards have been met; third party testers also do this testing level for an unbiased result. System testing is important because it verifies that the software meets all of the technical and functional requirements set by the customer.

Lastly, the acceptance testing level is completed to determine whether the software is ready for release. This level of testing is where a final examination is completed to ensure that the overall functionality and operability meets the business needs of the customer. With the complex and extensiveness of these tests, it is important that testers are involved at an early stage and throughout the entire process to guarantee an on time release with minimal issues.