Cybersecurity SCADA HMI software security: Understanding and preventing SCADA viruses, intentional and unintentional July 5, 2015