IT Security & Network Security News & Reviews: 10 Most Dangerous Web App Security Risks
10 Most Dangerous Web App Security Risks
by Brian Prince
Injection flaws allow attackers to relay malicious code through Web apps to another system, such as backend databases or the operating system. To remedy this, organizations can use commercial WAFs (Web application firewalls), which can include negative security signatures to identify attack payloads, according to Ryan Barnett, director of application research at Breach Security. By analyzing the outbound pages, WAFs can also identify when an injection flaw is successful by identifying information leakages.
Though listed separately, Cross-Site Scripting attacks are a type of injection problem that exists when malicious scripts are injected into legitimate Websites. To deal with the issue, organizations should focus on developing proper input validation policies.
Broken Authentication and Session Management
Strong authentication mechanisms can be undermined by poor credential management tied to functions such as password changes and recovery. Organizations should strive to create a single set of strong authentication and session management controls.
Insecure Direct Object Reference
A direct object reference is when a developer exposes a reference to an internal implementation object, such as a file or directory, as a URL or form parameter. An attacker can manipulate direct object references to access other objects without authorization.
Cross-Site Request Forgery
CSRF (Cross-site request forgery) occurs when a Web app fails to properly verify whether a well-formed, valid, consistent request was intentionally provided by the user who submitted the request. To prevent CSRF, include an unpredictable token in a hidden field as part of each transaction, OWASP recommends. There should be a unique token for every user session at minimum but can also be unique per request.
An unsecure configuration for the application, framework, Web server, application server and/or platform can spell disaster. These settings should be well-defined and relatively easy to deploy to another environment. Ideally, this process should be automated to minimize the effort required to set up a new, secure environment.
Insecure Cryptographic Storage
Web applications that do not use appropriate encryption for sensitive information such as social security numbers and credit card information leave users open to compromise in the event of an attack. Organizations should take stock of the threat landscape and make sure sensitive data is protected. Also off-site backups should be encrypted, with the keys managed and stored separately.
Failure to Restrict URL Access
According to OWASP, many Web applications check URL access rights before rendering protected links and buttons. However, applications should perform similar checks when these pages are accessed, or attackers will be able to forge URLs to access these hidden pages anyway. Controlling URL access also includes setting proper access rate thresholds (anti-automation) to identify/prevent denial of service, brute force and scraping attacks, said Ryan Barnett, director of application research at Breach Security.
Insufficient Transport Layer Protection
Applications frequently fail to encrypt network traffic when it is necessary to protect sensitive communications. When they do, they sometimes support weak algorithms, use expired or invalid certificates, or do not use them correctly. To prevent this, consider requiring SSL (Secure Sockets Layer) for certain pages and making non-SSL requests to those pages redirect to a SSL page.
Unvalidated Redirects and Forwards
This is new to OWASP's list. Web applications frequently redirect and forward users to other pages and Websites. If untrusted data is used to determine the destination pages, attackers could redirect victims to malicious sites. Again, the answer to this lies with proper validation.