<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cduffey346</id>
		<title>OWASP - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cduffey346"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Cduffey346"/>
		<updated>2026-05-25T22:06:21Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=The_Insecure-Bootstrapping_Principle&amp;diff=34333</id>
		<title>The Insecure-Bootstrapping Principle</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=The_Insecure-Bootstrapping_Principle&amp;diff=34333"/>
				<updated>2008-07-19T01:14:15Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Inserted template as a placeholder&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
A principle is a simple rule that helps to guide security decisions in complex situations.&lt;br /&gt;
# Start with a one-sentence description of the principle&lt;br /&gt;
# Describe the principle and how it should be applied to security decisions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Short example name===&lt;br /&gt;
: A short example description, small picture, or sample code with [http://www.site.com links]&lt;br /&gt;
&lt;br /&gt;
===Short example name===&lt;br /&gt;
: A short example description, small picture, or sample code with [http://www.site.com links]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Vulnerability 1]]&lt;br /&gt;
* [[Vulnerabiltiy 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Controls 1]]&lt;br /&gt;
* [[Controls 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* http://www.link1.com&lt;br /&gt;
* [http://www.link2.com Title for the link2]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Reduce_Surface_Area&amp;diff=34332</id>
		<title>Reduce Surface Area</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Reduce_Surface_Area&amp;diff=34332"/>
				<updated>2008-07-19T01:13:25Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Added template as placeholder&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
A principle is a simple rule that helps to guide security decisions in complex situations.&lt;br /&gt;
# Start with a one-sentence description of the principle&lt;br /&gt;
# Describe the principle and how it should be applied to security decisions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Short example name===&lt;br /&gt;
: A short example description, small picture, or sample code with [http://www.site.com links]&lt;br /&gt;
&lt;br /&gt;
===Short example name===&lt;br /&gt;
: A short example description, small picture, or sample code with [http://www.site.com links]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Vulnerability 1]]&lt;br /&gt;
* [[Vulnerabiltiy 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Controls 1]]&lt;br /&gt;
* [[Controls 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* http://www.link1.com&lt;br /&gt;
* [http://www.link2.com Title for the link2]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Don%27t_trust_user_input&amp;diff=34331</id>
		<title>Don't trust user input</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Don%27t_trust_user_input&amp;diff=34331"/>
				<updated>2008-07-19T01:12:22Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
A principle is a simple rule that helps to guide security decisions in complex situations.&lt;br /&gt;
# Start with a one-sentence description of the principle&lt;br /&gt;
# Describe the principle and how it should be applied to security decisions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Short example name===&lt;br /&gt;
: A short example description, small picture, or sample code with [http://www.site.com links]&lt;br /&gt;
&lt;br /&gt;
===Short example name===&lt;br /&gt;
: A short example description, small picture, or sample code with [http://www.site.com links]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Vulnerability 1]]&lt;br /&gt;
* [[Vulnerabiltiy 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Controls 1]]&lt;br /&gt;
* [[Controls 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* http://www.link1.com&lt;br /&gt;
* [http://www.link2.com Title for the link2]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Don%27t_trust_user_input&amp;diff=34330</id>
		<title>Don't trust user input</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Don%27t_trust_user_input&amp;diff=34330"/>
				<updated>2008-07-19T01:11:53Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Inserted template as a placeholder&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
A principle is a simple rule that helps to guide security decisions in complex situations.&lt;br /&gt;
# Start with a one-sentence description of the principle&lt;br /&gt;
# Describe the principle and how it should be applied to security decisions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Short example name===&lt;br /&gt;
: A short example description, small picture, or sample code with [http://www.site.com links]&lt;br /&gt;
&lt;br /&gt;
===Short example name===&lt;br /&gt;
: A short example description, small picture, or sample code with [http://www.site.com links]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Vulnerability 1]]&lt;br /&gt;
* [[Vulnerabiltiy 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Controls 1]]&lt;br /&gt;
* [[Controls 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* http://www.link1.com&lt;br /&gt;
* [http://www.link2.com Title for the link2]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Least_privilege&amp;diff=33033</id>
		<title>Least privilege</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Least_privilege&amp;diff=33033"/>
				<updated>2008-07-02T01:26:57Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
The principle of least privilege recommends that accounts have the least amount of privilege required to perform their business processes. This encompasses user rights, resource permissions such as CPU limits, memory, network, and file system permissions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Administrative Priviledges Granted to a Middleware Server===&lt;br /&gt;
: For example, if a middleware server only requires access to the network, read access to a database table, and the ability to write to a log, this describes all the permissions that should be granted. Under no circumstances should the middleware be granted administrative privileges.&lt;br /&gt;
&lt;br /&gt;
===Connecting to the Database as Root===&lt;br /&gt;
: In this example PHP code, only a SELECT statement from the database is issued. There is no reason to connect to the database as root. Instead, a user should be created with only the necessary access to the database that can be used to perform the SELECT query.&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $host = 'localhost';&lt;br /&gt;
 $userID = 'root';&lt;br /&gt;
 $password = 'password';&lt;br /&gt;
 $db = mysql_connect($host, $userID, $password) or die ('Error connecting to mysql');&lt;br /&gt;
 $name = 'testdatabase';&lt;br /&gt;
 mysql_select_db($name);&lt;br /&gt;
 $sql=&amp;quot;SELECT * FROM theTable&amp;quot;;&lt;br /&gt;
 $result=mysql_query($sql);&lt;br /&gt;
 ?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Failure to drop privileges when reasonable]] &lt;br /&gt;
* [[Failure to check whether privileges were dropped successfully]] &lt;br /&gt;
* [[Least Privilege Violation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Access control]]&lt;br /&gt;
* [[Authorization]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* [http://web.mit.edu/Saltzer/www/publications/protection/ The Protection of Information in Computer Systems]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Separation_of_duties&amp;diff=31796</id>
		<title>Separation of duties</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Separation_of_duties&amp;diff=31796"/>
				<updated>2008-06-17T00:43:18Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Added Related Controls&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
The rule of thumb for separation of duties is that the entity that approves an action, the entity that carries out an action, and the entity that monitors that action must be separate. Separation of duties is a prevelant control in both the accounting and IT communities. The goal is the eliminate the possibility of a single user from carrying out and concealing a prohibited action. By separating the authorization, implementation and monitoring roles fraud can only be successfully carried out through the collusion of multiple parties. Support for segregation of duties should be found in both application features (e.g., role-based access), and should be built into the System Development Lifecycle of the application (e.g., restricting developer access to production libraries). Certain roles have different levels of trust than normal users. In particular, Administrators are different to normal users. In general, administrators should not be users of the application. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Equipment Purchase===&lt;br /&gt;
: Someone who requests a computer cannot also sign for it, nor should they directly receive the computer. This prevents the user from requesting many computers, and claiming they never arrived. &lt;br /&gt;
&lt;br /&gt;
===System User/Administrator===&lt;br /&gt;
: An administrator should be able to turn the system on or off, set password policy but shouldn’t be able to log on to the storefront as a super privileged user, such as being able to “buy” goods on behalf of other users. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Log Forging]]&lt;br /&gt;
* [[Least Privilege Violation]]&lt;br /&gt;
* [[Permissions, Privileges, and ACLs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Access control]]&lt;br /&gt;
* [[Authorization]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* [http://www.isaca.org/Content/ContentGroups/Certification3/CISA1/Segregation-Of-Duties.pdf ISACA Separation of Duties Matrix]&lt;br /&gt;
&lt;br /&gt;
[[Category:Principle]]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Least_privilege&amp;diff=31795</id>
		<title>Least privilege</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Least_privilege&amp;diff=31795"/>
				<updated>2008-06-17T00:38:06Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Added template, and related controls&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
The principle of least privilege recommends that accounts have the least amount of privilege required to perform their business processes. This encompasses user rights, resource permissions such as CPU limits, memory, network, and file system permissions. &lt;br /&gt;
&lt;br /&gt;
For example, if a middleware server only requires access to the network, read access to a database table, and the ability to write to a log, this describes all the permissions that should be granted. Under no circumstances should the middleware be granted administrative privileges.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Short example name===&lt;br /&gt;
: A short example description, small picture, or sample code with [http://www.site.com links]&lt;br /&gt;
&lt;br /&gt;
===Short example name===&lt;br /&gt;
: A short example description, small picture, or sample code with [http://www.site.com links]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Vulnerability 1]]&lt;br /&gt;
* [[Vulnerabiltiy 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Access control]]&lt;br /&gt;
* [[Authorization]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* http://www.link1.com&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Talk:ASDR_TOC_Principles&amp;diff=31794</id>
		<title>Talk:ASDR TOC Principles</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Talk:ASDR_TOC_Principles&amp;diff=31794"/>
				<updated>2008-06-17T00:33:05Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: New page: The Secure Coding Principles and CLASP principle duplicate principles already listed in the table of contents. Suggest they be removed from the ASDR and have the contents of the Secure Cod...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Secure Coding Principles and CLASP principle duplicate principles already listed in the table of contents. Suggest they be removed from the ASDR and have the contents of the Secure Coding Page and CLASP page referenced in each the corresponding ASDR principles.&lt;br /&gt;
--[[User:Cduffey346|Cduffey346]] 20:33, 16 June 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Positive_security_model&amp;diff=31793</id>
		<title>Positive security model</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Positive_security_model&amp;diff=31793"/>
				<updated>2008-06-17T00:27:08Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Added template, vulnerabilities, controls, example, and reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;positive&amp;quot; security model (also known as &amp;quot;whitelist&amp;quot;) is one that defines what is allowed, and rejects everything else. This should be contrasted with a &amp;quot;negative&amp;quot; (or &amp;quot;blacklist) security model, which defines what is disallowed, while implicitly allowing everything else.&lt;br /&gt;
&lt;br /&gt;
The positive security model can be applied to a number of different application security areas. For example, when performing input validation, the positive model dictates that you should specify the characteristics of input that will be allowed, as opposed to trying to filter out bad input.  In the access control area, the positive model is to deny access to everything, and only allow access to specific authorized resources or functions.  If you've ever had to deal with a network firewall, then you've probably encountered this application of the positive model.&lt;br /&gt;
&lt;br /&gt;
The benefit of using a positive model is that new attacks, not anticipated by the developer, will be prevented. However, the negative model can be quite tempting when you're trying to prevent an attack on your site. Ultimately, however, adopting the negative model means that you'll never be quite sure that you've addressed everything. You'll also end up with a long list of negative signatures to block that has to be maintained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===isAuthorized===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;% if ( ESAPI.accessController().isAuthorizedForFunction( ADMIN_FUNCTION ) ) { %&amp;gt;&lt;br /&gt;
  &amp;lt;a href=&amp;quot;/doAdminFunction&amp;quot;&amp;gt;ADMIN&amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;% } else { %&amp;gt;&lt;br /&gt;
  &amp;lt;a href=&amp;quot;/doNormalFunction&amp;quot;&amp;gt;NORMAL&amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;% } %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: In this example, if there is explicit authorization for the function then it is authorized. The default action is to execute the normal function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Authentication Logic Error]]&lt;br /&gt;
* [[Improper error handling]]&lt;br /&gt;
* [[Insecure Default Permissions]]&lt;br /&gt;
* [[Missing handler]]&lt;br /&gt;
* [[Permissions, Privileges, and ACLs]]&lt;br /&gt;
* [[Permissive Whitelist]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Authorization]]&lt;br /&gt;
* [[Error handling]]&lt;br /&gt;
* [[Web Application Firewall]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* [http://owasp-esapi-java.googlecode.com/svn/trunk/javadoc/index.html OWASP Enterprise Security API (ESAPI)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Principle]]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Fix_security_issues_correctly&amp;diff=30784</id>
		<title>Fix security issues correctly</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Fix_security_issues_correctly&amp;diff=30784"/>
				<updated>2008-06-08T21:03:04Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Template conformity&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Once a security issue has been identified, it is important to develop a test for it, and to understand the root cause of the issue. When design patterns are used, it is likely that the security issue is widespread amongst all code bases, so developing the right fix without introducing regressions is essential. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Integration Testing===&lt;br /&gt;
: A user has found that they can see another user’s balance by adjusting their cookie. The fix seems to be relatively straightforward, but as the cookie handling code is shared amongst all applications, a change to just one application will trickle through to all other applications. The fix must therefore be tested on all affected applications.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Vulnerability 1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Controls 1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
[[Category:Principle]]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Keep_security_simple&amp;diff=30783</id>
		<title>Keep security simple</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Keep_security_simple&amp;diff=30783"/>
				<updated>2008-06-08T20:57:46Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Conform to Principles Template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Attack surface area and simplicity go hand in hand. Certain software engineering fads prefer overly complex approaches to what would otherwise be relatively straightforward and simple code. Developers should avoid the use of double negatives and complex architectures when a simpler approach would be faster and simpler. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Entity Beans vs. Global Variables===&lt;br /&gt;
:Although it might be fashionable to have a slew of singleton entity beans running on a separate middleware server, it is more secure and faster to simply use global variables with an appropriate mutex mechanism to protect against race conditions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Vulnerability 1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Controls 1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* See [[How to write insecure code]] for a tongue-in-cheek discussion of keeping security simple.&lt;br /&gt;
&lt;br /&gt;
[[Category:Principle]]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Fail_securely&amp;diff=30782</id>
		<title>Fail securely</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Fail_securely&amp;diff=30782"/>
				<updated>2008-06-08T20:25:52Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Added template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Handling errors securely is a key aspect of secure coding. There are two different types of errors that deserve special attention.  The first is exceptions that occur in the processing of a countermeasure itself. It's important that these exceptions do not enable behavior that the countermeasure would normally not allow. As a developer, you should consider that there are generally three possible outcomes from a security mechanism:&lt;br /&gt;
* allow the operation&lt;br /&gt;
* disallow the operation&lt;br /&gt;
* exception&lt;br /&gt;
&lt;br /&gt;
In general, you should design your security mechanism so that a failure will follow the same execution path as disallowing the operation.  For example, security methods like isAuthorized(), isAuthenticated(), and validate() should all return false if there is an exception during processing.&lt;br /&gt;
&lt;br /&gt;
The other type of security-relevant exception is outside specific security mechanisms, but may affect the control flow that invokes such mechanisms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===isAdmin=== &lt;br /&gt;
&lt;br /&gt;
 isAdmin = true; &lt;br /&gt;
 try { &lt;br /&gt;
   codeWhichMayFail(); &lt;br /&gt;
   isAdmin = isUserInRole( “Administrator” ); &lt;br /&gt;
 }&lt;br /&gt;
 catch (Exception ex)&lt;br /&gt;
 {&lt;br /&gt;
   log.write(ex.toString()); &lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
If codeWhichMayFail() fails, the user is an admin by default. This is obviously a security risk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Vulnerability 1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Error handling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* http://www.link1.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Principle]]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Defense_in_depth&amp;diff=30781</id>
		<title>Defense in depth</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Defense_in_depth&amp;diff=30781"/>
				<updated>2008-06-08T20:07:04Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Changed redundant security controls to layered, removed section in description about the first security mechanism being 100% effective and replaced it with an example regarding 2-factor authentication&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
The principle of defense-in-depth is that layered security mechanisms increase security of the system as a whole. If an attack causes one security mechanism to fail, other mechanisms may still provide the necessary security to protect the system. For example, it is not a good idea to totally rely on a firewall to provide security for an internal-use-only application, as firewalls can usually be circumvented by a determined attacker (even if it requires a physical attack or a social engineering attack of some sort). Other security mechanisms should be added to complement the protection that a firewall affords (e.g., surveillance cameras, and security awareness training) that address different attack vectors. &lt;br /&gt;
&lt;br /&gt;
Implementing a defense-in-depth strategy can add to the complexity of an application, which runs counter to the “simplicity” principle often practiced in security. That is, one could argue that adding new protection functionality adds additional complexity that might bring new risks with it. The total risk to the system needs to be weighed. For example, an application with username/password-based authentication may not benefit from increasing the required password length from eight characters to 15 characters as the added complexity may result in users writing their passwords down, thus decreasing the overall security to the system; however, adding a smart-card requirement to authenticate to the application would enhance the security of the application by adding a complementary layer to the authentication process.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Vulnerable Administrative Interface===&lt;br /&gt;
:A failed authentication control to the [[Administrative Interface]] is unlikely to be enable to anonymous attack on the system as a whole if it correctly gates access to production management networks, checks for administrative user authorization, and logs all access. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
The Principle of Defense-in-Depth does not relate to a particular control or subset of controls. It is a design principle to guide the selection of controls for an application to ensure its resilience against different forms of attack, and to reducce to probability of a single-point of failure in the security of the system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* [http://www.nsa.gov/snac/support/defenseindepth.pdf National Security Agency Defense In Depth Guide]&lt;br /&gt;
* [[CLASP Security Principles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Principle]]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Separation_of_duties&amp;diff=30324</id>
		<title>Separation of duties</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Separation_of_duties&amp;diff=30324"/>
				<updated>2008-06-04T00:24:01Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
The rule of thumb for separation of duties is that the entity that approves an action, the entity that carries out an action, and the entity that monitors that action must be separate. Separation of duties is a prevelant control in both the accounting and IT communities. The goal is the eliminate the possibility of a single user from carrying out and concealing a prohibited action. By separating the authorization, implementation and monitoring roles fraud can only be successfully carried out through the collusion of multiple parties. Support for segregation of duties should be found in both application features (e.g., role-based access), and should be built into the System Development Lifecycle of the application (e.g., restricting developer access to production libraries). Certain roles have different levels of trust than normal users. In particular, Administrators are different to normal users. In general, administrators should not be users of the application. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Equipment Purchase===&lt;br /&gt;
: Someone who requests a computer cannot also sign for it, nor should they directly receive the computer. This prevents the user from requesting many computers, and claiming they never arrived. &lt;br /&gt;
&lt;br /&gt;
===System User/Administrator===&lt;br /&gt;
: An administrator should be able to turn the system on or off, set password policy but shouldn’t be able to log on to the storefront as a super privileged user, such as being able to “buy” goods on behalf of other users. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Log Forging]]&lt;br /&gt;
* [[Least Privilege Violation]]&lt;br /&gt;
* [[Permissions, Privileges, and ACLs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Controls 1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* [http://www.isaca.org/Content/ContentGroups/Certification3/CISA1/Segregation-Of-Duties.pdf ISACA Separation of Duties Matrix]&lt;br /&gt;
&lt;br /&gt;
[[Category:Principle]]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Detect_intrusions&amp;diff=29925</id>
		<title>Detect intrusions</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Detect_intrusions&amp;diff=29925"/>
				<updated>2008-05-28T00:20:44Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Detecting intrusions requires three elements:&lt;br /&gt;
* the capability to log security-relevant events &lt;br /&gt;
* procedures to ensure the logs are monitored regularly&lt;br /&gt;
* procedures to properly respond to an intrusion once detected &lt;br /&gt;
&lt;br /&gt;
You should log all security relevant information. Perhaps you can detect a problem by reviewing the logs that you couldn't detect at runtime. But you must log enough information. In particular, all use of security mechanisms should be logged, with enough information to help track down the offender. Additionally, the logging functionality in the application should also provide a method of managing the logged information. If the security analyst is unable to parse through the event logs to determine which events are actionable, then logging events provide little to no value.&lt;br /&gt;
&lt;br /&gt;
Detecting intrusions is important because otherwise you give the attacker unlimited time to perfect an attack. If you detect intrusions perfectly, then an attacker will only get one attempt before he is detected and prevented from launching more attacks. Remember, if you receive a request that a legitimate user could not have generated - it is an attack and you should respond appropriately. Logging provides a forensic function for your application/site. If it is brought down or hacked, you can trace the culprit and check what went wrong. If the user uses an anonymizing proxy, having good logs will still help as &amp;quot;what happened&amp;quot; is logged and the exploit can be fixed more easily.&lt;br /&gt;
&lt;br /&gt;
Don't rely on other technologies to detect intrusions. Your code is the only component of the system that has enough information to truly detect attacks. Nothing else will know what parameters are valid, what actions the user is allowed to select, etc. It must built into the application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Short example name===&lt;br /&gt;
:This is a place holder. A better example of logging using the ESAPI will go here.&lt;br /&gt;
 public void testLogHTTPRequest() throws ValidationException, IOException, AuthenticationException {&lt;br /&gt;
        System.out.println(&amp;quot;logHTTPRequest&amp;quot;);&lt;br /&gt;
        String[] ignore = {&amp;quot;password&amp;quot;,&amp;quot;ssn&amp;quot;,&amp;quot;ccn&amp;quot;};&lt;br /&gt;
        TestHttpServletRequest request = new TestHttpServletRequest();&lt;br /&gt;
        // FIXME: AAA modify to return the actual string logged (so we can test)&lt;br /&gt;
        Logger.getLogger(&amp;quot;logger&amp;quot;, &amp;quot;logger&amp;quot;).logHTTPRequest(Logger.SECURITY, request, Arrays.asList(ignore) );&lt;br /&gt;
        request.addParameter(&amp;quot;one&amp;quot;,&amp;quot;one&amp;quot;);&lt;br /&gt;
        request.addParameter(&amp;quot;two&amp;quot;,&amp;quot;two1&amp;quot;);&lt;br /&gt;
        request.addParameter(&amp;quot;two&amp;quot;,&amp;quot;two2&amp;quot;);&lt;br /&gt;
        request.addParameter(&amp;quot;password&amp;quot;,&amp;quot;jwilliams&amp;quot;);&lt;br /&gt;
        Logger.getLogger(&amp;quot;logger&amp;quot;, &amp;quot;logger&amp;quot;).logHTTPRequest(Logger.SECURITY, request, Arrays.asList(ignore) );&lt;br /&gt;
    } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Vulnerability 1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
* [[Controls 1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org/index.php/ESAPI_Secure_Coding_Guideline#Logging_and_Intrusion_Detection ESAPI Logging and Intrusion Detection]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Categories==&lt;br /&gt;
&lt;br /&gt;
[[Category:Principle]]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Defense_in_depth&amp;diff=29841</id>
		<title>Defense in depth</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Defense_in_depth&amp;diff=29841"/>
				<updated>2008-05-26T16:27:19Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
The principle of defense-in-depth is that redundant security mechanisms increase security. If one mechanism fails, perhaps the other one will still provide the necessary security. For example, it is not a good idea to rely on a firewall to provide security for an internal-use-only application, as firewalls can usually be circumvented by a determined attacker (even if it requires a physical attack or a social engineering attack of some sort). &lt;br /&gt;
&lt;br /&gt;
Implementing a defense-in-depth strategy can add to the complexity of an application, which runs counter to the “simplicity” principle often practiced in security. That is, one could argue that new protection functionality adds additional complexity that might bring new risks with it. The risks need to be weighed. For example, a second mechanism may make no sense when the first mechanism is believed to be 100% effective; therefore, there is not much reason for introducing the additional solution, which may pose new risks. But usually the risks in additional complexity are minimal compared to the risk the protection mechanism seeks to reduce. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Vulnerable Administrative Interface===&lt;br /&gt;
:A failed authentication control to the [[Administrative Interface]] is unlikely to be enable to anonymous attack on the system as a whole if it correctly gates access to production management networks, checks for administrative user authorization, and logs all access. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* [http://www.nsa.gov/snac/support/defenseindepth.pdf National Security Agency Defense In Depth Guide]&lt;br /&gt;
* [[CLASP Security Principles]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Principle]]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Defense_in_depth&amp;diff=29777</id>
		<title>Defense in depth</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Defense_in_depth&amp;diff=29777"/>
				<updated>2008-05-25T12:19:27Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Added the rest of the template sections; expanded the description slightly; added a reference.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
The principle of defense in depth calls for a set of layered controls that each present unique obstacles for an attacker. Controls used in defense in depth posture enhance the resilience of an application as the failure of one control will not result in the exploitation of the system as a whole. An application using defense in depth would include controls that fit the “protect, detect, and react” paradigm. This means that the application would not just implement controls that prevent an attack from occurring, but would also be capable of detecting a successful attack and response procedures to support the recovery of the application. &lt;br /&gt;
&lt;br /&gt;
With secure coding, this may take the form of tier-based validation, centralized auditing controls, and requiring users to be logged on all pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Vulnerable Administrative Interface===&lt;br /&gt;
:A flawed administrative interface is unlikely to be vulnerable to anonymous attack if it correctly gates access to production management networks, checks for administrative user authorization, and logs all access. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
* [http://www.nsa.gov/snac/support/defenseindepth.pdf National Security Agency Defense In Depth Guide]&lt;br /&gt;
&lt;br /&gt;
[[Category:Principle]]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Defense_in_depth&amp;diff=29765</id>
		<title>Defense in depth</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Defense_in_depth&amp;diff=29765"/>
				<updated>2008-05-23T21:31:04Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Began the conforming the article to the Principles Template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Principle}}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
The principle of defense in depth suggests that where one control would be reasonable, more controls that approach risks in different fashions are better. Controls, when used in depth, can make severe vulnerabilities extraordinarily difficult to exploit and thus unlikely to occur. &lt;br /&gt;
&lt;br /&gt;
With secure coding, this may take the form of tier-based validation, centralized auditing controls, and requiring users to be logged on all pages. &lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Vulnerable Administrative Interface===&lt;br /&gt;
:A flawed administrative interface is unlikely to be vulnerable to anonymous attack if it correctly gates access to production management networks, checks for administrative user authorization, and logs all access. &lt;br /&gt;
&lt;br /&gt;
[[Category:Principle]]&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Talk:Assume_attackers_have_source_code&amp;diff=29764</id>
		<title>Talk:Assume attackers have source code</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Talk:Assume_attackers_have_source_code&amp;diff=29764"/>
				<updated>2008-05-23T21:12:24Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: /* Possible Candidate for Removal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Possible Candidate for Removal ==&lt;br /&gt;
&lt;br /&gt;
I believe the content in this article could be folded in with the [[Avoid security by obscurity]] article. In essence, the reliance on compiled code to hide the vulnerabilities that may be apparent in the source code is a form of Security Through Obscurity.&lt;br /&gt;
&lt;br /&gt;
 You're right, but I think it's a useful principle and should be&lt;br /&gt;
 separate. Most developers don't realize that their code is not&lt;br /&gt;
 a secret.  We could make Security by Obscurity a category.  Or we&lt;br /&gt;
 could just note that this is a form of security by obscurity and&lt;br /&gt;
 provide a link.  [[User:Jeff Williams|Jeff Williams]] 07:25, 23 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
 I don't know if it is quite broad enough to become a Category; perhaps linking &lt;br /&gt;
 to [[Avoid security by obscurity]] would be a better way to go. --[[User:Cduffey346|Cduffey346]] 17:12, 23 May 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Talk:Assume_attackers_have_source_code&amp;diff=29708</id>
		<title>Talk:Assume attackers have source code</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Talk:Assume_attackers_have_source_code&amp;diff=29708"/>
				<updated>2008-05-23T00:28:22Z</updated>
		
		<summary type="html">&lt;p&gt;Cduffey346: Possible Candidate for Removal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Possible Candidate for Removal ==&lt;br /&gt;
&lt;br /&gt;
I believe the content in this article could be folded in with the [[Avoid security by obscurity]] article. In essence, the reliance on compiled code to hide the vulnerabilities that may be apparent in the source code is a form of Security Through Obscurity.&lt;/div&gt;</summary>
		<author><name>Cduffey346</name></author>	</entry>

	</feed>