A
security researcher discovered several vulnerabilities in industrial control
systems software from China that can be exploited remotely.
The
vulnerabilities can be used to knock out or take over SCADA (supervisory control
and data acquisition) systems from Chinese firm Sunway ForceControl Technology,
the U.S. Department of Homeland Security’s Industrial
Control Systems Cyber-Emergency Response Team said June 14 in its security advisory.
The heap overflow vulnerabilities were discovered in Sunway’s Force Control and
pNetPower products by NSS Labs
researcher Dillon Beresford.
Sunway
has patched both holes and released software updates for affected systems.
ICS-CERT coordinated with Beresford, the China National Vulnerability Database
and Sunway to resolve the problem.
A
successful exploitation of these vulnerabilities “can result in adverse
application conditions and ultimately impact the production environment on
which the SCADA system is used,” said the ICS-CERT advisory.
The
security bugs affect the Web server components in Force Control version 6.1 and
pNetPower version 6, according to Beresford. The vulnerabilities could be used
by a remote attacker to perform a denial-of-service attack on systems running
the affected programs and knock it offline, according to the ICS-CERT bulletin.
They could also run malicious code against the applications.
Force
Control and pNetPower are widely used in Europe and the Americas to control
critical infrastructure in the petroleum production, petrochemical, defense,
transportation, water, manufacturing and energy industries. Sunway systems are
also widely used in China to run weapons systems, utilities and chemical
plants. If attackers launch a denial-of-service attack, the networks that
control, for example, a petroleum pipeline or other sensitive systems would effectively
be shut down, according to the bulletin.
Beresford
has uncovered a number of security
vulnerabilities in the SCADA systems recently, including issues in the
Siemens Step 7 controllers. China’s
infrastructure is extremely vulnerable to cyber-attack, Beresford found,
with multiple issues in its systems that can be exploited by cyber-criminals.
The
vulnerabilities are particularly worrying because the Stuxnet worm that
targeted nuclear facilities in Iran exploited vulnerabilities in Siemens’ SCADA
software. Stuxnet hijacked the control and behavior of programmable logic
controller devices that handled nuclear material centrifuges and other systems
in the nuclear plant.
SCADA
systems are notoriously insecure because they were originally designed to
operate on an “isolated network,” Avishai Wool, CTO of AlgoSec, told eWEEK.
Attackers originally had to first gain physical access to the systems in order
to attack critical infrastructure. Hacking SCADA systems also required a lot of
technical know-how and proper equipment, according to Wool.
“SCADA
offered security by obscurity,” Wool said.
Now
that many SCADA systems are connected to the Internet and others are connected
to broader IT industrial networks, the systems are vulnerable because they
can’t differentiate between legitimate and malicious requests. In addition,
there is no built-in authentication process to protect the session from being
hijacked. SCADA was not designed with any security features at all, according
to Wool.
The
industry should replace the “overly simplistic protocols” with ones that
provide authentication, access control, audit and encryption, Wool said. But
until then, IT departments should implement sniffing, scanning, filtering,
firewalls and networking intrusion detection systems to protect critical
infrastructure.
The
potential impact “depends on many factors that are unique to each
organization,” ICS-CERT said in its advisory. Even though there are no known
exploits for the two issues currently in the wild and an attacker would need to
have “intermediate” skills to create consistent exploit code, security issues
should be patched as soon as possible.
Heap
overflow issues are a specific type of buffer overflow bugs that affect memory
that is dynamically allocated when a software application is running. Attackers
can exploit the problem to corrupt the heap data to change how the application
runs and force it to execute malicious code or crash.