<?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=MelDrews</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=MelDrews"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/MelDrews"/>
		<updated>2026-04-22T09:36:25Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:Control&amp;diff=195928</id>
		<title>Category:Control</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:Control&amp;diff=195928"/>
				<updated>2015-06-09T01:13:55Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: typo correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category is a parent category used to track categories of controls (or countermeasure, security mechanisms). &lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==What is a control==&lt;br /&gt;
As an abstract category of concepts, it can be difficult to grasp where controls fit into the collection of policies, procedures, and standards that create the structures of governance, management, practices and patterns necessary to secure software and data.  Where each of these conceptual business needs is addressed through documentation with differing levels of specificity, it is useful to look at where controls fit in relation to these other structures.  Security controls can be categorized in several ways.  One useful breakdown is the axis that includes administrative, technical and physical controls.  Controls in each of these areas support the others.  Another useful breakdown is along the categories of preventive, detective and corrective.&lt;br /&gt;
&lt;br /&gt;
ISACA defines control as the means of managing risk, including policies, procedures, guidelines, practices or organizational structures, which can be of an administrative, technical, management, or legal nature.[1]&lt;br /&gt;
&lt;br /&gt;
While the ISACA COBIT standard is frequently referenced with regard to information security control, the design of the standard places its guidance mostly at the level of governance with very little that will help us design or implement secure software.  U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53, ''Security and Privacy Controls for Federal Information Systems and Organizations'' is widely referenced for its fairly detailed catalog of security controls. It does not, however, define what a control should be.&lt;br /&gt;
&lt;br /&gt;
The Council on CyberSecurity Critical Security Controls list provides very little detail on specific measures we can implement in software.  Among the 20 critical controls we find &amp;quot;Application Software Security&amp;quot; with 11 recommended implementation measures:&lt;br /&gt;
&lt;br /&gt;
#Patching&lt;br /&gt;
#Implement a Web Application Firewall (WAF)&lt;br /&gt;
#Error checking all input&lt;br /&gt;
#Use an automated scanner to look for security weaknesses&lt;br /&gt;
#Output sanitization of error messages&lt;br /&gt;
#Segregation development and production environments&lt;br /&gt;
#Secure code analysis, manual and automated&lt;br /&gt;
#Verify vendor security processes&lt;br /&gt;
#Database configuration hardening&lt;br /&gt;
#Train developers on writing secure code&lt;br /&gt;
#Remove development artifacts from production code&lt;br /&gt;
&lt;br /&gt;
Of these 11, it is interesting to note that two relate to infrastructure architecture, four are operational, two are part of testing processes, and only three are things that are done as part of coding.&lt;br /&gt;
&lt;br /&gt;
While many controls are definitely of a technical nature, it is important to distinguish the way in which controls differ from coding techniques.  Many things we might think of as controls, should more properly be put into coding standards or guidelines.  As an example, NIST SP800-53 suggests five controls related to session management:&lt;br /&gt;
*Concurrent Session Control&lt;br /&gt;
*Session Lock&lt;br /&gt;
*Session Termination&lt;br /&gt;
*Session Audit&lt;br /&gt;
*Session Authenticity&lt;br /&gt;
&lt;br /&gt;
Note that three of these are included within the category of Access Controls. In most cases, NIST explicitly calls for the organization to define some of the elements of how these controls should be implemented.&lt;br /&gt;
&lt;br /&gt;
In contrast, the OWASP [[Session_Management_Cheat_Sheet]] does a very good job at illustrating session management implementation techniques and suggests some standards.  These kinds of standards and guidelines spell out specific implementation of controls.&lt;br /&gt;
&lt;br /&gt;
While different organizations and standards will write controls at differing levels of abstraction, it is generally recognized that controls should be defined and implemented to address business needs for security.  COBIT 5 makes this explicit by mapping enterprise goals to IT-related goals, process goals, management practices and activities.  The management practices map to items that were described in COBIT 4 as control objectives.  Each organization and process area will define their controls differently, but this alignment of controls to objectives and activities is a strong commonality between different standards.  Activities are often the means by which controls are implemented.  They are written out in procedures that specify the intended operation of controls.  A procedure is not, in itself, a control.  A given procedure may address multiple controls and a given control may require more than one procedure to fully implement.&lt;br /&gt;
&lt;br /&gt;
So, we've found that the concept of a security control is hard to define clearly in a way that enables practitioners to begin writing controls and putting them to use.  Some definitions exist, but are open to wide interpretation and may not be adaptable to every need.  At this point we can hazard some statements that may provide further clarity.  Control statements should be concisely worded to specify required process outcomes.  While this is very similar to a policy statement, policies are generally more oriented toward enterprise goals, whereas controls are more oriented toward process goals.&lt;br /&gt;
&lt;br /&gt;
A control differs from a standard in that the standard is focused on requirements for specific tools that may be used, coding structures, or techniques.&lt;br /&gt;
&lt;br /&gt;
[[Image:Control_support.jpg]]&lt;br /&gt;
&lt;br /&gt;
'''Figure 1''' - Relationship of control statements to control objectives and other documentation&lt;br /&gt;
&lt;br /&gt;
Necessary controls in an application should be identified using risk assessment.  [[Threat modeling]] is one component of risk assessment that examines the threats, vulnerabilities and exposures of an application.  Threat modeling will help to identify many of the technical controls necessary for inclusion within the application development effort.  It should be combined with other risk assessment techniques that also take into account the larger organizational impacts of the application.&lt;br /&gt;
&lt;br /&gt;
==Examples of controls==&lt;br /&gt;
*[[Authentication]]&lt;br /&gt;
*[[Authorization]]&lt;br /&gt;
*[[Audit]]&lt;br /&gt;
*[[Data_Security]]&lt;br /&gt;
*[[Integrity]]&lt;br /&gt;
&lt;br /&gt;
==Further References==&lt;br /&gt;
#Glossary. ISACA. http://www.isaca.org/Pages/Glossary.aspx?tid=2011&amp;amp;char=C As viewed on 24 May 2015.&lt;br /&gt;
#''Cobit 5: Enabling Processes''. ISACA. (2012). http://www.isaca.org/COBIT/Pages/COBIT-5-Enabling-Processes-product-page.aspx&lt;br /&gt;
# Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and organizations''. Special Publication 800-53 revision 4. (2013) U.S. National Institute of Standards and Technology. http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
#Critical Security Controls. Center for Internet Security. Retrieved from http://www.cisecurity.org/critical-controls.cfm on 24 May 2015.&lt;br /&gt;
&lt;br /&gt;
{{Template:PutInCategory}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Article Type]]&lt;br /&gt;
[[Category:OWASP ASDR Project]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Integrity&amp;diff=195212</id>
		<title>Integrity</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Integrity&amp;diff=195212"/>
				<updated>2015-05-24T21:33:52Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Initial page creation with control description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Data and system integrity is one of the primary goals of security, which is why we see it reflected in the common litany of C-I-A (Confidentiality, Integrity and Availability). Within the STRIDE threat modeling approach, tampering directly attacks information integrity and controls preventing spoofing and repudiation support integrity requirements.&lt;br /&gt;
&lt;br /&gt;
Data integrity controls guard against improper information modification or destruction, and includes ensuring information non-repudiation and authenticity.&lt;br /&gt;
&lt;br /&gt;
U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53 includes the following controls that address integrity and may be directly reflected within software implementations:&lt;br /&gt;
*Tamper resistance and detection (SA-18)&lt;br /&gt;
*Transmission confidentiality and integrity (SC-8)&lt;br /&gt;
*Protection of information at rest (SC-28)&lt;br /&gt;
*Software, firmware and information integrity (SI-7)&lt;br /&gt;
*Information input validation (SI-10)&lt;br /&gt;
*Memory protection (SI-16)&lt;br /&gt;
&lt;br /&gt;
Accuracy of data processing and transmissions is a critical business requirement, both for decision support processes and for regulatory compliance reasons (Sarbanes-Oxley).&lt;br /&gt;
&lt;br /&gt;
ISO 27001:2013 includes controls related to correct processing within applications in the System acquisition, development and maintenance group.&lt;br /&gt;
&lt;br /&gt;
#Hernan, S., Lambert, S., Ostwald, T., and Shostack, A. ''Uncover Security Design Flaws Using the STRIDE Approach''.  MSDN Magazine.  Microsoft.  (2006). https://msdn.microsoft.com/en-us/magazine/cc163519.aspx&lt;br /&gt;
# Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and Organizations''. Special Publication 800-53 revision 4. (2013) U.S. National Institute of Standards and Technology. http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
#ISO/IEC 27001:2013. Wikipedia. Retrieved from http://en.wikipedia.org/wiki/ISO/IEC_27001:2013 on 25 May 2015.&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Data_Security&amp;diff=195211</id>
		<title>Data Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Data_Security&amp;diff=195211"/>
				<updated>2015-05-24T20:21:52Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: /* Further References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article addresses data security controls implemented in software features or development processes.  Data Security is the name given to a group of controls within the U.S. National Institute of Standards and Technology (NIST) ''Framework for Improving Critical Infrastructure Cybersecurity'' (the Cybersecurity Framework).  Subcategories within this category include:&lt;br /&gt;
*Data at rest is protected&lt;br /&gt;
*Data in transit is protected&lt;br /&gt;
*Protections against data leaks are implemented&lt;br /&gt;
&lt;br /&gt;
Other administrative, operational and architectural controls are included as well, but the above list specifies measures that would be directly reflected in the coding of software features.&lt;br /&gt;
&lt;br /&gt;
NIST Special Publication 800-53 lists additional related controls within the System and Communications Protection family, which comprises 41 controls in total.  Depending on the relevance in a given project, there are at least six of these that could be implemented directly as software features and map back to the Data Security category in the Cybersecurity Framework, including:&lt;br /&gt;
*Information in shared resources&lt;br /&gt;
*Denial of service protection&lt;br /&gt;
*Transmission confidentiality and integrity&lt;br /&gt;
*Cryptographic protection&lt;br /&gt;
*Transmission of security attributes&lt;br /&gt;
*Protection of information at rest&lt;br /&gt;
&lt;br /&gt;
These controls are implemented through means such as the proper use of cryptography, [[Web_Services_Architecture_and_Security|software security architecture]], [[Error_Handling,_Auditing_and_Logging#Error_Handling|error handling]], and processing labels applied to data.&lt;br /&gt;
&lt;br /&gt;
ISO 27001:2013 includes controls related to data security within the System acquisition, development and maintenance group.&lt;br /&gt;
&lt;br /&gt;
==Further References==&lt;br /&gt;
#''Framework for Improving Critical Infrastructure Cybersecurity''. U.S. National Institute of Standards and Technology. (2014). Retrieved from http://www.nist.gov/cyberframework/upload/cybersecurity-framework-021214-final.pdf on 24 May 2015.&lt;br /&gt;
#Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and Organizations''. Special Publication 800-53 revision 4. U.S. National Institute of Standards and Technology. (2013) http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
#ISO/IEC 27001:2013. Wikipedia. Retrieved from http://en.wikipedia.org/wiki/ISO/IEC_27001:2013 on 24 May 2015.&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Data_Security&amp;diff=195210</id>
		<title>Data Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Data_Security&amp;diff=195210"/>
				<updated>2015-05-24T20:04:31Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Initial page creation with control description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article addresses data security controls implemented in software features or development processes.  Data Security is the name given to a group of controls within the U.S. National Institute of Standards and Technology (NIST) ''Framework for Improving Critical Infrastructure Cybersecurity'' (the Cybersecurity Framework).  Subcategories within this category include:&lt;br /&gt;
*Data at rest is protected&lt;br /&gt;
*Data in transit is protected&lt;br /&gt;
*Protections against data leaks are implemented&lt;br /&gt;
&lt;br /&gt;
Other administrative, operational and architectural controls are included as well, but the above list specifies measures that would be directly reflected in the coding of software features.&lt;br /&gt;
&lt;br /&gt;
NIST Special Publication 800-53 lists additional related controls within the System and Communications Protection family, which comprises 41 controls in total.  Depending on the relevance in a given project, there are at least six of these that could be implemented directly as software features and map back to the Data Security category in the Cybersecurity Framework, including:&lt;br /&gt;
*Information in shared resources&lt;br /&gt;
*Denial of service protection&lt;br /&gt;
*Transmission confidentiality and integrity&lt;br /&gt;
*Cryptographic protection&lt;br /&gt;
*Transmission of security attributes&lt;br /&gt;
*Protection of information at rest&lt;br /&gt;
&lt;br /&gt;
These controls are implemented through means such as the proper use of cryptography, [[Web_Services_Architecture_and_Security|software security architecture]], [[Error_Handling,_Auditing_and_Logging#Error_Handling|error handling]], and processing labels applied to data.&lt;br /&gt;
&lt;br /&gt;
ISO 27001:2013 includes controls related to data security within the System acquisition, development and maintenance group.&lt;br /&gt;
&lt;br /&gt;
==Further References==&lt;br /&gt;
#''Framework for Improving Critical Infrastructure Cybersecurity''. U.S. National Institute of Standards and Technology. (2014). Retrieved from http://www.nist.gov/cyberframework/upload/cybersecurity-framework-021214-final.pdf on 25 May 2015.&lt;br /&gt;
#Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and Organizations''. Special Publication 800-53 revision 4. U.S. National Institute of Standards and Technology. (2013) http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
#ISO/IEC 27001:2013. Wikipedia. Retrieved from http://en.wikipedia.org/wiki/ISO/IEC_27001:2013 on 25 May 2015.&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:Control&amp;diff=195208</id>
		<title>Category:Control</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:Control&amp;diff=195208"/>
				<updated>2015-05-24T17:48:44Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Added external references&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category is a parent category used to track categories of controls (or countermeasure, security mechanisms). &lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==What is a control==&lt;br /&gt;
As an abstract category of concepts, it can be difficult to grasp where controls fit into the collection of policies, procedures, and standards that create the structures of governance, management, practices and patterns necessary to secure software and data.  Where each of these conceptual business needs is addressed through documentation with differing levels of specificity, it is useful to look at where controls fit in relation to these other structures.  Security controls can be categorized in several ways.  One useful breakdown is the axis that includes administrative, technical and physical controls.  Controls in each of these areas support the others.  Another useful breakdown is along the categories of preventive, detective and corrective.&lt;br /&gt;
&lt;br /&gt;
ISACA defines control as the means of managing risk, including policies, procedures, guidelines, practices or organizational structures, which can be of an administrative, technical, management, or legal nature.[1]&lt;br /&gt;
&lt;br /&gt;
While the ISACA COBIT standard is frequently referenced with regard to information security control, the design of the standard places its guidance mostly at the level of governance with very little that will help us design or implement secure software.  U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53, ''Security and Privacy Controls for Federal Information Systems and Organizations'' is widely referenced for its fairly detailed catalog of security controls. It does not, however, define what a control should be.&lt;br /&gt;
&lt;br /&gt;
The Council on CyberSecurity Critical Security Controls list provides very little detail on specific measures we can implement in software.  Among the 20 critical controls we find &amp;quot;Application Software Security&amp;quot; with 11 recommended implementation measures:&lt;br /&gt;
&lt;br /&gt;
#Patching&lt;br /&gt;
#Implement a Web Application Firewall (WAF)&lt;br /&gt;
#Error checking all input&lt;br /&gt;
#Use and automated scanner to look for security weaknesses&lt;br /&gt;
#Output sanitization of error messages&lt;br /&gt;
#Segregation development and production environments&lt;br /&gt;
#Secure code analysis, manual and automated&lt;br /&gt;
#Verify vendor security processes&lt;br /&gt;
#Database configuration hardening&lt;br /&gt;
#Train developers on writing secure code&lt;br /&gt;
#Remove development artifacts from production code&lt;br /&gt;
&lt;br /&gt;
Of these 11, it is interesting to note that two relate to infrastructure architecture, four are operational, two are part of testing processes, and only three are things that are done as part of coding.&lt;br /&gt;
&lt;br /&gt;
While many controls are definitely of a technical nature, it is important to distinguish the way in which controls differ from coding techniques.  Many things we might think of as controls, should more properly be put into coding standards or guidelines.  As an example, NIST SP800-53 suggests five controls related to session management:&lt;br /&gt;
*Concurrent Session Control&lt;br /&gt;
*Session Lock&lt;br /&gt;
*Session Termination&lt;br /&gt;
*Session Audit&lt;br /&gt;
*Session Authenticity&lt;br /&gt;
&lt;br /&gt;
Note that three of these are included within the category of Access Controls. In most cases, NIST explicitly calls for the organization to define some of the elements of how these controls should be implemented.&lt;br /&gt;
&lt;br /&gt;
In contrast, the OWASP [[Session_Management_Cheat_Sheet]] does a very good job at illustrating session management implementation techniques and suggests some standards.  These kinds of standards and guidelines spell out specific implementation of controls.&lt;br /&gt;
&lt;br /&gt;
While different organizations and standards will write controls at differing levels of abstraction, it is generally recognized that controls should be defined and implemented to address business needs for security.  COBIT 5 makes this explicit by mapping enterprise goals to IT-related goals, process goals, management practices and activities.  The management practices map to items that were described in COBIT 4 as control objectives.  Each organization and process area will define their controls differently, but this alignment of controls to objectives and activities is a strong commonality between different standards.  Activities are often the means by which controls are implemented.  They are written out in procedures that specify the intended operation of controls.  A procedure is not, in itself, a control.  A given procedure may address multiple controls and a given control may require more than one procedure to fully implement.&lt;br /&gt;
&lt;br /&gt;
So, we've found that the concept of a security control is hard to define clearly in a way that enables practitioners to begin writing controls and putting them to use.  Some definitions exist, but are open to wide interpretation and may not be adaptable to every need.  At this point we can hazard some statements that may provide further clarity.  Control statements should be concisely worded to specify required process outcomes.  While this is very similar to a policy statement, policies are generally more oriented toward enterprise goals, whereas controls are more oriented toward process goals.&lt;br /&gt;
&lt;br /&gt;
A control differs from a standard in that the standard is focused on requirements for specific tools that may be used, coding structures, or techniques.&lt;br /&gt;
&lt;br /&gt;
[[Image:Control_support.jpg]]&lt;br /&gt;
&lt;br /&gt;
'''Figure 1''' - Relationship of control statements to control objectives and other documentation&lt;br /&gt;
&lt;br /&gt;
Necessary controls in an application should be identified using risk assessment.  [[Threat modeling]] is one component of risk assessment that examines the threats, vulnerabilities and exposures of an application.  Threat modeling will help to identify many of the technical controls necessary for inclusion within the application development effort.  It should be combined with other risk assessment techniques that also take into account the larger organizational impacts of the application.&lt;br /&gt;
&lt;br /&gt;
==Examples of controls==&lt;br /&gt;
*[[Authentication]]&lt;br /&gt;
*[[Authorization]]&lt;br /&gt;
*[[Audit]]&lt;br /&gt;
*[[Data_Security]]&lt;br /&gt;
*[[Integrity]]&lt;br /&gt;
&lt;br /&gt;
==Further References==&lt;br /&gt;
#Glossary. ISACA. http://www.isaca.org/Pages/Glossary.aspx?tid=2011&amp;amp;char=C As viewed on 24 May 2015.&lt;br /&gt;
#''Cobit 5: Enabling Processes''. ISACA. (2012). http://www.isaca.org/COBIT/Pages/COBIT-5-Enabling-Processes-product-page.aspx&lt;br /&gt;
# Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and organizations''. Special Publication 800-53 revision 4. (2013) U.S. National Institute of Standards and Technology. http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
#Critical Security Controls. Center for Internet Security. Retrieved from http://www.cisecurity.org/critical-controls.cfm on 24 May 2015.&lt;br /&gt;
&lt;br /&gt;
{{Template:PutInCategory}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Article Type]]&lt;br /&gt;
[[Category:OWASP ASDR Project]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:Control&amp;diff=195207</id>
		<title>Category:Control</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:Control&amp;diff=195207"/>
				<updated>2015-05-24T17:38:55Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Removed control examples pointing to standards and techniques; added examples referenced in acknowledged standards&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category is a parent category used to track categories of controls (or countermeasure, security mechanisms). &lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==What is a control==&lt;br /&gt;
As an abstract category of concepts, it can be difficult to grasp where controls fit into the collection of policies, procedures, and standards that create the structures of governance, management, practices and patterns necessary to secure software and data.  Where each of these conceptual business needs is addressed through documentation with differing levels of specificity, it is useful to look at where controls fit in relation to these other structures.  Security controls can be categorized in several ways.  One useful breakdown is the axis that includes administrative, technical and physical controls.  Controls in each of these areas support the others.  Another useful breakdown is along the categories of preventive, detective and corrective.&lt;br /&gt;
&lt;br /&gt;
ISACA defines control as the means of managing risk, including policies, procedures, guidelines, practices or organizational structures, which can be of an administrative, technical, management, or legal nature.[1]&lt;br /&gt;
&lt;br /&gt;
While the ISACA COBIT standard is frequently referenced with regard to information security control, the design of the standard places its guidance mostly at the level of governance with very little that will help us design or implement secure software.  U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53, ''Security and Privacy Controls for Federal Information Systems and Organizations'' is widely referenced for its fairly detailed catalog of security controls. It does not, however, define what a control should be.&lt;br /&gt;
&lt;br /&gt;
The Council on CyberSecurity Critical Security Controls list provides very little detail on specific measures we can implement in software.  Among the 20 critical controls we find &amp;quot;Application Software Security&amp;quot; with 11 recommended implementation measures:&lt;br /&gt;
&lt;br /&gt;
#Patching&lt;br /&gt;
#Implement a Web Application Firewall (WAF)&lt;br /&gt;
#Error checking all input&lt;br /&gt;
#Use and automated scanner to look for security weaknesses&lt;br /&gt;
#Output sanitization of error messages&lt;br /&gt;
#Segregation development and production environments&lt;br /&gt;
#Secure code analysis, manual and automated&lt;br /&gt;
#Verify vendor security processes&lt;br /&gt;
#Database configuration hardening&lt;br /&gt;
#Train developers on writing secure code&lt;br /&gt;
#Remove development artifacts from production code&lt;br /&gt;
&lt;br /&gt;
Of these 11, it is interesting to note that two relate to infrastructure architecture, four are operational, two are part of testing processes, and only three are things that are done as part of coding.&lt;br /&gt;
&lt;br /&gt;
While many controls are definitely of a technical nature, it is important to distinguish the way in which controls differ from coding techniques.  Many things we might think of as controls, should more properly be put into coding standards or guidelines.  As an example, NIST SP800-53 suggests five controls related to session management:&lt;br /&gt;
*Concurrent Session Control&lt;br /&gt;
*Session Lock&lt;br /&gt;
*Session Termination&lt;br /&gt;
*Session Audit&lt;br /&gt;
*Session Authenticity&lt;br /&gt;
&lt;br /&gt;
Note that three of these are included within the category of Access Controls. In most cases, NIST explicitly calls for the organization to define some of the elements of how these controls should be implemented.&lt;br /&gt;
&lt;br /&gt;
In contrast, the OWASP [[Session_Management_Cheat_Sheet]] does a very good job at illustrating session management implementation techniques and suggests some standards.  These kinds of standards and guidelines spell out specific implementation of controls.&lt;br /&gt;
&lt;br /&gt;
While different organizations and standards will write controls at differing levels of abstraction, it is generally recognized that controls should be defined and implemented to address business needs for security.  COBIT 5 makes this explicit by mapping enterprise goals to IT-related goals, process goals, management practices and activities.  The management practices map to items that were described in COBIT 4 as control objectives.  Each organization and process area will define their controls differently, but this alignment of controls to objectives and activities is a strong commonality between different standards.  Activities are often the means by which controls are implemented.  They are written out in procedures that specify the intended operation of controls.  A procedure is not, in itself, a control.  A given procedure may address multiple controls and a given control may require more than one procedure to fully implement.&lt;br /&gt;
&lt;br /&gt;
So, we've found that the concept of a security control is hard to define clearly in a way that enables practitioners to begin writing controls and putting them to use.  Some definitions exist, but are open to wide interpretation and may not be adaptable to every need.  At this point we can hazard some statements that may provide further clarity.  Control statements should be concisely worded to specify required process outcomes.  While this is very similar to a policy statement, policies are generally more oriented toward enterprise goals, whereas controls are more oriented toward process goals.&lt;br /&gt;
&lt;br /&gt;
A control differs from a standard in that the standard is focused on requirements for specific tools that may be used, coding structures, or techniques.&lt;br /&gt;
&lt;br /&gt;
[[Image:Control_support.jpg]]&lt;br /&gt;
&lt;br /&gt;
'''Figure 1''' - Relationship of control statements to control objectives and other documentation&lt;br /&gt;
&lt;br /&gt;
Necessary controls in an application should be identified using risk assessment.  [[Threat modeling]] is one component of risk assessment that examines the threats, vulnerabilities and exposures of an application.  Threat modeling will help to identify many of the technical controls necessary for inclusion within the application development effort.  It should be combined with other risk assessment techniques that also take into account the larger organizational impacts of the application.&lt;br /&gt;
&lt;br /&gt;
==Examples of controls==&lt;br /&gt;
*[[Authentication]]&lt;br /&gt;
*[[Authorization]]&lt;br /&gt;
*[[Audit]]&lt;br /&gt;
*[[Data_Security]]&lt;br /&gt;
*[[Integrity]]&lt;br /&gt;
&lt;br /&gt;
{{Template:PutInCategory}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Article Type]]&lt;br /&gt;
[[Category:OWASP ASDR Project]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:Control&amp;diff=195206</id>
		<title>Category:Control</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:Control&amp;diff=195206"/>
				<updated>2015-05-24T17:18:41Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Correcting and expanding on definition of control with examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category is a parent category used to track categories of controls (or countermeasure, security mechanisms). &lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==What is a control==&lt;br /&gt;
As an abstract category of concepts, it can be difficult to grasp where controls fit into the collection of policies, procedures, and standards that create the structures of governance, management, practices and patterns necessary to secure software and data.  Where each of these conceptual business needs is addressed through documentation with differing levels of specificity, it is useful to look at where controls fit in relation to these other structures.  Security controls can be categorized in several ways.  One useful breakdown is the axis that includes administrative, technical and physical controls.  Controls in each of these areas support the others.  Another useful breakdown is along the categories of preventive, detective and corrective.&lt;br /&gt;
&lt;br /&gt;
ISACA defines control as the means of managing risk, including policies, procedures, guidelines, practices or organizational structures, which can be of an administrative, technical, management, or legal nature.[1]&lt;br /&gt;
&lt;br /&gt;
While the ISACA COBIT standard is frequently referenced with regard to information security control, the design of the standard places its guidance mostly at the level of governance with very little that will help us design or implement secure software.  U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53, ''Security and Privacy Controls for Federal Information Systems and Organizations'' is widely referenced for its fairly detailed catalog of security controls. It does not, however, define what a control should be.&lt;br /&gt;
&lt;br /&gt;
The Council on CyberSecurity Critical Security Controls list provides very little detail on specific measures we can implement in software.  Among the 20 critical controls we find &amp;quot;Application Software Security&amp;quot; with 11 recommended implementation measures:&lt;br /&gt;
&lt;br /&gt;
#Patching&lt;br /&gt;
#Implement a Web Application Firewall (WAF)&lt;br /&gt;
#Error checking all input&lt;br /&gt;
#Use and automated scanner to look for security weaknesses&lt;br /&gt;
#Output sanitization of error messages&lt;br /&gt;
#Segregation development and production environments&lt;br /&gt;
#Secure code analysis, manual and automated&lt;br /&gt;
#Verify vendor security processes&lt;br /&gt;
#Database configuration hardening&lt;br /&gt;
#Train developers on writing secure code&lt;br /&gt;
#Remove development artifacts from production code&lt;br /&gt;
&lt;br /&gt;
Of these 11, it is interesting to note that two relate to infrastructure architecture, four are operational, two are part of testing processes, and only three are things that are done as part of coding.&lt;br /&gt;
&lt;br /&gt;
While many controls are definitely of a technical nature, it is important to distinguish the way in which controls differ from coding techniques.  Many things we might think of as controls, should more properly be put into coding standards or guidelines.  As an example, NIST SP800-53 suggests five controls related to session management:&lt;br /&gt;
*Concurrent Session Control&lt;br /&gt;
*Session Lock&lt;br /&gt;
*Session Termination&lt;br /&gt;
*Session Audit&lt;br /&gt;
*Session Authenticity&lt;br /&gt;
&lt;br /&gt;
In most cases, NIST explicitly calls for the organization to define some of the elements of how these controls should be implemented.&lt;br /&gt;
&lt;br /&gt;
In contrast, the OWASP [[Session_Management_Cheat_Sheet]] does a very good job at illustrating session management implementation techniques and suggests some standards.  These kinds of standards and guidelines spell out specific implementation of controls.&lt;br /&gt;
&lt;br /&gt;
While different organizations and standards will write controls at differing levels of abstraction, it is generally recognized that controls should be defined and implemented to address business needs for security.  COBIT 5 makes this explicit by mapping enterprise goals to IT-related goals, process goals, management practices and activities.  The management practices map to items that were described in COBIT 4 as control objectives.  Each organization and process area will define their controls differently, but this alignment of controls to objectives and activities is a strong commonality between different standards.  Activities are often the means by which controls are implemented.  They are written out in procedures that specify the intended operation of controls.  A procedure is not, in itself, a control.  A given procedure may address multiple controls and a given control may require more than one procedure to fully implement.&lt;br /&gt;
&lt;br /&gt;
So, we've found that the concept of a security control is hard to define clearly in a way that enables practitioners to begin writing controls and putting them to use.  Some definitions exist, but are open to wide interpretation and may not be adaptable to every need.  At this point we can hazard some statements that may provide further clarity.  Control statements should be concisely worded to specify required process outcomes.  While this is very similar to a policy statement, policies are generally more oriented toward enterprise goals, whereas controls are more oriented toward process goals.&lt;br /&gt;
&lt;br /&gt;
A control differs from a standard in that the standard is focused on requirements for specific tools that may be used, coding structures, or techniques.&lt;br /&gt;
&lt;br /&gt;
[[Image:Control_support.jpg]]&lt;br /&gt;
&lt;br /&gt;
'''Figure 1''' - Relationship of control statements to control objectives and other documentation&lt;br /&gt;
&lt;br /&gt;
Necessary controls in an application should be identified using risk assessment.  [[Threat modeling]] is one component of risk assessment that examines the threats, vulnerabilities and exposures of an application.  Threat modeling will help to identify many of the technical controls necessary for inclusion within the application development effort.  It should be combined with other risk assessment techniques that also take into account the larger organizational impacts of the application.&lt;br /&gt;
&lt;br /&gt;
==Examples of controls==&lt;br /&gt;
*[[Authentication]]&lt;br /&gt;
*[[Authorization]]&lt;br /&gt;
*[[Session Management]]&lt;br /&gt;
*[[Input Validation]]&lt;br /&gt;
*[[Error Handling]]&lt;br /&gt;
*[[Logging]]&lt;br /&gt;
*[[Cryptography]]&lt;br /&gt;
&lt;br /&gt;
{{Template:PutInCategory}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Article Type]]&lt;br /&gt;
[[Category:OWASP ASDR Project]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=File:Control_support.jpg&amp;diff=195205</id>
		<title>File:Control support.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=File:Control_support.jpg&amp;diff=195205"/>
				<updated>2015-05-24T17:08:56Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Relationship between controls, standards, procedures and other structures&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Relationship between controls, standards, procedures and other structures&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Choosing_and_Using_Security_Questions_Cheat_Sheet&amp;diff=195190</id>
		<title>Choosing and Using Security Questions Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Choosing_and_Using_Security_Questions_Cheat_Sheet&amp;diff=195190"/>
				<updated>2015-05-23T22:51:22Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: /* Security Questions As An Additional Means Of Authenticating */  - corrected unintended implication&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; __NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Cheatsheets-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}''' &lt;br /&gt;
= Introduction  =&lt;br /&gt;
 __TOC__{{TOC hidden}}&lt;br /&gt;
&lt;br /&gt;
This cheat sheet provides some best practice for developers to follow when choosing and using security questions to implement a &amp;amp;quot;forgot password&amp;amp;quot; web application feature.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= The Problem =&lt;br /&gt;
&lt;br /&gt;
There is no industry standard either for providing guidance to users or developers when using or implementing a Forgot Password feature. The result is that developers generally pick a set of dubious questions and implement them insecurely. They do so, not only at the risk to their users, but also--because of potential liability issues--at the risk to their organization. Ideally, passwords would be dead, or at least less important in the sense that they make up only one of several multi-factor authentication mechanisms, but the truth is that we probably are stuck with passwords just like we are stuck with Cobol. So with that in mind, what can we do to make the Forgot Password solution as palatable as possible?&lt;br /&gt;
&lt;br /&gt;
= Choosing Security Questions and/or Identity Data =&lt;br /&gt;
&lt;br /&gt;
Most of us can instantly spot a bad &amp;amp;quot;security question&amp;amp;quot; when we see one. You know the ones we mean. Ones like &amp;quot;What is your favorite color?&amp;quot; are obviously bad. But as the [http://goodsecurityquestions.com/ Good Security Questions] web site rightly points out,&lt;br /&gt;
&amp;amp;quot;there really are NO GOOD security questions; only fair or bad questions&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The reason that most organizations allow users to reset their own forgotten passwords is not because of security, but rather to reduce their own costs by reducing their volume of calls to their help desks. It's the classic convenience vs. security trade-off, and in this case, convenience (both to the organization in terms of reduced costs and to the user in terms of simpler, self-service) almost always wins out.&lt;br /&gt;
&lt;br /&gt;
So given that the business aspect of lower cost generally wins out, what can we do to at least raise the bar a bit?&lt;br /&gt;
&lt;br /&gt;
Here are some suggestions. Note that we intentionally avoid recommending specific security questions. To do so likely would be counterproductive because many developers would simply use those questions without much thinking and adversaries would immediately start harvesting that data from various social networks.&lt;br /&gt;
&lt;br /&gt;
== Desired Characteristics ==&lt;br /&gt;
&lt;br /&gt;
Any security questions or identity information presented to users to reset forgotten passwords should ideally have the following four characteristics:&lt;br /&gt;
&lt;br /&gt;
# '''Memorable''': If users can't remember their answers to their security questions, you have achieved nothing.&lt;br /&gt;
# '''Consistent''': The user's answers should not change over time. For instance, asking &amp;quot;What is the name of your significant other?&amp;quot; may have a different answer 5 years from now.&lt;br /&gt;
# '''Nearly universal''': The security questions should apply to a wide an audience of possible.&lt;br /&gt;
# '''Safe''': The answers to security questions should not be something that is easily guessed, or research (e.g., something that is matter of public record).&lt;br /&gt;
&lt;br /&gt;
== Steps  ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1) Decide on Identity Data vs Canned Questions vs. User-Created Questions ===&lt;br /&gt;
&lt;br /&gt;
Generally, a single HTML form should be used to collect all of the inputs to be used for later password resets. &lt;br /&gt;
&lt;br /&gt;
If your organization has a business relationship with users, you probably have collected some sort of additional information from your users when they registered with your web site. Such information includes, but is not limited to:&lt;br /&gt;
&lt;br /&gt;
* email address&lt;br /&gt;
* last name&lt;br /&gt;
* date of birth&lt;br /&gt;
* account number&lt;br /&gt;
* customer number&lt;br /&gt;
* last 4 of social security number&lt;br /&gt;
* zip code for address on file&lt;br /&gt;
* street number for address on file&lt;br /&gt;
&lt;br /&gt;
For enhanced security, you may wish to consider asking the user for their email address first and then send an email that takes them to a private page that requests the other 2 (or more) identity factors. That way the email itself isn’t that useful because they still have to answer a bunch of ‘secret’ questions after they get to the landing page.&lt;br /&gt;
&lt;br /&gt;
On the other hand, if you host a web site that targets the general public, such as social networking sites, free email sites, news sites, photo sharing sites, etc., then you likely to not have this identity information and will need to use some sort of the ubiquitous &amp;quot;security questions&amp;quot;. However, also be sure that you collect some means to send the password reset information to some out-of-band side-channel, such as a (different) email address, an SMS texting number, etc.&lt;br /&gt;
&lt;br /&gt;
Believe it or not, there is a certain merit to allow your users to select from a set of several &amp;quot;canned&amp;quot; questions. We generally ask users to fill out the security questions as part of completing their initial user profile and often that is the very time that the user is in a hurry; they just wish to register and get about using your site. If we ask users to create their own question(s) instead, they then generally do so under some amount of duress, and thus may be more likely to come up with extremely poor questions.&lt;br /&gt;
&lt;br /&gt;
However, there is also some strong rationale to requiring users to create their own question(s), or at least one such question. The prevailing legal opinion seems to be if we provide some sort of reasonable guidance to users in creating their own questions and then insist on them doing so, at least some of the potential liabilities are transferred from our organizations to the users. In such cases, if user accounts get hacked because of their weak security questions (e.g., &amp;quot;What is my favorite ice cream flavor?&amp;quot;, etc.) then the thought is that they only have themselves to blame and thus our organizations are less likely to get sued.&lt;br /&gt;
&lt;br /&gt;
Since OWASP recommends in the [[Forgot Password Cheat Sheet]] that multiple security questions should be posed to the user and successfully answered before allowing a password reset, a good practice might be to require the user to select 1 or 2 questions from a set of canned questions as well as to create (a different) one of their own and then require they answer one of their selected canned questions as well as their own question.&lt;br /&gt;
&lt;br /&gt;
=== Step 2) Review Any Canned Questions with Your Legal Department or Privacy Officer ===&lt;br /&gt;
&lt;br /&gt;
While most developers would generally first review any potential questions with whatever relevant business unit, it may not occur to them to review the questions with their legal department or chief privacy officer. However, this is advisable because their may be applicable laws or regulatory / compliance issues to which the questions must adhere. For example, in the telecommunications industry, the FCC's Customer Proprietary Network Information (CPNI) regulations prohibit asking customers security questions that involve &amp;quot;personal information&amp;quot;, so questions such as &amp;quot;In what city were you born?&amp;quot; are generally not allowed.&lt;br /&gt;
&lt;br /&gt;
=== Step 3) Insist on a Minimal Length for the Answers ===&lt;br /&gt;
&lt;br /&gt;
Even if you pose decent security questions, because users generally dislike putting a whole lot of forethought into answering the questions, they often will just answer with something short. Answering with a short expletive is not uncommon, nor is answering with something like &amp;quot;xxx&amp;quot; or &amp;quot;1234&amp;quot;.  If you tell the user that they ''should'' answer with a phrase or sentence and tell them that there is some minimal length to an acceptable answer (say 10 or 12 characters), you generally will get answers that are somewhat more resistant to guessing.&lt;br /&gt;
&lt;br /&gt;
=== Step 4) Consider How To Securely Store the Questions and Answers ===&lt;br /&gt;
&lt;br /&gt;
There are two aspects to this...storing the questions and storing the answers. Obviously, the questions must be presented to the user, so the options there are store them as plaintext or as reversible ciphertext. The answers technically do not need to be ever viewed by any human so they could be stored using a secure cryptographic hash (although in principle, I am aware of some help desks that utilize the both the questions and answers for password reset and they insist on being able to ''read'' the answers rather than having to type them in; YMMV). Either way, we would always recommend at least encrypting the answers rather than storing them as plaintext. This is especially true for answers to the &amp;quot;create your own question&amp;quot; type as users will sometimes pose a question that potentially has a sensitive answer (e.g., &amp;quot;What is my bank account # that I share with my wife?&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
So the main question is whether or not you should store the questions as plaintext or reversible ciphertext. Admittedly, we are a bit biased, but for the &amp;quot;create your own question&amp;quot; types at least, we recommend that such questions be encrypted.  This is because if they are encrypted, it makes it much less likely that your company will be sued if you have some bored, rogue DBAs pursuing the DB where the security questions and answers are stored in an attempt to amuse themselves and stumble upon something sensitive or perhaps embarrassing.&lt;br /&gt;
&lt;br /&gt;
In addition, if you explain to your customers that you are encrypting their questions and hashing their answers, they might feel safer about asking some questions that while potentially embarrassing, might be a bit more secure. (Use your imagination. Do we need to spell it out for you? Really???)&lt;br /&gt;
&lt;br /&gt;
=== Step 5) Periodically Have Your Users Review their Questions ===&lt;br /&gt;
&lt;br /&gt;
Many companies often ask their users to update their user profiles to make sure contact information such as email addresses, street address, etc. is still up-to-date. Use that opportunity to have your users review their security questions. (Hopefully, at that time, they will be in a bit less of a rush, and may use the opportunity to select better questions.)  If you had chosen to encrypt rather than hash their answers, you can also display their corresponding security answers at that time.&lt;br /&gt;
&lt;br /&gt;
If you keep statistics on how many times the respective questions has been posed to someone as part of a Forgot Password flow (recommended), it would be advisable to also display that information. (For instance, if against your advice, they created a question such as &amp;quot;What is my favorite hobby?&amp;quot; and see that it had been presented 113 times and they think they might have only reset their password 5 times, it would probably be advisable to change that security question and probably their password as well.)&lt;br /&gt;
&lt;br /&gt;
=== Step 6) Authenticate Requests to Change Questions ===&lt;br /&gt;
&lt;br /&gt;
Many web sites properly authenticate change password requests simply by requesting the current password along with the desired new password. If the user cannot provide the correct current password, the request to change the password is ignored. The same authentication control should be in place when changing security questions. The user should be required to provide the correct password along with their new security questions &amp;amp; answers. If the user cannot provide the correct password, then the request to change the security questions should be ignored. This control prevents both Cross-Site Request Forgery attacks, as well as changes made by attackers who have taken control over a users workstation or authenticated application session.&lt;br /&gt;
&lt;br /&gt;
= Using Security Questions =&lt;br /&gt;
&lt;br /&gt;
Requiring users to answer security questions is most frequently done under two quite different scenarios:&lt;br /&gt;
* As a means for users to reset forgotten passwords. (See [[Forgot Password Cheat Sheet]].)&lt;br /&gt;
* As an additional means of corroborating evidence used for authentication.&lt;br /&gt;
&lt;br /&gt;
If at anytime you intend for your users to answer security questions for both of these scenarios, it is ''strongly'' recommended that you use two different sets of questions / answers.&lt;br /&gt;
&lt;br /&gt;
It should noted that using a security question / answer in addition to using passwords does '''''not''''' give you multi-factor authentication because both of these fall under the category of &amp;quot;what you know&amp;quot;. Hence they are two of the ''same'' factor, which is not multi-factor. Furthermore, it should be noted that while passwords are a very weak form of authentication, answering security questions are generally is a much weaker form. This is because when we have users create passwords, we generally test the candidate password against some password complexity rules (e.g., minimal length &amp;amp;gt; 10 characters; must have at least one alphabetic, one numeric, and one special character; etc.); we usually do no such thing for security answers (except for perhaps some minimal length requirement). Thus good passwords generally will have much more entropy than answers to security questions, often by several orders of magnitude.&lt;br /&gt;
&lt;br /&gt;
=== Security Questions Used To Reset Forgotten Passwords ===&lt;br /&gt;
&lt;br /&gt;
The [[Forgot Password Cheat Sheet]] already details pretty much everything that you need to know as a developer when ''collecting'' answers to security questions. However, it provides no guidance about how to assist the user in selecting security questions (if chosen from a list of candidate questions) or writing their own security questions / answers. Indeed, the [[Forgot Password Cheat Sheet]] makes the assumption that one can actually use additional ''identity'' data as the security questions / answers.  However, often this is not the case as the user has never (or won't) volunteer it or is it prohibited for compliance reasons with certain regulations (e.g., as in the case of telecommunications companies and [[http://en.wikipedia.org/wiki/Customer_proprietary_network_information CPNI]] data).&lt;br /&gt;
&lt;br /&gt;
Therefore, at least some development teams will be faced with collecting more generic security questions and answers from their users. If you must do this as a developer, it is good practice to:&lt;br /&gt;
* briefly describe the importance of selecting a good security question / answer.&lt;br /&gt;
* provide some guidance, along with some examples, of what constitutes bad vs. fair security questions.&lt;br /&gt;
&lt;br /&gt;
You may wish to refer your users to the [[http://goodsecurityquestions.com/ Good Security Questions]] web site for the latter.&lt;br /&gt;
&lt;br /&gt;
Furthermore, since adversaries will try the &amp;quot;forgot password&amp;quot; reset flow to reset a user's password (especially if they have compromised the side-channel, such as user's email account or their mobile device where they receive SMS text messages), is a good practice to minimize unintended and unauthorized information disclosure of the security questions. This may mean that you require the user to answer one security question before displaying any subsequent questions to be answered. In this manner, it does not allow an adversary an opportunity to research all the questions at once. Note however that this is contrary to the advice given on the [[Forgot Password Cheat Sheet]] and it may also be perceived as not being user-friendly by your sponsoring business unit, so again YMMV.&lt;br /&gt;
&lt;br /&gt;
Lastly, you should consider whether or not you should treat the security questions that a user will type in as a &amp;quot;password&amp;quot; type or simply as regular &amp;quot;text&amp;quot; input. The former can prevent shoulder-surfing attacks, but also cause more typos, so there is a trade-off. Perhaps the best advice is to give the user a choice; hide the text by treating it as &amp;quot;password&amp;quot; input type by default, but all the user to check a box that would display their security answers as clear text when checked.&lt;br /&gt;
&lt;br /&gt;
=== Security Questions As An Additional Means Of Authenticating ===&lt;br /&gt;
&lt;br /&gt;
First, it bears repeating again...if passwords are considered weak authentication, than using security questions are even less robust. Furthermore, they are no substitute for true multi-factor authentication, or stronger forms of authentication such as authentication using one-time passwords or involving side-channel communications. In a word, very little is gained by using security questions in this context.  But, if you must...keep these things in mind:&lt;br /&gt;
&lt;br /&gt;
* Display the security question(s) on a separate page only ''after'' your users have successfully authenticated with their usernames / passwords (rather than only after they have entered their username). In this manner, you at least do not allow an adversary to view and research the security questions unless they also know the user's current password.&lt;br /&gt;
* If you also use security questions to reset a user's password, then you should use a ''different'' set of security questions for an additional means of authenticating.&lt;br /&gt;
* Security questions used for actual authentication purposes should regularly expire much like passwords. Periodically make the user choose new security questions and answers.&lt;br /&gt;
* If you use answers to security questions as a ''subsequent'' authentication mechanism (say to enter a more sensitive area of your web site), make sure that you keep the session idle time out very low...say less than 5 minutes or so, or that you also require the user to first re-authenticate with their password and then immediately after answer the security question(s).&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
[[Forgot Password Cheat Sheet]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://goodsecurityquestions.com/ Good Security Questions web site]&lt;br /&gt;
&lt;br /&gt;
= Authors and Primary Editors  =&lt;br /&gt;
&lt;br /&gt;
Kevin Wall - kevin.w.wall[at]gmail com&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:300px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Other Cheatsheets ==&lt;br /&gt;
&lt;br /&gt;
{{Cheatsheet_Navigation_Body}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Cheatsheets]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195184</id>
		<title>Authorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195184"/>
				<updated>2015-05-23T19:28:07Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Added control &amp;quot;Account management&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction: ==&lt;br /&gt;
This article focuses on the authorization aspects of access controls as they are reflected in software designs, implementations and the management of software development lifecycles. Some sources include both authentication and authorization as aspects of access control. These are closely related but separate concepts and are managed through different processes.  The granting of authorization is an administrative control.  The enforcement of authorization through software mechanisms is referred to as access control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ISO 27000:2014 defines access control as meaning to ensure that access to assets is authorized and restricted based on business and security requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The definitions of access control provided in U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53 (SP800-53) are context specific and not given a general definition. We do find, however, that the Access Control family of controls focuses on both authentication and authorization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Information Security Forum Standard of Good Practice (2014) includes Access Control and User Authorization as separate controls within the Access Management control group. Authorization privileges are discussed there in Access Control (CF6.1.6), among others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of these standards are frequently referenced sources of good guidance on access controls.&lt;br /&gt;
&lt;br /&gt;
== Definitions: ==&lt;br /&gt;
Based on the guidance of such standards and common usage in the field, the following definitions are proposed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Authorization controls govern decisions and processes of determining, documenting and managing the subjects (users, devices or processes) that should be granted access and the objects to which they should be granted access; essentially, what is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Access controls govern the methods and conditions of enforcement by which subjects (users, devices or processes) are allowed to or restricted from connecting with, viewing, consuming, entering into or making use of identified information resources (objects). &lt;br /&gt;
&lt;br /&gt;
== Some Generic Types of Access Controls: ==&lt;br /&gt;
When thinking of access control, you might first think of the ability to login to a system or access files or a database. Access can be controlled, however, at various levels and with respect to a wide range of subjects and objects. Some examples include:&lt;br /&gt;
&lt;br /&gt;
* Network access - the ability to connect to a system or service;&lt;br /&gt;
* At the host - access to operating system functionality;&lt;br /&gt;
* Physical access - at locations housing information assets or physical access to the assets themselves;&lt;br /&gt;
* Restricted functions - operations evaluated as having an elevated risk, such as financial transactions, changes to system configuration, or security administration.&lt;br /&gt;
&lt;br /&gt;
Resource access may refer not only to files and database functionality, but to:&lt;br /&gt;
&lt;br /&gt;
* applications or APIs;&lt;br /&gt;
* specific application screens or functions;&lt;br /&gt;
* specific data fields;&lt;br /&gt;
* memory;&lt;br /&gt;
* private or protected variables;&lt;br /&gt;
* storage media;&lt;br /&gt;
* transmission media;&lt;br /&gt;
* In short, any object used in processing, storage or transmission of information.&lt;br /&gt;
&lt;br /&gt;
== Access Control Models: ==&lt;br /&gt;
'''Discretionary access controls''' are based on the identity and need-to-know of subjects and/or the groups to which they belong. They are discretionary in the sense that a subject with certain access permissions is capable of passing on that access, directly or indirectly, to other subjects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mandatory access controls''' are based on the sensitivity of the information contained in the objects / resources and a formal authorization. They are mandatory in the sense that they restrain subjects from setting security attributes on an object and from passing on their access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Role-based access controls (RBAC)''' are based on the roles played by users and groups in organizational functions. Roles, alternatively referred to as security groups, include collections of subjects that all share common needs for access. Authorization for access is then provided to the role or group and inherited by members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Attribute-based access control (ABAC)''' is a newer paradigm based on properties of an information exchange that may include identified attributes of the requesting entity, the resource requested, or the context of the exchange or the requested action. Some examples of contextual attributes are things such as:&lt;br /&gt;
&lt;br /&gt;
* time of day;&lt;br /&gt;
* location;&lt;br /&gt;
* currently evaluated threat level;&lt;br /&gt;
* required hygiene measures implemented on the respective hosts.&lt;br /&gt;
&lt;br /&gt;
In general, in ABAC, a rules engine evaluates the identified attributes to issue an authorization decision.&lt;br /&gt;
&lt;br /&gt;
== Examples of Access Controls in Software: ==&lt;br /&gt;
* Account management;&lt;br /&gt;
* Mapping of user rights to business and process requirements;&lt;br /&gt;
* Mechanisms that enforce policies over information flow;&lt;br /&gt;
* Limits on the number of concurrent sessions;&lt;br /&gt;
* Session lock after a period of inactivity;&lt;br /&gt;
* Session termination after a period of inactivity, total time of use or time of day;&lt;br /&gt;
* Limitations on the number of records returned from a query (data mining);&lt;br /&gt;
* Features enforcing policies over segregation of duties;&lt;br /&gt;
* Segregation and management of privileged user accounts;&lt;br /&gt;
* Implementation of the principle of least privilege for granting access;&lt;br /&gt;
* Requiring VPN (virtual private network) for access;&lt;br /&gt;
* Dynamic reconfiguration of user interfaces based on authorization;&lt;br /&gt;
* Restriction of access after a certain time of day.&lt;br /&gt;
&lt;br /&gt;
== Related resources: ==&lt;br /&gt;
# Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and Organizations''. Special Publication 800-53 revision 4. (2013) U.S. National Institute of Standards and Technology. http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
# Joint Technical Committee 1, ''Information Technology'', Subcommittee 27, ''IT Security Techniques''. ''Information Technology - Security Techniques - Information Security Management Systems - Overview and Vocabulary''. ISO/IEC. (2014). http://standards.iso.org/ittf/PubliclyAvailableStandards/c063411_ISO_IEC_27000_2014.zip&lt;br /&gt;
# ''The Standard of Good Practice for Information Security''. Information Security Forum. (2014). https://www.securityforum.org/shop/p-71-173&lt;br /&gt;
# DSS05 within ''Cobit 5: Enabling Processes''. ISACA. (2012). http://www.isaca.org/COBIT/Pages/COBIT-5-Enabling-Processes-product-page.aspx&lt;br /&gt;
# OWASP [[Access Control Cheat Sheet]]&lt;br /&gt;
# OWASP [[Guide to Authorization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Control]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Countermeasure]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Access_Control]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195183</id>
		<title>Authorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195183"/>
				<updated>2015-05-23T17:59:30Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Remove extraneous spacing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction: ==&lt;br /&gt;
This article focuses on the authorization aspects of access controls as they are reflected in software designs, implementations and the management of software development lifecycles. Some sources include both authentication and authorization as aspects of access control. These are closely related but separate concepts and are managed through different processes.  The granting of authorization is an administrative control.  The enforcement of authorization through software mechanisms is referred to as access control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ISO 27000:2014 defines access control as meaning to ensure that access to assets is authorized and restricted based on business and security requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The definitions of access control provided in U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53 (SP800-53) are context specific and not given a general definition. We do find, however, that the Access Control family of controls focuses on both authentication and authorization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Information Security Forum Standard of Good Practice (2014) includes Access Control and User Authorization as separate controls within the Access Management control group. Authorization privileges are discussed there in Access Control (CF6.1.6), among others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of these standards are frequently referenced sources of good guidance on access controls.&lt;br /&gt;
&lt;br /&gt;
== Definitions: ==&lt;br /&gt;
Based on the guidance of such standards and common usage in the field, the following definitions are proposed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Authorization controls govern decisions and processes of determining, documenting and managing the subjects (users, devices or processes) that should be granted access and the objects to which they should be granted access; essentially, what is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Access controls govern the methods and conditions of enforcement by which subjects (users, devices or processes) are allowed to or restricted from connecting with, viewing, consuming, entering into or making use of identified information resources (objects). &lt;br /&gt;
&lt;br /&gt;
== Some Generic Types of Access Controls: ==&lt;br /&gt;
When thinking of access control, you might first think of the ability to login to a system or access files or a database. Access can be controlled, however, at various levels and with respect to a wide range of subjects and objects. Some examples include:&lt;br /&gt;
&lt;br /&gt;
* Network access - the ability to connect to a system or service;&lt;br /&gt;
* At the host - access to operating system functionality;&lt;br /&gt;
* Physical access - at locations housing information assets or physical access to the assets themselves;&lt;br /&gt;
* Restricted functions - operations evaluated as having an elevated risk, such as financial transactions, changes to system configuration, or security administration.&lt;br /&gt;
&lt;br /&gt;
Resource access may refer not only to files and database functionality, but to:&lt;br /&gt;
&lt;br /&gt;
* applications or APIs;&lt;br /&gt;
* specific application screens or functions;&lt;br /&gt;
* specific data fields;&lt;br /&gt;
* memory;&lt;br /&gt;
* private or protected variables;&lt;br /&gt;
* storage media;&lt;br /&gt;
* transmission media;&lt;br /&gt;
* In short, any object used in processing, storage or transmission of information.&lt;br /&gt;
&lt;br /&gt;
== Access Control Models: ==&lt;br /&gt;
'''Discretionary access controls''' are based on the identity and need-to-know of subjects and/or the groups to which they belong. They are discretionary in the sense that a subject with certain access permissions is capable of passing on that access, directly or indirectly, to other subjects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mandatory access controls''' are based on the sensitivity of the information contained in the objects / resources and a formal authorization. They are mandatory in the sense that they restrain subjects from setting security attributes on an object and from passing on their access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Role-based access controls (RBAC)''' are based on the roles played by users and groups in organizational functions. Roles, alternatively referred to as security groups, include collections of subjects that all share common needs for access. Authorization for access is then provided to the role or group and inherited by members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Attribute-based access control (ABAC)''' is a newer paradigm based on properties of an information exchange that may include identified attributes of the requesting entity, the resource requested, or the context of the exchange or the requested action. Some examples of contextual attributes are things such as:&lt;br /&gt;
&lt;br /&gt;
* time of day;&lt;br /&gt;
* location;&lt;br /&gt;
* currently evaluated threat level;&lt;br /&gt;
* required hygiene measures implemented on the respective hosts.&lt;br /&gt;
&lt;br /&gt;
In general, in ABAC, a rules engine evaluates the identified attributes to issue an authorization decision.&lt;br /&gt;
&lt;br /&gt;
== Examples of Access Controls in Software: ==&lt;br /&gt;
* Mapping of user rights to business and process requirements;&lt;br /&gt;
* Mechanisms that enforce policies over information flow;&lt;br /&gt;
* Limits on the number of concurrent sessions;&lt;br /&gt;
* Session lock after a period of inactivity;&lt;br /&gt;
* Session termination after a period of inactivity, total time of use or time of day;&lt;br /&gt;
* Limitations on the number of records returned from a query (data mining);&lt;br /&gt;
* Features enforcing policies over segregation of duties;&lt;br /&gt;
* Segregation and management of privileged user accounts;&lt;br /&gt;
* Implementation of the principle of least privilege for granting access;&lt;br /&gt;
* Requiring VPN (virtual private network) for access;&lt;br /&gt;
* Dynamic reconfiguration of user interfaces based on authorization;&lt;br /&gt;
* Restriction of access after a certain time of day.&lt;br /&gt;
&lt;br /&gt;
== Related resources: ==&lt;br /&gt;
# Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and Organizations''. Special Publication 800-53 revision 4. (2013) U.S. National Institute of Standards and Technology. http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
# Joint Technical Committee 1, ''Information Technology'', Subcommittee 27, ''IT Security Techniques''. ''Information Technology - Security Techniques - Information Security Management Systems - Overview and Vocabulary''. ISO/IEC. (2014). http://standards.iso.org/ittf/PubliclyAvailableStandards/c063411_ISO_IEC_27000_2014.zip&lt;br /&gt;
# ''The Standard of Good Practice for Information Security''. Information Security Forum. (2014). https://www.securityforum.org/shop/p-71-173&lt;br /&gt;
# DSS05 within ''Cobit 5: Enabling Processes''. ISACA. (2012). http://www.isaca.org/COBIT/Pages/COBIT-5-Enabling-Processes-product-page.aspx&lt;br /&gt;
# OWASP [[Access Control Cheat Sheet]]&lt;br /&gt;
# OWASP [[Guide to Authorization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Control]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Countermeasure]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Access_Control]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195182</id>
		<title>Authorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195182"/>
				<updated>2015-05-23T17:58:11Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Added clarification of connection between authorization and access control&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction: ==&lt;br /&gt;
This article focuses on the authorization aspects of access controls as they are reflected in software designs, implementations and the management of software development lifecycles. Some sources include both authentication and authorization as aspects of access control. These are closely related but separate concepts and are managed through different processes.  The granting of authorization is an administrative control.  The enforcement of authorization through software mechanisms is referred to as access control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ISO 27000:2014 defines access control as meaning to ensure that access to assets is authorized and restricted based on business and security requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The definitions of access control provided in U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53 (SP800-53) are context specific and not given a general definition. We do find, however, that the Access Control family of controls focuses on both authentication and authorization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Information Security Forum Standard of Good Practice (2014) includes Access Control and User Authorization as separate controls within the Access Management control group. Authorization privileges are discussed there in Access Control (CF6.1.6), among others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of these standards are frequently referenced sources of good guidance on access controls.&lt;br /&gt;
&lt;br /&gt;
== Definitions: ==&lt;br /&gt;
Based on the guidance of such standards and common usage in the field, the following definitions are proposed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Authorization controls govern decisions and processes of determining, documenting and managing the subjects (users, devices or processes) that should be granted access and the objects to which they should be granted access; essentially, what is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Access controls govern the methods and conditions of enforcement by which subjects (users, devices or processes) are allowed to or restricted from connecting with, viewing, consuming, entering into or making use of identified information resources (objects). &lt;br /&gt;
&lt;br /&gt;
== Some Generic Types of Access Controls: ==&lt;br /&gt;
When thinking of access control, you might first think of the ability to login to a system or access files or a database. Access can be controlled, however, at various levels and with respect to a wide range of subjects and objects. Some examples include:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Network access - the ability to connect to a system or service;&lt;br /&gt;
* At the host - access to operating system functionality;&lt;br /&gt;
* Physical access - at locations housing information assets or physical access to the assets themselves;&lt;br /&gt;
* Restricted functions - operations evaluated as having an elevated risk, such as financial transactions, changes to system configuration, or security administration.&lt;br /&gt;
&lt;br /&gt;
Resource access may refer not only to files and database functionality, but to:&lt;br /&gt;
&lt;br /&gt;
* applications or APIs;&lt;br /&gt;
* specific application screens or functions;&lt;br /&gt;
* specific data fields;&lt;br /&gt;
* memory;&lt;br /&gt;
* private or protected variables;&lt;br /&gt;
* storage media;&lt;br /&gt;
* transmission media;&lt;br /&gt;
* In short, any object used in processing, storage or transmission of information.&lt;br /&gt;
&lt;br /&gt;
== Access Control Models: ==&lt;br /&gt;
'''Discretionary access controls''' are based on the identity and need-to-know of subjects and/or the groups to which they belong. They are discretionary in the sense that a subject with certain access permissions is capable of passing on that access, directly or indirectly, to other subjects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mandatory access controls''' are based on the sensitivity of the information contained in the objects / resources and a formal authorization. They are mandatory in the sense that they restrain subjects from setting security attributes on an object and from passing on their access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Role-based access controls (RBAC)''' are based on the roles played by users and groups in organizational functions. Roles, alternatively referred to as security groups, include collections of subjects that all share common needs for access. Authorization for access is then provided to the role or group and inherited by members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Attribute-based access control (ABAC)''' is a newer paradigm based on properties of an information exchange that may include identified attributes of the requesting entity, the resource requested, or the context of the exchange or the requested action. Some examples of contextual attributes are things such as:&lt;br /&gt;
&lt;br /&gt;
* time of day;&lt;br /&gt;
* location;&lt;br /&gt;
* currently evaluated threat level;&lt;br /&gt;
* required hygiene measures implemented on the respective hosts.&lt;br /&gt;
&lt;br /&gt;
In general, in ABAC, a rules engine evaluates the identified attributes to issue an authorization decision.&lt;br /&gt;
&lt;br /&gt;
== Examples of Access Controls in Software: ==&lt;br /&gt;
* Mapping of user rights to business and process requirements;&lt;br /&gt;
* Mechanisms that enforce policies over information flow;&lt;br /&gt;
* Limits on the number of concurrent sessions;&lt;br /&gt;
* Session lock after a period of inactivity;&lt;br /&gt;
* Session termination after a period of inactivity, total time of use or time of day;&lt;br /&gt;
* Limitations on the number of records returned from a query (data mining);&lt;br /&gt;
* Features enforcing policies over segregation of duties;&lt;br /&gt;
* Segregation and management of privileged user accounts;&lt;br /&gt;
* Implementation of the principle of least privilege for granting access;&lt;br /&gt;
* Requiring VPN (virtual private network) for access;&lt;br /&gt;
* Dynamic reconfiguration of user interfaces based on authorization;&lt;br /&gt;
* Restriction of access after a certain time of day.&lt;br /&gt;
&lt;br /&gt;
== Related resources: ==&lt;br /&gt;
# Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and Organizations''. Special Publication 800-53 revision 4. (2013) U.S. National Institute of Standards and Technology. http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
# Joint Technical Committee 1, ''Information Technology'', Subcommittee 27, ''IT Security Techniques''. ''Information Technology - Security Techniques - Information Security Management Systems - Overview and Vocabulary''. ISO/IEC. (2014). http://standards.iso.org/ittf/PubliclyAvailableStandards/c063411_ISO_IEC_27000_2014.zip&lt;br /&gt;
# ''The Standard of Good Practice for Information Security''. Information Security Forum. (2014). https://www.securityforum.org/shop/p-71-173&lt;br /&gt;
# DSS05 within ''Cobit 5: Enabling Processes''. ISACA. (2012). http://www.isaca.org/COBIT/Pages/COBIT-5-Enabling-Processes-product-page.aspx&lt;br /&gt;
# OWASP [[Access Control Cheat Sheet]]&lt;br /&gt;
# OWASP [[Guide to Authorization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Control]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Countermeasure]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Access_Control]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195181</id>
		<title>Authorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195181"/>
				<updated>2015-05-23T17:35:43Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Changed heading&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction: ==&lt;br /&gt;
This article focuses on the authorization aspects of access controls as they are reflected in software designs, implementations and the management of software development lifecycles. Some sources include both authentication and authorization as aspects of access control. These are closely related but separate concepts and are managed through different processes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ISO 27000:2014 defines access control as meaning to ensure that access to assets is authorized and restricted based on business and security requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The definitions of access control provided in U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53 (SP800-53) are context specific and not given a general definition. We do find, however, that the Access Control family of controls focuses on both authentication and authorization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Information Security Forum Standard of Good Practice (2014) includes Access Control and User Authorization as separate controls within the Access Management control group. Authorization privileges are discussed there in Access Control (CF6.1.6), among others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of these standards are frequently referenced sources of good guidance on access controls.&lt;br /&gt;
&lt;br /&gt;
== Definitions: ==&lt;br /&gt;
Based on the guidance of such standards and common usage in the field, the following definitions are proposed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Authorization controls govern decisions and processes of determining, documenting and managing the subjects (users, devices or processes) that should be granted access and the objects to which they should be granted access; essentially, what is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Access controls govern the methods and conditions of enforcement by which subjects (users, devices or processes) are allowed to or restricted from connecting with, viewing, consuming, entering into or making use of identified information resources (objects). &lt;br /&gt;
&lt;br /&gt;
== Some Generic Types of Access Controls: ==&lt;br /&gt;
When thinking of access control, you might first think of the ability to login to a system or access files or a database. Access can be controlled, however, at various levels and with respect to a wide range of subjects and objects. Some examples include:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Network access - the ability to connect to a system or service;&lt;br /&gt;
* At the host - access to operating system functionality;&lt;br /&gt;
* Physical access - at locations housing information assets or physical access to the assets themselves;&lt;br /&gt;
* Restricted functions - operations evaluated as having an elevated risk, such as financial transactions, changes to system configuration, or security administration.&lt;br /&gt;
&lt;br /&gt;
Resource access may refer not only to files and database functionality, but to:&lt;br /&gt;
&lt;br /&gt;
* applications or APIs;&lt;br /&gt;
* specific application screens or functions;&lt;br /&gt;
* specific data fields;&lt;br /&gt;
* memory;&lt;br /&gt;
* private or protected variables;&lt;br /&gt;
* storage media;&lt;br /&gt;
* transmission media;&lt;br /&gt;
* In short, any object used in processing, storage or transmission of information.&lt;br /&gt;
&lt;br /&gt;
== Access Control Models: ==&lt;br /&gt;
'''Discretionary access controls''' are based on the identity and need-to-know of subjects and/or the groups to which they belong. They are discretionary in the sense that a subject with certain access permissions is capable of passing on that access, directly or indirectly, to other subjects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mandatory access controls''' are based on the sensitivity of the information contained in the objects / resources and a formal authorization. They are mandatory in the sense that they restrain subjects from setting security attributes on an object and from passing on their access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Role-based access controls (RBAC)''' are based on the roles played by users and groups in organizational functions. Roles, alternatively referred to as security groups, include collections of subjects that all share common needs for access. Authorization for access is then provided to the role or group and inherited by members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Attribute-based access control (ABAC)''' is a newer paradigm based on properties of an information exchange that may include identified attributes of the requesting entity, the resource requested, or the context of the exchange or the requested action. Some examples of contextual attributes are things such as:&lt;br /&gt;
&lt;br /&gt;
* time of day;&lt;br /&gt;
* location;&lt;br /&gt;
* currently evaluated threat level;&lt;br /&gt;
* required hygiene measures implemented on the respective hosts.&lt;br /&gt;
&lt;br /&gt;
In general, in ABAC, a rules engine evaluates the identified attributes to issue an authorization decision.&lt;br /&gt;
&lt;br /&gt;
== Examples of Access Controls in Software: ==&lt;br /&gt;
* Mapping of user rights to business and process requirements;&lt;br /&gt;
* Mechanisms that enforce policies over information flow;&lt;br /&gt;
* Limits on the number of concurrent sessions;&lt;br /&gt;
* Session lock after a period of inactivity;&lt;br /&gt;
* Session termination after a period of inactivity, total time of use or time of day;&lt;br /&gt;
* Limitations on the number of records returned from a query (data mining);&lt;br /&gt;
* Features enforcing policies over segregation of duties;&lt;br /&gt;
* Segregation and management of privileged user accounts;&lt;br /&gt;
* Implementation of the principle of least privilege for granting access;&lt;br /&gt;
* Requiring VPN (virtual private network) for access;&lt;br /&gt;
* Dynamic reconfiguration of user interfaces based on authorization;&lt;br /&gt;
* Restriction of access after a certain time of day.&lt;br /&gt;
&lt;br /&gt;
== Related resources: ==&lt;br /&gt;
# Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and Organizations''. Special Publication 800-53 revision 4. (2013) U.S. National Institute of Standards and Technology. http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
# Joint Technical Committee 1, ''Information Technology'', Subcommittee 27, ''IT Security Techniques''. ''Information Technology - Security Techniques - Information Security Management Systems - Overview and Vocabulary''. ISO/IEC. (2014). http://standards.iso.org/ittf/PubliclyAvailableStandards/c063411_ISO_IEC_27000_2014.zip&lt;br /&gt;
# ''The Standard of Good Practice for Information Security''. Information Security Forum. (2014). https://www.securityforum.org/shop/p-71-173&lt;br /&gt;
# DSS05 within ''Cobit 5: Enabling Processes''. ISACA. (2012). http://www.isaca.org/COBIT/Pages/COBIT-5-Enabling-Processes-product-page.aspx&lt;br /&gt;
# OWASP [[Access Control Cheat Sheet]]&lt;br /&gt;
# OWASP [[Guide to Authorization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Control]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Countermeasure]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Access_Control]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195180</id>
		<title>Authorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195180"/>
				<updated>2015-05-23T17:34:32Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: grammar correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Authorization / Access Control: =&lt;br /&gt;
This article focuses on the authorization aspects of access controls as they are reflected in software designs, implementations and the management of software development lifecycles. Some sources include both authentication and authorization as aspects of access control. These are closely related but separate concepts and are managed through different processes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ISO 27000:2014 defines access control as meaning to ensure that access to assets is authorized and restricted based on business and security requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The definitions of access control provided in U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53 (SP800-53) are context specific and not given a general definition. We do find, however, that the Access Control family of controls focuses on both authentication and authorization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Information Security Forum Standard of Good Practice (2014) includes Access Control and User Authorization as separate controls within the Access Management control group. Authorization privileges are discussed there in Access Control (CF6.1.6), among others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of these standards are frequently referenced sources of good guidance on access controls.&lt;br /&gt;
&lt;br /&gt;
== Definitions: ==&lt;br /&gt;
Based on the guidance of such standards and common usage in the field, the following definitions are proposed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Authorization controls govern decisions and processes of determining, documenting and managing the subjects (users, devices or processes) that should be granted access and the objects to which they should be granted access; essentially, what is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Access controls govern the methods and conditions of enforcement by which subjects (users, devices or processes) are allowed to or restricted from connecting with, viewing, consuming, entering into or making use of identified information resources (objects). &lt;br /&gt;
&lt;br /&gt;
== Some Generic Types of Access Controls: ==&lt;br /&gt;
When thinking of access control, you might first think of the ability to login to a system or access files or a database. Access can be controlled, however, at various levels and with respect to a wide range of subjects and objects. Some examples include:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Network access - the ability to connect to a system or service;&lt;br /&gt;
* At the host - access to operating system functionality;&lt;br /&gt;
* Physical access - at locations housing information assets or physical access to the assets themselves;&lt;br /&gt;
* Restricted functions - operations evaluated as having an elevated risk, such as financial transactions, changes to system configuration, or security administration.&lt;br /&gt;
&lt;br /&gt;
Resource access may refer not only to files and database functionality, but to:&lt;br /&gt;
&lt;br /&gt;
* applications or APIs;&lt;br /&gt;
* specific application screens or functions;&lt;br /&gt;
* specific data fields;&lt;br /&gt;
* memory;&lt;br /&gt;
* private or protected variables;&lt;br /&gt;
* storage media;&lt;br /&gt;
* transmission media;&lt;br /&gt;
* In short, any object used in processing, storage or transmission of information.&lt;br /&gt;
&lt;br /&gt;
== Access Control Models: ==&lt;br /&gt;
'''Discretionary access controls''' are based on the identity and need-to-know of subjects and/or the groups to which they belong. They are discretionary in the sense that a subject with certain access permissions is capable of passing on that access, directly or indirectly, to other subjects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mandatory access controls''' are based on the sensitivity of the information contained in the objects / resources and a formal authorization. They are mandatory in the sense that they restrain subjects from setting security attributes on an object and from passing on their access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Role-based access controls (RBAC)''' are based on the roles played by users and groups in organizational functions. Roles, alternatively referred to as security groups, include collections of subjects that all share common needs for access. Authorization for access is then provided to the role or group and inherited by members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Attribute-based access control (ABAC)''' is a newer paradigm based on properties of an information exchange that may include identified attributes of the requesting entity, the resource requested, or the context of the exchange or the requested action. Some examples of contextual attributes are things such as:&lt;br /&gt;
&lt;br /&gt;
* time of day;&lt;br /&gt;
* location;&lt;br /&gt;
* currently evaluated threat level;&lt;br /&gt;
* required hygiene measures implemented on the respective hosts.&lt;br /&gt;
&lt;br /&gt;
In general, in ABAC, a rules engine evaluates the identified attributes to issue an authorization decision.&lt;br /&gt;
&lt;br /&gt;
== Examples of Access Controls in Software: ==&lt;br /&gt;
* Mapping of user rights to business and process requirements;&lt;br /&gt;
* Mechanisms that enforce policies over information flow;&lt;br /&gt;
* Limits on the number of concurrent sessions;&lt;br /&gt;
* Session lock after a period of inactivity;&lt;br /&gt;
* Session termination after a period of inactivity, total time of use or time of day;&lt;br /&gt;
* Limitations on the number of records returned from a query (data mining);&lt;br /&gt;
* Features enforcing policies over segregation of duties;&lt;br /&gt;
* Segregation and management of privileged user accounts;&lt;br /&gt;
* Implementation of the principle of least privilege for granting access;&lt;br /&gt;
* Requiring VPN (virtual private network) for access;&lt;br /&gt;
* Dynamic reconfiguration of user interfaces based on authorization;&lt;br /&gt;
* Restriction of access after a certain time of day.&lt;br /&gt;
&lt;br /&gt;
== Related resources: ==&lt;br /&gt;
# Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and Organizations''. Special Publication 800-53 revision 4. (2013) U.S. National Institute of Standards and Technology. http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
# Joint Technical Committee 1, ''Information Technology'', Subcommittee 27, ''IT Security Techniques''. ''Information Technology - Security Techniques - Information Security Management Systems - Overview and Vocabulary''. ISO/IEC. (2014). http://standards.iso.org/ittf/PubliclyAvailableStandards/c063411_ISO_IEC_27000_2014.zip&lt;br /&gt;
# ''The Standard of Good Practice for Information Security''. Information Security Forum. (2014). https://www.securityforum.org/shop/p-71-173&lt;br /&gt;
# DSS05 within ''Cobit 5: Enabling Processes''. ISACA. (2012). http://www.isaca.org/COBIT/Pages/COBIT-5-Enabling-Processes-product-page.aspx&lt;br /&gt;
# OWASP [[Access Control Cheat Sheet]]&lt;br /&gt;
# OWASP [[Guide to Authorization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Control]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Countermeasure]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Access_Control]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195179</id>
		<title>Authorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195179"/>
				<updated>2015-05-23T17:05:00Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Authorization / Access Control: =&lt;br /&gt;
This article focuses on the authorization aspect of access controls as they are reflected in software designs, implementations and the management of software development lifecycles. Some sources include both authentication and authorization as aspects of access control. These are closely related but separate concepts and are managed through different processes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ISO 27000:2014 defines access control as meaning to ensure that access to assets is authorized and restricted based on business and security requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The definitions of access control provided in U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53 (SP800-53) are context specific and not given a general definition. We do find, however, that the Access Control family of controls focuses on both authentication and authorization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Information Security Forum Standard of Good Practice (2014) includes Access Control and User Authorization as separate controls within the Access Management control group. Authorization privileges are discussed there in Access Control (CF6.1.6), among others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of these standards are frequently referenced sources of good guidance on access controls.&lt;br /&gt;
&lt;br /&gt;
== Definitions: ==&lt;br /&gt;
Based on the guidance of such standards and common usage in the field, the following definitions are proposed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Authorization controls govern decisions and processes of determining, documenting and managing the subjects (users, devices or processes) that should be granted access and the objects to which they should be granted access; essentially, what is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Access controls govern the methods and conditions of enforcement by which subjects (users, devices or processes) are allowed to or restricted from connecting with, viewing, consuming, entering into or making use of identified information resources (objects). &lt;br /&gt;
&lt;br /&gt;
== Some Generic Types of Access Controls: ==&lt;br /&gt;
When thinking of access control, you might first think of the ability to login to a system or access files or a database. Access can be controlled, however, at various levels and with respect to a wide range of subjects and objects. Some examples include:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Network access - the ability to connect to a system or service;&lt;br /&gt;
* At the host - access to operating system functionality;&lt;br /&gt;
* Physical access - at locations housing information assets or physical access to the assets themselves;&lt;br /&gt;
* Restricted functions - operations evaluated as having an elevated risk, such as financial transactions, changes to system configuration, or security administration.&lt;br /&gt;
&lt;br /&gt;
Resource access may refer not only to files and database functionality, but to:&lt;br /&gt;
&lt;br /&gt;
* applications or APIs;&lt;br /&gt;
* specific application screens or functions;&lt;br /&gt;
* specific data fields;&lt;br /&gt;
* memory;&lt;br /&gt;
* private or protected variables;&lt;br /&gt;
* storage media;&lt;br /&gt;
* transmission media;&lt;br /&gt;
* In short, any object used in processing, storage or transmission of information.&lt;br /&gt;
&lt;br /&gt;
== Access Control Models: ==&lt;br /&gt;
'''Discretionary access controls''' are based on the identity and need-to-know of subjects and/or the groups to which they belong. They are discretionary in the sense that a subject with certain access permissions is capable of passing on that access, directly or indirectly, to other subjects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mandatory access controls''' are based on the sensitivity of the information contained in the objects / resources and a formal authorization. They are mandatory in the sense that they restrain subjects from setting security attributes on an object and from passing on their access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Role-based access controls (RBAC)''' are based on the roles played by users and groups in organizational functions. Roles, alternatively referred to as security groups, include collections of subjects that all share common needs for access. Authorization for access is then provided to the role or group and inherited by members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Attribute-based access control (ABAC)''' is a newer paradigm based on properties of an information exchange that may include identified attributes of the requesting entity, the resource requested, or the context of the exchange or the requested action. Some examples of contextual attributes are things such as:&lt;br /&gt;
&lt;br /&gt;
* time of day;&lt;br /&gt;
* location;&lt;br /&gt;
* currently evaluated threat level;&lt;br /&gt;
* required hygiene measures implemented on the respective hosts.&lt;br /&gt;
&lt;br /&gt;
In general, in ABAC, a rules engine evaluates the identified attributes to issue an authorization decision.&lt;br /&gt;
&lt;br /&gt;
== Examples of Access Controls in Software: ==&lt;br /&gt;
* Mapping of user rights to business and process requirements;&lt;br /&gt;
* Mechanisms that enforce policies over information flow;&lt;br /&gt;
* Limits on the number of concurrent sessions;&lt;br /&gt;
* Session lock after a period of inactivity;&lt;br /&gt;
* Session termination after a period of inactivity, total time of use or time of day;&lt;br /&gt;
* Limitations on the number of records returned from a query (data mining);&lt;br /&gt;
* Features enforcing policies over segregation of duties;&lt;br /&gt;
* Segregation and management of privileged user accounts;&lt;br /&gt;
* Implementation of the principle of least privilege for granting access;&lt;br /&gt;
* Requiring VPN (virtual private network) for access;&lt;br /&gt;
* Dynamic reconfiguration of user interfaces based on authorization;&lt;br /&gt;
* Restriction of access after a certain time of day.&lt;br /&gt;
&lt;br /&gt;
== Related resources: ==&lt;br /&gt;
# Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and Organizations''. Special Publication 800-53 revision 4. (2013) U.S. National Institute of Standards and Technology. http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
# Joint Technical Committee 1, ''Information Technology'', Subcommittee 27, ''IT Security Techniques''. ''Information Technology - Security Techniques - Information Security Management Systems - Overview and Vocabulary''. ISO/IEC. (2014). http://standards.iso.org/ittf/PubliclyAvailableStandards/c063411_ISO_IEC_27000_2014.zip&lt;br /&gt;
# ''The Standard of Good Practice for Information Security''. Information Security Forum. (2014). https://www.securityforum.org/shop/p-71-173&lt;br /&gt;
# DSS05 within ''Cobit 5: Enabling Processes''. ISACA. (2012). http://www.isaca.org/COBIT/Pages/COBIT-5-Enabling-Processes-product-page.aspx&lt;br /&gt;
# OWASP [[Access Control Cheat Sheet]]&lt;br /&gt;
# OWASP [[Guide to Authorization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Control]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Countermeasure]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Access_Control]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195178</id>
		<title>Authorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195178"/>
				<updated>2015-05-23T17:03:40Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Undo revision 195177 by MelDrews (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Authorization / Access Control: =&lt;br /&gt;
This article focuses on the authorization aspect of access controls as they are reflected in software designs, implementations and the management of software development lifecycles. Some sources include both authentication and authorization as aspects of access control. These are closely related but separate concepts and are managed through different processes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ISO 27000:2014 defines access control as meaning to ensure that access to assets is authorized and restricted based on business and security requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The definitions of access control provided in U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53 (SP800-53) are context specific and not given a general definition. We do find, however, that the Access Control family of controls focuses on both authentication and authorization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Information Security Forum Standard of Good Practice (2014) includes Access Control and User Authorization as separate controls within the Access Management control group. Authorization privileges are discussed there in Access Control (CF6.1.6), among others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of these standards are frequently referenced sources of good guidance on access controls.&lt;br /&gt;
&lt;br /&gt;
== Definitions: ==&lt;br /&gt;
Based on the guidance of such standards and common usage in the field, the following definitions are proposed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Authorization controls govern decisions and processes of determining, documenting and managing the subjects (users, devices or processes) that should be granted access and the objects to which they should be granted access; essentially, what is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Access controls govern the methods and conditions of enforcement by which subjects (users, devices or processes) are allowed to or restricted from connecting with, viewing, consuming, entering into or making use of identified information resources (objects). &lt;br /&gt;
&lt;br /&gt;
== Some Generic Types of Access Controls: ==&lt;br /&gt;
When thinking of access control, you might first think of the ability to login to a system or access files or a database. Access can be controlled, however, at various levels and with respect to a wide range of subjects and objects. Some examples include:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Network access - the ability to connect to a system or service;&lt;br /&gt;
* At the host - access to operating system functionality;&lt;br /&gt;
* Physical access - at locations housing information assets or physical access to the assets themselves;&lt;br /&gt;
* Restricted functions - operations evaluated as having an elevated risk, such as financial transactions, changes to system configuration, or security administration.&lt;br /&gt;
&lt;br /&gt;
Resource access may refer not only to files and database functionality, but to:&lt;br /&gt;
&lt;br /&gt;
* applications or APIs;&lt;br /&gt;
* specific application screens or functions;&lt;br /&gt;
* specific data fields;&lt;br /&gt;
* memory;&lt;br /&gt;
* private or protected variables;&lt;br /&gt;
* storage media;&lt;br /&gt;
* transmission media;&lt;br /&gt;
* In short, any object used in processing, storage or transmission of information.&lt;br /&gt;
&lt;br /&gt;
== Access Control Models: ==&lt;br /&gt;
Discretionary access controls are based on the identity and need-to-know of subjects and/or the groups to which they belong. They are discretionary in the sense that a subject with certain access permissions is capable of passing on that access, directly or indirectly, to other subjects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mandatory access controls are based on the sensitivity of the information contained in the objects / resources and a formal authorization. They are mandatory in the sense that they restrain subjects from setting security attributes on an object and from passing on their access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Role-based access controls (RBAC) are based on the roles played by users and groups in organizational functions. Roles, alternatively referred to as security groups, include collections of subjects that all share common needs for access. Authorization for access is then provided to the role or group and inherited by members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attribute-based access control (ABAC) is a newer paradigm based on properties of an information exchange that may include identified attributes of the requesting entity, the resource requested, or the context of the exchange or the requested action. Some examples of contextual attributes are things such as:&lt;br /&gt;
&lt;br /&gt;
* time of day;&lt;br /&gt;
* location;&lt;br /&gt;
* currently evaluated threat level;&lt;br /&gt;
* required hygiene measures implemented on the respective hosts.&lt;br /&gt;
&lt;br /&gt;
In general, in ABAC, a rules engine evaluates the identified attributes to issue an authorization decision.&lt;br /&gt;
&lt;br /&gt;
== Examples of Access Controls in Software: ==&lt;br /&gt;
* Mapping of user rights to business and process requirements;&lt;br /&gt;
* Mechanisms that enforce policies over information flow;&lt;br /&gt;
* Limits on the number of concurrent sessions;&lt;br /&gt;
* Session lock after a period of inactivity;&lt;br /&gt;
* Session termination after a period of inactivity, total time of use or time of day;&lt;br /&gt;
* Limitations on the number of records returned from a query (data mining);&lt;br /&gt;
* Features enforcing policies over segregation of duties;&lt;br /&gt;
* Segregation and management of privileged user accounts;&lt;br /&gt;
* Implementation of the principle of least privilege for granting access;&lt;br /&gt;
* Requiring VPN (virtual private network) for access;&lt;br /&gt;
* Dynamic reconfiguration of user interfaces based on authorization;&lt;br /&gt;
* Restriction of access after a certain time of day.&lt;br /&gt;
&lt;br /&gt;
== Related resources: ==&lt;br /&gt;
# Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and Organizations''. Special Publication 800-53 revision 4. (2013) U.S. National Institute of Standards and Technology. http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
# Joint Technical Committee 1, ''Information Technology'', Subcommittee 27, ''IT Security Techniques''. ''Information Technology - Security Techniques - Information Security Management Systems - Overview and Vocabulary''. ISO/IEC. (2014). http://standards.iso.org/ittf/PubliclyAvailableStandards/c063411_ISO_IEC_27000_2014.zip&lt;br /&gt;
# ''The Standard of Good Practice for Information Security''. Information Security Forum. (2014). https://www.securityforum.org/shop/p-71-173&lt;br /&gt;
# DSS05 within ''Cobit 5: Enabling Processes''. ISACA. (2012). http://www.isaca.org/COBIT/Pages/COBIT-5-Enabling-Processes-product-page.aspx&lt;br /&gt;
# OWASP [[Access Control Cheat Sheet]]&lt;br /&gt;
# OWASP [[Guide to Authorization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Control]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Countermeasure]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Access_Control]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195177</id>
		<title>Authorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195177"/>
				<updated>2015-05-23T17:02:46Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Authorization / Access Control: =&lt;br /&gt;
This article focuses on the authorization aspect of access controls as they are reflected in software designs, implementations and the management of software development lifecycles. Some sources include both authentication and authorization as aspects of access control. These are closely related but separate concepts and are managed through different processes.&lt;br /&gt;
&lt;br /&gt;
ISO 27000:2014 defines access control as meaning to ensure that access to assets is authorized and restricted based on business and security requirements.&lt;br /&gt;
&lt;br /&gt;
The definitions of access control provided in U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53 (SP800-53) are context specific and not given a general definition. We do find, however, that the Access Control family of controls focuses on both authentication and authorization.&lt;br /&gt;
&lt;br /&gt;
The Information Security Forum Standard of Good Practice (2014) includes Access Control and User Authorization as separate controls within the Access Management control group. Authorization privileges are discussed there in Access Control (CF6.1.6), among others.&lt;br /&gt;
&lt;br /&gt;
All of these standards are frequently referenced sources of good guidance on access controls.&lt;br /&gt;
&lt;br /&gt;
== Definitions: ==&lt;br /&gt;
Based on the guidance of such standards and common usage in the field, the following definitions are proposed:&lt;br /&gt;
&lt;br /&gt;
Authorization controls govern decisions and processes of determining, documenting and managing the subjects (users, devices or processes) that should be granted access and the objects to which they should be granted access; essentially, what is allowed.&lt;br /&gt;
&lt;br /&gt;
Access controls govern the methods and conditions of enforcement by which subjects (users, devices or processes) are allowed to or restricted from connecting with, viewing, consuming, entering into or making use of identified information resources (objects). &lt;br /&gt;
&lt;br /&gt;
== Some Generic Types of Access Controls: ==&lt;br /&gt;
When thinking of access control, you might first think of the ability to login to a system or access files or a database. Access can be controlled, however, at various levels and with respect to a wide range of subjects and objects. Some examples include:&lt;br /&gt;
&lt;br /&gt;
* Network access - the ability to connect to a system or service;&lt;br /&gt;
* At the host - access to operating system functionality;&lt;br /&gt;
* Physical access - at locations housing information assets or physical access to the assets themselves;&lt;br /&gt;
* Restricted functions - operations evaluated as having an elevated risk, such as financial transactions, changes to system configuration, or security administration.&lt;br /&gt;
&lt;br /&gt;
Resource access may refer not only to files and database functionality, but to:&lt;br /&gt;
&lt;br /&gt;
* applications or APIs;&lt;br /&gt;
* specific application screens or functions;&lt;br /&gt;
* specific data fields;&lt;br /&gt;
* memory;&lt;br /&gt;
* private or protected variables;&lt;br /&gt;
* storage media;&lt;br /&gt;
* transmission media;&lt;br /&gt;
* In short, any object used in processing, storage or transmission of information.&lt;br /&gt;
&lt;br /&gt;
== Access Control Models: ==&lt;br /&gt;
'''Discretionary access controls''' are based on the identity and need-to-know of subjects and/or the groups to which they belong. They are discretionary in the sense that a subject with certain access permissions is capable of passing on that access, directly or indirectly, to other subjects.&lt;br /&gt;
&lt;br /&gt;
'''Mandatory access controls''' are based on the sensitivity of the information contained in the objects / resources and a formal authorization. They are mandatory in the sense that they restrain subjects from setting security attributes on an object and from passing on their access.&lt;br /&gt;
&lt;br /&gt;
'''Role-based access controls (RBAC)''' are based on the roles played by users and groups in organizational functions. Roles, alternatively referred to as security groups, include collections of subjects that all share common needs for access. Authorization for access is then provided to the role or group and inherited by members.&lt;br /&gt;
&lt;br /&gt;
'''Attribute-based access control (ABAC)''' is a newer paradigm based on properties of an information exchange that may include identified attributes of the requesting entity, the resource requested, or the context of the exchange or the requested action. Some examples of contextual attributes are things such as:&lt;br /&gt;
&lt;br /&gt;
* time of day;&lt;br /&gt;
* location;&lt;br /&gt;
* currently evaluated threat level;&lt;br /&gt;
* required hygiene measures implemented on the respective hosts.&lt;br /&gt;
&lt;br /&gt;
In general, in ABAC, a rules engine evaluates the identified attributes to issue an authorization decision.&lt;br /&gt;
&lt;br /&gt;
== Examples of Access Controls in Software: ==&lt;br /&gt;
* Mapping of user rights to business and process requirements;&lt;br /&gt;
* Mechanisms that enforce policies over information flow;&lt;br /&gt;
* Limits on the number of concurrent sessions;&lt;br /&gt;
* Session lock after a period of inactivity;&lt;br /&gt;
* Session termination after a period of inactivity, total time of use or time of day;&lt;br /&gt;
* Limitations on the number of records returned from a query (data mining);&lt;br /&gt;
* Features enforcing policies over segregation of duties;&lt;br /&gt;
* Segregation and management of privileged user accounts;&lt;br /&gt;
* Implementation of the principle of least privilege for granting access;&lt;br /&gt;
* Requiring VPN (virtual private network) for access;&lt;br /&gt;
* Dynamic reconfiguration of user interfaces based on authorization;&lt;br /&gt;
* Restriction of access after a certain time of day.&lt;br /&gt;
&lt;br /&gt;
== Related resources: ==&lt;br /&gt;
# Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and Organizations''. Special Publication 800-53 revision 4. (2013) U.S. National Institute of Standards and Technology. http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
# Joint Technical Committee 1, ''Information Technology'', Subcommittee 27, ''IT Security Techniques''. ''Information Technology - Security Techniques - Information Security Management Systems - Overview and Vocabulary''. ISO/IEC. (2014). http://standards.iso.org/ittf/PubliclyAvailableStandards/c063411_ISO_IEC_27000_2014.zip&lt;br /&gt;
# ''The Standard of Good Practice for Information Security''. Information Security Forum. (2014). https://www.securityforum.org/shop/p-71-173&lt;br /&gt;
# DSS05 within ''Cobit 5: Enabling Processes''. ISACA. (2012). http://www.isaca.org/COBIT/Pages/COBIT-5-Enabling-Processes-product-page.aspx&lt;br /&gt;
# OWASP [[Access Control Cheat Sheet]]&lt;br /&gt;
# OWASP [[Guide to Authorization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Control]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Countermeasure]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Access_Control]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195176</id>
		<title>Authorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Authorization&amp;diff=195176"/>
				<updated>2015-05-23T16:56:54Z</updated>
		
		<summary type="html">&lt;p&gt;MelDrews: Removed stub template. Added definitions, examples and references&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Authorization / Access Control: =&lt;br /&gt;
This article focuses on the authorization aspect of access controls as they are reflected in software designs, implementations and the management of software development lifecycles. Some sources include both authentication and authorization as aspects of access control. These are closely related but separate concepts and are managed through different processes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ISO 27000:2014 defines access control as meaning to ensure that access to assets is authorized and restricted based on business and security requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The definitions of access control provided in U.S. National Institute of Standards and Technology (NIST) Special Publication 800-53 (SP800-53) are context specific and not given a general definition. We do find, however, that the Access Control family of controls focuses on both authentication and authorization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Information Security Forum Standard of Good Practice (2014) includes Access Control and User Authorization as separate controls within the Access Management control group. Authorization privileges are discussed there in Access Control (CF6.1.6), among others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of these standards are frequently referenced sources of good guidance on access controls.&lt;br /&gt;
&lt;br /&gt;
== Definitions: ==&lt;br /&gt;
Based on the guidance of such standards and common usage in the field, the following definitions are proposed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Authorization controls govern decisions and processes of determining, documenting and managing the subjects (users, devices or processes) that should be granted access and the objects to which they should be granted access; essentially, what is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Access controls govern the methods and conditions of enforcement by which subjects (users, devices or processes) are allowed to or restricted from connecting with, viewing, consuming, entering into or making use of identified information resources (objects). &lt;br /&gt;
&lt;br /&gt;
== Some Generic Types of Access Controls: ==&lt;br /&gt;
When thinking of access control, you might first think of the ability to login to a system or access files or a database. Access can be controlled, however, at various levels and with respect to a wide range of subjects and objects. Some examples include:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Network access - the ability to connect to a system or service;&lt;br /&gt;
* At the host - access to operating system functionality;&lt;br /&gt;
* Physical access - at locations housing information assets or physical access to the assets themselves;&lt;br /&gt;
* Restricted functions - operations evaluated as having an elevated risk, such as financial transactions, changes to system configuration, or security administration.&lt;br /&gt;
&lt;br /&gt;
Resource access may refer not only to files and database functionality, but to:&lt;br /&gt;
&lt;br /&gt;
* applications or APIs;&lt;br /&gt;
* specific application screens or functions;&lt;br /&gt;
* specific data fields;&lt;br /&gt;
* memory;&lt;br /&gt;
* private or protected variables;&lt;br /&gt;
* storage media;&lt;br /&gt;
* transmission media;&lt;br /&gt;
* In short, any object used in processing, storage or transmission of information.&lt;br /&gt;
&lt;br /&gt;
== Access Control Models: ==&lt;br /&gt;
Discretionary access controls are based on the identity and need-to-know of subjects and/or the groups to which they belong. They are discretionary in the sense that a subject with certain access permissions is capable of passing on that access, directly or indirectly, to other subjects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mandatory access controls are based on the sensitivity of the information contained in the objects / resources and a formal authorization. They are mandatory in the sense that they restrain subjects from setting security attributes on an object and from passing on their access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Role-based access controls (RBAC) are based on the roles played by users and groups in organizational functions. Roles, alternatively referred to as security groups, include collections of subjects that all share common needs for access. Authorization for access is then provided to the role or group and inherited by members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attribute-based access control (ABAC) is a newer paradigm based on properties of an information exchange that may include identified attributes of the requesting entity, the resource requested, or the context of the exchange or the requested action. Some examples of contextual attributes are things such as:&lt;br /&gt;
&lt;br /&gt;
* time of day;&lt;br /&gt;
* location;&lt;br /&gt;
* currently evaluated threat level;&lt;br /&gt;
* required hygiene measures implemented on the respective hosts.&lt;br /&gt;
&lt;br /&gt;
In general, in ABAC, a rules engine evaluates the identified attributes to issue an authorization decision.&lt;br /&gt;
&lt;br /&gt;
== Examples of Access Controls in Software: ==&lt;br /&gt;
* Mapping of user rights to business and process requirements;&lt;br /&gt;
* Mechanisms that enforce policies over information flow;&lt;br /&gt;
* Limits on the number of concurrent sessions;&lt;br /&gt;
* Session lock after a period of inactivity;&lt;br /&gt;
* Session termination after a period of inactivity, total time of use or time of day;&lt;br /&gt;
* Limitations on the number of records returned from a query (data mining);&lt;br /&gt;
* Features enforcing policies over segregation of duties;&lt;br /&gt;
* Segregation and management of privileged user accounts;&lt;br /&gt;
* Implementation of the principle of least privilege for granting access;&lt;br /&gt;
* Requiring VPN (virtual private network) for access;&lt;br /&gt;
* Dynamic reconfiguration of user interfaces based on authorization;&lt;br /&gt;
* Restriction of access after a certain time of day.&lt;br /&gt;
&lt;br /&gt;
== Related resources: ==&lt;br /&gt;
# Joint Task Force Transformation Initiative. ''Security and Privacy Controls for Federal Information Systems and Organizations''. Special Publication 800-53 revision 4. (2013) U.S. National Institute of Standards and Technology. http://dx.doi.org/10.6028/NIST.SP.800-53r4&lt;br /&gt;
# Joint Technical Committee 1, ''Information Technology'', Subcommittee 27, ''IT Security Techniques''. ''Information Technology - Security Techniques - Information Security Management Systems - Overview and Vocabulary''. ISO/IEC. (2014). http://standards.iso.org/ittf/PubliclyAvailableStandards/c063411_ISO_IEC_27000_2014.zip&lt;br /&gt;
# ''The Standard of Good Practice for Information Security''. Information Security Forum. (2014). https://www.securityforum.org/shop/p-71-173&lt;br /&gt;
# DSS05 within ''Cobit 5: Enabling Processes''. ISACA. (2012). http://www.isaca.org/COBIT/Pages/COBIT-5-Enabling-Processes-product-page.aspx&lt;br /&gt;
# OWASP [[Access Control Cheat Sheet]]&lt;br /&gt;
# OWASP [[Guide to Authorization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Control]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Countermeasure]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Access_Control]]&lt;/div&gt;</summary>
		<author><name>MelDrews</name></author>	</entry>

	</feed>