Martin

我走的很慢,但我从不后退。


  • 首頁

  • 分類

  • 關於

  • 歸檔

  • 標籤
Martin

Checkmarx

發表於 2018-09-29 | 分類於 vulnerability |

静态源代码分析漏洞工具Checkmarx


###工具简介:
checkmarx CxSAST 是一款強大的源碼檢測(Source Code Analysis) 解決方案,專門為識別、追蹤和修復軟件源码技術上和邏輯方面的安全漏洞而設計。Checkmarx 可檢測最多程式安全弱點、支援多種系統平台、程式語言和開發框架。融入軟件開發生命週期(Software Development Life Cycle, SDLC) 的CxSuite程式碼自動化檢測機制,允許開發团队以最少的時間和成本,解決源码安全面临的挑戰。


閱讀全文 »
Martin

Machine Learing 2

發表於 2018-09-29 | 分類於 人工智能 |

true positives, true negatives, false positives, and false negatives

TPR: 分类器能够正确地识别 正样本的比率。假如有2个正样本。。。
FPR: 分类器 错误地 把负样本 看成 正样本的比率。
TNR: 分类器 正确地识别负样本的比例
FNR: 分类器错误地把正样本看成负样本的比例
TPR = tp/(tp+fn)
FPR = fp/(fp+tn)
TNR = tn/(fp+tn)
FNR = fn/(tp+fn)

閱讀全文 »
Martin

VUDDY

發表於 2018-09-29 |

VUDDY: A Scalable Approach for Vulnerable Code Clone Disscovery

中文标题:

一个对于脆弱性代码克隆发现的可扩展方法

简介:

VUDDY 一个针对脆弱性的代码克隆检测的可扩展方法,能在大规模代码程序中有效以及准确地检测安全漏洞。其可扩展性主要应用了方法等级细粒度(function-level granularity)以及减少签名的数次比较的长度过滤技术(length-filter),用一个程序中方法作为一个单元进行代码克隆检测,其能在大规模的代码基础中有效的发现漏洞。相对利用line-level granularity代码克隆检测技术的ReDeBug 检测速度以及准确率明显提高。

摘要:

开源软件的生态系统在规模已经极其大地增长。此外,代码克隆-代码碎片化在软件系统中复制与发布-也正在增殖中。虽然代码复制可能出现在软件开发的过程中,但是它极其重要地会影响软件安全因为漏洞与bug容易通过代码克隆被传播。伴随着开源软件(OSS)增长,那些漏洞的代码克隆正在增加,潜在性地污染大量软件。虽然数十年来研究员试图去检测代码克隆,但大多数尝试也无法扩展到日益增长的开源软件代码规模。缺少扩展性阻止软件开发者易于管理代码以及相关联的软件漏洞。因此,目前克隆检测技术过度地集中在只检测代码克隆,这导致降低了正确地发现“脆弱性的”克隆的能力。
这篇论文,作者提出了VUDDY,一个针对脆弱性的代码克隆检测的扩展方法,在大规模的代码程序中能有效地以及正确地检测安全漏洞。它的伸缩可扩展性是通过方法等级细粒度(function-level granularity)以及减少签名的数次比较的长度过滤技术(length-filter)。VUDDY有效用14小时17分的时间预处理了十亿行代码,之后只需用几秒钟时间识别代码克隆。此外,作者设计了安全感知抽象技术(security-awake abstract),这使得VUDDY能够适应在代码克隆中常见的修改,同时应用抽象化后也能保留代码脆弱性的条件。这也增加了VUDDY识别已知软件漏洞变体的范围能力以及获得高正确率。 作者描述其原理,并通过将其与现有机制进行比较以及呈现其检测到漏洞来评估其功效和有效性。VUDDY在可扩展性和准确性方面优于目前四种最先进的代码克隆检测技术,并通过检测广泛使用的软件系统(如Apache HTTPD和Ubuntu OS Distribution)的零日漏洞来证明其有效性。

閱讀全文 »
Martin

VulPecker

發表於 2018-09-29 |

VulPecker:

  • An Automated Vulnerability Detection System Based on Code Similarity Analysis.
  • Vulnerability Pecker (VulPecker), a system for automatically detecting whether a piece of software source code contains a given vulnerability or not
  • The key insight underlying VulPecker is to leverage (i) a set of features that we define to characterize patches, and (ii) code-similarity algorithms that have been proposed for various purposes, while noting thatno single code-similarity algorithm is effective for all kinds of vulnerabilities

souce link :

http://www.cs.utsa.edu/~shxu/socs/VulPecker.pdf

閱讀全文 »
Martin

Machine Learning

發表於 2018-09-29 |

Machine Learning


1. 泛化

  • 蓝点代表生病的树
  • 橙点代表健康的树

接下来,我们来看看图 1
Alt text

閱讀全文 »
Martin

Toward large-scale vulnerability discovery using Machine learning

發表於 2018-09-29 |

Toward large-scale vulnerability discovery using Machine learning(Published 2016 in CODASPY
DOI:10.1145/2857705.2857720)

What is the problem?

It can predict large-scale vulnerability of binary programswhich mainly contain memory corruptions by using Machine Learning techniques and help human to discover the vulnerability.

閱讀全文 »
Martin

VulDeepecker

發表於 2018-09-29 |

VulDeePecker: A Deep Learning-Based System for Vulnerability Detection


中文标题:

VulDeePecker:一个基于深度学习的漏洞检测系统

简介:

vulDeePecer是基于深度学习的智能漏洞检测系统,可以降低软件漏洞的漏报率(1)以及解决专家手动自定义繁杂的软件漏洞特征的工作(2)。vulDeePecer与目前存在静态漏洞检测软件工具进行实验对比(例如Flawfinder、RATS、Checkmarx、RATS、VUDDY,VulPecker),vulDeePecer针对相应类型的软件漏洞,它模型正确识别率达到了78%以上,相比其他工具,它检测漏洞是更有成效。

中文摘要:

自动检测软件漏洞是一个重要的研究课题。但是,目前解决方案主要是依赖人类专家去自定义特征并且经常错过了许多软件漏洞(例如软件出现高漏报率(FNR))。在这篇论文中,作者提出了基于深度学习的软件漏洞检测去减轻人工手动自动义繁杂软件漏洞的特征的工作任务,同时,作者也提到适用于深度学习的软件程序的表示形式(即如何表达软件程序),这个表示形式是代码小工具code gadget(主要保持上下文关系代码行(不需要连续性)即可),再将code gadget转为矢量vetcor。从而设计出基于深度学习软件漏洞系统vulDeePecer,作者为了评估vulDeePecer,提出了第一个深度学习方法的漏洞数据集。实验过程中,vulDeePecer检测漏洞更有成效,作者用它来检测现有3个软件产品( Xen, Seamonkey, and Libav)并且发现了4个漏洞(这些漏洞并没有被报告在国家安全漏洞数据库NVD,以及供应商通过发布产品新版本默默修补了这些漏洞),而其他软件漏洞检测工具几乎遗漏了这几个漏洞。

技术路线:

Learning Phase:

1 .Extracting the library/API function calls and the corresponding program slices.
(1.1)从训练程序集中提取library/API function calls(目前的VulDeePecker主要集中在CWE-119与CWE-399相关的library/API function calls)
(1.2) 在从1.1中提取的library/API function calls的每个参数中提取相关代码片段(数据流处理)

  1. Generating code gadgets of the training programs and their ground truth labels
    (2.1)组装1.2中提取到的代码片段为代码小工具(中间程序表示方式code gadgets.每个library/API function calls就有一个code gadgets)
    (2.2)将组装好的code gadgets打上标签(用1表示漏洞,0表示正常程序,作者已知的程序类型)
    Alt text

3 .Transforming code gadgets into vector representations
(3.1)将code gadgets转换为精确的符号表示(symbolic represetations,为了保留程序某些语义信息)
(3.2)将(3.1)获取到的symbolic represetations编码为向量(vectors,作为BLSTM神经网络的输入源)
Alt text

  1. Traning a BLSTM neural network( 输出->生成漏洞匹配的模型)

Alt text

閱讀全文 »
Martin

Hello World

發表於 2018-07-03 |

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

Martin

正则表达式(二)

發表於 2017-01-15 | 分類於 正则表达式 |

这篇文章主要是介绍了正则表达式中分支、分组、反向引用、贪婪匹配与非贪婪匹配、环视等知识点。


分支

分支 就是在正则表达式可以有多种匹配情况,在正则表达式(一)提到过在元字符[]内的字符称之为字符组如[awq],还有另一种表达式写法就是分支(a|w|q),那么分支符号就是|咯。

閱讀全文 »
Martin

正则表达式

發表於 2017-01-09 | 分類於 正则表达式 |

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。(来自百度百科)


用处

基本上很多编程语言中都会应用到正则表达式,不同语言对它的支持有所不同。(下面我们来介绍它在php语言的基础与应用)

閱讀全文 »
12
Martin

Martin

11 文章
4 分類
6 標籤
GitHub
© 2015 - 2018 Martin
由 Hexo 強力驅動
主題 - NexT.Mist