Web application security

From HandWiki
Short description: Branch of information security that deals specifically with security of websites, web applications and web services

Web application security is a branch of information security that deals specifically with security of websites, web applications and web services. At a high level, web application security draws on the principles of application security but applies them specifically to internet and web systems.[1]

Security threats

The majority of web application attacks occur through cross-site scripting (XSS) and SQL injection attacks[2] which typically are made possible by flawed coding and failure to sanitize application inputs and outputs. These attacks are ranked in the 2009 CWE/SANS Top 25 Most Dangerous Programming Errors.[3]

According to the security vendor Cenzic, the top vulnerabilities in March 2012 include:[4]

37% Cross-site scripting
16% SQL injection
5% Path disclosure
5% Denial-of-service attack
4% Arbitrary code execution
4% Memory corruption
4% Cross-site request forgery
3% Data breach (information disclosure)
3% Arbitrary file inclusion
2% Local file inclusion
1% Remote file inclusion
1% Buffer overflow
15% Other, including code injection (PHP/JavaScript), etc.

The Open Web Application Security Project (OWASP) provides free and open resources. It is led by a non-profit called The OWASP Foundation. The OWASP Top 10 - 2017 is the published result of recent research based on comprehensive data compiled from over 40 partner organizations. From this data, approximately 2.3 million vulnerabilities were discovered across over 50,000 applications.[5] According to the OWASP Top 10 - 2017, the ten most critical web application security risks include:[6]

  1. Injection
  2. Broken authentication
  3. Sensitive data exposure
  4. XML external entities (XXE)
  5. Broken access control
  6. Security misconfiguration
  7. Cross-site scripting (XSS)
  8. Insecure deserialization
  9. Using components with known vulnerabilities
  10. Insufficient logging and monitoring

Best practices recommendation

Secure web application development should be enhanced by applying security checkpoints and techniques at early stages of development as well as throughout the software development lifecycle. Special emphasis should be applied to the coding phase of development. Security mechanisms that should be used include, threat modeling, risk analysis, static analysis, digital signature, among others.[7]

Security standards

OWASP is the emerging standards body for web application security. In particular they have published the OWASP Top 10,[8] which describes in detail the major threats against web applications. The Web Application Security Consortium (WASC) has created the Web Hacking Incident Database (WHID) and also produced open source best practice documents on web application security. The WHID became an OWASP project in February 2014.[9]

Security technology

While security is fundamentally based on people and processes, there are a number of technical solutions to consider when designing, building and testing secure web applications. At a high level, these solutions include:

See also

References

  1. "Web Application Security Overview". 2015-10-23. https://msdn.microsoft.com/en-us/library/ff648636.aspx. 
  2. "Testing and Comparing Web Vulnerability Scanning Tools for SQL Injection and XSS Attacks". Fonseca, J.; Vieira, M.; Madeira, H., Dependable Computing, IEEE. Dec 2007. doi:10.1109/PRDC.2007.55. https://ieeexplore.ieee.org/document/4459684. 
  3. "CWE/SANS Top 25 Most Dangerous Programming Errors". CWE/SANS. May 2009. http://cwe.mitre.org/top25/. 
  4. "2012 Trends Report: Application Security Risks". Cenzic, Inc.. 11 March 2012. https://info.cenzic.com/Trend-Report-Application-Security.html. 
  5. Korolov, Maria (Apr 27, 2017). "Latest OWASP Top 10 looks at APIs, web apps: The new OWASP Top 10 list is out, and while most of it remains the same, there are new additions focusing on web applications and APIs". CSO. ProQuest 1892694046. 
  6. "OWASP Top 10 - 2017: The Ten Most Critical Web Application Security Risks". 2017. https://owasp.org/www-pdf-archive/OWASP_Top_10-2017_%28en%29.pdf.pdf. 
  7. Shuaibu, Bala Musa; Norwawi, Norita Md; Selamat, Mohd Hasan; Al-Alwani, Abdulkareem (2013-01-17). "Systematic review of web application security development model". Artificial Intelligence Review 43 (2): 259–276. doi:10.1007/s10462-012-9375-6. ISSN 0269-2821. 
  8. OWASP Top 10
  9. "WHID Project is now a Joint WASC/OWASP Project". WASC. 18 February 2014. http://lists.webappsec.org/pipermail/wasc-whid_lists.webappsec.org/2014-February/000100.html. 
  10. "Web Application Vulnerability Scanners". NIST. http://samate.nist.gov/index.php/Web_Application_Vulnerability_Scanners.html. 
  11. "Top Penetration Testing Companies". 2019-11-06. https://readdive.com/top-penetration-testing-companies-for-the-year-2019/. 
  12. "Source Code Security Analyzers". NIST. http://samate.nist.gov/index.php/Source_Code_Security_Analyzers.html. 
  13. "Fuzzing". OWASP. https://owasp.org/www-community/Fuzzing. 
  14. "Web application firewalls for security and regulatory compliance". TestingXperts Blog. March 2017. https://www.testingxperts.com/blog/7-Crucial-Activities-to-Test-the-Security-of-your-Mobile-Applications/.