Jenkins and they do not have any negative
consequences in relation to the effectiveness of other
security tactics. From this analysis, it can be
concluded that devised security tactics can work
together and do not affect each other in any negative
way. Here, it is important to mention that our
evaluation techniques have certain limitations.
Assurance case is merely a framework for structuring
argumentation, which is supported by claims and
quantitative evidence. A deficiency in this technique
is that it requires an iterative and opponent-based
process to develop an adequate analysis. The results
get fully credible only when they can convince our
audiences that software is equipped with a reasonable
level of security. From the security findings and
general information about the scanning tools, it can
be deducted that these tools do not cover security
issues relevant to OS and low-level Java and it is
highly recommendable to identify and address such
issues in order to properly assess the security of CDP.
It is also worth mentioning that for leveraging full
benefits of the devised security tactics, all other
essential security measures should be taken into
account. For example, firewall setting needs to be
correctly setup to help CDP properly utilize
incorporated security tactics.
6 CONCLUSION
Keeping in view the vast amount of security threats
faced by CDP, it is critical to analyse the CDP’s
security for identifying gaps and devising security
strategies to help secure CDP. In this paper, five
security tactics are devised to enhance the security of
three major components (repository, main server and
CI server) of the CDP, which are: (1) controlled
access and commit rights for repository; (2)
controlled access to AWS instance using private-key
over SSH; (3) use of roles on the main server via
leveraging AWS IAM; (4) use of VM plug-in for
ensuring initial clear state of Jenkins; (5) use of roles
on CI server to control access to Jenkins. After
devising these security tactics, two CDPs are
implemented, secure CDP that incorporates proposed
security tactics and non-secure CDP that does not
incorporate three of the proposed security tactics.
The security of both CDPs is evaluated through
qualitative and quantitative methods. The qualitative
analysis shows that secure CDP implemented with
security tactics is more secure than non-secure CDP.
The quantitative analysis also shows a significant
7
http://www.blackwasp.co.uk/gofpatterns.aspx
improvement in the security level of secure CDP as
evident from the number and nature of vulnerabilities
found in both CDPs through two different scanning
tests.
The results obtained through quantitative analysis
showed some deviation from expected results, which
is due to the fact that these penetration tools are
specialized for assessing the security of web
application. In next step, we plan to develop a
framework for assessing the security of the CDPs. We
also plan to incorporate our proposed security tactics
in a real CDP project and assess their effects on the
security aspect of the CDP. In future research, these
five security tactics will be transformed into five
security patterns by formally describing them
according to the standards set by Gang of Four (GoF)
7
team.
REFERENCES
Adams, B. and McIntosh, S. (2016) 'Modern Release
Engineering in a Nutshell -- Why Researchers Should
Care', IEEE 23rd International Conference on Software
Analysis, Evolution, and Reengineering (SANER), pp.
78-90.
Anderson, K. H., et al. (2014) 'Continuous deployment
system for software development.', U.S. Patent No.
8,677,315.
Anderson, K. H., Kenyon, J. L., Hollis, B. R., Edwards, J.
and Reid, B. (2014). Continuous deployment system for
software development. Google Patents.
Aslam, T., Krsul, I. and Spafford, E. H. (1996) 'Use of a
taxonomy of security faults'.
Bass, L., Holz, R., Rimba, P., Tran, A. B. and Zhu, L.
(2015) 'Securing a deployment pipeline', IEEE/ACM
3rd International Workshop On Release Engineering
(RELENG), pp. 4-7.
Chen, L. (2015) 'Continuous delivery: Huge benefits, but
challenges too', IEEE Software, 32(2), pp. 50-54.
Claps, G. G., Svensson, R. B. and Aurum, A. (2015) 'On the
journey to continuous deployment: Technical and
social challenges along the way', Information and
Software Technology, 57, pp. 21-31.
contributors, W. (2016) 'Continuous delivery', Wikipedia,
The Free Encyclopedia.
ElectricCloud (2016) 'What is Continuous Deployment,
Available at http://electric-cloud.com/resources/
continuous-delivery-101/continuous-deployment/'.
Ellingwood, J. (2014) 'How To Configure SSH Key-Based
Authentication on a Linux Server. Available at
https://www.digitalocean.com/community/tutorials/ho
w-to-configure-ssh-key-based-authentication-on-a-
linux-server'.