随着黑客攻击的新闻时常见诸媒体,人们对计算机安全问题有了一定认识。但不幸很多计算机安全人员和计算机教育培训人员都忽视了软件安全的问题。一味地推崇某种软件平台是安全的,单纯大力增加对网络安全硬件和软件的投入,这些做法是盲目甚至荒谬的。一切安全性都不是静态特性,也没有任何软件是绝对安全的。软件安全问题的关键节点是软件的设计。
2.2软件安全设计的先天不足
世界上知名的软件厂商并不是不了解软件安全设计安全性的重要性,而是商业模式让软件安全方面存在着先天不足。稍纵即逝的商业机会、敏捷的软件开发过程和短暂的软件开发周期使得安全性方面的设计在很多时候都是被舍弃的。随之而来的处理方式则是常见的penetrate-and-pach方法,即不停地补丁。这种做法从长远来看,其成本与作用远不及一开始就做好安全性的设计和审计。
3软件安全设计应引入风险管理
4软件安全设计风险管理的实施
计算机软件是计算机运行系统中有关程序和文档的总称,属于计算机硬件设备的控制中心,可以满足人们的各种实际需求。计算机安全从软件方面来书,软件开发部门开发的软件既要满足用于的各种需求,也要有效降低开发成本,更要避免其他软件开发剽窃或者复制软件,最大程度的保护自己的知识产权。而用户也要求功能齐全、实用性好、保密性好、具有高性价比的软件,尤其是软件的安全性能,因此计算机软件安全指的是软件不易被剽窃和软件自身的安全性。
(二)计算机网络信息安全问题
计算机用户缺乏网络安全意识和信息保密意识,同时计算机网络系统还不够完善,有一定的安全漏洞,这是引起网络风险的一个主要因素,比如,Windows系统自身存在着一定的问题、软件自身携带的插件等,这些存在着一定的安全隐患,为不法分子提供了机会,有些黑客会侵入计算机的安全系统,甚至导致数据丢失或者系统的瘫痪。此外,计算机病毒入侵也对计算机网络安全产生威胁。因为病毒具有很快的传播速度,只要病毒进入网络,既对计算机安全运行产生影响,也将计算机数据破坏,极大的损害了用户的利益。
二、计算机安全问题的解决对策
(一)计算机硬件安全问题的对策
(二)计算机软件设施安全问题的对策
(三)计算机网络信息安全问题的对策
计算机病毒主要通过网络以及硬件传播,所以要定期升级计算机软件,应用最新的版本,确保计算机软件具有较少的漏洞。此外也要及时更新浏览器的版本,确保网页浏览的安全性。在浏览网页时尽量不要浏览不合常规的网站,不安装不合常规的软件,确保浏览的安全性。
二、安全生产软环境建设存在的问题
(二)安全生产管理体制落后,管理者执法不力
(三)市场主体非法牟利,行为不规范
(四)专业人才供给不足,社会重视程度不够
三、安全生产软环境建设的路径选择
从我国安全生产软环境建设存在的问题入手,借鉴其他国家和地区的改革经验,可以从以下几方面入手,改善我国安全生产软环境建设现状。
(二)深化监管体制改革,提高监管者素质
执行是安全生产软环境建设的关键,权责明晰的监管体制、专业有素的监管队伍、独立专业的监管机构是安全生产各项政策执行有力的重要保证。改革监管体制中存在的多头管理,明确各执行机构的权责问题,成立专门的监管机构是西方国家监管体制改革的主要经验。我国各级行政机构改革要坚持这一改革思路,从人员任命、经费管理使用上保持安全生产监管机构的独立性,从而避免出现多头管理的利益争夺问题。同时,监管者自身的素养和专业素质对安全生产监管实施有重要影响。由于信息不对称的存在,“规制过程的当事人之间存在着:公众———政治委托人、政治委托人———规制者、规制者———被规制企业这样三层委托关系”。实际工作中,诸如安全生产一票否决制、绿色GDP生态指标考核制等问责制就是激励和约束监管的一种有效方式。我国的安全生产软环境建设也应积极探寻有效的方式方法,激励和约束监管者的执法行为。
信息技术快速发展,尤其Internet的广泛应用,在如今大数据时代,软件是计算机技术一种,在其软件开发过程中,计算机软件存在一定漏洞,要保障计算机软件的安全性,必须提高计算机软件的检测技术,提升计算机软件性能,是提高计算机网络安全的有效途径。
1计算机软件安全漏洞目前的状况
2计算机软件安全漏洞检测技术解读
2.1静态程序解析
静态程序解析是软件安全常用的检测技术,这种检测技术是通过程序代码,通过利用机器语言、汇编语言等进行编译,利用反代码形式,对检测出来的软件漏洞,及时进行修复,提高软件性能,在实际应用过程中,涉及到程序设计中的语言、函数、数组、过程、集合、文件等。利用软件技术解决软件漏洞问题,静态程序解析对程序设计起到保护作用,检测软件漏洞,提升计算机软件性能,这是一种常用的计算机软件安全漏洞检测技术,通过该技术对软件漏洞进行合理检测,提高软件性能,延长软件的生命周期。
2.2利用逻辑公式对程序性质进行表达
根据程序的性质,对计算机软件漏洞进行检测,判断其中的应用能力,逻辑公式能对计算机软件的性能进行检测,检测其的合法性,是否存在软件漏洞,有的软件漏洞是需要升级与更新软件就可以解决的,有的是出现软件错误,必须合理采用措施,解决软件漏洞问题。其中的公理化方法的逻辑是完整的体系,其中的每个公式都是由单个程序语句和其前后置断言共同构成,具体理论当中只有一条赋值公理,形式演算系统以一阶谓词逻辑为基础,各自为顺序、分支以及循环指令增加了相应的演算法则。公理化方法已经被证明具有较强的可靠性和完整性,但匹配的形式演算系统存在半可判定的情况。程序的正确性涉及程序设计人员利用逻辑公式对程序对应的功能规约展开描述,另外一个问题就是要为循环体确定循环不变式。逻辑公式的应用提高了逻辑判断能力,在利用语句进行科学判断,检测计算机软件是否存在漏洞,根据逻辑公式的判断能力,检测软件是否存在漏洞,如果存在漏洞,对其合理的进行修补,解决软件漏洞问题,提升软件性能,完善软件功能。
2.3测试库技术
测试库技术是计算机软件检测中常用技术,对解决计算机软件漏洞起到帮助作用。测试库技术是检测计算机软件中的核心部件,判断计算机软件是否存在漏洞。利用测试库技术只能对动态内存操作函数导致的错误进行判定。而且其主要对运行过程中输入数据进行监控,发现其中的弱点。这种检测并不是从整体上进行判定。这也表明检测过程只是验证BUG是否被发现,但是无法证实BUG的存在。使用这项技术对于普通应用程序而言,并不会存在任何兼容问题。使用测试库技术的主要优势不存在误报。从性能上对这个技术展开分析,其性能消耗较大,从其工作原理很容易能推导出这个结论。利用测试库技术检测计算机软件是否存在漏洞,是所有检测技术中最科学的,也是最准确的,但其测试有一定难度,对计算机软件本身也是一种伤害,提高计算机软件性能,必须合理的利用软件的检测技术,科学的选择检测技术,有目的的进行检测软件是否存在漏洞,科学的解决软件漏洞问题,提高软件性能。
2.4源码改编
利用软件漏洞检测技术,检测出计算机软件存在一定漏洞,没有合理方法进行漏洞修复,就有必要根据软件漏洞的阶段,去修改程序的源代码,这种源码改编技术,是彻底解决计算机软件漏洞的最根本方法,该检测技术对人员的要求很高,能利用其它技术检测出软件漏洞,能利用源码改编技术进行修改,这是计算机软件检测技术的高级阶段,是计算机软件发展到一定程度的需要,也是社会发展对计算机软件技术提出的新要求。
总之,计算机软件技术存在一定漏洞,要解决计算机软件漏洞,必须利用软件检测技术,及时检测,发现问题要及时解决,但在计算机软件发展的过程中,计算机软件肯定存在一定问题,必须科学的合理解决计算机软件的安全问题,提高对软件安全认识,增加计算机软件的应用性,符合现代计算机软件技术发展需要。
参考文献
[1]许跃颖.计算机软件中安全漏洞检测技术及其应用[J].电子制作,2016(02).
[2]颜汉权.基于模糊测试的软件漏洞检测方法[J].求知导刊,2015(11).
[3]高妍.计算机软件安全漏洞检测技术与应用[J].计算机光盘软件与应用,2014(04).
[4]陈斯,卢华.计算机软件中安全漏洞检测技术及其应用[J].电子技术与软件工程,2016(11).
[5]王垌尧.计算机软件安全漏洞检测技术与应用[J].黑龙江科技信息,2016(09).
作者简介
1安全测试的定义
2软件开发生命周期流程(参见图1)
开发人员应该根据客户的功能需求来制定相应的安全规约,利用内建的明确的控制机制来降低安全风险。开发人员可以根据风险评估的结果来确定测试项目:软件能否可靠运行(safety)以及软件运行结果是否可靠(security)。
软件开发生命周期((sdl)中常用的测试方法有:单元测试、集成测试和验收测试。
2.1需求、设计阶段—安全性分析
2.2实施阶段—单元测试
受测试方式的影响,开发者对软件安全风险的评估不可能面面俱到。最典型的就是在代码设计阶段,开发者可以通过单元测试来检验代码行为,这些结果都是可以预知的,但是受到范围的局限,不能测试这些类或者模块集成后的行为。
实施单元测试可以从软件基本单位(单个类)的检测上保证输人的有效性;在可能出现恶意攻击的地方,也可以利用这一思想来组织针对单个类或者方法的单元测试,从而组织起软件内部的纵深防御策略,防止恶意行为对软件安全造成的损害。但是,这一方法将软件各组件进行强制孤立,因此对于因大量组件交互而引起的软件缺陷,利用此种方法无法检测。
单元层的安全测试比较适合于防止缓冲区溢出,格式化字符串以及数据缺失的审核。
2.3验证阶段—集成测试
在集成层,软件的整体安全属性变得可见和可测试,使得这一层的可测试属性数量相对单元层而言要多得多,但是对于跨站脚本和网络服务器提供的一些服务(例如安全套接层ssl和url过滤)的测试,存在一定的困难。我们可以将实际案例和风险分析的结果作为组织集成测试的指南。
集成测试要求测试人员通过安全测试培训,并且是有熟练技术的软件开发人员。
2.4阶段—验收测试
验收测试是软件产品交付客户之前的最后一个测试阶段,是在真实的测试环境中,利用基于恶意事件的安全检测模板,测试在典型的渗透活动中可被识别的安全缺陷。验收测试的这一特性(基于安全检测模板),使得我们可以借助于强大的自动化测试软件进行检测,并且可以用验收测试的结果来完善渗透测试报告内容,从而有助于开发人员理解软件的脆弱性以及针对软件脆弱性所采取的补救措施是否有效。
验收测试针对软件的外部api,因此不如单元测试和集成测试松散,并且只能测试当前已知且暴露的漏洞或者缺陷。非定制的商业软件重新设计的关键功能或者其他改变都会影响到软件的整体安全性,因此,如果改变会使得软件产生不可预知的缺陷,针对这些缺陷的测试就应该在单元层或者集成层开展,而不是在验收层。
在验收层,我们可以测试针对解释性程序(sql,xpath,ldap等)的注人式攻击、跨站脚本攻击、跨站请求伪造等。缓冲区溢出及格式化字符串等软件缺陷也可以在验收测试层得到检测。
3安全测试队伍
软件测试一度被认为是编程能力偏低的员工的工作,直到今天,仍然有许多公司把优秀的人才安排在编码工作上,也有更多公司让优秀的人才进行设计,仅有很少公司让优秀的人才进行测试工作。实际的软件工程实践证明,让对软件思想有深刻理解的工程师进行软件测试,可以大幅度地提高软件质量软件供应商还必须认识到组织测试人员进行“安全进修”对安全测试的成功实施至关重要。在这些情况下,软件供应商必须负责对其工程人员进行适当教育。根据组织的规模和可用的资源,拥有大批工程人员的组织可建立一个内部计划对其工程师进行在职安全培训,而小型组织则可能需要依赖外部培训。
测试人员要像攻击者那样带有“恶意的”想法去思考,而且在测试软件时还要扮演攻击者,攻击自己的系统,以此来帮助发现软件的安全漏洞。安全测试并不会总是直接导致安全溢出或者暴露可利用的漏洞,从而引出安全缺陷。要安全测试尽可能地发挥作用,测试人员需具备较强的分析能力,而这更多的是依靠熟练的开发技术和开发经验。
4漏洞举例:一个sql的注入式漏洞
有几种情形使得sql注人攻击成为可能。最常见的原因是,使用拼接形成的sql语句去操作数据库。譬如,传入用户输人的管理员用户名和密码,把这2个参数拼接形成sql语句,通过执行该sql语句,以便验证用户输人的管理员用户名和密码的正确性。具体过程如下:
一般情况下,用户传人正常的用户名和密码进行验证,如传人“myname”和“mypassword”进行验证,得到的sql语句将是:
这个sql语句很正常。但是,这只是开发人员预期的做法:通过管理员用户名和密码来验证账户信息。但因为参数值没有被正确地加码,黑客可以很容易地修改查询字符串的值,以改变sql语句的逻辑。譬如,分别传人“myname’ori=1--”,"mypassword",得到的sql语句将是:
在用户名“myname’ori=i--”中,第一个“”’结束了原有字符串中第一个单撇号的配对,"or”后面的“i=i”会导致不管前面的验证结果如何,都会返回真true值,而随后的“一”将把其后的sql语句注释掉。现在问题出现了,不管使用什么用户名和密码,都能验证通过。在存在漏洞的数据显示页面,如果注人join语句,就能获取数据库里的所有数据,显示在页面上,如获取用户名、密码等;而注入up-date/insert/delete语句将改变数据,如添加新的管理员账号等。这样,数据库将不再安全。
③SeeStatementofCongressmanRickBoucher,IntroductionoftheBusinessMethodPatentImprovementActof2000,Tuesday,October6,2000,.
⑧见USPTO网站:103RejectionExamplesforBusinessMethodInventionsFORMULATINGANDCOMMUNICATINGREJECTIONSUNDER35U.S.C.103FORPPLICATIONSDIRECTEDTOCOMPUTER-IMPLEMENTEDBUSINESSMETHODINVENTIONS
⑨SeeUPC705,
⑩保证商业方法发明的新颖性,美国专利商标局于2000年3月提出的商业方法专利行动计划中要求扩大在先技术的检索.美国知识产权法协会建议专利商标局收集非专利商业方法的在先技术,美国国会议员提出的2000年商业方法专利促进法中有充分的在先技术以检索商业方法发明的新颖性的建议。
参考文献:
①曾文怡.商业方法发明之可专利性研究,世新大学智慧财产权研究所硕士论文,2011年6月。
②陈健.商业方法专利研究[M].北京:知识产权出版社,第1版,2011年5月1日;第一章,美国最高法院关于商业方法专利审查的“三部曲”。
0引言
在RFID系统里,RFID标签通过读写器把标签数据读取出来,传送给RFID应用软件进行相应的数据处理,然后再通过互联网在各个应用环节“交流”信息,从而实现商品信息的流通,如图1所示。
图1RFID系统结构图
RFID的应用越来越广泛,它像计算机网络一样也存在着安全隐患,如果不能很好地解决RFID系统的安全问题,随着应用扩展,未来遍布全球各地的RFID系统安全可能会像现在的网络安全难题
一样考验人们的智慧。随着RFID芯片的功能越来越复杂,它们受到攻击的危险也越高。这些安全问题将会严重阻碍RFID系统的应用推广。
因此,在RFID技术大规模应用之前有必要提前解决预计出现的安全及隐私问题或者把这种危害降低到相对低点。
1存在的安全隐患
RFID系统和其他信息系统一样存在许多安全隐患,这些隐患无疑威胁着RFID系统的正常运行,并且不同于其他信息系统的安全问题。根据上边的RFID系统结构图,我们把系统存在的安全问题分为三类:标签集安全、软件级安全和网络级安全,下面分别分析这三种安全隐患。
1.1标签级安全
目前RFID处于初级起步阶段,标签级安全主要集中在以下三个方面:
(1)对电子标签信息的盗读和篡改[2]
在篡改电子标签内数据方面,存在非法者改写或是重置标签内容的威胁。破坏者也可以通过破坏一组标签的有效工作性能,从而可能使整个供应链陷入瘫痪状态,因此存在标签数据被篡改的危险。
(2)读写器受到干扰或其他攻击
由于RFID的开放式环境,非法用户通过发射干扰信号来影响读写器读取信号,或用其他方式释放攻击信号直接攻击读写器,使读写器无法接收正常的标签数据。
(3)对环境的适应性
由于零售业和物流业的RFID应用环境比较复杂,因此需要RFID具有较强的适应性,包括能够在存在非恶意的信号干扰、金属干扰、潮湿以及一定程度的遮挡等。
1.2软件级安全
数据进入后端系统之后,则属于传统应用软件安全的范畴。在这一领域具有比较强的安全基础,有很多手段来保证这一范畴的安全。。
1.3网络级安全
RFID系统中标签数据进入系统软件,然后再经由现有的Internet网络传输。在的Internet网络也存在很多安全隐患,这是Internet安全的问题。
2主要技术对策及分析
RFID系统存在三个不同层面上的安全隐患:标签、软件、网络。尽管与计算机和网络的安全问题类似,但实际上RFID的安全问题要严峻得多。RFID技术本身就包含了比计算机和网络中更多更容易泄密的不安全节点。对于网络和软件安全方面我们已经耳熏目染,这里只讨论RFID系统特有的安全问题即标签级安全的对策。
RFID芯片本身就存在一些需要我们解决的安全难题。由于RFID芯片很小,内存和存储容量也同样小,这就限制了它能够容纳的数字和加密密钥的长度,从而使它很难实施进行强大加密所需要的公共密钥交换等事情[3]。
标签级安全对策主要有以下几种:
(1)只读标签
这种方式消除了数据被篡改和删除的风险,但仍然具有被非法阅读的风险。
(2)限制标签和读写器之间的通信距离
采用不同的工作频率、天线设计、标签技术和读写器技术可以限制两者之间的通信距离,降低非法接近和阅读标签的风险,但是这仍然不能解决数据传输的风险还以损害可部署性为代价。
(3)实现专有的通信协议
在高度安全敏感和互操作性不高的情况下,实现专有通信协议是有效的。它涉及到实现一套非公有的通信协议和加解密方案。基于完善的通信协议和编码方案,可实现较高等级的安全。但是,这样便丧失了与采用工业标准的系统之间的RFID数据共享能力[4]。
(4)屏蔽
可以使用法拉第网来屏蔽标签,使其丧失了RF特征。。在不需要阅读和通信的时候,这也是一个主要的保护手段,特别是包含有金融价值和敏感数据的标签的场合,可以在需要通信的时候解除屏蔽。(5)使用销毁指令(KillCommand)
如果标签支持Kill指令,当标签接收到读写器发送的Kill命令便会将自己销毁,无法被再次激活,以后它将对读写器的任何指令都无法反应。特别是在零售场合,消费者可以在购买产品后执行Kill命令使标签失效,从而消除了消费者在隐私方面的顾虑。但是使用这种方式影响到商品的反向跟踪,比如退货、维修和售后服务等。因为标签卷标已经无效,相应的信息系统将不能再识别该标签的数据。
(6)使用休眠指令(Sleep)
当支持休眠命令的标签接收到读写器传来的休眠(Sleep)指令,标签即进入休眠状态,不会响应任何读写器的操作;当标签收到读写器的唤醒(WakeUp)命令才会恢复正常。
(7)物理损坏
物理损坏是指使用物理手段彻底销毁标签,并且不必像杀死命令一样担心标签是否失效,但是对一些嵌入的、难以接触的标签则难以做到。
(8)认证和加密
可使用各种认证和加密手段来确保标签和读写器之间的数据安全[5]。读写器操作标签时必须同时发送密码,标签验证密码成功才响应读写器,之前,标签的数据一直处于锁定状态。更严格的还可能同时包括认证和加密方案。
(9)选择性锁定[6]
选择性锁定克服或者平衡了以上各种方法的缺点,也消除了加密和认证方案带来的高成本性,这一方法在安全性和成本之间取得了较好的平衡。需要的时候,Blocker标签可以防止其他读写器读取和跟踪其附近的标签,而在不需要的时候,则可以取消这种阻止,使标签得以重新生效。
以上这些方法各有自己的特色和不足,没有任何一个单一的手段可以彻底保证RFID应用的安全,所以必须针对不同应用灵活选择和组合采用综合性的解决方案,考虑成本和收益之间的关系。
3结束语
[1]甘勇,郑富娥,吉星.RFID中间件关键技术研究[J].电子技术应用,2007,33(9):130-132.
[2]蒋文娟.RFID存在的隐私问题及应用建议[J],计算机安全2005(10):21-22
[3]杨志和.基于中间件和RFID技术的物流管理系统的应用研究[D]:硕士学位论文.广西:广西大学.2006:30-45
[4]周永彬,冯登国.RFID安全协议的设计与分析[J].计算机学报,2006,4:7-8
[5]李晓东.射频识别技术中的隐私安全问题及策略[J].微电子学与计算机.2005:137-140
课程创新点
经过长期的教学实践,西电科大“编译原理”课程组已建立起了较完整的教学体系,包括年龄结构和知识结构合理的教师队伍、反映本课程水平的自编教材及先进的教学实践环境,其特色和创新点概述如下:
1)坚持教学科研并重,不断更新教学内容
课程组成员坚持教学与科研并重,十几年来先后主持与承担国防预研、国防预研基金、横向科研课题等十余项,发表学术与教学研究论文20余篇。这些课题所研究内容大部分是编译领域的核心技术,科研成果水平在国内高校同行中处于领先地位。丰富的科研积累为教学的实施与改革提供了充足的养分。
课程组能够将科研成果及时转化到本课程的教学中,同时不断更新教学内容和教学手段,极大地发挥了学生的学习热情和创造性,提高了“编译原理”课程教学的水平和质量。同时,通过科研与教学相结合,形成了一支学术造诣高、知识与年龄结构合理、勇于改革且团结协作的课程梯队。
2)重视实验教学研究与改革,培养学生工程实践能力与素质
计算机科学与技术专业是一个实践性要求很高的专业,而“编译原理”是本专业中对软件设计实验环节要求更高的课程。“编译原理”开设了独立的综合实验“函数绘图语言解释器构造”,其中的三个实验子系统“词法分析器构造”、“语法分析器构造”、“语法制导翻译图形绘制”有机连为一体,反映了“编译原理”课程的核心技术和实验水平,充实了理论教学内容,培养了学生的工程实践能力与科研素质。
我们还根据国内教学条件的实际情况,在所承担的科研项目工作基础上,于1993年自主研制开发了在微机和DOS/Windows环境下的词法分析器生成器XDFLEX和语法分析器生成器XDYACC(它们是与编译器构造领域中最具影响且被广泛使用的、Unix环境下的词法分析器生成器Lex和语法分析器生成器Yacc兼容的软件,其中XD是我校英文缩写),当时在国内是首创。1996年,我们又对XDFLEX进行了改造,增加了汉字识别的自动生成,并重新命名为XDCFLEX。至此,XDCFLEX/XDYACC形成了具有中国特色的、教学与科研兼顾的编译器编写工具(放在我校网站上供自由下载)。此工具不但提高了我校学生的上机实习水平和“编译原理”课程实验室建设的水平,同时也被国内多所高校的教师和学生以及研究所的科研人员使用,提高了我校“编译原理”课程在国内的地位。
课程建设的实施办法
1)明确目标,合理安排。根据课程组的现有条件,制定合理的建设目标和课程质量标准,提出师资队伍建设规划以及教学过程、教学管理和教学改革等方面的基本要求。依靠教师和教学管理人员,明确职责,分级建设,责任到人。
3)重视师资队伍建设,开展教学改革与研究。课程建设应形成合理、优化的专业教师梯队,以高层次、高学历教师为主体,教师队伍中高、中、初级职称比例合适,课程负责人具有较高的学术水平和教学水平,课程组有计划地经常开展教研活动,加强对中青年教师的培养。保证每年有一定的教学改革项目或教研项目立项和教学改革成果。
4)加强教材建设,改革教学手段。一方面采用国内现有的先进教材和精品教材,另一方面根据学院自身的现有条件和专业特点组织教师自编部分具有一定创新性和特色的教材。同时制作、收集和整理电子教材、课件以及教辅材料,逐步形成立体化教材体系。根据本课程的教学特点,采用多媒体教学,建立教学网站,实现网上教学辅导。
5)建立健全学生评价、教师同行听课和教学督导组听课机制,逐步完善教学质量监控和评估体系,确保和提高课堂教学质量和效果。
6)建立有效的激励机制。对于承担精品课程建设任务并作出突出贡献的课程负责人及骨干教师在评奖、评优、晋职等方面给予优先考虑。
教材介绍
课程组教师
目前,“编译原理”课程组由4名主讲和3名专职辅导教师组成。
刘坚:1982年2月起在西安电子科技大学任教,教授。主讲本科生“编译原理”、研究生“编译原理与技术”等课程,研究方向为计算机软件理论与技术。主持“Ada软件开发平台技术”、“软件系统安全故障模式分析”、“软件安全模式”等课题的研究工作,发表多篇学术论文。
龚杰民:1973年5月起在西安电子科技大学任教,教授,研究方向为人机交互技术和软件开发工具。主讲“编译原理”、“形式语言与自动机理论”、“C程序设计”、“PROLOG程序设计”、“人机交互技术与可靠性工程”等课程。长期从事编译原理、形式语言与自动机、人机交互技术等课程的教学与研究。发表教学研究及学术论文多篇,著有《C语言程序设计及其应用》、《标准C语言程序设计及应用》、《人机交互技术及可视化技术》、《人-计算机界面设计》(译)等。主持的多项科研课题获得省部级奖励,其中,“触摸屏电子笔”获中国实用新型专利证书,主持的“液晶显示器和等离子体显示器的工效研究”课题成果已在日本使用。
方敏:1989年起在西安电子科技大学任教,博士,教授。主讲“编译原理”、“操作系统”、“计算机网络”等课程,参加“联合作战态势评估辅助决策模型研究”、“智能化多源数据融合”等课题的研究工作;编著教材“计算机操作系统”(西安电子科技大学出版社,2004);撰写论文多篇。
张淑平:1995年起在西安电子科技大学任教,在读博士生,副教授。主讲“编译原理”、“数据结构”等课程,西电科大ACM/ICPC竞赛基地教练,参加“宽带无线IP网络安全体系结构”、“基于算法的容忍入侵检测系统”等科研项目,著有“程序员教程”一书(清华大学出版社,2004),撰写论文多篇。
张立勇:2001年起在西安电子科技大学任教,在读博士生,讲师。主讲“编译原理”、“分布对象技术”、“算法设计与分析”等课程,参加“计算机软件安全模式分析”等课题研究,担任西电科大ACM/ICPC竞赛队教练。
胡圣明:2003年起在西安电子科技大学任教,在读博士生,讲师。辅导“编译原理”课程,主讲“数据库应用技术”课程,参加《编译原理基础-习题与上机题解答》的编写工作。参加“程序理解征挖掘理论与方法的研究”、“面向对象逆向工程工具研究”、“系统应用软件逆向工程工具研究”等科研项目的研究工作,撰写论文多篇。
8月初,在位于拉斯维加斯举行的全球规模最大的国际黑客大会(DefConhackingconvention)上,Twitter公司软件安全工程师米勒(CharlieMiller)和IOActive安全公司智能安全总监瓦拉赛克(ChrisValasek)——这两位曾因寻找到微软和苹果软件的漏洞而名声大振的工程师,在获得美国政府许可的情况下,了他们攻击汽车数月后的研究。
“坏小子”们在长达100页的白皮书中,详细阐述攻击丰田普锐斯(Prius)和福特翼虎(Escape)关键系统的方法——他们让以每小时130公里速度行驶的丰田普锐斯突然刹车,当然也可以让汽车突然加速,甚至控制方向盘。还让福特翼虎在慢速行驶时刹车失灵,司机不论用多大力气踩刹车都于事无补。
当然,他们的研究并非为了为非作歹,“杀人于无形之中”,而是为了抢在不法分子之前找到系统漏洞,这类黑客被称为“白帽黑客”。
米勒和瓦拉赛克希望他们的数据能激励其他“白帽黑客”去发现更多的汽车安全漏洞,这样就能够加以修复。米勒调侃道:“与其相信福特和丰田的眼光,我倒宁可相信100名安全研究人士的眼力。”
这样看来,似乎汽车“太智能”也会带来困扰。当移动互联网技术进入汽车,汽车更像是一个个“移动终端”时候,如何来保证未来的驾驶安全?其实早在2011年,就有学术界人士谈到如何利用蓝牙系统和无线网络入侵汽车,不过在当时,学术界人士对细节秘而不宣,甚至拒绝透露他们入侵了什么型号的车辆。
被研究的“对象”有点坐不住了。丰田发言人汉森(JohnHanson)称丰田正对此加以评估。他称,丰田在汽车电子安全方面投入了大量资金,但还是存在一些漏洞。而福特发言人戴奇(CraigDaitch)称,福特认真看待其车辆的电子安全。但他指出,由于米勒和瓦拉赛克的攻击方法必须要坐在目标车辆里才能实现,因此实际风险是相对较低的。
同样被暴露出软件存在漏洞的还有大众汽车旗下的4个豪华车品牌。英国伯明翰大学的加西亚(FlavioD.Garcia)、荷兰内梅亨大学的维杜特(RoelVerdult)和艾齐(BarisEge)一直致力于研究如何突破奥迪、保时捷、宾利和兰博基尼等大众汽车集团旗下豪华车品牌的MegamosCrypto防护系统。三人发现了车辆内部的独特逻辑代码,以及能够允许车辆识别点火钥匙的特征。而目前,除了大众以外,不少其他车企的点火钥匙也使用MegamosCrypto逻辑。
“白帽三剑客”基于研究撰写的论文原本计划在今年8月美国华盛顿Usenix安全研讨会上发表,但此举遭到大众汽车反对,大众称,论文泄露启动密码可能“使得某些人,尤其是经验丰富的犯罪集团获得利器,轻易地突破车辆安全系统并实施盗窃”。
大众近而向英国高等法院提讼,并获得了英国高院的支持。英国高院了暂时性禁令,阻止他们,其所属的两所大学的内部刊物也表示将遵从禁令,暂缓发表该论文。
对此,专家们表示不满,认为只是在进行“合法的学术研究”,目的是为所有人改善安全状况。被法院禁止后,三人决定退出今年的研讨会。
当前形势下,人们进行信息数据的传递与交流主要面临着两个方面的信息安全影响:人为因素和非人为因素。其中人为因素是指:黑客、病毒、木马、电子欺骗等;非人为因素是指:不可抗力的自然灾害如火灾、电磁波干扰、或者是计算机硬件故障、部件损坏等。在诸多因素的制约下,如果不对信息数据进行必要的加密处理,我们传递的信息数据就可能泄露,被不法分子获得,损害我们自身以及他人的根本利益,甚至造成国家安全危害。因此,信息数据的安全和加密在当前形势下对人们的生活来说是必不可少的,通过信息数据加密,信息数据有了安全保障,人们不必再顾忌信息数据的泄露,能够放心地在网络上完成便捷的信息数据传递与交流。
1信息数据安全与加密的必要外部条件
1.1计算机安全。每一个计算机网络用户都首先把自己的信息数据存储在计算机之中,然后,才进行相互之间的信息数据传递与交流,有效地保障其信息数据的安全必须以保证计算机的安全为前提,计算机安全主要有两个方面包括:计算机的硬件安全与计算机软件安全。1)计算机硬件安全技术。保持计算机正常的运转,定期检查是否出现硬件故障,并及时维修处理,在易损器件出现安全问题之前提前更换,保证计算机通电线路安全,提供备用供电系统,实时保持线路畅通。2)计算机软件安全技术。首先,必须有安全可靠的操作系统。作为计算机工作的平台,操作系统必须具有访问控制、安全内核等安全功能,能够随时为计算机新加入软件进行检测,如提供windows安全警报等等。其次,计算机杀毒软件,每一台计算机要正常的上网与其他用户交流信息,都必须实时防护计算机病毒的危害,一款好的杀毒软件可以有效地保护计算机不受病毒的侵害。
1.2通信安全。通信安全是信息数据的传输的基本条件,当传输信息数据的通信线路存在安全隐患时,信息数据就不可能安全的传递到指定地点。尽管随着科学技术的逐步改进,计算机通信网络得到了进一步完善和改进,但是,信息数据仍旧要求有一个安全的通信环境。主要通过以下技术实现。1)信息加密技术。这是保障信息安全的最基本、最重要、最核心的技术措施。我们一般通过各种各样的加密算法来进行具体的信息数据加密,保护信息数据的安全通信。2)信息确认技术。为有效防止信息被非法伪造、篡改和假冒,我们限定信息的共享范围,就是信息确认技术。通过该技术,发信者无法抵赖自己发出的消息;合法的接收者可以验证他收到的消息是否真实;除合法发信者外,别人无法伪造消息。3)访问控制技术。该技术只允许用户对基本信息库的访问,禁止用户随意的或者是带有目的性的删除、修改或拷贝信息文件。与此同时,系统管理员能够利用这一技术实时观察用户在网络中的活动,有效的防止黑客的入侵。
2信息数据的安全与加密技术
随着计算机网络化程度逐步提高,人们对信息数据传递与交流提出了更高的安全要求,信息数据的安全与加密技术应运而生。然而,传统的安全理念认为网络内部是完全可信任,只有网外不可信任,导致了在信息数据安全主要以防火墙、入侵检测为主,忽视了信息数据加密在网络内部的重要性。以下介绍信息数据的安全与加密技术。
2.1存储加密技术和传输加密技术。存储加密技术分为密文存储和存取控制两种,其主要目的是防止在信息数据存储过程中信息数据泄露。密文存储主要通过加密算法转换、加密模块、附加密码加密等方法实现;存取控制则通过审查和限制用户资格、权限,辨别用户的合法性,预防合法用户越权存取信息数据以及非法用户存取信息数据。
传输加密技术分为线路加密和端-端加密两种,其主要目的是对传输中的信息数据流进行加密。线路加密主要通过对各线路采用不同的加密密钥进行线路加密,不考虑信源与信宿的信息安全保护。端-端加密是信息由发送者端自动加密,并进入tcp/ip信息数据包,然后作为不可阅读和不可识别的信息数据穿过互联网,这些信息一旦到达目的地,将被自动重组、解密,成为可读信息数据。
2.2密钥管理加密技术和确认加密技术。密钥管理加密技术是为了信息数据使用的方便,信息数据加密在许多场合集中表现为密钥的应用,因此密钥往往是保密与窃密的主要对象。密钥的媒体有:磁卡、磁带、磁盘、半导体存储器等。密钥的管理技术包括密钥的产生、分配、保存、更换与销毁等各环节上的保密措施。网络信息确认加密技术通过严格限定信息的共享范围来防止信息被非法伪造、篡改和假冒。一个安全的信息确认方案应该能使:合法的接收者能够验证他收到的消息是否真实;发信者无法抵赖自己发出的消息;除合法发信者外,别人无法伪造消息;发生争执时可由第三人仲裁。按照其具体目的,信息确认系统可分为消息确认、身份确认和数字签名。数字签名是由于公开密钥和私有密钥之间存在的数学关系,使用其中一个密钥加密的信息数据只能用另一个密钥解开。发送者用自己的私有密钥加密信息数据传给接收者,接收者用发送者的公钥解开信息数据后,就可确定消息来自谁。这就保证了发送者对所发信息不能抵赖。
2.3消息摘要和完整性鉴别技术。消息摘要是一个惟一对应一个消息或文本的值,由一个单向hash加密函数对消息作用而产生。信息发送者使用自己的私有密钥加密摘要,也叫做消息的数字签名。消息摘要的接受者能够通过密钥解密确定消息发送者,当消息在途中被改变时,接收者通过对比分析消息新产生的摘要与原摘要的不同,就能够发现消息是否中途被改变。所以说,消息摘要保证了消息的完整性。
完整性鉴别技术一般包括口令、密钥、身份(介入信息传输、存取、处理的人员的身份)、信息数据等项的鉴别。通常情况下,为达到保密的要求,系统通过对比验证对象输入的特征值是否符合预先设定的参数,实现对信息数据的安全保护。
综上所述,信息数据的安全与加密技术,是保障当前形势下我们安全传递与交流信息的基本技术,对信息安全至关重要。希望通过本文的研究,能够抛砖引玉,引起国内外专家的重视,投入更多的精力以及更多的财力、物力来研究信息数据安全与加密技术,以便更好的保障每一个网络使用者的信息安全。
[1]曾莉红,基于网络的信息包装与信息数据加密[j].包装工程,2007(08).