网络安全大论文

《网络安全》课程论文

作者:

摘 要:随着计算机技术和网络技术的发展, 网络安全问题, 在今天已经成为网络世界里最为人关注的问题之一 危害网络安全的因素很多, 它们主要依附于各种恶意软件,其中病毒和木马最为一般网民所熟悉,还有个人信息的窃取,也给我们的生活带来了很大的安全隐患。针对这些危害因素, 网络安全技术得以快速发展,这也大大提高了网络的安全性。文章分析了几种常见的网络入侵方法和个人信息安全的问题以及在此基础上探讨了网络安全的几点策略。
关键字:网络安全、计算机网络、入侵检测、密码学

1.前言
1.1 计算机网络安全的含义
计算机网络安全的具体含义会随着使用者的变化而变化,使用者不同,对网络安全的认识和要求也就不同。例如从普通使用者的角度来说,可能仅仅希望个人隐私或机密信息在网络上传输时受到保护, 避免被窃听、篡改和伪造; 而网络提供商除了关心这些网络信息安全外,还要考虑如何应付突发的自然灾害、 军事打击等对网络硬件的破坏,以及在网络出现异常时如何恢复网络通信, 保持网络通信的连续性。从本质上来讲,网络安全包括组成网络系统的硬件、软件及其在网络上传输信息的安全性,使其不致 因偶然的或者恶意的攻击遭到破坏,网络安全既有技术方面的问题,也有管理方面的问题,两方面相互补充,缺一不可。
1.2 常见的几种网络入侵方法
由于计算机网络的设计初衷是资源共享、分散控制、分组交换,这决定了互联网具有大跨度、分布式、无边界的特征。这种开放性使黑客可以轻而易举地进入各级网络,并将破坏行为迅速地在网络中传播。同时,计算机网络还有着自然社会中所不具有的隐蔽性:无法有效识别网络用户的真实身份;由于互联网上信息以二进制数码,即数字化的形式存在,所以操作者能比较容易地在数据传播过程中改变信息内容。计算机网络的传输协议及操作系统也存在设计上的缺陷和漏洞,从而导致各种被攻击的潜在危险层出不穷,这使网络安全问题与传统的各种安全问题相比面临着更加严峻的挑战,黑客们也正是利用这样的特征研发出了各种各样的攻击和入侵方法:
1.通过伪装发动攻击
2.利用开放端口漏洞发动攻击
3.通过木马程序进行入侵或发动攻击
4.嗅探器和扫描攻击
为了应对不断更新的网络攻击手段,网络安全技术也经历了从被动防护到主动检测的发展过程。主要的网络安全技术包括:防火墙、VPN、防毒墙、入侵检测、入侵防御、漏洞扫描。其中防病毒、防火墙和VPN属早期的被动防护技术,入侵检测、入侵防御和漏洞扫描属主动检测技术,这些技术领域的研究成果已经成为众多信息安全产品的基础。
1.3 常见的几种加密算法
“加密”,是一种限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。
数据存储和传输存在的风险:
网络安全大论文_第1张图片

加密的基本功能包括:

  1. 防止不速之客查看机密的数据文件;
  2. 防止机密数据被泄露或篡改;
  3. 防止特权用户(如系统管理员)查看私人数据文件;
  4. 使入侵者不能轻易地查找一个系统的文件。
    数据加密是确保计算机网络安全的一种重要机制,虽然由于成本、技术和管理上的复杂性等原因,目前尚未在网络中普及,但数据加密的确是实现分布式系统和网络环境下数据安全的重要手段之一。

加密类型可以简单地分为三种:

  1. 私用密钥加密技术:对称式加密(Symmetric Key Encryption):对称式加密方式对加密和解密使用相同的密钥。通常,这种加密方式在应用中难以实施,因为用同一种安全方式共享密钥很难。如:RC4、RC2、DES 和 AES 系列加密算法。
  2. 公开密钥加密技术:非对称密钥加密(Asymmetric Key Encryption):非对称密钥加密使用一组公共/私人密钥系统,加密时使用一种密钥,解密时使用另一种密钥。公共密钥可以广泛的共享和透露。当需要用加密方式向服务器外部传送数据时,这种加密方式更方便。如: RSA
  3. 数字证书。(Certificate):数字证书是一种非对称密钥加密,但是,一个组织可以使用证书并通过数字签名将一组公钥和私钥与其拥有者相关联。

2.论文的目的和意义
我们是软件工程的本科生,《网络安全》是我们重要的课程。当代社会学要大学培养出理论扎实,动手实践能力强的大学生。所以,本次课程大作业的目的就在于通过一次实践性的活动加深对这门课程的理解,使我们在感性的认识上进一步升华为理性的认识。为后继课程的学习打下坚实的基础。
马克思主义唯物辩证法认为,实践是连接客观实在和人主观意识的通道和桥梁。物质对意识的作用以及意识对物质的反作用都蕴含在实践活动当中。也就是,实践是检验真理的唯一标准。对这门课的学习状况的好坏,用一次课程大作业便可以检验出来。而这,就是本次我们课程大作业的意义之所在。

3.论文的目标
1、 利用sniffer工具,分析IP头的结构。(请附上截图)
2、 利用sniffer工具,分析TCP头的结构,并分析TCP的三次握手过程。(请附上截图)
3、 实现一个或几个加解密程序。(详见《密码学及应用实验部分》,实验一)(附截图)
4、 已知RSA算法中,素数p=5,q=7,模数n=35,公钥e=5,明文为bed,对明文进行加解密,使用手工完成RSA公开秘钥密码体制算法加密运算。字母数字映射表如下:
在这里插入图片描述

5、 安装一款杀毒软件,分析该软件从哪些方面对计算机进行防护,这些功能与HIDS系统的功能有哪些异同?
6、 (1)结合一到两个最有体会或印象深刻的知识点(可以任选章节或具体算法协议等)谈谈自己对网络安全的学习心得;
(2)从网络安全的整体视角谈谈自己对网络安全的的理解和认识。
4.论文任务
4.1 利用sniffer工具,分析IP头的结构。(请附上截图)
网络安全大论文_第2张图片

根据IP数据报 来分析IP
网络安全大论文_第3张图片

由抓包结果可知 IP包为灰色部分
网络安全大论文_第4张图片

“45” 其中“4”是IP协议的版本(Version),说明是IP4。“5”是IHL位,表示IP头部的长度,是一个4bit字段,最大就是1111了,值为15(表示有15行,一行有32bit),IP头部的最大长度就是60字节。而这里为“5”,说明是20字节,这是标准的IP头部长度,头部报文中没有发送可选部分数据。

“00” 为服务类型(Type of Service)。这个8bit字段由3bit的优先权子字段,4 bit的TOS子字段以及1 bit的未用字段(现在为0)构成.4 bit的TOS子字段包含:最小延时、最大吞吐量、最高可靠性以及最小费用构成,这四个1bit位最多只能有一个为1,这里都为0,表示是一般服务。

“00 28”为IP数据报文总长,包含头部以及数据,这里表示40字节。这40字节由20字节的IP头部以及20字节的TCP头构成(最后的一个字节为数据)。

“00 1e”两个字节为数据包封装标识信息,与后面的偏移量一起用,这个是让目的主机来判断新来的分段属于哪个分组。

“00 00”其中前三位表示标志位,后面13位表示片段偏移地址。其中第一位是IP协议目前没有用上的,为0。接着的是两个标志DF和MF。DF为1表示不要分段,MF为1表示还有进一步的分段(本例为0)。然后的“00000”是分段便移(Fragment Offset)。

“80” 这个字节就是TTL(Time To Live)了,表示一个IP数据流的生命周期,用Ping显示的结果,能得到TTL的值128(将十六进制的80转化为十进制得128)。

“06” 这个字节表示传输层的协议类型(Protocol)。在RFC790中有定义,6表示传输层是TCP协议。

“da 5f”这个16bit是头校验和(Header Checksum)。

“c0 a8 6f 81”表示源地址,也就是PC的IP地址,转换为十进制的IP地址就是:192.168.111.129。

“c0 a8 6f 80”表示目标IP地址,转换为十进制的IP地址就是:192.168.111.128
4.2 利用sniffer工具,分析TCP头的结构,并分析TCP的三次握手过程。(请附上截图)
网络安全大论文_第5张图片

抓包结束后,可以获得TCP头(灰色部分)
网络安全大论文_第6张图片

根据TCP头结构对获得的TCP头进行分析
网络安全大论文_第7张图片

TCP包头占有20个字节
“04 12” 表示目的端口号为:1042,可知用了FTP文件文件传输。

“00 15” 表示目标端口,因为我是连接FTP站点,所以,这个就是21,十六进制当然就是“00 15”。

“1d 89 42 0a”表示数据包顺序号(Sequence Number),简写为SEQ,这里等于1383817

“73 9a df 6c”表示确认号(Acknowledgment Number),简写为ACKNUM。在此为不全0,表示连接成功,有确认。

“50 14” 换算成二进制“0101 0000 0001 0100”,两字节中,前4位“0101”TCP为头部长度,用十进制表示为5,转化为字节,总共有5×4=20字节;中间六位为保留,现在TCP协议没有用上,都为0;后面6位为“010100”,是重要的6个标志位
6个标志位:
URG:(Urgent Pointer field significant)紧急指针。用到的时候值为1,用来处理避免TCP数据流中断 
ACK:(Acknowledgment fieldsignificant)置1时表示确认号(AcknowledgmentNumber)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。 
  PSH:(Push Function),PUSH标志的数据,置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。 
  RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。 
  SYN:(Synchronize sequence numbers)用来建立连接,在连接请求中,SYN=1,ACK=0,连接响应时,SYN=1,ACK=1。即,SYN和ACK来区分Connection Request和Connection Accepted。 
  FIN:(No more data from sender)用来释放连接,表明发送方已经没有数据发送了。 
此时SYN=0,ACK=1,未开始请求连接。

“00 00” 两个字节表示窗口大小,没有打开窗口。

“98 ba” 这个16bit是头校验和(Header Checksum)。

“00 00” 为紧急指针,此时表示没有,当且仅当URG同时置1才有效。

TCP的三次握手过程
第一次握手:192.168.111.129发送位码syn=1,随机产生SEQ number =1952792680的数据包到192.168.111.130 ,192.168.111.130由SYN=1知道192.168.111.129要求建立联机;
网络安全大论文_第8张图片

第二次握手:192.168.111.130收到请求后要确认联机信息,向192.168.111.129发送ACK number =1952792681,SYN=1,ACK=1,随机产生SEQ number =812886821的包;
在这里插入图片描述

第三次握手:192.168.111.129收到后检查ACK是否正确,即第一次发送的SEQ number + 1,以及位码ACK是否为1,若正确,192.168.111.129会再发送ACK number =812886822,ACK=1,192.168.111.130收到后确认ACK = SEQ + 1,ACK=1则连接建立成功
网络安全大论文_第9张图片

4.3 实现一个或几个加解密程序。(详见《密码学及应用实验部分》,实验一)(附截图)
代替算法(JAVA实现)

import java.util.Scanner;
class Encryption{
     
public void Encryption() {
     
    char c;
    System.out.print("请输入要加密的明文:"); 
    Scanner input = new Scanner(System.in);
    String str1 = input.nextLine();
    System.out.print("请输入要加密的密钥:");
    int k = input.nextInt();  
    System.out.print("加密后的明文为: ");
    for(int i = 0 ; i < str1.length() ; i ++) {
      
       int n = (int)(str1.charAt(i));
       if(n >= 97 && n <= 122) {
      
           n = (n - 97 + k) % 26;  
           c = (char)(n + 97); 
           str1=str1.substring(0, i)+c+str1.substring(i+1); 
       } 
    } 
    System.out.println(str1);
} 
} 
class Decrypt{
      
public void Decrypt() {
      
    char c ;
    System.out.print("请输入需要解密的密文:"); 
    Scanner input = new Scanner(System.in); 
    String str3 = input.nextLine(); 
    System.out.print("请输入解密的密钥:"); 
    int k = input.nextInt(); 
    System.out.print("解密的明文是: "); 
    for(int i = 0 ; i < str3.length() ; i ++) {
      
       int n = (int)(str3.charAt(i));        
       if(n >= 97 && n <= 122) {
      
           n = (n - 97 - k); 
           if(n < 0) 
              n += 26; 
                     n = n % 26;
           c = (char)(n + 97); 
           str3=str3.substring(0, i)+c+str3.substring(i+1);
       } 
    } 
    System.out.println(str3);
} 
} 
public class Main {
      
    public static void main(String[] args) {
     
    	boolean n=true;
       while(n) {
      
           System.out.println("\n选择功能"); 
           System.out.println("1. 加密功能"); 
           System.out.println("2. 解密功能"); 
           System.out.println("3. 退出");
           Scanner input = new Scanner(System.in); 
           int c = input.nextInt(); 
           switch(c) {
                 
              case 1 :{
      
               Encryption encryption= new Encryption();
               encryption.Encryption();
               break; 
              } 
              case 2 : {
      
                  Decrypt decrypt = new Decrypt(); 
                  decrypt.Decrypt(); 
                  break; 
              }
              case 3:{
     
            	  n=false;
            	  System.out.println("已退出");
            	  break;
              }
           } 
       } 
    } 
}

网络安全大论文_第10张图片

4.4 已知RSA算法中,素数p=5,q=7,模数n=35,公钥e=5,明文为bed,对明文进行加解密,使用手工完成RSA公开秘钥密码体制算法加密运算。
(1)英文数字化。
  将明文信息数字化。假定明文英文字母编码表为按字母顺序排列数值,即:
  在这里插入图片描述

则数字化得到的bed的明文信息为:02,05,04。
(2)明文加密
  用户加密密钥(5,35) 将数字化明文分组信息加密成密文。由C=me(mod n)得:
C1 = me(mod n) = 025(mod 35) = 32
C2 = me(mod n) = 055(mod 35) = 10
C3 = me(mod n) = 045(mod 35) = 9
用户加密后得到的密文为:32,10,9。
(3)密文解密。
用户B收到密文,若将其解密,只需要计算E=Ce(mod n),即:
E1 = Ce(mod n) = 325(mod 35) = 02
E2 = Ce(mod n) = 105(mod 35) = 05
E3 = Ce(mod n) = 95(mod 35) = 04
用户得到明文信息为:02,05,04。根据上面的编码表将其转换为英文,我们又得到了恢复后的原文“bed”。

4.5安装一款杀毒软件,分析该软件从哪些方面对计算机进行防护,这些功能与HIDS系统的功能有哪些异同?
我使用的是德国的小红伞杀毒软件
它的功能:
病毒防护(AntiVir)–病毒、蠕虫、木马的防御。
间谍软件的防护(AntiSpyware)–间谍程序、广告软件、身份盗用(Identity Theft)的防御。
恶意软件防护(AntiRootkit)此功能同免费版本
链接扫描(AntiPhishing)此功能同免费版本
邮件扫描 (AntiSpam) –可以过滤垃圾信件、防止网络诈骗(网络钓鱼)。
小红伞是一款德国著名杀毒软件,自带防火墙。它能有效的保护个人电脑以及工作站的使用,以免受到病毒侵害。它可以检测并移除超过60万种病毒,支持网络更新,资源占用很少,监控能力强
HIDS全称是Host-based Intrusion Detection System,即基于主机型入侵检测系统。作为计算机系统的监视器和分析器,它并不作用于外部接口,而是专注于系统内部,监视系统全部或部分的动态的行为以及整个计算机系统的状态。由于HIDS动态地检查网络数据包这一特性,它可以检测到哪一个程序访问了什么资源以及确保文字处理器(Word-Processor)不会突然的、无缘无故的启动并修改系统密码数据库。同样的,不管是往内存、文件系统、日志文件还是其它地方存储信息,HIDS会一直监控系统状态,并且核对他们是否还预期相同。
HIDS运行依赖与这样一个原理:一个成功的入侵者一般而言都会留下他们入侵的痕迹。这样,计算机管理员就可以察觉到一些系统的修改,HIDS亦能检测并报告出检测结果。
一般而言,HIDS使用一个它们所监视的目标系统以及文件系统(非必需)的数据库,HIDS也可以核对内存中未被非法修改的区域。对于每一个正被处理的目标文件来说,HIDS会记录下他们的属性(如权限、大小、修改时间等)然后,如果该文件有其文件内容的话,HIDS将会创建一个校验码(如SHA1,MD5或类似)。这个校验码信息将储存在一个安全的数据库中,即校验码数据库,以便将来的核对。

  1. 总结
    5.1 结合一到两个最有体会或印象深刻的知识点(可以任选章节或具体算法协议等)谈谈自己对网络安全的学习心得;
    密码学
    学习了网络安全的课程后感触很深,尤其对密码学。密码学充满了神秘性,让我对它产生了浓厚的兴趣和好奇。这个学期以来,学习到了很多东西,学到了各种密码体制,让我知道了密码体制在我们的生活中发挥着巨大的作用。密码学一直保护着我们信息的安全。黑客盗取密码保护的信息以获取利益,而密码学家不断地去评估密码算法的安全性,找到其漏洞,以设计出更安全的密码算法。
    密码学是主要研究通信安全和保密的学科,密码编码学主要研究对信息进行变换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法。密码学可以:
    1.用来加密保护信息
    用密码变换将明文变换成只有合法者才能恢复的密文,这是密码的最基本功能。信息的加密保护包括传输信息和存储信息两方面,后者解决起来难度更大。
    2.采用数字证书来进行身份鉴别
    数字证书就是网络通讯中标志通讯各方身份信息的一系列数据,是网络正常运行所必须的。现在一般采用交互式询问回答,在询问和回答过程中采用密码加密,特别是采用密码技术的带CPU的职能卡,安全性好,在电子商务系统中,所有参与活动的实体都需要用数字证书来表明自己的身份,数字证书从某种角度上说就是“电子身份证”。
    3.数字指纹
    在数字签名中有重要作用的“报文摘要”算法,即生成报文“数字指纹”的方法,近年来备受关注,构成了现代密码学的一个重要侧面。
    4.采用密码技术对发送信息进行验证
    为防止传输和存储的消息被有意或无意的篡改,采用密码技术对消息进行运算生成消息的验证码,附在消息之后发出或信息一起存储,对信息进行验证,它在票房防伪中有重要作用。
    5.利用数字签名来完成最终协议
    在信息时代,电子数据的收发使我们过去所依赖的个人特征都将被数字代替,数字签名的作用有两点,一是因为自己的签名难以否认,从而确定了文件已签署这一事实;二是因为签名不易仿冒,从而确定了文件时真的这一事实。
    密码学在完整的科学体系建立起来之前,古典密码学仅限于一些简单代替和置换算法,当然,这代替和置换如果经过了几次算法的加密就会一样复杂多变,而现代的算法经过科学体系的整理与发展,更加的完善一些复杂算法的应用和各种应用协议的产生。而由于网络的出现以及发展,未来的密码学也必定向这个方向发展。密码学还有许许多多的问题。当前,密码学发展面临着挑战和机遇。计算机网络通信技术的发展和信息时代的到来,给密码学提供了前所未有的发展机遇。在密码理论、密码技术、密码保障、密码管理等方面进行创造性思维,去开辟密码学发展的新纪元才是我们的追求。
    5.2从网络安全的整体视角谈谈自己对网络安全的理解和认识。
    网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。从广义方面来看,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全所要研究的领域。
    近年来,随着计算机网络的普及与发展,我们的生活和工作都越来越依赖于网络。国家政府机构、各企事业单位不仅建立了自己的局域网系统,而且通过各种方式与互联网相连。但是,我们不得不注意到,网络虽然功能强大,也有其脆弱易受到攻击的一面。所以,我们在利用网络的同时,也应该关注网络安全问题,加强网络安全防范,防止网络的侵害,让网络更好的为人们服务。
    1.网络安全威胁来源
    网络安全威胁的来源在于网络内运行的多种网络协议,因为这些网络协议并非专为安全通讯而设计。因此,网络可能存在的安全威胁来自以下方面:
    操作系统的安全性,目前流行的许多操作系统均存在网络安全漏洞,如:UNIX服务器,NET服务器及Windows桌面PC,可能会引起蠕虫,病毒及木马的多种攻击;防火墙的安全性、防火墙通常会被放置在每一个内外网路的出入口处,将内部网与外部网(如互联网)隔离,并按照用户定义的安全策略控制出入网络的信息流,防火墙产品自身是否安全、是否设置错误,需要经过检验;来自内部网用户的安全威胁,主要表现为移动存储介质的无序管理;过多开设服务器端口;内部的网络攻击等待,其次由于内部员工的计算机水平参差不齐,一旦某太电脑感染病毒,很容易蔓延整个内网;缺乏有效的手段监视、评估网络系统的安全性,目前大多数安全评估都是以主机的安全、系统加锁、应用安全、应急响应、管理层面的安全等为主,对于网络系统的安全评估却很少,采用的TCP/IP协议簇软件,本身缺乏安全性,网络的开放性,TCP/IP协议完全公开,TCP/IP从一开始设计的时候就没有考虑到安全设计,其远程访问使许多攻击者无须到现场就能得手。
    2.网络安全需求分析
    对于各种各样的网络攻击,如何在提供灵活且高效的网络通讯及信息服务的同时,抵御和发现网络攻击,并且提供跟踪攻击的手段,是保证安全需要解决的问题,网络基本安全要求主要表现为:网络正常运行,在受到攻击的情况下,能够保证网络系统继续运行,网络管理/网络部署的资料不被窃取、破坏;具备先进的入侵检测及跟踪体系,提供灵活儿高效的内外通讯服务。
    应用系统事网络功能的核心,对于应用系统应该具有最高的网络安全措施,其安全体系应包含:访问控制;检查安全漏洞;攻击监控;加密通讯;认证;备份和恢复;多层防御等。
    网络平台支持多种应用系统,对于每种系统均在不同程度上要求充分考虑平台安全,通常,系统安全羽性能和功能是一对矛盾的关系。如果某个系统不向外界提供任何服务,外接是不可能构成安全威胁的,但是,若要提供更多的服务,将网络建成了一个开放的网络环境,各种安全包括系统级的安全问题也随之产生。
    构建平台安全系统,一方面由于要进行认证、加密、监听、分析、记录等工作,由此影响网络效率,并且降低客户应用的灵活性,另一方面也增加了管理费用。但是,来自网络的安全威胁是实际存在的,特别是在网络上运行关键业务时,网络安全是首先要解决的问题。选择适当的技术和产品、制定灵活的网络安全策略,在保证网络安全的情况下,提供灵活的网络服务通道。采用适当的安全体系设计和管理计划,能狗有效降低网络安全对网络性能的影响并降低管理费用。
    3.网络安全设计原则
    网络的除了满足高可靠性功能外,还应具有高保密性、管理安全性、高响应性以及可扩充性等特性。能满足企事业单位当前和未来信息持续增加的需求,以及高速增长的业务需求,因此,遵循以下几个原则:
    1)安全可靠性:使用的安全产品能够稳定可靠在系统中常年运行。
    2)技术先进性:采用的安全技术必须有足够的先进性。
    3)高效性:系统应在合理的性价比下,至少满足系统性能的需求。
    4)可管理性:安全产品应该易于管理,非专业安全技术人员也能在指导下使用。
    5)可扩展性:在系统升级或扩容时,能保持一定的扩充性能。
    6)安全行:系统应该在技术和管理上确保系统各个环节的安全性。
    网络的内部部署了众多的网络设备、服务器,保证这些设备的正常运行,维护主要业务系统的安全,是网络的基本安全需求。
    最后需要指出的是,在当今网络飞速发展的今天,不论是办公还是生活,人们都无法离开网络,要想保证自己的信息安全不受侵犯,除了需要完备的网络安全策略和高素质的网络管理人才外,我们自身的网络安全意识也要不断加强。

原版文档在download.csdn.net/download/shaoNianABin123/13094514
格式完整,排版较好

你可能感兴趣的:(论文,网络安全)