浅谈基于危险的编程错误和TCP安全问题调查分析因特网的安全性

时间:2018-04-19 论文范文 我要投稿

    论文关键词:跨站点脚本攻击 SQL注入 密码算法 TCP 因特网安全性

    论文摘要:本文围绕着因特网的安全性问题,分析调查了几种危险的编程错误并且对TCP协议进行了安全性评估。对于危险的编程错误,本文主要讨论了网页结构保护失败、SQL查询结构保护失败和使用一个被攻破的或危险的加密算法。通过对危险的编程错误和TCP安全的调查,来分析因特网的安全性,以便最大限度的解决因特网中存在的安全问题。
  0 引言
  随着时间的推移和计算机技术的高速发展,信息网络在世界的诸多领域已经是必不可少的重要组成部分。与此同时,因特网的安全性已经变成了人们关注的焦点。信息网络也已经为社会的发展提供了重要的保障。伴随着全球信息化加速的步伐,因特网安全的重要性变得越来越明显。许多信息是非常重要的,包括政府的政策、贸易、经济信息,资金的银行转账、股票的安全性,能源资源数据、科学数据和敏感信息、国家机密等等。因此,信息将吸引来自世界各地的各种各样的人为的攻击,比如信息泄漏、信息偷盗、数据收买和计算机病毒等等。
  近年来,计算机犯罪率已快速增加,并已经成为了普遍的国际问题。黑客频繁的攻击因特网的各种各样的漏洞。因此,本文将讨论和调查分析一些因特网存在的危险的编程错误并对因特网的TCP协议进行安全性评估。
  1 调查分析3种危险的编程错误
  2009年,CWE/SANS联合发布了25个最危险的编程错误。这些错误可以导致严重的软件漏洞。这些漏洞频繁发生并且很容易发现。本文将调查分析其中比较常见和典型的3种编程错误。
  1.1 网页结构保护失败(跨站点脚本攻击)
  跨站点脚本攻击(Cross-site Scripting),简称XSS。这种攻击是由恶意的攻击者嵌入恶意的html代码到网页中所致。当一个用户浏览网页时,这个已嵌入的html代码将被执行以便达到攻击用户的特殊目的。跨站点脚本攻击是被动式的攻击,因此,它是被动且使用困难以至于许多人通常忽略它的危害。一般而言,跨站点脚本被分为两类,一类是来自内部的攻击,主要涉及到使用程序的漏洞去构建跨站点声明。另一类是来自外部的攻击,主要涉及到构建自己的具有跨站点漏洞的网页。
  一个典型的跨站点脚本攻击的方法。HTML语言允许使用脚本去处理一个简单的互动,攻击者插入一个恶意的html代码,比如通过技术手段插入cookies到网页中。Cookies可以保留有户名和密码,这样用户便失去了安全性。
  那么,如何解决跨站点脚本攻击呢?这里有几种方法。首先,作为编程人员,必须过滤或改变用户提交html代码并且限制用户数据的长度;第二,作为一个用户,不要去点击别人提供的未知链接并且禁止浏览器运行JavaScript和ActiveX代码;第三,巩固参数的校验。许多漏洞瞄准那些不被校验的参数,致使许多攻击手段出现。最后,在控制器中编码html数据。在控制器收到用户数据后编码数据,然后发送到数据库。
  1.2 SQL查询结构保护失败(SQL注入)
  有时程序员编写代码时,许多人不会去评估用户输入数据的合法性,以至于应用程序有潜在的危险。用户可以为一些数据库查询提交代码,根据程序返回的结果,用户可以获得一些他们想知道的数据,这就被称为SQL注入。SQL注入从一个正常的端口和表层通过,它看起来和正常的从一个网页通过没有什么不同,因此,一些防火墙无法戒备SQL注入。
  SQL注入攻击的阶段可以被总结为3种措施。首先,SQL注入漏洞的评估。一般而言,SQL注入存在于一个有参数的ASP动态网页中。只要动态网页有参数并且通过数据库,那么,就可能有SQL注入。ASP程序员必须有一个安全意识,过滤这个特性来减少SQL注入的可能性;第二,分析数据库服务器的类型。通常,ACCESS和SQL SERVER是最常用的数据库服务器,即使它们支持T-SQL标准,但仍有不同,并且不同的数据库有不同的攻击方法,这些必有不同的威胁;第三,决定XP_CMDSHELL执行的情况。如果当前的数据连接的账号有SA许可权限,并且可扩展的存储程序(master.dbo.xp­­_cmdshell)能够正确执行,整个计算机能够通过一些方法被控制。
  1.3 使用被攻破的或危险的加密算法
  保护信息的安全性是使用加密算法的主要原因。加密算法是一种用来加密和解密的数学函数。加密算法是基于加密协议的,被用于保护信息的安全性,提供身份验证等服务。假设要通过网络发送信息X,通常,X是明码文本包,X的内容被隐藏,然后X被转换成密码文本。这中转变过程称为加密。加密后,能够得到密码文本Y,同时有一个额外的参数M,X依靠M转换成密码文本Y,M被称为密钥。如果密码文本接收端Y想要恢复明码文本,密钥N必须用来完成相反的操作。这种反转过程称为解密。
  选择好的加密算法是保护因特网安全的重要环节,对于加密算法评估准则,可以包括3个方面:安全性、成本、实现的算法式和属性。其中安全性是评估加密算法最重要的准则。
  2 调查分析TCP的安全性评估
  TCP作为因特网标准协议,已经成为黑客攻击因特网的主要攻击目标。本节将讨论在网络安全中TCP的安全性评估。
  TCP(Transmission Control Protocol)是一个可靠的、端到端的、面向连接的传输层协议。它提供基于流的服务。TCP的主要职能包括阻塞控制,流控制,有序分配和可靠的包传输。TCP具有两个基本阶段:慢启动阶段和阻塞避免阶段。
  攻击者监听回应方发出的SYN/ACK信息。然后攻击者发送RST包到回应方,再发送SYN包,伪造连接方去发动一个新的连接。回应方回应这个新的连接,并发送链接,响应SYN/ACK信息。攻击者伪造连接方并发送ACK包到回应方。于是,攻击者成功的破坏了连接。如果攻击者再插入有害包的话,后果将十分严重。
  3 结论
  通过以上对3个危险的编程错误和TCP的安全性分析,可以看出因特网的安全问题是一个需要不断研究探讨和改进的重要问题。对于现今的因特网安全性问题,其中一部分可以找到恰当的解决方案,但仍有许多安全问题需要研究者在将来不断的发掘和解决。
  
  参考文献:
  [1]Randalll.A.TowardaMoreSecureInternet.COMPUTER,1997,30(1).
  [2]谢希仁.计算机网络[M].大连:大连理工大学出版社,2004.

浅谈基于危险的编程错误和TCP安全问题调查分析因特网的安全性相关推荐