Cyber attacks targeting the Supervisory Control and Data Acquisition (SCADA) systems are becoming more complex and more intelligent. Currently proposed security measures for the SCADA systems come under three categories: physical/logical network separation, communication message security, and security monitoring. However, the recent malwares which were used successfully to disrupt the critical systems show that these security strategies are necessary, but not sufficient to defend these malwares. The malware attacks on the SCADA system exploit weaknesses of host system software environment and take over the control of host processes in the SCADA system. In this paper, we explain how the malware interferes in the important process logics, and invades the SCADA host process by using Dynamic Link Library (DLL) Injection. As a security measure, we propose an algorithm to block DLL Injection efficiently, and show its effectiveness of defending real world malwares using DLL Injection technique by implementing as a library and testing against several DLL Injection scenarios. It is expected that this approach can prevent all the hosts in the SCADA system from being taken over by this kind of malicious attacks, consequently keeping its sanity all the time. INDEX TERMS SCADA security, malware, DLL injection, code injection, host system security. I. INTRODUCTION The Supervisory Control and Data Acquisition (SCADA), more broadly the Industrial Control System (ICS), is a system to monitor and control geographically distributed large-scale process field devices. The cyber attacks on the SCADA/ICS systems are considered severe threats for the critical industrial facilities like power grid due to their catastrophic impact on industry development and social safety. For this reason, to maintain the health and sanity of the SCADA/ICS system against cyber attacks poses daunting challenges. All security measures which have been considered and published for the SCADA/ICS systems can be classified into three categories: physical/logical network separation, communication message security, and security monitoring [1]. Network separation is based on the concept of Defense in Depth [2], [3]. The logical separation is to separate a SCADA/ICS network into several segmented zones or domains depending on criticality or functionality. The associate editor coordinating the review of this manuscript and approving it for publication was Jiafeng Xie.