DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1274|回复: 0
打印 上一主题 下一主题

[待整理] 局域网的内网安全监护系统设计,软硬件协同

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-26 17:28:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1 引言         2.2.3.2 输出
          安全防御措施
          安全防御措施是本系统最主要的输出。系统应当能够对检测到的攻击采取相应措施,立刻中止攻击,并最大地对攻击造成地危害进行修复,是网络及其上的主机回复正常。
           
          系统状态指示
          系统应当能够通过系统状态指示灯表明系统当前的运行状态。能够指示的状态包括:系统启动过程;系统正在监视的攻击类型;系统对检测到攻击的警告。
           
          系统日志
          系统日志用以保存系统运行时的状态,供日后分析网络状态或系统故障时参考。
           
                           2.2.4 数据管理能力要求
        2 详细设计
                           2.1 需求规定
        DHCP欺骗
          DHCP欺骗是攻击者假冒局域网内的DHCP服务器,对请求IP地址和默认网关等信息的主机发送伪造的应答,导致用户无法正常连接到网络。另外,攻击者还可以用非法的默认网关重定向用户的上网流量,以达到窃取秘密信息的目的。
           
          由于DHCP协议中固有的安全漏洞,客户机以广播的方式请求IP地址,如果客户端收到网络上多台DHCP伺服器的回应﹐只会挑选最先抵达的那个Dhcpoffer﹐并且会向网路发送一个Dhcprequest广播封包﹐告诉所有DHCP服务器它将指定接受哪一台伺服器提供的IP位址。只要攻击者距离客户机的物理距离较实际DHCP服务器更近,欺骗攻击都会被成功实施。
           
          针对此种攻击,本系统在配置文件中读取合法的DHCP服务器的MAC地址和IP地址,利用DHCP应答包“UDP协议、源端口号为67、目的端口号为68”的特点,抓取局域网内的DHCP应答包,当发现其源MAC或源IP与配置文件中的相应信息不相同时,就可以断定发生了DHCP欺骗攻击,利用源MAC查找攻击源,修复被欺骗的主机的IP,并记录系统日志,通过系统状态指示灯通知网管人员。
           
                          MAC泛洪

        系统参考时钟频率和处理器总线时钟频率均为50MHz。在处理器配置中启用了16KB的本地内存,并分别加入了2KB的指令和数据Cache,但没有加入对浮点运算单元的支持。由于在之前的设计方案中系统已经完成了必要的测试,为了节约系统硬件资源、提高运行效率,在最终方案中没有加入Debug模块和对Debug接口的支持。
           
          系统用到的IO设备包RS232_DCE,RS232_DTE,LEDs_8Bit,DIP_Switches_4Bit,FLASH,DDR_SDRAM。其中RS232_DCE是系统终端登录所连接的串口,而RS232_DTE则留给系统用作通讯设备,DIP Switch和LED设备作为系统的地通用IO设备,DDR SDRAM和Flash均被用作标准的存储器供操作系统调用。
           
          2.3.3 Bootloader设计
          Bootloader是系统第一阶段的引导程序,负责初始化系统硬件,运行第二阶段的引导程序Das U-Boot。Bootloader的运行流程如图5所示。
           
       

        图5 Bootloader程序流程

         

          系统上电或复位后,自动由bootloader开始执行。Bootloader首先将默认配置写入UART串口控制器的控制寄存器完成UART初始化,激活串口,并向通过串口连接的终端窗口显示系统初启时的欢迎消息和诊断信息。接着初始化系统计时器,为后续启动阶段做准备。最后将Flash设置为Read Array模式,将系统交给位于Flash中的第二阶段引导程序U-Boot。至此,bootloader使命结束,系统由U-Boot继续引导。Bootloader源代码请参见附录。
           
                           2.4 操作系统配置
        2.5.2 软件结构
          为了保持局域网内通信的安全和畅通,通过抓取局域网内特定类型的数据包,提取有效信息建立起包含局域网内所有主机的MAC、IP等信息的一个参照库,对流经局域网内的数据包进行过滤,并与参照库中的记录比对、分析,从而准确检测出局域网内的攻击,定位攻击源,并采取相应的措施消除威胁。
           
          该系统采用多线程编写。针对每一类攻击,都可根据用户需求开启或关闭一个独立的线程,执行对相应攻击的检测。针对ARP和DHCP协议的特点,设计有效的检测方法,来防范攻击者利用该协议的缺陷发动攻击。针对MAC泛洪攻击,则规定了每个端口的最大MAC地址数目,防止单个端口占用整个交换机的MAC表。因为大多数局域网内的攻击都需要建立在混杂模式的基础上,所以本系统设计了检测局域网内网卡处于混杂模式的主机,来消除潜在的威胁。
           
                          系统模块一览表

         
                          2.5.3 用户接口设计

         
                           3 测试报告
         
        日志模块

          日志模块的功能是负责系统日志文件的维护,如果系统没有日志文件,它会在/var/guard下创建名称为“sys.log”的日志文件。为了测试日志模块,我们编写了一个驱动程序,依次执行日志模块下的log_init和log_write函数,初始化日志文件,并在日志文件中记录“Log Test”。编译并执行驱动程序后,发现在/var/guard的sys.log中成功写入了“Log Test”。
           
        表处理模块

          表处理模块的功能是负责维护系统的MAC-IP库。为了测试表处理模块,我们编写了一个驱动程序调用表处理模块,并将MAC-IP表打印出来。执行驱动程序后得到如下输出:
           
          p_mac_ip_table[0].eth_addr = 0:1c:10:3d:c6:8b
          p_mac_ip_table[0].ip_addr = 192.168.0.101
          p_mac_ip_table[1].eth_addr = 0:21:3e:5f:14:67
          p_mac_ip_table[1].ip_addr = 192.168.1.103
          这两项都是通过模块中提供的add_to_table函数存储到MAC-IP表中。由此可见,表处理模块可以正常运行并完成既定的功能。
           
                          3.2.3  模块测试小结

         
           
  •                 网关欺骗
          在主机Trudy上运行ARP欺骗模拟程序实施网关欺骗,此时主机Trudy会向整个局域网广播ARP应答,在应答包中把网关的IP地址对应到攻击者指定的MAC地址,其他主机接收到ARP应答包后,就会更新网关的ARP表项,从而导致其他主机不能上网。
          此时,在主机Monitor上的主监控程序的Attcak Log窗口中显示:
          Warning: ARP cheat occurs!Thu Aug 21 19:15:23 2008
          Victim: All
          ARP Operation: ARP REPLY
          The content in ARP Header:
          Source MAC: 00:15:f5:d6:90:19(主机Trudy) Source IP: 192.168.0.1(Gateway)
          几乎就在同时,在主监控程序的Defending Log窗口显示:
          port 2 is closed at Thu Aug 21 19:15:24 2008
          “LANSD” has sent a repair ARP packet to All at Thu Aug 21 19:15:24 2008
          系统对基于ARP欺骗的网关从响应到处理大约需要1秒钟。系统同样及时关闭了Trudy的端口并发送了修复ARP包,使网络的正常工作没有受到影响。
           
           
  •                 IP欺诈
          在主机Trudy上运行ARP欺骗模拟程序实施IP欺诈攻击,此时主机Trudy会向主机Bob发送ARP应答包,ARP头的源MAC填的是主机Trudy的MAC,而源IP则是Alice的IP。于是,当Bob向Alice发送消息时,它实际上会把消息发给主机Trudy,而Bob仍旧以为它在和Alice进行通信。此时,在主机Monitor上的主监控程序的Attcak Log窗口中显示:
          Warning: ARP cheat occurs!Thu Aug 21 19:16:56 2008
          Victim: Bob  00:37:83:2f:3d:1a  192.168.0.106
          ARP Operation: ARP REPLY
          The content in ARP Header:
          Source MAC: 00:15:f5:d6:90:19(主机Trudy) Source IP: 192.168.0.103(Alice)
          几乎就在同时,在主监控程序的Defending Log窗口显示:
          port 2 is closed at Thu Aug 21 19:16:56 2008
          “LANSD” has sent a repair ARP packet to Alice at Thu Aug 21 19:16:56 2008
           “内网安全防护系统”对基于ARP欺骗的IP欺诈从响应到处理不到1秒钟。
           
        DHCP欺骗攻击测试

          在主机Trudy上运行DHCP欺骗模拟程序,主机Trudy会伪装成DHCP服务器向Alice发送DHCP应答包,试图改变Alice的IP地址。在此时,在主机Monitor上的主监控程序的Attcak Log窗口中显示:
          Warning: DHCP Cheat occurs! Thu Aug 21 19:20:09 2008
          Launcher: 主机Trudy  00:15:f5:d6:90:19  192.168.0.101
          Victim: Alice  00:46:18:c3:e2:8d  192.168.0.103
          技术上讲,一台DHCP服务器以外的主机在任何情况下都不应该发送DHCP应答,因而一旦监测到非正常的DHCP应答,就可以判定为欺骗。因而主机Trudy发送DHCP包就会引起“内网安全防护系统”的响应。几乎同时,在主监控程序的Defending Log窗口显示:
          port 2 is closed at Thu Aug 21 19:20:09 2008
          port 1 is closed at Thu Aug 21 19:20:09 2008
          port 1 is opened at Thu Aug 21 19:20:09 2008
          port 2 is opened at Thu Aug 21 19:21:09 2008
          这说明系统能够立即发现DHCP欺骗并将其端口关闭,以阻止其攻击。同时关闭并打开被欺骗者的以太网端口,以便其能够重新向DHCP服务器请求得到正确的IP地址。经测试,系统对DHCP欺骗的响应时间不超过1秒钟。
           
        MAC泛洪攻击测试

          在主机Trudy上运行MAC泛洪模拟攻击程序,主机Trudy会向交换机的2号端口发送大量源MAC不同的以太网帧,使交换机失去交换功能,变成一个集线器,使局域网的性能大大降低。此时,在主机Monitor上的主监控程序的Attcak Log窗口中显示:
          Warning: MAC Flooding occurs!  Thu Aug 21 19:22:11 2008
          Launcher: Trudy  00:15:f5:d6:90:19  192.168.0.101
          随后在主监控程序的Defend Log窗口显示:
          port 2 is closed at Thu Aug 21 19:22:11 2008
          测试表明,系统对MAC泛洪攻击从响应到处理大约需要10秒钟,远远超过了需求说明中规定的1秒。这是因为攻击刚刚开始时只发送了少量的MAC地址而不能认定为MAC泛洪攻击,但随着时间推移,当该端口的MAC地址数量超过设定的阈值时,系统便可以确认攻击类型并采取相应措施。
           
          在MAC泛洪中我们发现,如果模拟攻击主机Trudy连续发送短小的以太网帧而不加停顿,系统采取措施时需要的帧数量比预想的要大得多。经过进一步研究和测试发现,由于系统性能有限,来不及处理短时间内大量的数据包,而将部分数据包丢失。这使得系统在数据交换频繁的网络中的漏检率可能会较高。但这一缺陷起源于系统硬件,在不更换硬件平台的前提下可能无法修复。
           
        混杂模式测试

          确保在主机Trudy上执行模拟程序,将Trudy的网卡设置为混杂模式,准备对整个网络进行监听。此时,在主机Monitor上的主监控程序的Attcak Log窗口中立刻出现显示:
           
          Warning: Host Trudy is set in promiscuous mode  Thu Aug 21 19:25:35 2008
          这表明Trudy已经成功进入了混杂模式。此时系统板上的混杂模式监测指示灯闪动,警告局域网中检测到混杂模式主机。随后,在主监控程序的Defending Log窗口显示:
           
          Port 2 is closed at Thu Aug 21 19:25:58 2008
          由此可见,“内网安全防护系统”能在1s内将网卡处于混杂模式的主机所在的交换机端口关闭。
           
          3.3.4 结果分析与实现功能
          通过以上测试,可以确定系统可以实现需求说明中的全部功能要求,对局域网内的主要攻击具有检测和防御功能,同时基本满足了需求说明中提出的性能要求。
           
          3.4 测试总结
          至此,对“内网安全防护系统”所有的测试工作就告一段落。通过这一系列的测试,系统的功能性和正确性均可以得到保证。同时可以看到,硬件开发板的性能在一定程度上限制了系统功能的发挥。为了增强系统实际应用价值,扩大系统的应用范围,使得系统能够作为一个全新的安全产品投入到市场中,应当采用性能更强的硬件并对系统作进一步的优化。但作为一个专用的嵌入式系统的雏形,它已经足以应用在通常的交换网络中执行安全防护工作。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-15 09:55 , 耗时 0.118210 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表