多项选择题

A.编程人员的人为因素
B.受编程人员的能力、经验和当时安全技术所限
C.由于硬件原因,使编程人员无法弥补硬件的漏洞,从而使硬件的问题通过软件表现
D.网络病毒