关于门禁控制器安全漏洞的探讨- 捷利佳华- 捷利佳华- 和讯博客
关于门禁控制器安全漏洞的探讨 [转贴 2010-01-20 09:48:04]   

一、引言  

又是的核心。许多生产安防设备的大厂都有自己品牌的是安防系统中最重要的子系统之一。而且其中不乏国外的产品。这些产品除了拥有我所需要的稳定性、可靠性之外,会不会也附带一些安全上的隐患呢?这点需要我给予充沛的关注。  

二、门禁控制系统概况  

基本分成两大类。一类是控制一体机,按照结构区分。另一类是独立的控制一体机是一种安全性相对比较低的结构类型,因为这类的身份识别局部和处理控制部分集成在一个设备里。这样在装置设备时,肯定将整机安装在门外,无形中增加了设备被破坏的可能。而单独的是通过信号线与身份识别部分进行连接,通过信号线传递识别信息,完成开门操作。这样在装置设备时,可将控制器安装在门内,增加了设备的平安性。这里我主要讨论独立的的平安问题。  

现在使用的通讯方式基本上为两种,独立的与前端识别设备之间需要进行通讯。一种是使用 RS485 总线进行通讯,另一种使用韦根线进行通讯。   

采用平衡发送和差分接收,RS485 通讯使用双绞线进行半双工通讯。因此具有抑制共模干扰的能力,传输距离可以达到数公里,可实现高速的信息传送。 RS485 通讯采用总线式的连接方式,可保证多台设备正常工作,而且它串行通讯,所以每台拄接在总线上的设备有自己的 ID 地址,进行数据通讯时,系统保证总线上只有一台设备发送数据,其它设备处于接收数据状态;设备之间采用自定义的协议传输数据。   

每一个读卡器和都有自己的 ID 地址,采用 RS485 方式进行通讯的可挂接多个读卡器。 RS485 网络上传递的数据都包含地址信息,网络上只有一个设备发送数据,其它设备都会接收数据,对于目的自己的数据,设备会进行相应的处置,而不是以自己为目的命令将被抛弃。这样的中,通过轮巡的方式,完成一个管理多个读卡器的功能。  

关于安全漏洞的探讨  

最常用的格式有 Weigand26 通过 DA TA 0 和 DA TA 1 两条数据线分别传送数据 “ 0 和 “ 1 每帧传输的数据为 26Bit 利用在两条通讯数据线上分别产生的脉冲生成数据序列,韦根通讯是一种经常在安防系统中使用、通过两芯线进行点对点近距离通讯的通用通讯协议。通讯距离大约 10 米左右。  

三、平安问题提出   

而韦根采用通用协议。自定义协议会有更多的设计空间,    比较两种常用的通讯模式。 RS485 总线通讯采用厂家自己定义的协议。这里我主要针对这种通讯模式进行研究和探讨。由于在中,多数是通过 RS485 总线连接感应读卡器、键盘、磁卡读卡器、指纹读卡器等前端设备,而使用 RS485 串行总线进行通讯的设备需要依照自定义的通讯协议进行数据交换,因此。生产的生产厂家都会生产与之配套的前端设备。这样就会出现在、前端设备以及它之间的通讯协议是由一个生产厂家设计生产的情况。这种情况下,就不能够排除 “ 后门卡 ” 存在可能性。这里所说的后门卡 ” 指生产厂为了某些目的上预留后门,当使用某些特定的卡片或是结合某些特定的操作之后,使用这些未被注册的卡片就可以启动打开门锁。如果遭到后门卡 ” 攻击,就会在瞬间被轻易攻破,同时也意味着为加固周界所做的努力瞬间便付之东流。虽然这只是一种推测。但从技术层面来讲,实现这种 “ 后门卡 ” 功能xx是可能的这也正是用户,特别是对安全有着特殊要求的用户,所担心的一个问题。  

四、解决方案   

1 .工作原理   

解各个设备是如何协调工作的掌握其运行的机制,为了阻断 “ 后门卡 ” 通路。必需首先熟悉各个设备的工作原理。这样就可以找到解决问题的方法。为了说明问题,可以构建一个简化的模型。这个模型中,使用一个控制管理一个感应读卡器,设备之间通过 RS485 进行数据通讯。   

工作流程

另一种是识别模式。巡检模式下,工作在两种模式之下。一种是巡检模式。控制器不时向读卡器发送查询代码,并接收读卡器的回复命令。这种模式会一直保持下去,直至读卡器感应到卡片。当读卡器感应到卡片后,读卡器对控制器的巡检命令产生不同的回复,这个回复命令中,读卡器将读到感应卡内码数据传送到,使进入到识别模式。   

分析感应卡内码,的识别模式下。同设备内存储的卡片数据进行比对,并实施后续动作。完成接收数据的动作后,会发送命令回复读卡器,使读卡器恢复状态,同时,重新回到巡检模式。   

2 .数据筛选器的工作原理  

可以看出要实现开门,通过上面和读卡器的工作流程。需要经过以下几个步骤:   

获取感应卡内码;      

    1 感应读卡器读取感应卡信息。

    2 感应读卡器将感应卡信息传递到;  

    3 对读取的感应卡数据和系统内部存储信息进行比对;控制电路实现开门。       

    4 根据判断结果。

方法 3 4 中完成,其中方法 1 读卡器内部完成。已经固化到设备 当中,无法改变。而第 2 步是通过连接两个设备的 RS485 通讯线完成的这为我从根本上阻止 “ 后门卡 ” 发明了条件。

   该设备串行安装在数据通讯的通道上,设计一个称为数据筛选器的设备。对所有刷卡的内码先行经过该设备的比对,对认可的数据,将卡片内码数据发送到进行后续操作;对不被认可的数据,直接将数据丢弃;这就使得那些 “ 后门卡 ” 数据根本无法发送到,从而从根本上截断了后门卡 ” 信息的通路。以下就是数据筛选器的工作框图。  

数据筛选器的工作框图

一般工作在巡检模式下,数据筛选器如同一样。不时向感应读卡器发送巡检数据,并且等待获取感应卡内码数据。这个过程中,感应读卡器已经xx和分离,对它巡检命令xx由数据筛选器完成。只有当数据筛选器获取到卡信息并通过自身验证之后,才将数据送到。建立起感应读卡器和的联系。数据筛选器进行自身验证的数据源是经可靠途径获取的卡片内码数据。后门卡 ” 内码不可能被传递到数据筛选器中,从而阻止了后门卡 ” 攻击。

3 .数据筛选器的硬件实现   

可使用单片机实现硬件电路设计,根据以上思路。硬件框图如图 4 所示。单片机的个串口,同以及读卡器进行通讯,这个串口通过切换电路来保证在一个时间点上只能和两种设备之一进行通讯,所有传送到的命令全部是经过单片机程序确认的合法命令,这样就可实现数据的筛选和隔离。同时,单片机还要通过另一个串口,监听与控制计算机之间的通讯,通过解析通讯内容,来获取合法的感应卡内码数据,并将数据存储在一个大容量 E PROM 中,作为数据比对的依据。  

4 .数据筛选器软件流程   

数据筛选器通过串口,串口是联系和感应读卡器的通讯端口。巡检模式下。模拟。向感应读卡器发送查询命令;感应读卡器没有被刷卡,发送没有感应卡的回复命令;数据筛选器进行下一轮查询。   

卡片数据会传送到数据筛选器。数据筛选器进入到识别模式,当感应读卡器有刷卡后。将卡片数据与本地存储的规范数据进行比对,如果数据不存在则将数据丢弃,并回复感应读卡器数据已经接收。数据筛选器返回到巡检模式并开始下一轮查询。   

则应该将数据发送到。此时, 如果数据在存储器中被找到说明这张卡是一张合法卡。设备首先进行串口的切换,使单片机和进行通讯。将从感应读卡器接收的数据原样发送到。并等待接收的回复;收到回复后。再次将串口切换回同感应读卡器进行通讯,转发的回复命令;完成数据的传送之后,数据筛选器回到巡检状态,进行下一轮查询。

数据筛选器比对流程

从中获取合法的感应卡内码数据,数据筛选器通过实时监听与控制计算机之间的通讯。并存储在数据筛选器的 E PROM 中,作为将来进行数据比对的依据。其工作流程如下:数据筛选器监听计算机发送给的所有命令,通过解析,获取所有对卡片进行增、删、改的内部操作命令,根据命令,相应地将 E2pROM 中存储的感应卡内码数据进行增、删、改,保证数据筛选器内存储的数据与的合法数据坚持一致。具体操作流程如图 6 所示:  

数据筛选器工作流程  

由于、前端设备以及它之间的通讯协议均由同一生产厂商生产,现实中。因此可能存在后门卡 ” 平安隐患。对于特殊部门、要害部门来说,对安全有着特殊的要求,使用保护安全的同时,也关心设备自身的平安性、可靠性。笔者在文中提出的数据筛选器构想可以有效的防止 “ 后门卡 ” 对的攻击,保证自身的平安。

郑重声明:资讯 【关于门禁控制器安全漏洞的探讨- 捷利佳华- 捷利佳华- 和讯博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——