Secure Software Development Policy
Secure Software Development Policy
17
Table of Contents
1. Overview ........................................................................................................................ 3
2. Purpose .......................................................................................................................... 3
3. Scope ............................................................................................................................. 3
4. Policy ............................................................................................................................. 3
4.1 Software Security Assessments ...................................................................................................... 3
4.2 Software Security Risks ................................................................................................................ 10
4.3 Software Security Assessments Levels ......................................................................................... 10
5. Policy Compliance......................................................................................................... 12
5.1 Compliance Measurement ........................................................................................................... 12
5.2 Exceptions .................................................................................................................................... 12
5.3 Non-Compliance ........................................................................................................................... 12
1. Overview
Web application vulnerabilities account for the largest portion of attack vectors outside of
malware. It is crucial that any web application be assessed for vulnerabilities and any
vulnerabilities be remediated prior to production deployment.
2. Purpose
The purpose of this policy is to define web application security assessments within ACME
Retail. Web application assessments are performed to identify potential or realized
weaknesses as a result of inadvertent mis-configuration, weak authentication, insufficient
error handling, sensitive information leakage, etc. Discovery and subsequent mitigation of
these issues will limit the attack surface of ACME Retail services available both internally
and externally as well as satisfy compliance with any relevant policies in place.
3. Scope
This policy covers all web applications within ACME Retail in addition to any web
application security assessment requested by any individual, group or department for the
purposes of maintaining the security posture, compliance, risk management, and change
control of technologies in use at ACME Retail.
All web application security activities will be performed by delegated security personnel
either employed or contracted by ACME Retail. All findings are considered confidential
and are to be distributed to persons on a “need to know” basis. Distribution of any findings
outside of ACME Retail is strictly prohibited unless approved by the Chief Information
Officer.
Any relationships within multi-tiered applications found during the scoping phase will be
included in the assessment unless explicitly limited. Limitations and subsequent justification
will be documented prior to the start of the assessment.
4. Policy
4.1 Software Security Assessments
Web applications are subjected to security assessments based on the following criteria:
a) Vulnerability Management:
Risk Rankings - All the vulnerabilities would be assigned a risk ranking such
as High, Medium and Low based on industry best practices such as CVSS
base score.
b) Patch Management:
Updated Security Patches - All Workstations, servers, software, system
components etc. must have up-to-date system security patches installed to
protect the asset from known vulnerabilities.
Automatic Updates - All systems must have automatic software updates
enabled for system patches released from their respective vendors. Security
patches have to be installed within one month of release from the respective
vendor and have to follow the process in accordance with change control
process.
Exceptions - Any exceptions to this process have to be documented.
d) Change Management:
Process - Changes to information resources shall be managed and executed
according to a formal change control process. The process will ensure that
changes proposed are reviewed, authorized, tested, implemented, and released
in a controlled manner; and that the status of each proposed change is
monitored.
Documentation - The change control process shall be formally defined and
documented. A change control process shall be in place to control changes
critical to company information resources (such as hardware, software, system
documentation and operating procedures). This documented process shall
include management responsibilities and procedures. Wherever practicable,
operational and application change control procedures should be integrated.
Audit - All change requests shall be logged whether approved or rejected on a
standardized and central system. The approval of all change requests and the
results thereof shall be documented. A documented audit trail, maintained at a
Business Unit Level, containing relevant information shall be maintained at all
times. This should include change request documentation, change
authorization and the outcome of the change. No single person should be able
to implement changes to the production information systems without the
approval of other authorized personnel.
Risk Assessment - A risk assessment shall be performed for all changes and
dependent on the outcome, an impact assessment should be performed.
Impact Assessment - The impact assessment shall include the potential effect
on other information resources and potential cost implications. The impact
assessment should, where applicable consider compliance with legislative
requirements and standards.
e) Awareness Testing:
Meetings - Review handling procedures for sensitive information and hold
periodic security awareness meetings to incorporate these procedures into day-
to-day practice.
Acknowledgement - Distribute this security policy document to all company
employees to read. It is required that all employees confirm that they understand
the content of this security policy document by signing an acknowledgement
form.
Security Clearance - All employees that handle sensitive information will
undergo background checks (such as criminal and credit record checks, within
Contractual binding for third party access - All third parties with access to credit
the limits of the local law) before they commence their employment.
updated as needed.
Use Encryption for sending card data over wire - If there is a business
justification to send cardholder data via email or via the Internet or any other
modes then it should be done after authorization and by using a strong
encryption mechanism (i.e. – AES encryption, RSA, PGP encryption, TLS 1.2,
IPSEC).
End to End tracking - The transportation of media containing sensitive
cardholder data to another location must be authorized by management, logged
and inventoried before leaving the premises. Only secure courier services may
be used for the transportation of such media. The status of the shipment should
be monitored until it has been delivered to its new location.
a) High: Any high risk issue must be fixed immediately or other mitigation strategies
must be put in place to limit exposure before deployment. Applications with high
risk issues are subject to being taken off-line or denied release into the live
environment.
b) Medium: Medium risk issues should be reviewed to determine what is required to
mitigate and scheduled accordingly. Applications with medium risk issues may be
taken off-line or denied release into the live environment based on the number of
issues and if multiple issues increase the risk to an unacceptable level. Issues should
be fixed in a patch/point release unless other mitigation strategies will limit
exposure.
c) Low: Issue should be reviewed to determine what is required to correct the issue
and scheduled accordingly.
b) OWASP ZAP: It is an open source web application security scanner. When used as
a proxy server it allows the user to manipulate all of the traffic that passes through it,
including traffic using https. It can also run in a ‘daemon’ mode which is then controlled
via a REST Application programming interface. Some of the built in features include:
Intercepting proxy server, Traditional and AJAX Web crawlers, Automated scanner,
Passive scanner, Forced browsing, Fuzzer, WebSocket support, Scripting languages, and
Plug-n-Hack support. It has a plugin-based architecture and an online ‘marketplace’
which allows new or updated features to be added.
c) NMAP: Nmap (“Network Mapper”) is a free and open source (license) utility for
network discovery and security auditing. ACME Retail’s IT security personal can use it
for tasks such as network inventory, managing service upgrade schedules, and monitoring
host or service uptime. Nmap uses raw IP packets in novel ways to determine what hosts
are available on the network, what services (application name and version) those hosts
are offering, what operating systems (and OS versions) they are running, what type of
packet filters/firewalls are in use, and dozens of other characteristics. It was designed to
rapidly scan large networks, but works fine against single hosts. In addition to the classic
command-line Nmap executable, the Nmap suite includes an advanced GUI and results
viewer (Zenmap), a flexible data transfer, redirection, and debugging tool (Ncat), a utility
for comparing scan results (Ndiff), and a packet generation and response analysis tool
(Nping).
e) Static Code Analysis Tools: Static Code Analysis (also known as Source Code
Analysis) is usually performed as part of a Code Review (also known as white-box
testing) and is carried out at the Implementation phase of a Security Development
Lifecycle (SDL). Static Code Analysis commonly refers to the running of Static Code
Analysis tools that attempt to highlight possible vulnerabilities within 'static' (non-
running) source code by using techniques such as Taint Analysis and Data Flow
Analysis.
Other tools and/or techniques may be used depending upon what is found in the default
assessment and the need to determine validity and risk are subject to the discretion of the
Security Engineering team.
5. Policy Compliance
5.1 Compliance Measurement
The ACME Retail Infosec team will verify compliance to this policy through various methods,
including but not limited to, periodic walk-through, video monitoring, business tool reports,
internal and external audits, and feedback to the policy owner.
5.2 Exceptions
Any exception to the policy must be approved by the ACME Retail Infosec team in the advance.
5.3 Non-Compliance
An employee found to have violated this policy may be subjected to the disciplinary action, up to
and including termination of employment. Web application assessments are a requirement of
the change control process and are required to adhere to this policy unless found to be
exempt. All application releases must pass through the change control process. Any web
applications that do not adhere to this policy may be taken offline until such time that a
formal assessment can be performed at the discretion of the Chief Information Officer.
For example, perhaps you want to enhance your overall compliance, or maybe you need to
protect your brand more carefully. It should also prioritize which applications should be secured
first and how they will be tested. Whether you choose to do so manually, through a cloud
solution, through software that you have on site, through a managed service provider or through
some other means.
A fairly detailed 6-step sample web application security checklist can be found here.
Additionally, if your organization is large enough, your blueprint should name the individuals
within the organization who should be involved in maintaining web application security best
practices on an ongoing basis. Finally, be sure to factor in the costs that your organization will
incur by engaging in these activities.
How many are there? Where are they located? Performing such an inventory can be a big
undertaking, and it is likely to take some time to complete. While performing it, make a note of
the purpose of each application. Chances are that when it is all said and done, there will be many
applications that are either redundant or completely pointless. This inventory will come in handy
for the steps that are to follow too, so take your time and make sure to get every single
application.
Sort the applications into three categories: Critical, Serious, and Normal.
Critical applications are primarily those that are externally facing and contain customer
information. These are the applications that should be managed first, as they are the most likely
to be targeted and exploited by the hackers. Serious applications may be internal or external and
may contain some sensitive information. Normal applications have far less exposure, but they
should be included in tests down the road.
By categorizing your applications like this, you can reserve extensive testing for critical ones and
use less intensive testing for less critical ones. This allows you to make the most effective use of
your company’s resources and will help you achieve progress more quickly
Always use the least permissive settings for all web applications. This means that applications
should be buttoned down. Only highly authorized people should be able to make system changes
and the like. You might consider including this in your initial assessment. Otherwise, you will
have to go back down the entire list adjusting settings again. For the vast majority of
applications, only system administrators need complete access. Most other users can accomplish
what they need with minimally permissive settings.
In the unlikely event that privileges are adjusted incorrectly for an application and certain users
can’t access the features that they need, the problem can be handled when it occurs. It is far
better to be too restrictive in this situation than to be too permissive.
While you certainly don’t have to stop using cookies – indeed, to do so would be a major step
backward in many ways – you should adjust the settings for yours to minimize the risk of
attacks.
a) First, never use cookies to store highly sensitive or critical information. For example,
don’t use cookies to remember users’ passwords, as this makes it incredibly easy for
hackers to gain unauthorized access.
b) You should also be conservative when setting expiration dates for cookies. Sure, it’s
nice to know that a cookie will remain valid for a user for months on end, but the reality
is that each one presents a security risk.
c) Finally, consider encrypting the information that is stored in the cookies that you use.
By educating employees, they will more readily spot vulnerabilities themselves. In essence,
bringing everyone up to speed about web application security is a terrific way to get everyone in
on the act of finding and eliminating vulnerabilities. With this in mind, consider bringing in a
web application security specialist to conduct awareness training for your employees.
By bringing everyone on board and making sure that they know what to do if they encounter
vulnerability or other issue, you can strengthen your overall web application security process and
maintain the best possible web application security best practices.
9. References
Kali Linux
https://en.wikipedia.org/wiki/OWASP_ZAP
Software Integrity
X-XSS-Protection
NMAP