时间:2022-04-11 11:51:08
序论:写作是一种深度的自我表达。它要求我们深入探索自己的思想和情感,挖掘那些隐藏在内心深处的真相,好投稿为您带来了七篇通信软件论文范文,愿它们成为您写作过程中的灵感催化剂,助力您的创作。
论文关键词:单片机,工控机,网络,RS-485通信
在我厂煤气生产各环节中,特别是在变送机、冷鼓、压缩等工段,由于各种原因,煤气渗漏少 量泄漏时有发生,工房车间内渗漏的煤气集聚达一定浓度时会发生爆炸。而长期以来,工房车间内煤气浓度的监测工作仅依靠工人的经验进行判断,这不仅给生产带来了不安全因素,也对车间岗位工人的生命造成了一定的威胁,因此,有必要设计一种多点煤气浓度实时采集监控系统,这种系统能在工控机(IPC)上实时显示测量点的煤气浓度;在该测点浓度超过设定临界值时能自动接通轴流 风机进行排送、吹散并发出相应的报警,还可通过工控机绘制整个生产过程中同一测点的浓度变化曲线图。
该监测系统对煤气厂安全生产有着重要意义。
1、硬件设计
本文设计的煤气浓度采集系统结构框图如图1所示
本系统采用具有国家安全认证的EXDII型煤气浓度监测器作为传感器监测车间机房内的煤气浓度,系统设计包括8个浓度监测模块,1个RS-485 8口HUB,一台工控机(IPC)及信号电缆。浓度监测模块是由89S52为处理器,具有数据采集、数据传输、故障检测功能的控制电路构成。每个模块测量8点浓度工控机,系统共采集64点浓度数据,每个监测模块采用一个AD0832模数转换芯片,通过其八选一多路选通功能控制分时采样的8个监测器输入信号的输入。
每个模块采用1个支持RS-485半双工通信芯片SN75LBC184实现单片机到RS-485网络通信。8个模块通过1个RS-485光电隔离1拖8口的HUB实现与上位机的通信。该模块拥有RS-485到RS-232自动转换功能,可直接接工控机IPC的串行COM口,各监测模块采集的数据通过8口HUB传输到工控机,并在工控机进一步处理、显示。
1.1 煤气浓度监测模块设计
煤气浓度监测模块以单片机AT89S52为核心进行煤气浓度的采集、数据传输及故障检测,电路如图2所示小论文。
单片机P0.0-P0.2口通过锁存器74LS373 接AD0832的ADDA、ADDB、ADDC端,作为8路监测器输入信号的地址选通线分别对8路煤气浓度输入信号通道进行选通并对输入的模拟信号进行模数转换,在其中一路信号转换完成后,AD0832的EOC端向89S52发出中断请求, 单片机启动中断子程序,由P0口从AD0832的D0-D7脚读入并存储数据后,开始进行下一路数据的采集。
煤气浓度监测器选用国家认证EXDII型专用浓度监测器,采用DC24V电源,输出为1-5V信号(0V为故障信号输出),有两路继电器输出,可实现现场两级报警。
P2.0-P2.6、P1.3与一组8个MGA607光耦、驱动管和JZX-22F/4Z DC24V继电器一起构成控制模块,控制8台轴流风机的起停。
在被测点煤气集聚浓度达到安全浓度上限设定值时,P2.0-P2.6、P1.3相应的管脚输出高电平 ,驱动MGA607工作,从而使驱动管工作,使
得JZX-22F/4Z继电器线圈通电,继电器常开点闭合,接通交流接触器控制线圈回路,从而启动轴流风机对集聚在测点所在机房的煤气进行吹散;在被测点的煤气浓度小于安全上限值时,P2.0-P2.6、P1.3相应管脚输出低电平,使MGA607截止,从而使得驱动管截止,继电器控制线圈回路被切断,闭合的常开点断开,切断交流接触器的控制线圈回路,断开轴流风机电源工控机,轴流风机停止运行。
1.2 RS―485通信硬件设计
RS-485串行通信采用差分平衡的电气接口,利用平衡驱动,差分接收的方法,从根本上消除了信号地线,因此,RS-485可用于1200m的远距离,速度为1000kbps的高速通信;降低传输速度,传输距离可以更远;在一条总线上,允许同时存在32个接收器和32个发送器。
因煤气厂车间多为高跨度大面积,多层混凝土结构,其监控操作室到各生产关键部位的距离多在60米以上。为了提高生产的安全性,实时采集到各关键点的煤气浓度值,数据采集模块应尽量靠近测点位置,这就使该数据采集模块分布面积较大,与中央工控机距离较远。因此,本系统选用RS-485串行通信,其转换芯片用支持半双工通信芯片SN75LBC184。该芯片可以支持250kbps的速率,并具有瞬变高压抑制功能,能抗雷击、静电放电,避免因交流电故障引起的非正常高压脉冲冲击。芯片A、B引脚为RS-485总线接口分别与RS-485光隔1拖8口HUB的+AX,-BX(X=0~7)引脚相连接,D引脚是发送端,R
引脚为接收端,分别与单片机串行口的RXD、TXD连接,RE、DE为收发使能端,与单片机的P1.6口相连,作为收发控制(见图2)。
1.3 RS-485总线到工控机(IPC)信号转换
通用工控机上一般只有2个RS-232串行接口,即COM1口和COM2口,没有RS-485接口。在当前应用中,为了实现资源的有效利用,往往是一台工控机控制一个工业现场RS-485网络,这就意味着必然要实现在多个下位机与工控机之 间的通信,即必须进行电平转换与信号选通。
本系统选用现有的RS-485光隔1拖8口HUB(HUB8485G)。其有1个上位机RS-485/RS-232口和8个下位机RS-485口。其下位机侧可以分别接8个下位机的RS-485口。支持最高通信速率保证9600bps以上、实际可达38.4kbps,同时具有吸收浪涌电流的抗雷击保护功能。HUB8485G适合所有半双工通信软件。其上位机端可以直接将RS-485信号转换为RS-232信号工控机,与工控机的串行COM口连接。
2软件设计
软件设计主要包括:煤气浓度采集模块的浓度数据采集软件设计;数据采集模块与工控机通信部分的软件设计(包括串口初始化、波特率设置、通信协议、数据传输等);上位工控机温度数据管理监控软件设计。
2.1浓度数据采集软件模块设计
浓度数据采集软件模块流程图如图3所示。单片机采集的浓度数据及传感器状态数据贮在片内RAM中,随时准备供上层软件读取小论文。
2.2通信软件模块设计
各单片机采样模块的通信软件流程图如图4所示。通信软件设计采用从动式中断通信设计,预先设定好各模块的单片机地址。当单片机采样模块接收到上位工控机(IPC)的 “启动采样” 指令时,单片机采样模块开始对该模块的8个浓度监测回路进行采样,并检测其控制的传感器的故障状态。
当单片机采样模块从上位工控机接收到“本模块地址”时,启动该模块与上位机之间的数据通信,传输相应的浓度数据以及煤气浓度传感器的故障状态数据,而地址不符的单片机采样模块在此期间不与上位机进行通信。
2.3 PC端监控软件设计
PC端监控软件用VC6.0编写,主要完成煤气浓度数据管理、数据显示、相应点浓度曲线显示,数据打印以及浓度数据监控等。一旦发现在给定的时间段内,某采样点的数据连续超过临界值,则采用声光报警技术,提醒工作人员采取相应技术措施确保安全生产。
结束语:本系统模/数转化采用500K振荡频率,完成8路采样时间周期在1s以内。上位机通过与监控模块的通信可实现不间断的车间、机房内煤气浓度的实时测控。本系统不仅改变了过去车间机房煤气浓度依靠岗位工人经验判断的落后状况,实现了监测、控制的自动化,上位机还可以提供趋势图、历史数据等功能。对技术问题的分析提供了精确的数据支持。本系统在2005年投入试运行以来,由煤气浓度超标而引发的中毒安全事故为零。实践证明,该系统性能稳定、工作可靠,应用效果良好。
参考文献
[1]王福瑞.单片机微机测控系统设计大全(M).北京:北京航空航天大学出版社,1999.
[2]梁新荣.高精度多路温度检测系统的研制(J).仪表技术与传感器,2001,(6):16~17,27.
[3]樊俊峰,尹斌.简易RS-232RS-485智能转换器[J].微电子技术,2002,(8):38~41.
本科生不适宜将论文题目做得太大太空,而应结合现实与自身实际,或通过调查分析,从一个小问题入手,细致探讨。而想把选题做具体,最好联系实际。人民大学新闻系老师翁昌寿建议,考生做论文选题不妨与实际工作相结合,以便近距离发现问题。同时,因为在实际工作中积累了较为丰富的材料,可通过选定研究框架,尝试解决问题。在职考生秦风把工作与论文选题结合起来,在为自己所在的计算机公司开发一款企业即时通信软件时,把自己的工作项目作为论文选题,广泛搜集资料,就这一项目的开发背景、设计架构等问题进行讨论,完成毕业论文的同时,也对工作产生了不小的帮助。
而对于缺乏工作经验的考生,可在传统资料搜集之外,从时政新闻以及社会舆论的热点问题中寻找选题。考生孙立同说,自己毕业论文的选题就是从学者于丹的节目中得到启发。于丹对论语中某句话的“新解”一时引来社会上的热烈讨论,而自己则通过综合分析古人对这句话的注疏,罗列比较不同的断句方式,最后结合《论语》中有教无类以及礼乐教化思想,得出了不同见解。
此外,专业知识背景比较多元的考生,不妨采用跨学科式的研究方法,北京师范大学文学院老师李小龙介绍,自己指导过的一位学生曾学过行政管理方面的知识,而毕业论文虽然选择了一个前人研究成果已非常丰富的对象,但却把文本分析与行政管理学立论相联系,从而在选题上另辟蹊径。
关键词:GPS,AVR,双机通信
1 前言
近些年随着公交系统的发展,公交报站系统成为公交车辆不可或缺的组成部分,但是传统的手动公交报站系统却有着诸多的弊病,如:按键会加重驾驶员的负担,分散驾驶员的注意力,为安全行驶留下隐患;公交司机会存在误报、漏报甚至是不报的情况,给乘客,尤其是外地游客带来不便[1]。于是在很多城市,一种基于GPS的自动报站系统得到了应用。
基于GPS自动报站系统的应用在一定程度上,解决了传统的报站系统的弊端,但是在高楼林立的都市,也存在着很多GPS的盲区,在这些区域,自动报站系统会失灵,所以,设计一种可以进行自动、手动任意切换的公交报站系统成为研究的目的和重点。科技论文。
2 系统硬件结构
该系统将GPS模块获取的公交车经度和纬度,传给主机端的单片机,由其判断是否到达预置位置并控制液晶屏显示。到达预置位置后由主机通过TWI来控制从机,使从机在接到有效控制信号后,控制点阵模块和语言模块进行显示和报站,从而完整实现自动报站功能。自动报站与手动报站的切换则由从机中的按键进行选择。
图1 硬件系统结构框图
2.1主机及其外围系统设计
主机部分采用Mega16L单片机作为核心器件,接收GPS模块传送的经纬度数据,经过判断和处理,送交12864液晶模块显示时间、站名等信息,以便司机及时了解相关信息[2]。
GPS接收到有效信号后,传送给MAX232,该芯片将GPS使用的RS232电平和逻辑转换为单片机所使用的TTL电平和逻辑,并最终传给单片机。科技论文。本系统中使用Usart与GPS模块进行通信,通信协议采用NMEA0183协议。
液晶模块采用YM12864,该模块是128*64点阵型LCD,可以显示4行中英文,并自带显示字库。系统使用同步串行数据传送方式与单片进行通信。数据传送端SID和时钟信号端CLK分别与单片机的PD2、PD3相连。AVR单片机的PD3脚模拟出时钟信号来控制数据的发送。
主机的PB0口与从机的INT0相连,采用外部中断的方式,使从机在必要的时间段,开启TWI接收模式,接收主机传来的有效信号,从而判断是否到达预置位置。
2.2从机及其外围系统设计
从机主要与点阵模块,语音模块相连,通过TWI协议获得主机发送来的代码,根据代码调用相关位置的显示和语音信息,完成显示和语音报站功能。从机上设置了四个按键,分别为手动、自动切换,上行、下行选择,下一站报站,上一站报站。四个按键分别与INT1、PA1、PA2和PA3相连,通过按键改变相应的状态。
点阵模块设计为4个字,内部驱动电路由TB62726、74HC595构成。74HC595用来控制的是点阵模块的行扫描。科技论文。TB62726用来控制的是点阵模块的列扫描。74HC595的时钟信号端CLK和数据传送端SIN分别与单片机的PA4、PA5相连。TB62726的传送端SIN和时钟信号端CLK分别与单片机的PA6、PA7相连。
语音模块采用ISD4004语音芯片。ISD4004-16语音芯片工作电压是3V,单片录放时间16分钟,站名事先存储在ISD4004语音芯片中,采用分段管理的方式进行储存,当需要报站时只需要单片机发送播放指令并指定相应的存储地址就可以正确的读取站名。ISD4004 通过SPI 串行接口与单片机的从机相连。将AVR单片机的PB4、PB5、PB6、PB7分别与ISD4004语音模块的SS、MOSI、MISO和SCLK相连接,实现SPI通信。
3 系统的软件设计
3.1软件系结构
软件系统的核心是主机和从机对外围器件的控制,主从机通过TWI协议实现双机的通信,因此整个软件的设计就分为主机从机两部分。
主机初始化结束后,接收的GPS信号进行处理,并在LCD液晶上显示,再与事先存入的站点数据比较如果不是站点就继续接收GPS信号;如果是站点就向从机发送中断INT0信号让从机做好开启TWI的准备,发送完中断INT0信号后主机开启TWI发送站点数据,确认从机接收完毕后关闭TWI,继续接受GPS信号。
从机初始化结束后,显示广告并判断按键中断INT1,选择是自动报站还是手动报站,当按键中断INT1被奇数次按下时选择的是手动报站,当按键中断N1被偶数次按下时选择的是自动报站。如果选择的手动报站就开始扫描按键,通过不同的按键选定是上一个站点还是下一个站点,之后就在点阵上显示一次选定的站点名并用语音模块来报站名,最后继续扫描按键和显示广告。如果选择的是自动报站那么就在点阵上显示广告当从机接收到主机发送的中断TINT0后就开启TWI接收站点数据,接收完毕后关闭TWI,然后在点阵上显示一次站名并用语音模块报站,最后点阵继续显示广告。
图2 主机从机程序流程图
3.2GPS接收程序设计
系统中使用GPRMC信息,其格式说明如下:
$GPRMC,<l>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,*checksum<CR><LF>
<1>UTC时间:hhmmss.sss格式;
<2>定位状态:A=有效定位,V=无效定位;
<3>纬度ddmm.mmmm格式;
<4>纬度半球N(北半球)或S(南半球);
<5>经度dddmm.mmmm格式;
<6>经度半球E(东经)或W(西经);
<7>地面速率;
<8>地面航向;
<9>UTC日期,ddmmyy(日月年)格式;
<l0>磁偏角;
从GPS接收到的信息中,只需要提取出经度、纬度和UTC时间信息即可。在串口收到信息后,首先应该判断标识头$GPRMC,当判断出该标识头后,就可以按照RMC的数据格式进行接收信息。接收到后,提取出有用的信息即时间和经纬度信息,在处理北京时间时应在UTC时间上加上8小时才是准确的北京时间,在超出24小时时应作减24小时处理[3]。
3.3双机通信软件设计
TWI总线一种两线制串行扩展总线。将主从单片机的串行数据线SDA,串行时钟线SCL相连即可建立TWI通信。其中双机通信的时钟由主机提供,通过配置TWI的波特率寄存器TWBR和状态寄存器TWSR的预分频位TWPS1和TWPS0来设置波特率。波特率的计算公式为:Fscl=Fcuplock/(16+2(TWBR)*4TWPS),其中Fcuplock 是CPU的时钟频率,TWBR为TWI波特率寄存器的值;TWPS为TWI状态寄存器预分频位的值。本系统使用的波特率为波特率为:7372800 / (16 + 2*73*4) = 12.288K。TWDR是TWI的数据寄存器,在发送模式下,TWDR寄存器的内容为下一个要传送的字节;在接收模式下,TWDR寄存器中的内容为最后接收的字节。
// 主机上总线停止程序
void twi_stop(void)
{
TWCR= _BV(TWINT) | _BV(TWSTO) | _BV(TWEN);
}
//主机总线启动开始程序
uint8_ttwi_start(void)
{
TWCR= _BV(TWINT) | _BV(TWSTA) | _BV(TWEN);
while((TWCR& _BV(TWINT)) == 0);
return TW_STATUS;
}
// TWI主机写1字节
uint8_ttwi_writebyte(uint8_t c)
{
TWDR= c;
TWCR= _BV(TWINT) | _BV(TWEN);
while((TWCR& _BV(TWINT)) == 0);
return TW_START;
}
// TWI从机初始化函数
void TWI_Init(void)
{
// 使能SCL、SDA引脚内部上拉电阻
DDRC &= ~(_BV(PC0) |_BV(PC1));
PORTC |= _BV(PC0) |_BV(PC1);
// TWI接口初始化,从器件模式
TWAR = TWI_ADDRESS |_BV(TWGCE);
TWCR = _BV(TWEA) |_BV(TWEN);
图3 系统实物图片
4 结束语
基于GPS的公交自动报站系统实现了公交司机的无干预报站,使乘客能够更加准确的了解车辆的到站情况[4],双机通信,手动自动报站切换的设计理念,大大提高了该系统的可靠性,该系统将会大大降低司乘人员的劳动强度,更好的提高公交服务质量,同时也将为公交公司和社会带来较大的经济和社会效益[5]。
参考文献:
[1]肖煜,叶邦彦.基于GPS的公交智能报站系统设计.[J].机电工程技术. 2009年,1期,38卷:98-100.
[2]陈勇兵,王爱华,何小卫. GPRS/GPS车载网络终端硬件与驱动程序设计.[J]. 浙江师范大学学报,2009年,1期,32卷:87-90.
[3]张兰云,张高伟.基于ARM9和LINUX的GPS定位数据的采集与处理. [J].自动化仪表,2008年,29卷:14-17.
[4]龙安国.基于GPS/GPRS的智能公交系统的设计与实现. [J].通信技术,2009年,1期,42卷:326-327.
[5]黄艳国,许伦辉,睦相林. 基于GPS公交车自动报站系统的设计.[J].交通信息与安全,2009年,1期,27卷:141-144.
【关键词】无线通信;技术;测绘工程;应用
1前言
计算机技术的广泛应用和信息数字化的高新技术的不断进步,促进了当代测绘工程的迅猛发展,同时带来了巨大且富有现实意义的发展前景和发展空间,测绘工程在理论方面或者是在实际操作上发生了翻天覆地的改变,由图纸化的传统测量技术向电子化的现代测量技术迈进,这将对采样收集空间数据方面有着非常重要的积极影响,这不仅是时代潮流变化的发展要求,也是创建科技中国的首要任务。当然,关于常规化的通信技术运用在测绘工程上是无法满足测绘工程发展的时代要求,所以我们要探究更为完美的无线通信技术,无线通信技术不仅能提高测绘工程的工作效率,使得在室外也能进行通讯并完成作业,解决了传统上图纸化作业的难题,降低了测绘人员的工作难度,减少了人力资源和时间的浪费,增强了测绘工程的准确度,这对测绘工程的改革与发展有着重要的积极作用。
2无线通信技术的概述
无线通信(Wirelesscommunication)是一种通过电磁波等信号媒介进行信息交换的通信方式。无线通信系统由多个移动站与一个基准站组成。移动站主要包括了电源、主机、GPRS等,另外基准站则包括GPS天线、电源、网管服务器等。
3无线通信系统两大模块的特点及表现
3.1无线通信系统中的硬件部分
硬件在选择设备方面最重要还是单片机的选择。单片机作为硬件部分的轴心,选择符合要求的单片机对准确传送原始数据和整个无线通信系统的正常工作有着极其重要的影响。单片机应该要符合数据传送速度快、精确率高、稳定性能好、传送长度长且具有语音传送功能和能够缩短数据处理时间的透明传送功能等要求。同时也要考虑单片机的便携性、占据空间的大小和损耗能量的多少。处于无线通信系统硬件部分的重要位置的部件———天线,能在辐射无线信号和接受无线信号的过程中正常安全在电磁波与高频率电信号之间实施相互转换反应。在选择天线时,天线的指向图要符合无线通信系统的电磁波覆盖的标准,天线自身的功能特点要满足无线通信系统的设计需求。例如,天线的长度大小要根据实际操作情况来选择适合的天线,为了提高便携性,天线接受信号的一端应选择螺旋式;为了便于工作人员的安装,天线辐射无线信号的一端应选择较短的天线。移动站与副站应该选择定向天线辐射集中程度的参数小的天线,相反,基准站与主站则选择定向天线辐射集中程度的参数大的天线。由于信号在传输介质中传播时,将会有一部分能量转化成热能或者被传输介质吸收,从而造成信号强度不断减弱,因此在馈线的选择上要选择大直径的馈线,避免信号强度的发生过度耗损。因为馈线越长,其自身损耗的能量也越大,因此,在安装过程中要尽可能地缩减馈线的长度,保证通信的正常运行。作为硬件部分中不可或缺的部件———电源,它的作用是不可忽视的,在选择电源的时候,要在确保无线通信系统能够正常运行的基础上尽可能选择电波较小的,这样才能防止干扰电台接收的现象发生。无须手持挂在肩上即可对讲的对讲机———肩咪,是由扬声器和话筒构成的,是无线通信系统硬件部分的构成部件。不同信号台之间的沟通交流可以通过肩咪来实现,在测绘工程的实际操作现场中,现场观测人员在测绘中或者进行检查工作时发现问题可以及时利用肩咪与设计绘图员进行沟通,克服困难,解决问题,从而保证测绘工程顺利进行。
3.2无线通信系统的软件部分
当无线通信系统的硬件部分完成将获得的原始数据传送到终端,系统的软件部分就开始发挥其自身作用,处理原始数据,给工作人员在测绘过程中带来了方便。在当前有关测绘的通信软件中,GIS处于极其重要的地位。数据通信是将通信技术与计算机技术结合起来从而产生新的通信方式。要在不同地区之前实现传输信息的目的就一定要有传输信道,按照不同的传送媒介,分为无线数据通信和有线数据通信。它们都是利用传输信道使得数据终端和计算机相联结,从而实现数据终端各种资源共享。在软件部分的设计编写方面,要创建一个普遍适用各个客户终端的挂载办法是首要任务。来自微软公司设计开发的ActiveX模式,有着能够摆脱详尽的编程语言,并能很好的使用到大部分的软件开发环境中,而且可以对原来存在的软件进行直接升级。在这种模式下开发运行,使得无线通信系统中的软件部分在连接网络的条件下实现交互的目的。软件部分的设计开发一旦设计了符合标准要求的框架,增强软件自身的通用性、可嵌入性、可植入性,就能保证无线通信系统在测绘工程中的合理运行和使用。
4无线通信技术在测绘工程中的应用分析
论文主要分析了GPRS无线通信技术在测绘工程中的应用情况,与传统的测绘方式相比较,GPRS无线通信技术应用十分广泛,具有实时性和准确性。利用网络使得移动站中的GPRS无线数据终端与基准站的网管服务器连接起来,同时保证网管服务器的连接口与主机保持连接状态,与此同时,在基准站的作用下数据会不断进行修正,利用网络连接使得GPRS无线数据终端能接收到数据,从而传送到移动站,并通过主机精确计算出所在的位置,测绘工作人员才能知道具体的基准站位置。在无线通信技术的实际操作与应用中,要创建标准的测绘工程管理体系,才能保证数据传送的稳定性与准确性,才能保证测绘工程作业的有效顺利进行。在传统的测绘工程中,工作区的建立都伴随这临时基准站,其工效和信息传输接收效率都非常低,随着经济建设的迅猛发展,城市化也逐渐发展成型,测绘工程量也越来越大,内容也越来越繁杂,传统的测绘方式已经不再满足时代潮流发展的需求,使用新兴的无线GPRS无线通信技术,不仅能够提高测绘工程的工作效率和信号发射接收效率,增强数据传输的稳定性、可靠性、安全性,确保测绘工程的顺利进行。
5结语
总的来说,新型无线通信技术在测绘工程中的应用,不仅能够打破传统的空间测绘模式,达成室外随时随地通讯的目的,还能推动无纸化测绘方式的发展,提高测绘作业的工作效率,降低测绘人员的工作压力,减少在时间和人力资源上不必要的浪费。无线通信技术在测绘工程的发展应用,给测绘产业带来了不可估量的发展前景和发展空间,推动了测绘行业的迅猛发展。
参考文献
[1]陈刚,羌铃铃.如何实现智能网双平面容灾[J].通信技术,2011,44(03):103~105.
[2]何寿福.无线通信技术在测绘工程中的应用研究[J].通信技术,2012(7)
早在美国留学时,丁健就觉得,Internet这个新鲜的好东西对中国的发展和进步无疑极有用处,自己可以通过创办和运营一个公司来推动它的实现。
1993年,在捷克举行的“国际Internet第二届年会”上,丁健曾与斯坦福大学的教授联合发表了题为《中国Internet学术网络研究》的论文,引起广泛关注。之后,应世界银行和中国科学院网络中心之邀,他以技术顾问的身份回国指导中科院网络中心的建设。这年冬天,亚信在美国德州达拉斯市一条名叫“明天”的大街旁创立,它是德州的第一家Internet公司――然而,亚信的投资人和创建者都很清楚,成立这个公司是为实现自己的一个”中国梦”。那时,和很多在美留学的中国人一样,丁健确信,自己的明天不在达拉斯这条”明天”大道上,甚至不在美国。这些年来,他一直在通过各种途径了解祖国的科技进步和经济发展。他探索“中国梦”的旅程,就是为了将学到的知识和技能带回祖国。他认为,毕竟腾飞中的祖国要比业已高度发达的美国更需要自己,也更适合自己。
应该说,丁健很聿运。在他一分钱都没有的时候,遇到了热心为中美经贸往来牵线搭桥的刘耀伦先生,这位被誉为“民间外交家”的长者给了他最重要的支持――亚信是刘耀伦个人投资生涯中惟一一次非房地产项目投资。另外,在亚信成立前后,丁健还得到了当时的中国驻美大使李道豫和时任中国国家科委信息司司长刘昭东的指点,他们明确指出了中国未来科技发展有可能给丁健这一代人带来“重大机会”,他们让海外学子看到了互联网有可能对中国经济发展和中国参与国际竞争发挥出巨大作用。
德州的“州花”是矢车菊。每年春天,这种蓝色的花都会一大片一大片地绽放于高速公路的两旁,看上去很美丽。有时候丁健想,如果有一天自己能够参与修筑中国的信息高速公路,亚信的事业会不会也像眼前的矢车菊这样“盛开”呢?
1995年初,丁健等亚信的三位主创人员回国,成立了亚信科技(中国)有限公司,成为中关村早期创立的留学人员企业,并第一次把Internet带回中国,当时,丁健坚信自己必定会实现“中国梦”,在中国的信息化建设进程中发挥出自己的作用。回国之后,他和田溯宁等仅用三年时间就建设完成了国内骨干网的所有节点,用双手搭建了中国的信息高速公路。
亚信获得第一个国家项目建立ChinaNet骨干网,是丁健至今最难忘的经历。ChinaNet骨干网项目的签定开始成就了丁健和亚信的梦想。如今回想,丁健觉得之所以能够取得原中国电信客户的信任,很重要的因素在于客户感觉到了亚信人的“中国心”。亚信当时的竞争对手是一家跨国企业,对方很自豪地表示,他们在中国销售的产品比整个欧洲还多。但客户最终选择了亚信,因为他们相信亚信是不同的――亚信的目标是要把中国的高科技产业真正发展起来。从一开始,亚信就是以中国现代化之梦在当代的一个自觉承载者的身份和形象出现的。有人说,亚信人的身上总是体现着一种燃烧的激情、一个远大的理想和一颗独特的灵魂,也正是这种激情、理想和灵魂支撑着亚信的事业,推动着亚信的发展,在丁健看来,亚信人的这种“特质”以及由此生发的潜力恰恰源于自己和伙伴们的“报国基因”,源于那种既朴素又强烈,同时富于理性和建设性的爱国主义精神。
事实证明,原中国电信在上个世纪末的所有数据建设,亚信承建的ChinaNet是投资最少、效益最高的一个网络:至今丁健和伙伴们仍对此感到骄傲,这说明亚信完全有能力用中国人自己的智慧来为中国高科技的发展奠定基础。
根植中国打造世界级企业
亚信是最早投身到中国互联网基础设施建设的公司,之后亚信从人们所称的”中国互联网的建筑师“扩展到电信运营和管理核心软件产品的提供商,扩展到全电信网络规划、建设和运营管理专业咨询服务的提供商。能够从工程一直延伸到软件和咨询,这在全世界也是不多见的。亚信现在已经名副其实,成为中国新一代电信的推动者,中国最大的通信软件提供商。亚信所从事的领域已经成为中国电信产业价值链的重要组成部分,亚信也通过自己前瞻性的技术理念和服务理念不断推动中国电信产业价值链的整体提升和优化发展。
“做世界级企业是我们的目标。”丁健点出了亚信未来的着眼点。
对于世界级企业的定义,亚信与众不同。丁健认为,世界级的公司必须有世界级的客户,如果一个公司能够提供世界级的产品和服务,在市场就会表现出吸引世界级客户的能力。客户群决定了它的地位。同时,一个世界级公司的标准还体现在世界级的管理水准和效率。它不以销售额和规模为核心,因此亚信不会强调收入,而更强调效率。同时,把中国优秀人才带到国际发展平台上也是世界级企业的一个标准。
丁健认为走向一个国际化的大企业需要在公司战略.运营管理、客户市场和产品技术等方面有一个非常大的转变、扩展和提升。根据电信运营商的业务需求和未来发展,亚信开发出综合业务管理、信息平台、网络管理、网络安全、经营分析等一系列大容量电信级网络核心软件产品及应用软件产品,填补了国内在大型、电信级软件开发方面的空白。强大的产品研发能力和强劲的软件收入亦表明,亚信已成为一家世界级软件企业。
应该说,经过这些年的努力,亚信已经成为一个能够按国际规范管理运作、具有良好的国际视野和初步的国际市场能力、并在一些产品技术领域达到世界水平的高科技企业。在这个意义上说,亚信已经是一个相当国际化的公司。但是离真正的国际化大企业这个目标,亚信还有相当的差距。标志和决定这个差距的,有产品,技术、人才、管理、资金、战略等企业内部要素,也有企业发展综合环境、国内市场成熟度和市场容量等外部因素。
丁健相信,随着中国经济的快速发展和市场规模的不断扩大,中国一定会出现像索尼或微软这样真正意义的世界级企业。虽然不敢说它一定就是亚信,但丁健和亚信人一直在为此努力。丁健认为,打造一个根植于中国的世界级大企业是自己这一代年轻企业家的长期使命。
率先登陆纳斯达克
丁健最喜欢对员工说:“我们惟一要做的事情就是把业务做好,做扎实,真正做出你的业绩来。做好你能做的,不要去考虑你控制不了的事情。”
2000年3月2日,丁健率领亚信成功着陆纳斯达克,以每股24美元的价格发行了 500万股,当日股价以99.56美元收盘,涨幅高达314%,创下亚洲股票当日涨幅的最高纪录,并在当年被《财富》评为欧洲和亚洲最有潜力的十只热门股票之一。亚信上市后,共筹资1.5亿美元,引起了业界内外极大的震动。直到今天,亚信股依然是纳斯达克交投最活跃的中国股。
上市后,亚信经历了纳市从极盛走向谷底的整个过程,股价亦随纳市的大幅调整跌破发行价低至7美元。在这种极其不利的情况下,丁健沉稳务实,带领公司管理层,顶住来自投资人。市场以及公司内外部的压力,冷静面对,沉着应变,积极调整业务策略和结构,同时把更多的精力和资金投入到市场开拓、服务客户和产品研发上,终于高质量地超额完成 2000年度的预计目标,重新赢得了投资人的信心,使亚信成为2000年市场持续低迷中的一个亮点。
2002年1月,当通信市场呈现低迷之态时,亚信却以4730万美元的资金收购了广州邦讯科技信息有限公司,成就了业内最大的一例并购案,同时亚信针对电信市场的变化完成了公司的战略调整。2002年,亚信以“强强联合”之势,拿下了9省移动BOSS项目,不仅使亚信成功进入移动领域,更一举成为这一市场的领先者,将市场诸侯割据的混乱局面纳入了良性的发展轨道,受到客户的欢迎。同年,在通信市场投资明显放缓,众多通信设备提供商接连亏损,服务提供商纷纷转行之际,亚信以稳健的业绩兑现了亚信对投资人的承诺,再次受到投资人的肯定与青睐。
在丁健的带领下,亚信全年净收入达到6470万美元,其中软件方面的销售额为3170万美元,占公司净收入的49%。这样一个几乎等于50%的数字,完全可以标志着亚信向”全电信软件领域”成功的战略转型。
互联网产业呼唤整合
丁健曾被业内人士称作“国内最早传播互联网概念。介绍互联网技术并提出互联网商业化的先驱之一”。他长期以来一直是亚信的首席设计师,从容不迫地指点着公司的发展方向。1999年,他决定大力投入软件开发和进行公司结构重组,使之形成两大系统集成和软件两个事业部齐头并进的业务模式,使公司的业务模式更趋成熟,收入结构更趋合理。
丁健清楚,网络融合仅仅是一个开始,互联网平台真正的融合在于应用,在于内容,在于所有的应用和内容在不同的平台上进行融合互动。其中,宽带互动将会是更大威力的融合,它超越了简简单单的数字通信的概念,超越了简简单单的电脑和电话的结合,而是几大产业进行大融合,这些产业包括通信业.影视业,IT业、娱乐业、媒体业等。
丁健相信,经过10年对互联网发展的初步探索,完全能够使互联网向着更成熟、更强大的方向发展,全面释放互联网的巨大能量。事实证明,丁健在1999年到2003年期间,基本完成了亚信从IP及Internet业务向全电信业务的转型,完成了公司从“系统集成商”到“以方案为核心的”“电信软件开发商和解决方案供应商”的品牌演进,全新的T型业务架构已经形成。
2003年4月1日,丁健改任公司董事长,作为亚信公司创始人之一,他一直工作在亚信公司成长的最前线,这次改任董事长一职使丁健有机会换一个角度审视亚信的发展道路。他认为这将使亚信的管理团队更加职业化和专业化,切合亚信目前和未来发展阶段的需要,而他本人将更多地关注亚信的战略规划,这也正是他的兴趣和优势所在。
归国创业10年,丁健的第一个感想是,假如创业者仅仅把祖国当成一个空前巨大的市场,抱以某种投机盈利的心态,而没有一颗报效国家的赤子之心,这样的“创业者”旨定很难获得真正的成功。当然,任何一个公司想只依靠“赤子之心“来生存和发展,那也是不可想像的――合理务实的业务模式。精诚协作的管理团队同样至关重要。短短10年里,亚信经历了多次业务变革,如果没有一支坚强有力、配合无间的管理团队,想要完成这样的“”,恐怕是极其困难的。
关键词:实践教学体系;应用能力;软件开发;实验平台;实验教师队伍
实验教学是理论到实践的知行统一的过程。在大力提倡实践教育和创新教育的今天,实践教学环节的改革迫在眉睫[1-2]。我院在教育部“计算机科学与技术”特色专业建设过程中,围绕特色专业人才培养目标,从强化实践教学入手,建设了与课程群特别是核心课程对应的实验体系,通过省部共建、校企合作等形式不断拓展校内外实践实习基地,合理配备专兼职实验教师队伍,为强化计算机专业学生的应用型开发能力提供了较完整的实验体系、实践环境和师资队伍保证。
1以能力培养为中心,加强实践环节建设
我校特色专业建设中明确把掌握软件为主的应用技术作为人才培养的目标,强调培养的学生能够掌握软件分析、设计、开发的基本理论与方法,能综合运用所学知识与技能去分析和解决实际问题,为IT行业和企业输送从事软件开发、设计和维护等方面的专门人才。为此,我们以人才培养目标为导向,构建了基于课内实验、课程设计、综合设计(校内外)、毕业设计的实践教学环节,并辅以课外科技小组、专业竞赛小组等多种形式,形成了强化应用能力培养的实践体系。具体措施如下。
1.1实施实验教学改革,培养软件开发能力
1.1.1改革程序设计课程实验
计算机专业开设的程序设计类课程包括一年级的程序设计基础和专业选修课Java程序设计。作为软件设计基础课程,程序设计类课程的教学目标是培养学生从高级语言程序设计入手,在编程思路、编程技巧、算法理解等多方面打下良好的基础。我们按照1∶1的学时比例全面修订了程序设计类课程的理论教学与实验教学大纲,采取以问题驱动的形式进行课堂教学的同时,通过课内实验和课外实验相结合的形式,设计不同阶段的实验内容。从程序设计基础课程实验开始,我们要求学生以3人为一组,最后用两周的时间完成一个小规模的程序设计项目。教师课上给出多个程序设计题目供学生选择,同时鼓励学生自定小组设计题目。在教师的指导下,学生通过上机实践理解并掌握如何将现实生活中的各类问题转化成面向对象空间的解,如何对解空间进行编程等技能;通过强化第一门程序设计类课程的上机实验过程,为后续软件课程的学习及其实践能力打下坚实的基础。
1.1.2整合核心课程实验
在专业核心课程建设中,我们将数字逻辑、微机
作者简介:温显斌(1967-),男,博士,教授,天津理工大学计算机与通信工程学院副院长,研究方向为图像处理、理解和解释,模式识别与机器学习。
原理、汇编语言、操作系统、嵌入式系统以及数据库技术、网络技术、编译原理、软件工程等实践性要求高的课程,从课程内容到实验题目重新进行了梳理与整合,在每一门课程的实验大纲中至少增加了一个设计类实验题目,如,在系统学习数字逻辑课程中,为了培养学生综合运用数字电路课程的理论知识和实验系统,进行实际数字系统设计的能力,实验大纲要求学生综合运用芯片、仿真软件及相关设备,独立分析、设计一个小型数字系统; 又如,网络技术作为信息时代的基础设施和信息处理平台,是本专业学生必须掌握的核心技术,为此采取单独设置32学时实验课程的方式,要求学生完成从网络连接、设计、维护、管理到简单网络通信软件的开发等全部实验内容。
1.1.3加强课程设计实践
课程设计是三年级本科生的限选实践环节,我们把以数据库技术为核心的信息系统设计,以嵌入式系统为平台的嵌入式软件设计作为两大综合课程设计,供学生选修。从培养项目开发能力出发,训练学生在系统可行性论证、需求分析、计划制订、系统设计、系统实现以及问题陈述、交流和沟通等多方面的素质。课程设计一般要求3~5名学生组织一个团队,从选题竞争和需求分析开始,完成一个中等规模开发项目。项目开发分为4个阶段:(1)需求调查与分析建模;(2)系统设计与项目计划;(3)项目实施;(4)运行测试。课程采用团队评分制,按照项目进展阶段进行分段评分,考核成绩以团队为整体,采用“答辩(40%)+设计报告(40%)+课程设计的表现(20%)”的方式进行。
1.2建立实习实训环节,强化工程设计能力
实践体系建设的重要任务之一就是要通过提供有效的实习、实践途径,使学生能够及时了解、掌握市场主流技术,提升自己的应用能力和就业竞争力。为此,我们在实践体系建设中把专业综合设计、毕业设计与企业专业实习紧密结合,通过与国家级软件出口基地、天津软件园共建大学软件实习基地,建立起长期、稳定的校企合作关系。共同组建的校企联合教学指导委员会根据计算机专业培养方案,设置了短期(3―4周)、中期(一学期)实习实训计划,围绕嵌入式软件开发、数字媒体与动漫设计、Web设计等模块开展专业综合设计实习,由企业一线工程师与专业教师
一道按照专业综合设计大纲的要求,建立4人开发小组,完成指定的项目。项目开发分为4个阶段:(1)需求分析和设计阶段:编写相关文档,进行公开答辩。(2)实现阶段:编写代码,进行单元测试。(3)交换阶段:各组选择其他组的阶段成果作为下阶段编码的基础,以模拟实际项目中的代码评审和新成员加入时面临的情况;鼓励各组宣传自己的项目,培养竞争意识和表达能力。(4)再实现及测试阶段:教师给出下一步项目需求,学生增加新功能,模拟真实项目中的需求变更。考核方式采取团队评分制,文档评审占30%;程序评审占30%;答辩占40%。专业综合设计培养了学生的团队合作精神及工程项目研发能力,让学生在团队环境下使用最新的软件开发工具获得较真实的软件开发经验,提高了学生在项目规划、队伍组织、工作分配、成员交流等多方面的能力。
1.3加强毕业设计管理,提升综合运用能力
毕业设计(论文)作为实现人才培养目标的关键环节,是对学生专业知识、专业素质综合运用能力的检验,也是提升学生实践创新能力的最后训练环节。我们从管理规范入手,对答辩过程严格把关,加强了毕业设计实践环节的改革并取得成效。
首先学院在学校管理条例的基础上制定了毕业设计实施细则,确保毕业设计(论文)各个环节规范且便于质量监控;利用我们自行研发的网络教学管理平台,对毕业设计(论文)选题采用教师网上报题,教研室、系、学院分三个环节进行审题,以此把好选题关;学生网上选题,并通过教师、学生双向选择的方式,调动了学生完成毕业设计的积极性。要求毕业设计题目大多选自教师的科研项目、企业实习题目。在支持学生进入企业进行毕业设计的同时,实施校、企双导师制和中期检查制,避免了毕业设计出现失控现象。毕业设计答辩环节是我们落实规范管理的重点。在答辩形式上,要求学生以介绍所设计的应用(软件)系统为主,即时回答设计环节中的任何提问,以此给出答辩成绩。在答辩组织上,采取指导教师与学生分离答辩、二次评优即合格答辩方式,以追求对师生双方指导水平与完成质量的公正评判。这些措施的实施促进毕业设计质量的提高,每届毕业生中有5%的设计或论文被评为校级优秀论文,或被发表在学术核心期刊上。
1.4组织课外科技实践,培养创新意识和精神
优秀的人才需要培养、发现,学生的潜能需要引导、挖掘。利用专业实验室和省部级重点实验室的资源,面向不同年级学有余力的学生开展形式灵活多样的、连续的科研训练和创新实践活动,培养学生的创新精神。通过每年都开展学生创新成果展示、学生课外科研实践组、组织参加天津市高校专业计算机竞赛等活动,推行优秀人才选拔机制去充分挖掘学生的潜能,通过制度化的创新实践活动去激发学生的创新意识,学生获得的科技成果或竞赛成绩可以进行学分认定,激励学生逐渐从参与创新到勇于创新,诱导学生的创新萌动、欲望,吸引更多的学生主动加入应用能力和创新精神培养的人才培养体系中来。2008年度共获得6项教育部大学生创新性实验计划项目 ;在天津市历届大学生计算机专业竞赛中名列前茅,在华苑杯、挑战杯等科技创新活动中取得优异成绩。
2发挥学科建设引领作用,构筑先进实验平台
近几年我们在大力加强学科建设之时,注重把建设科研平台建设带动本科实验室建设作为学科建设机制之一,充分利用“十一五”“计算机软件与理论”省部级重点学科综合投资、中央财政部与地方共建实验室等有利条件,围绕科研发展方向和研究优势,积极构建集科学研究和本科实验教学一体的本、硕实验一体化实验平台。通过与曙光、华为、IBM、软通动力等一流企业在实验设备购置、软件平台建设、实验课程大纲制定,以及企业工程师直接参与实习实践过程等方面进行深度合作,建设了功能齐备的软件技术实验室、网络与安全技术实验室(图2)、嵌入式系统实验室(图1),成立了天津理工大学与IBM-易泰达软件实习基地,软通动力与计算机学院校内培训基地,
图1微软嵌入式系统实验室
图2网络与安全技术实验室
五年以来,计算机软件技术实验室作为天津市教委唯一指定的天津市高校大学生计算机应用能力竞赛决赛点;计算机科学与技术实验中心被评为天津市高校优秀教学实验室。学科建设成效极大提升了本科实验教学平台的水平。
3专兼职相结合,加强实验教师队伍
高水平教师队伍是人才培养质量的根本保证。建设一支理论扎实、工程实践能力强的实验教师队伍是我们推进实践教学体系建设的重要环节。我们按照专职实验室教师与兼职专业教师1∶2的比例,组建实验室建设与实验教学指导队伍。首先建立了学科负责人、学术带头人分别承担各个专业实验室建设的岗位责任制,并纳入年度考核指标;同时与按照网络与安全技术、嵌入式系统等各个专业实验室的功能,选配了一批年富力强的专业指导教师分别作为实践教学指导负责人,与实验室教师一道进行实验平台建设和实验教学内容的改革。同时与合作企业共同建立工程师聘用制度,保证将最新的技术、最好的工程培训教师和最有效的实践指导方式提供给学生,以此加强学生应用能力的培养。
4结语
加强实践教育作为特色专业建设的有效途径,是一项系统工程,需要围绕人才培养目标,从人才培养理念,对实践教学设置、实验室建设、实习基地建设、师资队伍建设等各个环节进行不懈的探索与实践。计算机科学与技术专业作为信息时代的核心专业之一,承担着为国家、地方培养急需的高级专门人才的重任,强化应用能力,培养勤于实践、勇于创新的各类人才,既是信息产业发展的需要,也是提高高等学校竞争力的重要任务。
参考文献:
[1] 秦志光. 加强实践教学改革,培养计算机创新人才[J]. 计算机教育,2008(19):3-6.
[2] 刘莉平,陈志刚. 加强开放实验室建设,培养创新人才[J]. 计算机教育,2009(2):3-4.
Constructing Practical Teaching System, Strengthening the Training of Application Ability
WEN Xian-bin, WANG Fa-yu
(School of Computer and Communication Engineering, Tianjin University of Technology, Tianjin 300191, China)
关键词:计算机软件;安全漏洞;防范方法
中图分类号:F123.1 文献标识码:A
软件安全弱点就是可能会带来安全问题的计算机软件中的代码。软件安全弱点和软件安全漏洞不同,只有被证实可以引起攻击的弱点才是漏洞。弱点不一定都是漏洞,但漏洞一定是弱点。软件安全弱点信息披露的三个比较著名的地方是: Bugtraq、CERT与RISKS Digest。
每个计算机系统中都存在着安全脆弱点,而且现在软件安全性问题比过去更大,更加严重。其中的原因有三:第一个原因就是计算机网络的无所不在,这给攻击者寻求弱点提供了途径和方便性;第二个原因是现代信息系统及其相应程序的庞大和复杂,而且广泛使用的低级语言更加剧了弱点的存在;第三个原因就是软件的可扩展性。软件安全弱点随着上述因素的存在而在日益增加,这使得软件安全性问题比以往任何时候都更紧迫。了解软件中存在哪些可能的漏洞就显得很重要了。
一,软件安全漏洞分类
软件安全漏洞可以从不同的角度和层次进行分类,分类的目的是有助于更好的把握漏洞的共性,使漏洞的检测效率更高、针对性更强。
操作系统和绝大多数的协议通信软件都是使用C或C++开发的,该语言拥有简洁、使用方便、灵活、运算能力好、硬件访问能力强、可移植性好和程序执行效率高等诸多的优点,所以使用也是最为广泛的。本论文对漏洞的分类也主要从C或C++语台一的特点出发。软件安全漏洞从语言的角度说就是那些已经成功通过了编译器的编译,但编译器发现不了的,潜藏在程序源代码中的能引起安全故障的编程错误或遗漏。这些软件安全漏洞主要分为如下的几类:
(一)缓冲区溢出
引起缓冲区溢出漏洞的原因也很简单。从大的方面说就是使用了不安全的编程语言,比如C语言或C+十语言等,再加上程序员拙劣的编程技巧。从小的方面说就是语言自身没有边界检查,使得数组或指针的访问常常越界。
溢出漏洞导致的程序行为有:目标程序的执行很古怪;目标程序的执行完全崩溃;目标程序可以继续,而且没有任何明显的不同。其中第三种情况是最棘手的,也是最坏的情况,它掩盖了可能发生的攻击,使得软件的测试人员也不能发现问题。
(二)竞争条件
竞争条件,是一种常见的软件BUG。特别是在多进程多任务的现在操作系统面前情况更是严重。这个问题比起缓冲区溢出漏洞来说更难解决,一个程序可能几年来都一直运行正常,但是突然间就因为竞争条件BUG而出现异常,而这种异常表现又是不能确定的。即使发现了竞争条件问题的存在,想修正它也是十分困难,因为它们极少出现。
随着并行计算和分布式系统的开发和扩展,竞争条件问题近年来愈演愈烈。其中基于文件的竞争条件问题在安全方面一直是最臭名昭著的。大多数基于文件的竞争条件问题都有一个共同的规律:在使用文件之前都会对文件的属性进行检查。但是这个检查存在缺陷。这个缺陷在安全界被称为检查时刻使用时刻,缩写就是TOCTOU。当然了,涉及安全性的竞争条件TOCTOU问题不仅仅在访问文件的时候发生,在其他的各式各样的复杂系统中也常常出现。比如电子商务中的多数据库同步就是一个典型的竞争条件问题。
(三)格式化字符串
格式化字符串,漏洞是另一类微妙的程序代码缺陷。这个漏洞在几年前就已经被了,但是现在的很多软件产品仍然含有这个漏洞。格式化字符串是程序函数殊的一类字符串参数。除了可以利用格式化字符串漏洞显示重要信息外,最危险的就是它可以向内存中写入指定的数据。格式化字符串漏洞只要存在,就可以被用来在进程的内存空间中任意读写,其危害还是非常大的。所以这类漏洞是软件安全漏洞检测的一个重要方面。
(四)随机数
从事过安全研究的人都知道随机数在安全性应用中是很重要的。随机数可以用来生成序列号,甚至可以生成密钥。随机数被用在安全应用中就是一个安全弱点。所以在软件安全弱点中要把它也作为重要组成部分。
二、软件安全漏洞防范方法
(一)防止缓冲区溢出漏洞
防止缓冲区溢出的最好办法就是对程序中的危险函数进行详细检查。使用安全的版本来替换不安全的版本,例如使用Strncat来替换stcrat等等。计算机软件中完全没有BUG,是根本不可能的,除非软件足够小。即使上面的程序源码检查中没有发现缓冲区溢出问题,还是不能掉以轻心,还是有其它方法可以使用的,比如在Linux操作系统上使用的不可执行堆栈补丁程序和stackguard工具等都对缓冲区溢出有较好的保护。
(二)防止竞争条件漏洞
防止竞争条件漏洞的方法就是对能产生竞争的代码实行原子化操作。简单来说就是代码的执行是最小的单元,执行操作的时候,不会有其他的任何事情打断它的执行。原子化体现在代码上就是采用锁定的方式。
防范TOCTOU问题应该做到的是:避免直接使用文件名的系统调用,而是要使用文件句柄或者文件描述字。这样使用,可以保证处理文件时不会在背后被改变。而且不需要自己对文件进行访问检查,应该留给操作系统的底层文件系统函数处理。也就是说要避免使用access等函数调用。
(三)防止格式化字符串漏洞
防止格式化字符串漏洞的方法就是不要给攻击者任意构造格式串的机会。在代码中直接使用格式常量能有效防止这个漏洞。能产生格式化字符串漏洞的函数都是不定参数个数的函数,而且它们都不会对参数进行类型和个数检验。所以在使用这些函数时要确保参数的个数和类型是一一对应的。另外,还可以通过不可执行堆栈程序等在一定程度上防止该漏洞的利用;在Windows下使用窗口来输入输出数据在一定程度上可以避免该漏洞。
(四)防止随机数漏洞
防范随机数漏洞的一个好方法就是使用好的随机数发生器,一个好的随机数发生器本身就是一个密码算法,它提供了安全的随机数流,有足够的嫡,即使攻击者知道了全部算法的细节,也不能猜出生成的数据流。
参考文献: