Web APIs and applications are increasingly becoming a target. Gartner predicts that by 2022, the #1 attack vector for enterprise applications will be the API. Not only can end-users upload viruses, but attackers can craft specialized attack malware and upload this content through your public web application. Once uploaded, these threats can move through your systems, being stored in cloud storage or databases, and eventually can get executed.

Consider an example: an insurance company allows its users to upload PDFs as part of the claims process. An attacker creates a custom executable and uploads that into the claims UI. Since it has the right file extension (.PDF), the system accepts it and stores it into its database. Because it is a new, 0-day threat it passes through the minimal virus scanning that the company has in place. Later, a claims manager downloads this file onto their computer and opens it — resulting in an endpoint infected with an Advanced Persistent Threat (APT). From the attacker’s perspective, this was actually easier than phishing because they didn’t even need to send any emails.

So how can we protect our Java web applications from threats like this? Basic anti-virus is not enough — we also need the ability to detect threats and invalid content uploads as well. A complete solution to protect our web application needs to be able to do the following:

  1. Scan for viruses and malware
  2. Detect executables
  3. Detect scripts
  4. Detect encrypted/password-protected files
  5. Validate the input file to ensure it is a real content file
  6. Restrict the upload to only specific file types that we wish to support (e.g. PDF)

#java #security #cyberattacks #anti-virus #day one protection

Anti-Virus and 0-Day Threat Protection for Java Web Applications
1.15 GEEK