 |
|
|
|
 |
 |
 |
|
 |
|
 |
|
|
张一帆,汤恩义,苏琰梓,杨开懋,匡宏宇,陈鑫.自然语言数据驱动的智能化软件安全评估方法.软件学报,2018,29(8):2336-2349 |
自然语言数据驱动的智能化软件安全评估方法 |
Natural Language Data Driven Approach for Software Intelligent Safety Evaluation |
投稿时间:2017-07-18 修订日期:2017-09-28 |
DOI:10.13328/j.cnki.jos.005526 |
中文关键词: 软件安全评估 自然语言处理 机器学习 网络爬虫 |
英文关键词:software safety evaluation natural language processing machine learning Web crawler |
基金项目:国家重点研发计划(2016YFB1000802);国家自然科学基金(61772260,61402222) |
作者 | 单位 | E-mail | 张一帆 | 计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023 南京大学 计算机科学与技术系, 江苏 南京 210023 | | 汤恩义 | 计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023 南京大学 软件学院, 江苏 南京 210093 | eytang@nju.edu.cn | 苏琰梓 | 计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023 南京大学 软件学院, 江苏 南京 210093 | | 杨开懋 | 计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023 南京大学 软件学院, 江苏 南京 210093 | | 匡宏宇 | 计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023 南京大学 软件学院, 江苏 南京 210093 | | 陈鑫 | 计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023 南京大学 计算机科学与技术系, 江苏 南京 210023 | |
|
摘要点击次数: 3205 |
全文下载次数: 1484 |
中文摘要: |
软件安全性是衡量软件是否能够抵御恶意攻击的重要性质.在当前互联网环境下,黑客攻击无处不在,因而估计软件中可能含有的漏洞数量与类型,即对软件进行安全评估,变得十分必要.在实际中,用户不仅需要对未发布或者最新发布的软件实施安全性评估,对已发布软件也会有一定的安全评估需求,例如,当用户需要从市场上互为竞争的多款软件中做出选择,就会希望能够花费较低成本、较为客观地对这些软件进行第三方的评估与比较.提出了一种由自然语言数据驱动的智能化软件安全评估方法来满足这一要求.该方法基于待评估软件现有用户的使用经验信息来评估软件的安全性.它首先自适应地爬取用户在软件使用过程中对软件的自然语言评价数据,并利用深度学习方法与机器学习评估模型的双重训练来获得软件的安全性评估指标.由于所提出的自适应爬虫能够在反馈中调整特征词,并结合搜索引擎来获得异构数据,因而可通过采集广泛的自然语言数据来进行安全评估.另外,使用一对多的机器翻译训练能够有效地解决将自然语言数据转换为语义编码的问题,使得用于安全评估的机器学习模型可以建立在自然语言的语义特征基础上.在国际通用漏洞披露数据库(CVE)和美国国家漏洞数据库(NVD)上对该方法进行了实验,结果表明,该方法在评估软件漏洞数量、漏洞类型以及漏洞严重程度等指标上十分有效. |
英文摘要: |
Software safety is a key property that determines whether software is vulnerable to malicious attacks. Nowadays, Internet attacks are ubiquitous, thus it is important to evaluate the number and category of defects in the software. Users need not only evaluate the safety of software that is unreleased or released recently, but also evaluate the software that is already published for a while. For example, when users want to evaluate the safety of several competitive software systems before they decide their purchase, they need a low cost, objective evaluation approach. In this paper, a natural language data driven approach is proposed for evaluating the safety of software that is released already. This approach crawls natural language data adaptively, and applies a dual training to evaluate the software safety. As the self-adaptive Web crawler adjusts feature words from the feedback and acquires heterogeneous data from search engines, software safety evaluation utilizes extensive data sources automatically. Furthermore, by customizing a machine translation model, it is quite efficient to convert natural language to its semantic encoding. Hence, a machine learning model is built for intelligently evaluating software safety based on semantic characteristics of natural language. Experiments are conducted on the Common Vulnerabilities and Exposures (CVE) and the National Vulnerability Database (NVD). The results show that the presented approach is able to make safety evaluations precisely on the amount, impact and category of defects in software. |
HTML 下载PDF全文 查看/发表评论 下载PDF阅读器 |
|
|
|
|
|
|
 |
|
|
|
|
 |
|
 |
|
 |
|