Web Application Security What You Need to Know
|
|
|
- Helena Hudson
- 10 years ago
- Views:
Transcription
1 Web Application Security What You Need to Know Abstract Bhushan B. Gupta BG Consulting There have been some significant web security breaches in Corporate America Sony, Target, and Home Depot, to name a few. Such breaches not only impact corporations financially, they also tarnish the brand image. The customers loyal to the corporations lose their confidence in their private data security and take their business to safer pastures, thereby financially impacting the business. Both corporate America and Government agencies are working towards controlling cyber security threats. This paper is focused on raising awareness about Web application security. It starts with an exposure to the fundamentals of Web security (Vulnerability, Threat, Risk, Exposure, and Controls), discusses control types, and touches on the principles of the Zachman Architecture and The Open Group Architecture Framework. It then dwells into the Top 10 OWASP (Open Web Application Security Project) most critical Web application threats including, SQL Injection, XSS (Cross Site Scripting), and CSRF (Cross Site Request Forgery). Furthermore, it provides some approaches to mitigate risks to make a Web application more secure. The paper is a self-study of Web Security and is intended to provide the necessary information to raise audience awareness. Biography Bhushan Gupta has 30 years of experience in software engineering, 20 of which have been in the software industry. For the past several years, Bhushan has been involved with agile processes, quality methods and metrics, and general process improvements and now with the cyber security. Bhushan has been a presenter and a reviewer for PNSQC for several years and has also presented at other conferences. As a change agent, Bhushan volunteers his time and energy for organizations that promote software quality. Bhushan Gupta has a MS degree in Computer Science from New Mexico Institute of Mining and Technology, Socorro, New Mexico, Copyright Bhushan Gupta, October, 2015 Copies may not be made or distributed for commercial use Page 1
2 1 Introduction The data breach at Target Corporation, the largest retail hack in US history, exposed 70 million records with the customer information and some 40 million stolen records with credit card information [Reuters, 2014]. Another security breach labeled as worst security breach of the year 2014 [NetworkWorld, 2014], was at Sony Pictures Entertainment. The attackers obtained access to documents, s, and movies yet to be released. This attack also caused some political backlash since the allegations seems to have suggested that the attack originated from North Korea. The other notable attacks that took place in 2014 were Home Depot and JPMorgan Chase. There have been fewer security breaches at the Federal Govt. level but were of similar magnitude. Clearly, cyber space has been invaded by the Bad Guys and our security and privacy has been threatened. The Web security of big corporations, and the Federal Govt. has been compromised, and the consumer has suffered identity theft as well as loss of credit card information. Web security is becoming increasingly important and to protect ourselves, we must have a sound understanding of security and how breaches are manifested. 2 Basic Elements of Security A secure system should provide Availability, Integrity, and Confidentiality of critical assets; also known as the Security Triad. Availability refers to reliable and timely access to the data. Integrity is the data protection against unauthorized modification. Finally, confidentiality is assuring that the data is not disclosed inappropriately as it moves around in its environment and finally stored in its destined source. The five basic elements of security are, Vulnerability, Threat, Risk, Exposure, and Control [Harris, 2013]. Each of these are briefly described in this section. 2.1 Vulnerability Vulnerability is the extent of unauthorized exposure of your valuable assets in combination with the countermeasures that are in place. A vulnerability may be a process in the system, a table that contains the system data, a database table, or a web service running on your server. A high degree of exposure may not be a serious problem if you have countermeasures in place. A simple analogy would be, keeping your house door wide open but guarding it. 2.2 Threat Threat is the potential of exploiting the vulnerability by an agent and could be external or internal. An intended activity or mistake by someone working with the data is also a threat. 2.3 Risk Risk is likelihood of exploiting the system vulnerabilities and causing negative impact on business. The risk can be made up of multiple factors such as an inadequately configured firewall, an undocumented critical manual system process, or an untrained system administrator. 2.4 Exposure An instant of exploiting a vulnerability and thus causing a negative business impact. 2.5 Control A control is a mechanism to reduce the potential risk. Control could be preventive, detective, corrective, deterrent, and compensating. An example of a compensating control is buying an insurance policy against the damage to your house. Copies may not be made or distributed for commercial use Page 2
3 2.6 Security Standards In the early days when there were no standards for security, British Standard 7799 (BS7799) became a de facto standard but no standard body was enforcing it. The standard laid out how security should cover a wide variety of topics. The BS7799 was expanded by International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) which established ISO/IEC 2700X where X took a digit representing a necessary component of the security systems. For example, ISO/IEC provides Overview and Vocabulary and ISO/IEC provides standard for security requirements. 3 Access Control While all the elements listed in section 2 are important, the exposure is actual incidence in which the security is compromised using an unauthorized access. The following discussion highlights the necessary elements of access control. 3.1 Identification Identification is the process of uniquely recognizing an entity before letting it use the system. In most cases it is a unique string of characters such as a name, an address, or an account number. In the simplest scenario the security involves verifying the string with the access control list (ACL). The methods to assure that the string is not programmatically generated are now emerging, enter a system displayed text, where the consumer has to perform an additional task to prove the physical existence. 3.2 Authentication Authentication is the process of assuring that a user has successfully proven to be a legitimate entity to utilize the system. Authentication is based on three aspects something specific you know, something specific you have, and a characteristic unique to you. Something specific you know is normally a password the user has setup. The password is sometimes reinforced with a set of questions and answers, which also is a form of something you know. Something you have can be a string of characters randomly generated by a hardware device such as a pin or a physical object, a card that you swipe to get access. A physical characteristic unique to you is a biometric aspect such as your figure print or cornea. A strong authentication should include at least two of these three factors. 3.3 Authorization Not every user needs access to all system resources, programs, processes, or data. The access to these resources should be controlled by an access criteria based upon the security policy. These criteria may vary from No Access as a default to Need to Know. 3.4 Audit A sound security system must include an audit log of failed and successful access attempts. Repeated unsuccessful access attempts are of particular interest to avoid a potential security breach. The successful attempts are of critical importance if a breach has occurred to perform a detective analysis. 4 Web Application Security Threat Scenarios A Web application is a software program that runs in a browser on the client machine [Wikipedia, 2013]. It is a convenient way to provide access to numerous clients without installing it on client systems. Since these programs run on the client systems the server side does not control the processes and the sessions they run under and can be a victim of injection, inadequate authentication and session management, improper exposure of data and functions, and week security configuration. On the server side there may be improper data and object exposure as a web application serves the data to the client. Copies may not be made or distributed for commercial use Page 3
4 Figure 1 shows the main components of a Web application environment. The engagement and the security aspects are described below for each component. Client Internet Web Server Database Server Figure 1: Web Application Environment Client: The client system provides the run time environment for the Web application and is, therefore, responsible for managing the execution process which prominently includes, process and memory management. An application should not cause memory overflow and write data into unassigned memory. The potential security threats that arise from the scenario are remnants of code or data on the client system that can compromise the security of the client. Internet and Web Sever: An internet networking stack has seven layers; Application, Presentation, Session, Transport, Network, Data Link, and Physical [Beal, 2015]. The session layer controls application to application communication, the communication between the client and the server, and the data transfer. The Web server manages the session ID for the multiple applications that are communicating with it. An inadequate session management can provide opportunity for an attacker to hijack a session and compromise the network security. The transport layer establishes the protocol between the client and the server to assure the data is received in its entirety and its integrity is maintained. A security compromise at this level can cause data manipulation providing the attacker access to unauthorized data. Software Practices: It is also meaningful to view the risk scenarios from the perspective these risk are originated. Inadequate identification and unauthorized access to processes, sessions, and data is a scenario that is internal to development. Adding to this list is also a lack of consideration of security configuration, use of known vulnerable software components, and improper exposure of sensitive data. The Bad Guy: The attacker is always thinking about beating the system. The practice of injection, phishing, spoofing, social engineering, and fuzzing are here to stay and new once will be added to the list as the Bad Guy is always on the lookout. 5 OWASP Security Risks The Open Web Application Security Project (OWASP) [OWASP, 2103] foundation is an independent nonprofit entity mostly supported by volunteers. The OWASP foundation encourages creating application security programs that are compatible with the organization goals, culture, and technology. The OWASP Top 10 security risks were first released in This list was based on prevalence. The next major follow up release was in 2010 and the items were also based on risk and not just on prevalence. The 2013 version consolidated some items while it reprioritized others. This section describes major security risks as prioritized by OWASP in its 2013 release. Copies may not be made or distributed for commercial use Page 4
5 5.1 A1 Injection Injection is an attack technique which is common, easy to exploit, and can result in a serious security breach. In an injection an attacker normally inserts malicious data into client queries, OS commands, XML Parser, program arguments etc. [OWASP, 2013] which are executed by the server side. The most wide spread injection is SQL injection, which comes from an untrusted source such as a Web form. The malicious data entered in the Web form is used to construct a dynamic query that results into security breach. An attacker can exploit this technique to: Get access to data thereby compromising data confidentiality Modify data resulting into loss of data integrity Changing data authorization if stored in the database. In its simplest form, the user can make the database throw an error by simply adding a single quote to the URL. The following example is taken form Web Application Injection Vulnerabilities [Couture, 2013] with a slight change to input. In the scenario, a Web form is requesting a name and the password from which it will create a SQL query which should like: SELECT id FROM users WHERE username = Foo AND password = QWERTY The attacker submits Username as OR 1=1 --/ and Password = anything. The server side will create a query by concatenating the values which looks like: SELECT id FROM users WHERE username = OR 1=1 --/ AND password = anything Since the input field in this case, is not cleansed of escape characters, the double dash is interpreted by the parser that everything to right is a comment, and thus dropped. The parsed query that gets sent to the DB is: SELECT id FROM users WHERE username = OR 1=1 Which is interpreted as Return all user ID s where the username is a null value, or 1=1 (which it always does). The string will always be true and thus dump all the stored user IDs. The attacker can generate inputs like these by using automated tools like sqlmap [Moon, 2012] and can obtain a variety of information by embedding simple commands into an URL. 5.2 A2 - Broken Authentication and Session management An article titled Survive the Deep End: PHP Security [Brady, 2014] has provided a detailed account of how risk can be attributed to insufficient transport layer security. A communication between a client browser and a Web server is maintained by a unique session using a session cookie on the client browser and the details with the Web server. It is critical that the privacy of both the client and the Web server, as well as the integrity of any data exchange, is maintained. The transport layer in the OSI stack is responsible to achieve this goal and its security is critical. The negotiation about the encryption key between the two parties, client and the Web server, is carried out at the time of initiating a secure connection. An attacker can get in the middle and pretend to be the server thereby obtaining the encryption key. This is called the Man in the Middle Attack (MitM) attack. It is therefore essential that the initial negotiations happen with a trusted server that has an authentication ID. In addition, the session ID should be protected to avoid session hijacking. Brady recommends that the transport layer should be sufficiently secure between the client and the Web Server and the Web Server and a third party server and have proposed programmatic ways to achieve it. OWASP has cited some simple examples such as passing raw (un-encrypted) data in a URL, not properly logging out from a public client system, and improper hashing of database user password that can lead to this problem. Copies may not be made or distributed for commercial use Page 5
6 5.3 A3 Cross Site Scripting (XSS) Same-origin-policy is a concept of trust that states that if contents form one site are granted permission to access resources on the system then any content from that site will share those same permissions [Wikipedia, 2015]. The cross site scripting occurs when an attacker injects client side script into a web page. Due to the same origin policy, the script is considered to be from the trusted code as the Web server has already been granted permissions. If the attacker can get access to client session ID the effect may range from simple nuisance to a serious breach There are two types of XSS attacks, non-persistent and persistent. A non-persistent attack occurs when the data provided by the client in http is immediately used by the Web server without sanitizing and an output is immediately generated. This leads to stealing of the client data. A persistent attack occurs when the non-sanitized data is stored in the database or any other locations such as blogs, forums and gets executed when other clients use the page. Here is a brief scenario of how XSS attack can take place: User Gdguy always logs to site using his login name and password and thus is a trusted user of the site. An attacker, Bdguy determines that the site is vulnerable to XSS and creates a URL embedded with a JavaScript, >. The attacker sends this URL in an about cheap tickets to the Gdguy. Gdguy does not pay attention to the URL and clicks on it. The JavaScript gets executed in the Gdguy s browser and steals login credentials form the session cookie. With the stolen login credentials Bdguy now logs in as a trusted user and has control of Gdguy. Using an spam the Bdguy can take control of Detailed examples of session hijacking for both types of XSS vulnerabilities are provided on Wikipedia [Wikipedia 2015]. For a more comprehensive discussion on XSS refer to Survive the Deep End: PHP Security [Brady, 2014]. 5.4 A8 Cross Site Request Forgery (CSRF or XSRF) In this attack an attacker lures a victim to click on an image and send unauthorized commands to the web server that the web server trusts once the session cookie has been established. Thus, the attacker exploits the trust of the web server in the client browser. An HTML image element is crafted that attracts victim s attention and include the malicious state change request. The following example is taken from the OWASP Top 10. <img src= width= 0 height= 0 /> If the victim is already authenticated to example.com and visits any of the attacker s sites the forged request will already include the session info, authorizing the attacker s request. CSRF has not been widely reported but has been used for malicious bank activities. 5.5 A5 Security Misconfiguration Security misconfiguration is any part of the web server environment that is not adequately hardened with respect to security. This could be an update to the operating system or any open source or third party software, user accounts and passwords, and databases. The application developers should use and rely on a secure framework and keep it up to date. Hunt [Hunt, 2010] has discussed.net framework scenarios specific to keeping it up to date with special aspects that include actions to take if a security flaw has been discovered in a framework, customizing error messages to not expose any system information, turn the debugging off, and encrypt sensitive configuration data. Copies may not be made or distributed for commercial use Page 6
7 6 Approach to Risk Mitigation The exhaustive methods to protect yourself by building a security perimeter will not be cost effective. An organization should diligently address security based upon its goals and strategize its approach to risk mitigation to best achieve these goals. The following are some guidelines to make your environment less prone to risk. 6.1 Protect Your Most Valuable Assets First As a basic principle, prioritize all your assets by value based upon your liability. When you are managing your customer data that might have legal consequences if compromised, it should be ranked higher on your priority list compared to the list of employees in your organization. Security breaches that involve customer data get significant public attention. The least vulnerable scenario is when there is no sensitive data to exploit for an attacker, in which case securing a Web application may not even be necessary. In the early days of the internet, the Web servers only served static pages with well thought out contents and there was no or only minimal security risk. 6.2 Information Classification Information classification is an effective way to protect your environment internally. An organization can develop its own classification scheme or adopt one from the existing schemes depending upon it is requirements. Harris [Harris, 2013] has discussed effective access control models and methods to administer access control. The proper access control methods should be implemented so that business sensitive information is exposed only to those it is intended for. 6.3 Sound Development Processes To deal with security today, we are using duct tape, band aids, and ointments that come in the form of firewalls, Intrusion Detection Systems (IDS), anti-virus software, and vulnerability scanners along with the security patches to the operating system. Just like achieving product quality is an integrated development activity and not an afterthought, so should be security. This concept can be best enforced if the Software Development Life Cycle (SDLC) proactively includes security activities and deliverables for each phase. Some early lifecycle activities should include; classification of sensitive data in the requirements phase, recognition of vulnerabilities and development of strategy in the design phase and security specific code reviews and testing in the implementation phase. The scope of security should be well understood and documented throughout the lifecycle to build a secure Web application. Harris [Harris, 2013] has provided a list of security activities and deliverables in each SDLC phase. Although a Web application executes on the client system, it primarily serves the needs of the Web server by capturing critical data and providing the requested data back to the client. A secure Web server environment is essential for keeping both the server and the client trouble free. On the client side, since a Web application runs on the client system, the development methods should include practices that do not leave the client system vulnerable to attacks. Although the operating system can provide support for activities such as access control, the application itself must use robust development methods to protect the client system. The following discussion highlights some development practices that will result in a more secure operational environment for both the Web server and the client system Web Server Environment A Web server environment is quite complex and includes numerous variables such as an operating system, web server software such as Apache, application development tools, databases, 3 rd party support such as credit card support system, etc. Each of these variables requires dedicated attention for a successful operation. Listed below are some guidelines that will make your environment more secure: Copies may not be made or distributed for commercial use Page 7
8 Environment Upgrade/configuration The web server environment should be up to date at all times. Any security updates to the operating system, development environment upgrades, as well as database updates should be up to par with the latest release. By default, all operating system and 3 rd party software services may be turned on and configurations set; they should be reviewed and their status should be adjusted to match security requirements. The development environment tools may also need scrutiny as well. The network protocols are gateways for intrusion and only the necessary protocols should be enabled. Authentication and Access Control Making sure that only an authorized client is accessing the Web server is very critical. Section 3 describes the main elements of access control - identification and authentication being related to client s identity. Once the user provides her/his credentials they should be transported securely over the network using HTTPS or some other secure mechanism. In case of failed login attempts using UserID and Password as credentials, the error message should not reveal which component of the credentials (userid or Password) was incorrect. Only a limited number of failed attempts should be allowed in an applications that deal with sensitive information. There have been recent trends where additional authentication is performed via security questions. To avoid data corruption due to spam generated by an attacker the websites now use Captcha standard where a client enters a slightly distorted text after logging in. Access control is very important even if you have a fool-proof authentication mechanism. Access control should enforce a mechanism that has been designed based upon business requirements. Both vertical segregation (where users at the different level have access to different data set) and horizontal segregation (where users at the same level have access to different data set) should be considered when designing the access control lists. This is critical when the access for administering the system is being considered. In addition, the permissions (setting a flag value to True or False) should not be controlled by the HTTP request which can be manipulated by the client. Input Data Validation In a Web application the data can come from a client, generated by a third party application, server s own environment, as well as from a database. Failure to validate the data could lead to serious vulnerabilities. In its guide, OWASP [Frenchi, 2014] has provided a detailed discussion on data validation including the characteristics the data should be validated against and validation strategies. The data validation should, at least, include a check for data integrity any tempering during transport form the client to browser or 3 rd party to browser. The data characteristics such as data boundaries, data type (numeric, alphanumeric etc.), sign of data (positive or negative) and validation against business rules, for example a price discount cannot be 100%, should also be adequately carried out. These checks should be made at the layer the data is generated. For example, a form data should be checked at the client side before sending it to the Web server. It may be too late from the security perspective if the bad data has already been sent to the server. The data validation strategies recommended by OWASP range from accepting only known good data, sanitization such as eliminating HTML special characters, to void SQL injection discussed in Section 5.1, and take precaution to syntactically validate the data in the context of its grammar. The OWASP guide also provides steps to assess if you are vulnerable and how to protect yourself Session Management A session is a period of time a client is interacting with the Web server including the time the client is not active. The web server creates a session upon the first HTTP request from the client and stores it locally. This session creation takes place for every single client connecting to the Web server and this could amount to thousands of client sessions. A session consists of Session ID along with other information such as login and password. The Session ID is unique to a client and is used to identify the client each time he/she makes a HTTP request in a session until the session expires. The two aspects of the Session ID that the developers need to be diligent about are its generation and its transport back to the client. The algorithm used for the Session ID generation should be complex enough so that it cannot be reverse-engineered by an attacker. If an attacker is able to determine the Session ID, he/she can take over all the clients currently on the server and ultimately control the entire Web server. Copies may not be made or distributed for commercial use Page 8
9 Off-the-shelf Session ID generation algorithms are found to be prone to attack. If a new algorithm is implemented it should at least be better than an off-the-shelf algorithm. Highly sensitive applications such as the ones used in the banking environment, generate a new Session ID for each HTTP call. Additionally, the sessions are terminated either after a fixed time period or if there is no activity from the client for certain time. The second aspect, session ID transport, is equally important. The session ID should be encrypted as it moves between the client and the web server. Once again, a strong encryption should be used for transportation and the encryption key should be well protected Programming Language Web applications are created using a programming language such as Javascript. Programming languages have their shortcomings which can be exploited by an attacker if she/he can find out the application programming language. The developer needs to be aware that the programing language is not displayed in error messages or any other communication that is taking place between the client and the Web server. The first step an attacker takes is to map the application that includes attempts to identify the programming language and the development environment of an application. Some programming languages such as C, leave the remnant information in the memory due to stack overflow on the client system, which can be harmful if an attacker gets hold of this information. If a programming language has such a behavior, the developers need to be aware of it and must take adequate countermeasures Use of Proper Tools Even though Web application security is a relatively new challenge, its compromise can cause serious harm to the consumer. There are enough resources available to proactively circumvent the problem. OWASP has a vast amount of information that provides guidelines and methodologies to build more sure applications. Stuttard and Pinto [Stuttard, 2015], in their Web Application Hackers Handbook, have discussed numerous tools such as Burp Proxy, WebScarab, and Paros, as well as methodologies that can be utilized for application testing and make testing more robust. 7 Conclusion In general, the business of information security is complex and application security is an integrated component of it. On top of it, the bad guy enjoys the challenge of being ahead of the creators of applications and has gathered an arsenal of sophisticated tools. The industry has been fortifying the computing environment from outside by using a variety of tools mentioned earlier. But, once the attacker penetrates the security perimeter, she/he is capable of doing serious damage as evident from recent events. We have two choices; become numb to the sequence of events or take application security seriously as the consequences are dire. The software security should be an integral part of the SDLC and built-into development practices. What has been presented in this article is the tip of the iceberg. The information technology community has to come together to win the war against the bad guy. 8 Acknowledgements The author would like to extend his gratitude to his ex-coworker Joshua McKinney of Nike Inc., for inspiring him and building his passion for Information Systems Security. He would also like to recognize Laura Bright and Satish Yogachar of McAfee, part of Intel Security, for their invaluable review efforts. Copies may not be made or distributed for commercial use Page 9
10 References 1. Reuters, 2. NetworkWorld, 3. Beal, Vangie, 7 Layers of OSI Model, 4. Harris, Shon, All in One CISSP, 6 th Edition, McGraw Hill, Wikipedia, 6. Couture, Erik, Moon, Silver, Sqlmap tutorial for beginners hacking with sql injection, Padraic, Brady, Survive the Deep End: PHP security, Copyright Wikipedia, Stuttard, Dafydd and Pinto, Marcus, The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws, Troy Hunt, OWASP Top 10 for.net developers Part 6: Security Misconfiguration, Frenchi, Copies may not be made or distributed for commercial use Page 10
Where every interaction matters.
Where every interaction matters. Peer 1 Vigilant Web Application Firewall Powered by Alert Logic The Open Web Application Security Project (OWASP) Top Ten Web Security Risks and Countermeasures White Paper
Detecting Web Application Vulnerabilities Using Open Source Means. OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008
Detecting Web Application Vulnerabilities Using Open Source Means OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008 Kostas Papapanagiotou Committee Member OWASP Greek Chapter [email protected]
WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats
WHITE PAPER FortiWeb and the OWASP Top 10 PAGE 2 Introduction The Open Web Application Security project (OWASP) Top Ten provides a powerful awareness document for web application security. The OWASP Top
WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY
WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY www.alliancetechpartners.com WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY More than 70% of all websites have vulnerabilities
Testing the OWASP Top 10 Security Issues
Testing the OWASP Top 10 Security Issues Andy Tinkham & Zach Bergman, Magenic Technologies Contact Us 1600 Utica Avenue South, Suite 800 St. Louis Park, MN 55416 1 (877)-277-1044 [email protected] Who Are
Magento Security and Vulnerabilities. Roman Stepanov
Magento Security and Vulnerabilities Roman Stepanov http://ice.eltrino.com/ Table of contents Introduction Open Web Application Security Project OWASP TOP 10 List Common issues in Magento A1 Injection
Web Application Penetration Testing
Web Application Penetration Testing 2010 2010 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property. Will Bechtel [email protected]
FINAL DoIT 11.03.2015 - v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES
Purpose: The Department of Information Technology (DoIT) is committed to developing secure applications. DoIT s System Development Methodology (SDM) and Application Development requirements ensure that
Columbia University Web Security Standards and Practices. Objective and Scope
Columbia University Web Security Standards and Practices Objective and Scope Effective Date: January 2011 This Web Security Standards and Practices document establishes a baseline of security related requirements
The Top Web Application Attacks: Are you vulnerable?
QM07 The Top Web Application Attacks: Are you vulnerable? John Burroughs, CISSP Sr Security Architect, Watchfire Solutions [email protected] Agenda Current State of Web Application Security Understanding
OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair dave.wichers@owasp.
and Top 10 (2007 Update) Dave Wichers The Foundation Conferences Chair [email protected] COO, Aspect Security [email protected] Copyright 2007 - The Foundation This work is available
Web Application Security
Web Application Security John Zaharopoulos ITS - Security 10/9/2012 1 Web App Security Trends Web 2.0 Dynamic Webpages Growth of Ajax / Client side Javascript Hardening of OSes Secure by default Auto-patching
Adobe Systems Incorporated
Adobe Connect 9.2 Page 1 of 8 Adobe Systems Incorporated Adobe Connect 9.2 Hosted Solution June 20 th 2014 Adobe Connect 9.2 Page 2 of 8 Table of Contents Engagement Overview... 3 About Connect 9.2...
Using Free Tools To Test Web Application Security
Using Free Tools To Test Web Application Security Speaker Biography Matt Neely, CISSP, CTGA, GCIH, and GCWN Manager of the Profiling Team at SecureState Areas of expertise: wireless, penetration testing,
OWASP AND APPLICATION SECURITY
SECURING THE 3DEXPERIENCE PLATFORM OWASP AND APPLICATION SECURITY Milan Bruchter/Shutterstock.com WHITE PAPER EXECUTIVE SUMMARY As part of Dassault Systèmes efforts to counter threats of hacking, particularly
What is Web Security? Motivation
[email protected] http://www.brucker.ch/ Information Security ETH Zürich Zürich, Switzerland Information Security Fundamentals March 23, 2004 The End Users View The Server Providers View What is Web
Check list for web developers
Check list for web developers Requirement Yes No Remarks 1. Input Validation 1.1) Have you done input validation for all the user inputs using white listing and/or sanitization? 1.2) Does the input validation
WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL. Ensuring Compliance for PCI DSS 6.5 and 6.6
WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL Ensuring Compliance for PCI DSS 6.5 and 6.6 CONTENTS 04 04 06 08 11 12 13 Overview Payment Card Industry Data Security Standard PCI Compliance for Web Applications
elearning for Secure Application Development
elearning for Secure Application Development Curriculum Application Security Awareness Series 1-2 Secure Software Development Series 2-8 Secure Architectures and Threat Modeling Series 9 Application Security
How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering
How to break in Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering Time Agenda Agenda Item 9:30 10:00 Introduction 10:00 10:45 Web Application Penetration
Application Security Testing. Generic Test Strategy
Application Security Testing Generic Test Strategy Page 2 of 8 Contents 1 Introduction 3 1.1 Purpose: 3 1.2 Application Security Testing: 3 2 Audience 3 3 Test Strategy guidelines 3 3.1 Authentication
Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure
Vulnerabilities, Weakness and Countermeasures Massimo Cotelli CISSP Secure : Goal of This Talk Security awareness purpose Know the Web Application vulnerabilities Understand the impacts and consequences
3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management
What is an? s Ten Most Critical Web Application Security Vulnerabilities Anthony LAI, CISSP, CISA Chapter Leader (Hong Kong) [email protected] Open Web Application Security Project http://www.owasp.org
Passing PCI Compliance How to Address the Application Security Mandates
Passing PCI Compliance How to Address the Application Security Mandates The Payment Card Industry Data Security Standards includes several requirements that mandate security at the application layer. These
Rational AppScan & Ounce Products
IBM Software Group Rational AppScan & Ounce Products Presenters Tony Sisson and Frank Sassano 2007 IBM Corporation IBM Software Group The Alarming Truth CheckFree warns 5 million customers after hack http://infosecurity.us/?p=5168
Essential IT Security Testing
Essential IT Security Testing Application Security Testing for System Testers By Andrew Muller Director of Ionize Who is this guy? IT Security consultant to the stars Member of OWASP Member of IT-012-04
OWASP Top Ten Tools and Tactics
OWASP Top Ten Tools and Tactics Russ McRee Copyright 2012 HolisticInfoSec.org SANSFIRE 2012 10 JULY Welcome Manager, Security Analytics for Microsoft Online Services Security & Compliance Writer (toolsmith),
Sitefinity Security and Best Practices
Sitefinity Security and Best Practices Table of Contents Overview The Ten Most Critical Web Application Security Risks Injection Cross-Site-Scripting (XSS) Broken Authentication and Session Management
Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group
Securing Your Web Application against security vulnerabilities Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group Agenda Security Landscape Vulnerability Analysis Automated Vulnerability
05.0 Application Development
Number 5.0 Policy Owner Information Security and Technology Policy Application Development Effective 01/01/2014 Last Revision 12/30/2013 Department of Innovation and Technology 5. Application Development
Advanced Web Technology 10) XSS, CSRF and SQL Injection 2
Berner Fachhochschule, Technik und Informatik Advanced Web Technology 10) XSS, CSRF and SQL Injection Dr. E. Benoist Fall Semester 2010/2011 Table of Contents Cross Site Request Forgery - CSRF Presentation
Web application security
Web application security Sebastian Lopienski CERN Computer Security Team openlab and summer lectures 2010 (non-web question) Is this OK? int set_non_root_uid(int uid) { // making sure that uid is not 0
Web Application Security
Web Application Security Ng Wee Kai Senior Security Consultant PulseSecure Pte Ltd About PulseSecure IT Security Consulting Company Part of Consortium in IDA (T) 606 Term Tender Cover most of the IT Security
1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications
1. Introduction 2. Web Application 3. Components 4. Common Vulnerabilities 5. Improving security in Web applications 2 What does World Wide Web security mean? Webmasters=> confidence that their site won
WHITE PAPER. FortiWeb Web Application Firewall Ensuring Compliance for PCI DSS 6.5 and 6.6
WHITE PAPER FortiWeb Web Application Firewall Ensuring Compliance for PCI DSS 6.5 and 6.6 Ensuring compliance for PCI DSS 6.5 and 6.6 Page 2 Overview Web applications and the elements surrounding them
Thick Client Application Security
Thick Client Application Security Arindam Mandal ([email protected]) (http://www.paladion.net) January 2005 This paper discusses the critical vulnerabilities and corresponding risks in a two
DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)
Title: Functional Category: Information Technology Services Issuing Department: Information Technology Services Code Number: xx.xxx.xx Effective Date: xx/xx/2014 1.0 PURPOSE 1.1 To appropriately manage
The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.
This sample report is published with prior consent of our client in view of the fact that the current release of this web application is three major releases ahead in its life cycle. Issues pointed out
WEB ATTACKS AND COUNTERMEASURES
WEB ATTACKS AND COUNTERMEASURES February 2008 The Government of the Hong Kong Special Administrative Region The contents of this document remain the property of, and may not be reproduced in whole or in
Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security
Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security Presented 2009-05-29 by David Strauss Thinking Securely Security is a process, not
Web Application Security Considerations
Web Application Security Considerations Eric Peele, Kevin Gainey International Field Directors & Technology Conference 2006 May 21 24, 2006 RTI International is a trade name of Research Triangle Institute
Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh
Web applications Web security: web basics Myrto Arapinis School of Informatics University of Edinburgh HTTP March 19, 2015 Client Server Database (HTML, JavaScript) (PHP) (SQL) 1 / 24 2 / 24 URLs HTTP
ETHICAL HACKING 010101010101APPLICATIO 00100101010WIRELESS110 00NETWORK1100011000 101001010101011APPLICATION0 1100011010MOBILE0001010 10101MOBILE0001
001011 1100010110 0010110001 010110001 0110001011000 011000101100 010101010101APPLICATIO 0 010WIRELESS110001 10100MOBILE00010100111010 0010NETW110001100001 10101APPLICATION00010 00100101010WIRELESS110
Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com
SAINT Integrated Network Vulnerability Scanning and Penetration Testing www.saintcorporation.com Introduction While network vulnerability scanning is an important tool in proactive network security, penetration
Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH [email protected] January 17, 2014 2014 Mega Conference
Cracking the Perimeter via Web Application Hacking Zach Grace, CISSP, CEH [email protected] January 17, 2014 2014 Mega Conference About 403 Labs 403 Labs is a full-service information security and compliance
ArcGIS Server Security Threats & Best Practices 2014. David Cordes Michael Young
ArcGIS Server Security Threats & Best Practices 2014 David Cordes Michael Young Agenda Introduction Threats Best practice - ArcGIS Server settings - Infrastructure settings - Processes Summary Introduction
FINAL DoIT 04.01.2013- v.8 APPLICATION SECURITY PROCEDURE
Purpose: This procedure identifies what is required to ensure the development of a secure application. Procedure: The five basic areas covered by this document include: Standards for Privacy and Security
Cloud Security:Threats & Mitgations
Cloud Security:Threats & Mitgations Vineet Mago Naresh Khalasi Vayana 1 What are we gonna talk about? What we need to know to get started Its your responsibility Threats and Remediations: Hacker v/s Developer
Using Foundstone CookieDigger to Analyze Web Session Management
Using Foundstone CookieDigger to Analyze Web Session Management Foundstone Professional Services May 2005 Web Session Management Managing web sessions has become a critical component of secure coding techniques.
QuickBooks Online: Security & Infrastructure
QuickBooks Online: Security & Infrastructure May 2014 Contents Introduction: QuickBooks Online Security and Infrastructure... 3 Security of Your Data... 3 Access Control... 3 Privacy... 4 Availability...
Don t Get Burned! Are you Leaving your Critical Applications Defenseless?
Don t Get Burned! Are you Leaving your Critical Applications Defenseless? Ed Bassett Carolyn Ryll, CISSP Enspherics Division of CIBER Presentation Overview Applications Exposed The evolving application
Network Security Audit. Vulnerability Assessment (VA)
Network Security Audit Vulnerability Assessment (VA) Introduction Vulnerability Assessment is the systematic examination of an information system (IS) or product to determine the adequacy of security measures.
Web Application Report
Web Application Report This report includes important security information about your Web Application. Security Report This report was created by IBM Rational AppScan 8.5.0.1 11/14/2012 8:52:13 AM 11/14/2012
Overview of Network Security The need for network security Desirable security properties Common vulnerabilities Security policy designs
Overview of Network Security The need for network security Desirable security properties Common vulnerabilities Security policy designs Why Network Security? Keep the bad guys out. (1) Closed networks
PCI-DSS and Application Security Achieving PCI DSS Compliance with Seeker
PCI-DSS and Application Security Achieving PCI DSS Compliance with Seeker www.quotium.com 1/14 Summary Abstract 3 PCI DSS Statistics 4 PCI DSS Application Security 5 How Seeker Helps You Achieve PCI DSS
Introduction:... 1 Security in SDLC:... 2 Penetration Testing Methodology: Case Study... 3
Table of Contents Introduction:... 1 Security in SDLC:... 2 Penetration Testing Methodology: Case Study... 3 Information Gathering... 3 Vulnerability Testing... 7 OWASP TOP 10 Vulnerabilities:... 8 Injection
Web Application Security
E-SPIN PROFESSIONAL BOOK Vulnerability Management Web Application Security ALL THE PRACTICAL KNOW HOW AND HOW TO RELATED TO THE SUBJECT MATTERS. COMBATING THE WEB VULNERABILITY THREAT Editor s Summary
Common Security Vulnerabilities in Online Payment Systems
Common Security Vulnerabilities in Online Payment Systems Author- Hitesh Malviya(Information Security analyst) Qualifications: C!EH, EC!SA, MCITP, CCNA, MCP Current Position: CEO at HCF Infosec Limited
Criteria for web application security check. Version 2015.1
Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-
(WAPT) Web Application Penetration Testing
(WAPT) Web Application Penetration Testing Module 0: Introduction 1. Introduction to the course. 2. How to get most out of the course 3. Resources you will need for the course 4. What is WAPT? Module 1:
Hack Proof Your Webapps
Hack Proof Your Webapps About ERM About the speaker Web Application Security Expert Enterprise Risk Management, Inc. Background Web Development and System Administration Florida International University
Six Essential Elements of Web Application Security. Cost Effective Strategies for Defending Your Business
6 Six Essential Elements of Web Application Security Cost Effective Strategies for Defending Your Business An Introduction to Defending Your Business Against Today s Most Common Cyber Attacks When web
Advanced Web Security, Lab
Advanced Web Security, Lab Web Server Security: Attacking and Defending November 13, 2013 Read this earlier than one day before the lab! Note that you will not have any internet access during the lab,
How To Fix A Web Application Security Vulnerability
Proposal of Improving Web Application Security in Context of Latest Hacking Trends RADEK VALA, ROMAN JASEK Department of Informatics and Artificial Intelligence Tomas Bata University in Zlin, Faculty of
Excellence Doesn t Need a Certificate. Be an. Believe in You. 2014 AMIGOSEC Consulting Private Limited
Excellence Doesn t Need a Certificate Be an 2014 AMIGOSEC Consulting Private Limited Believe in You Introduction In this age of emerging technologies where IT plays a crucial role in enabling and running
Protecting Your Organisation from Targeted Cyber Intrusion
Protecting Your Organisation from Targeted Cyber Intrusion How the 35 mitigations against targeted cyber intrusion published by Defence Signals Directorate can be implemented on the Microsoft technology
The Weakest Link: Mitigating Web Application Vulnerabilities. webscurity White Paper. webscurity Inc. Minneapolis, Minnesota USA
The Weakest Link: Mitigating Web Application Vulnerabilities webscurity White Paper webscurity Inc. Minneapolis, Minnesota USA January 25, 2007 Contents Executive Summary...3 Introduction...4 Target Audience...4
CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities
CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities Thomas Moyer Spring 2010 1 Web Applications What has changed with web applications? Traditional applications
External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION
External Vulnerability Assessment -Technical Summary- Prepared for: ABC ORGANIZATI On March 9, 2008 Prepared by: AOS Security Solutions 1 of 13 Table of Contents Executive Summary... 3 Discovered Security
Web Application Attacks and Countermeasures: Case Studies from Financial Systems
Web Application Attacks and Countermeasures: Case Studies from Financial Systems Dr. Michael Liu, CISSP, Senior Application Security Consultant, HSBC Inc Overview Information Security Briefing Web Applications
Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011
Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011 Agenda Evolving Threats Operating System Application User Generated Content JPL s Application Security Program Securing
Reducing Application Vulnerabilities by Security Engineering
Reducing Application Vulnerabilities by Security Engineering - Subash Newton Manager Projects (Non Functional Testing, PT CoE Group) 2008, Cognizant Technology Solutions. All Rights Reserved. The information
SECURE APPLICATION DEVELOPMENT CODING POLICY OCIO-6013-09 TABLE OF CONTENTS
OFFICE OF THE CHIEF INFORMATION OFFICER OCIO-6013-09 Date of Issuance: May 22, 2009 Effective Date: May 22, 2009 Review Date: TABLE OF CONTENTS Section I. PURPOSE II. AUTHORITY III. SCOPE IV. DEFINITIONS
Nuclear Regulatory Commission Computer Security Office Computer Security Standard
Nuclear Regulatory Commission Computer Security Office Computer Security Standard Office Instruction: Office Instruction Title: CSO-STD-1108 Web Application Standard Revision Number: 1.0 Effective Date:
Members of the UK cyber security forum. Soteria Health Check. A Cyber Security Health Check for SAP systems
Soteria Health Check A Cyber Security Health Check for SAP systems Soteria Cyber Security are staffed by SAP certified consultants. We are CISSP qualified, and members of the UK Cyber Security Forum. Security
National Information Security Group The Top Web Application Hack Attacks. Danny Allan Director, Security Research
National Information Security Group The Top Web Application Hack Attacks Danny Allan Director, Security Research 1 Agenda Web Application Security Background What are the Top 10 Web Application Attacks?
Application security testing: Protecting your application and data
E-Book Application security testing: Protecting your application and data Application security testing is critical in ensuring your data and application is safe from security attack. This ebook offers
Application Code Development Standards
Application Code Development Standards Overview This document is intended to provide guidance to campus system owners and software developers regarding secure software engineering practices. These standards
Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP
Threat Modeling Categorizing the nature and severity of system vulnerabilities John B. Dickson, CISSP What is Threat Modeling? Structured approach to identifying, quantifying, and addressing threats. Threat
Integrating Security Testing into Quality Control
Integrating Security Testing into Quality Control Executive Summary At a time when 82% of all application vulnerabilities are found in web applications 1, CIOs are looking for traditional and non-traditional
Enterprise Application Security Workshop Series
Enterprise Application Security Workshop Series Phone 877-697-2434 fax 877-697-2434 www.thesagegrp.com Defending JAVA Applications (3 Days) In The Sage Group s Defending JAVA Applications workshop, participants
Data Breaches and Web Servers: The Giant Sucking Sound
Data Breaches and Web Servers: The Giant Sucking Sound Guy Helmer CTO, Palisade Systems, Inc. Lecturer, Iowa State University @ghelmer Session ID: DAS-204 Session Classification: Intermediate The Giant
ABC LTD EXTERNAL WEBSITE AND INFRASTRUCTURE IT HEALTH CHECK (ITHC) / PENETRATION TEST
ABC LTD EXTERNAL WEBSITE AND INFRASTRUCTURE IT HEALTH CHECK (ITHC) / PENETRATION TEST Performed Between Testing start date and end date By SSL247 Limited SSL247 Limited 63, Lisson Street Marylebone London
Web App Security Audit Services
locuz.com Professional Services Web App Security Audit Services The unsecured world today Today, over 80% of attacks against a company s network come at the Application Layer not the Network or System
Web Engineering Web Application Security Issues
Security Issues Dec 14 2009 Katharina Siorpaes Copyright 2009 STI - INNSBRUCK www.sti-innsbruck.at It is NOT Network Security It is securing: Custom Code that drives a web application Libraries Backend
Kenna Platform Security. A technical overview of the comprehensive security measures Kenna uses to protect your data
Kenna Platform Security A technical overview of the comprehensive security measures Kenna uses to protect your data V2.0, JULY 2015 Multiple Layers of Protection Overview Password Salted-Hash Thank you
BASELINE SECURITY TEST PLAN FOR EDUCATIONAL WEB AND MOBILE APPLICATIONS
BASELINE SECURITY TEST PLAN FOR EDUCATIONAL WEB AND MOBILE APPLICATIONS Published by Tony Porterfield Feb 1, 2015. Overview The intent of this test plan is to evaluate a baseline set of data security practices
External Supplier Control Requirements
External Supplier Control s Cyber Security For Suppliers Categorised as Low Cyber Risk 1. Asset Protection and System Configuration Barclays Data and the assets or systems storing or processing it must
A Decision Maker s Guide to Securing an IT Infrastructure
A Decision Maker s Guide to Securing an IT Infrastructure A Rackspace White Paper Spring 2010 Summary With so many malicious attacks taking place now, securing an IT infrastructure is vital. The purpose
Guidelines for Web applications protection with dedicated Web Application Firewall
Guidelines for Web applications protection with dedicated Web Application Firewall Prepared by: dr inŝ. Mariusz Stawowski, CISSP Bartosz Kryński, Imperva Certified Security Engineer INTRODUCTION Security
CSUSB Web Application Security Standard CSUSB, Information Security & Emerging Technologies Office
CSUSB, Information Security & Emerging Technologies Office Last Revised: 03/17/2015 Draft REVISION CONTROL Document Title: Author: File Reference: CSUSB Web Application Security Standard Javier Torner
Cross Site Scripting Prevention
Project Report CS 649 : Network Security Cross Site Scripting Prevention Under Guidance of Prof. Bernard Menezes Submitted By Neelamadhav (09305045) Raju Chinthala (09305056) Kiran Akipogu (09305074) Vijaya
The Key to Secure Online Financial Transactions
Transaction Security The Key to Secure Online Financial Transactions Transferring money, shopping, or paying debts online is no longer a novelty. These days, it s just one of many daily occurrences on
Application Security in the Software Development Lifecycle
Application Security in the Software Development Lifecycle Issues, Challenges and Solutions www.quotium.com 1/15 Table of Contents EXECUTIVE SUMMARY... 3 INTRODUCTION... 4 IMPACT OF SECURITY BREACHES TO
Information Supplement: Requirement 6.6 Code Reviews and Application Firewalls Clarified
Standard: Data Security Standard (DSS) Requirement: 6.6 Date: February 2008 Information Supplement: Requirement 6.6 Code Reviews and Application Firewalls Clarified Release date: 2008-04-15 General PCI
ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus
ASP.NET MVC Secure Coding 4-Day hands on Course Course Syllabus Course description ASP.NET MVC Secure Coding 4-Day hands on Course Secure programming is the best defense against hackers. This multilayered
Overview of the Penetration Test Implementation and Service. Peter Kanters
Penetration Test Service @ ABN AMRO Overview of the Penetration Test Implementation and Service. Peter Kanters ABN AMRO / ISO April 2010 Contents 1. Introduction. 2. The history of Penetration Testing
WEB APPLICATION SECURITY
WEB APPLICATION SECURITY February 2008 The Government of the Hong Kong Special Administrative Region The contents of this document remain the property of, and may not be reproduced in whole or in part
