黑客通常针对哪些类型的软件进行攻击?