Cloud Computing Software Security Fundamentals
Posted by adminDec 19
Security is a principal concern when entrusting an organization’s critical information to geographically dispersed cloud platforms not under the direct control of that organization. In addition to the conventional IT information system security procedures, designing security into cloud software during the software development life cycle can greatly reduce the cloud attack surface.
The Cloud Security Alliance emphasizes the following points relative to the secure software life cycle in their listing of 15 cloud security domains:
Information Life Cycle Management — Understand cloud provider policies and processes for data retention and destruction and how they compare with internal organizational policy. Be aware that data retention assurance may be easier for the cloud provider to demonstrate, but data destruction may be very difficult. Perform regular backup and recovery tests to assure that logical segregation and controls are effective.
Application Security — IaaS, PaaS and SaaS create differing trust boundaries for the software development lifecycle, which must be accounted for during the development, testing and production deployment of applications.
Storage — Understand cloud provider storage retirement processes. Data destruction is extremely difficult in a multitenant environment and the cloud provider should be utilizing strong storage encryption that renders data unreadable when storage is recycled, disposed of, or accessed by any means outside of authorized applications.
With cloud computing providing SaaS, secure software is a critical issue. From the cloud consumer’s point of view, using SaaS in the cloud reduces the need for secure software development by the customer. The requirement for secure software development is transferred to the cloud provider. However, the user might still find it necessary to develop custom code for the cloud. Whoever develops the software, this process requires a strong commitment to a formal, secure software development life cycle, including design, testing, secure deployment, patch management, and disposal. Yet, in many instances, software security is treated as an add-on to extant software and not as an important element of the development process.
Developing secure software is based on applying the secure software design principles that form the fundamental basis for software assurance. Software assurance has been given many definitions, and it is important to understand the concept. The Software Security Assurance Report defines software assurance as the basis for gaining justifiable confidence that software will consistently exhibit all properties required to ensure that the software, in operation, will continue to operate dependably despite the presence of sponsored (intentional) faults. In practical terms, such software must be able to resist most attacks, tolerate as many as possible of those attacks it cannot resist, and contain the damage and recover to a normal level of operation as soon as possible after any attacks it is unable to resist or tolerate.
The Data and Analysis Center for Software (DACS) requires that software must exhibit the following three properties to be considered secure:
- Dependability — Software that executes predictably and operates correctly under a variety of conditions, including when under attack or running on a malicious host
- Trustworthiness — Software that contains a minimum number of vulnerabilities or no vulnerabilities or weaknesses that could sabotage the software’s dependability. It must also be resistant to malicious logic.
- Survivability (Resilience) — Software that is resistant to or tolerant of attacks and has the ability to recover as quickly as possible with as little harm as possible
Seven complementary principles that support information assurance are confidentiality, integrity, availability, authentication, authorization, auditing, and accountability.

2 comments
Comment by Adam on January 4, 2012 at 12:39 pm
I agree with yor final three points, important things in business are definitely dependability, trustworthiness,and resilience. All equally important, but all for different reasons, I feel like cloud computing has done a lot for us in our office. It has saved us loads of time for even our everyday tasks and Liquidity risk, but for me its really great to have access to up to the minute information.
Comment by Gareth Jiens on February 10, 2012 at 11:44 am
I think cloud computing is a good option but of course you have to be safe with it.