1.安全攻击类型
窃取网络上其他计算机的资源或特权、对其安全性或可用性进行破坏网络攻击是以网络为手段的行为。安全攻击依据攻击特征可以分为四类,具体如表所示。
类型 | 攻击的安全要素 |
---|---|
中断 | 可用性 |
窃取 | 机密性 |
篡改 | 完整性 |
伪造 | 真实性 |
常见的网络攻击有很多,如连续不停Ping某台主机、发送带病毒和木马的电子邮件、暴力破解服务器密码等,也有类似有危害但不是网络攻击的(如向多个邮箱群发一封电子邮件);又如重放攻击,通过发送目的主机已经接收过的报文来达到攻击目的。
2.病毒、蠕虫、木马、僵尸网络、DOS、DDOS、垃圾邮件
(1)定义
计算机病毒:是一段附着在其他程序上的、可以自我繁殖的、有一定破坏能力的程序代码复制后的程序仍然具有感染和破坏的功能。
蠕虫:是一段可以借助程序自行传播的程序或代码。
木马:是利用计算机程序漏洞侵入后窃取信息的程序,这个程序往往伪装成善意的、无危害的程序。
僵尸网络(Botnet):是指采用一种或多种传播手段使大量主机感染bot程序(僵尸程序),从而在控制者和被感染主机之间形成的一个可以一对多控制的网络。
拒绝服务(Denial of Service,DOS):利用大量合法的请求占用大量网络资源以达到难痪网络的目的。
分布式拒绝服务攻击(Distributed Denial of Service,DDOS):很多DOS攻击源一起攻击某台服务器就形成了DDOS攻击/常见防范DOS和DDOS的方式有:根据IP地址对数据包进行过滤为系统访问提供更高级别的身份认证、使用工具软件检测不正常的高流量,由于这种攻击并不在攻击端植入病毒,因此安装防病毒软件无效。
垃圾邮件:未经用户许可就强行发送到用户邮箱中的任何电子邮件。
(2)各类恶意代码的命名规则
恶意代码的一般命名格式为:恶意代码前缀.恶意代码名称.恶意代码后缀。
恶意代码前缀是根据恶意代码特征起的名字,具有相同前缀的恶意代码通常具有相同或相似的特征。
(3)SQL注入
SQL注入就是把SOL命令插入到Web表单、域名输入栏或者页面请求的查询字符串中,最终达到欺骗服务器执行恶意的SQL命令。
SELECT * FROM users WHERE name =' " + userName + " '
这条语句的目的是获取用户名,如果此时输入的用户名被恶意改造,语句的作用就发生了变化。例如,将用户名设置为’a’or’t’=t之后,执行的SQL语句就变为:
SELECT * FROM users WHERE name = 'a' or 't'='t'
由于该语句中t=t恒成立,因此可以达到不用输入正确用户名和密码就完成登录的目的。
还有一此注入形式可用于获取数据的一些重要信息,如数据库名、表名、用户名等。典型的例子是“xxx and user>0”,因为user是SQL Server的一个内置变量,其值是当前连接的用户名,类型为nvarchar。当构造一个nvarchar的值与int类型的值0比较时,系统会进行类型转换,并在转换过程中出错并显示在网页上,从而获得当前用户的信息。
使用自带的安全API加强用户输入认证避免特殊字符输入等方式可以避免SQI注入攻击。
(4)跨站攻击
跨站攻击(Cross Site Script Execution XSS):恶意攻击者往 Web 页面里插入恶意 HTML 代码,当用户浏览该页时,嵌入到Web中的HTML代码会被执行,从而达到特殊目的。
避免跨站攻击的方法有过滤特殊字符、限制输入字符的长度、限制用户上传Flash文件、使用内容安全策略(CSP)、增强安全意识等防范措施。