alphaspirit - Fotolia
Java and Python were both found vulnerable to FTP injection attacks, as caused by XML external entity flaws. Oracle and Python have not released patches. What are the possible attack scenarios for FTP injections, and how can enterprises mitigate them?
File Transfer Protocol (FTP) is an unencrypted protocol. It was one of the earliest protocols developed for use on IP networks and is embedded in many types of devices using IP and different programming languages.
Information security was not a top concern when FTP was developed -- networks were much more trusting and were not as open as the current internet. This resulted in a legacy system that has largely been replaced by secure file transfer protocols and programming libraries that have at least gone through minimal security review.
Java was found vulnerable to an attack that enables an attacker to send spam or even directly connect to internal email servers using FTP libraries. The attack on Python uses an FTP injection to open TCP connections on a firewall. Both attacks require code execution on the vulnerable server and passing on arbitrary data when an FTP connection is setup.
Timothy Morgan, founder of Blindspot Security, described several scenarios that enable attackers to bypass firewall settings, such as triggering Java Web Start to run by using Java Network Launch Protocol files containing malicious FTP URLs, using a man-in-the-middle attack and using server-side request forgery.
Enterprises can mitigate the risk from FTP injection vulnerabilities by implementing a secure software development lifecycle, which offers several benefits: code for weeding out malicious inputs to prevent security vulnerabilities; code published on web servers being vetted to ensure it's from a trusted developer; and using secure network protocols, like HTTPS or Secure File Transfer Protocol.
When an enterprise runs code or any application, including web applications, it must be able to trust that the code isn't malicious and exploiting a vulnerability in how a protocol is processed. These mitigations must be built on top of a secure operating system and application environment to be most effective.
Using an encrypted connection also minimizes the chance that the network traffic will be altered with malicious commands, such as from an FTP injection.
Learn what irregular occurrences to look out for when monitoring outbound network traffic
Find out how to pick a secure file transfer product for use in your enterprise
Read how open FTP servers can be protected from the Miner-C malware infection
Dig Deeper on Application and platform security
Related Q&A from Nick Lewis
Port scans provide data on how networks operate. In the wrong hands, this info could be part of a larger malicious scheme. Learn how to detect and ... Continue Reading
Cloud penetration testing presents new challenges for information security teams. Here's how a playbook from the Cloud Security Alliance can help ... Continue Reading
Many cloud providers are tight-lipped about internal security control details. Learn how to evaluate cloud security providers with certifications and... Continue Reading