代码安全
文章平均质量分 63
manok
软件行业的老兵,现在专注安全领域
展开
-
试用北大库博Cobot-SCA工具
北大软件SCA在市场上并多见,难得拿到云上版本,进行试用,一睹来自于北京大学软件工程中心的产品。原创 2024-02-27 16:05:21 · 1156 阅读 · 0 评论 -
库博工具解决了不能编译就不能检测的痛点问题
库博工具解决了不能编译就不能检测的痛点问题原创 2023-12-18 09:16:00 · 434 阅读 · 0 评论 -
MISRA C++ 2008 标准解析
MISRA C++ 2008主要是功能安全,共有规则228条。划分一级分类和二级分类,按照是否强制执行分为三个类别:文档、必要和建议。文档相当于MISRA C 2008中的指令类别,大多是一些编程要求,比较难于通过SAST技术实现。原创 2023-12-06 09:51:17 · 2035 阅读 · 0 评论 -
Autosar标准解析
AUTOSAR联盟于2017年3月发布了新版本的AUTOSAR标准,称为”Adaptive Platform”,中文翻译为“自适应平台” 。自适应平台的API是使用C++语言实现的,也决定了C++将成为自适应平台软件的主要开发语言。原创 2023-12-04 14:19:11 · 1818 阅读 · 0 评论 -
MISRA C 2012 标准浅析
MISRA C 2012目前已经修订了多次,最近版本是AMD2,已经支持C11标准。MISRA主要是功能安全,而CERT C/C++则更多的关注安全威胁。MISRA C 2012:AMD2总计规则数175条,其中规则158条,指令17条。其中指令基本上是无法被SAST工具所检测分析的。175条规则中强制为15条、必要规则120条、建议规则40条。原创 2023-12-04 11:39:36 · 2386 阅读 · 0 评论 -
Coverity支持的C/C++缺陷有那些
Synopsys,中文新思作为应用安全领域最强公司,一直占据gartner魔力象限的第一的位置,那么它的静态分析工具Coverity支持那些缺陷的检测呢?今天我简单整理了一下,并没有与其全部checker进行对齐,大家通过这些列出的缺陷,可以洞见新思在C/C++开发语言的缺陷检测方面下的功夫,覆盖了我们能想到,或者不能想到的很多类型缺陷。竞争条件(Race conditions)缺失的/不充分的恶意数据和字符串输入的验证。Microsoft COM内存泄漏。未初始化的指针/标量/数组读写。原创 2023-12-01 10:02:52 · 563 阅读 · 0 评论 -
Klocwork的静态属性度量有那些
前面我们介绍了Cobot、QAC、Coverity工具中的静态属性度量,今天我们了解一下Klocwork所具有的度量属性。主要包括两类,对类的度量和对方法/函数的度量。原创 2023-12-01 09:30:28 · 366 阅读 · 0 评论 -
运行时错误/缺陷到底是什么缺陷
简单来说,这些缺陷通常只有当程序执行起来以后,才能逐渐暴露出的缺陷,一般是需要在调试和运行期间发现这类缺陷,但是静态分析技术,通过区间计算、常量折叠等技术是可以通过静态扫描程序发现大部分运行时缺陷的。尤其是C、C++开发的嵌入式软件,更要关心这些缺陷,因为C/C++开发的嵌入式软件,大多数与互联网物理隔绝,安全漏洞倒是不用太过于关注,而由于程序本身缺陷导致的运行时缺陷才应该是最关注的。当初华为试用了很多款工具,通过列举了很多运行时缺陷,尤其是缓冲区溢出缺陷,看看哪家工具最强。下面我列出了常见的运行时缺陷。原创 2023-11-28 15:00:04 · 530 阅读 · 0 评论 -
Coverity支持的静态质量度量12个
Coverity不亏支持下面12个代码度量属性,相对于Cobot、testbed是比较少,但是作为一款静态分析工具,这些度量不是很多企业所看重的。但是对于有些企业则是看重这些静态度量指标的。后面我再给大家找找国内支持静态质量度量的工具。原创 2023-11-28 14:20:51 · 408 阅读 · 0 评论 -
典型的SAST支持检测标准
这里我们列举了Coverity、Cobot、代码卫士、Klocwork、QAC、C++ test几款典型的SAST工具,看看他们都是支持那些C、C++标准(主要是C、C++标准,其它语言较少)呢? 这可以作为厂商研发的方向标。原创 2023-11-28 14:05:56 · 724 阅读 · 0 评论 -
编译器安全
供应链安全不仅仅是开源组件安全,开源软件安全更不不容忽视原创 2023-11-21 10:53:03 · 815 阅读 · 0 评论 -
一款SAST工具需要支持多少种编译器呢?
除了Java语言,C#语言之外,C、C++语言是编译器类型最多的编程语言,有几十种编译器,这些编译器方言为研发SAST工具带来了巨大的工作量,很多产品由于无法适配客户的编译器,导致无法检测。下面我们罗列一下国外和国内对C、C++最强的SAST工具,支持的编译器数量。当然Cobot的优势在于使用了代码补齐技术,在编译不通过情况下,一样可以完成检测,而很多工具,编译不通过不能进行检测,或检测结果不具有可信性。原创 2023-03-03 15:19:58 · 724 阅读 · 1 评论 -
Cobot与Jenkins集成
静态分析,代码检测,源代码审计原创 2022-06-19 16:17:55 · 708 阅读 · 0 评论 -
SAST静态应用安全测试工具的分析引擎小析
代码审计原创 2022-06-19 10:56:56 · 647 阅读 · 0 评论 -
SAST——Checkmarx静态检测工具收集(2)
Checkmarx是一家以色列高科技软件公司,是世界上著名的代码安全扫描软件Checkmarx CxSAST的生产商,拥有应用安全测试的业内前沿解决方案-CxSAST、CxOSA、CxIAST。分别对应的SAST、SCA和IAST三类应用安全测试类型工具。Checkmarx CxSAST主要功能是查找安全漏洞、质量缺陷、逻辑问题和后门代码。是一个独特的源代码分析解决方案,该工具可用于识别、跟踪和修复源代码中技术上和逻辑上的缺陷,比如软件安全漏洞、质量缺陷问题和业务逻辑问题等。Checkmarx使用原创 2022-03-27 17:51:46 · 12541 阅读 · 0 评论 -
Log4j2安全漏洞引起的思考
log4j安全漏洞能够从代码级别上和软件成分分析上两个维度上进行检测。原创 2022-01-26 09:49:25 · 696 阅读 · 0 评论 -
第二讲 外部实体注入
源代码审计,最近比较火爆,我们是创新的源代码审计课程。原创 2021-12-19 22:13:59 · 1822 阅读 · 0 评论 -
GB/T 34944中路径遍历漏洞分析(之一)
源代码审计依据的国家标准GB/T 34944 、GB/T 34943、GB/T 34946。 而仅仅依据这三个标准还不够,1是仅仅覆盖了C/C++、Java和C#语言;2是安全漏洞类型仅仅有43个类型,也是不够的;3另外,需要检测工具落地,结合人工复核技术,真正落实源代码审计中,对误报进行分析,对于漏报漏洞可能性进行分析。原创 2021-12-12 12:01:25 · 9776 阅读 · 0 评论 -
2020疫情期间软件代码安全领域你不得不了解的重要事件
在软件代码安全领域,是上周以色列Checkmarx公司被私募股权公司以惊人的11.5亿美元注资收购。Checkmarx公司是应用程序安全测试方案的全球领导者,一直专注于软件静态分析工具研发,其核心产品Checkmarx在全球享有非常高的知名度,具有大量用户。在静态分析工具领域,2019年是一次比较大的收购是GitHub收购Semmle公司,官方没有公布收购价格,但是Semm...原创 2020-04-12 15:30:24 · 1964 阅读 · 0 评论 -
开源治理工具选一个
随着开源技术在云计算、大数据、AI领域的不断运用,不断破除技术壁垒,让企业快速建立自身的应用,在开源软件基础一,自主研发部分代码,便可以推出企业自身品牌的产品,开源技术的应用极大的推动了云计算、大数据、AI等领域的快速发展。但是开源软件的引用不可避免的带来了知识产权、信息安全等方面问题。根据Gartner统计,98%的企业管理者并不知道自己研发产品里的成分、...原创 2020-04-12 12:56:01 · 1302 阅读 · 0 评论 -
CoBOT Java安全漏洞检测类型与OWASP TOP 10对应关系
OWASP(Open Web Application Security Project)开放式web应用程序安全项目,是一个非营利性组织,不依附于任何企业或财团的安全组织,几乎每隔3年发布的OWASP TOP 10安全漏洞以及成为安全行业事实上的标准。各安全检测工具以支持OWASP TOP 10中的更多安全漏洞类型作为目标。 作者统计了OWASP 2004、2007、...原创 2020-03-27 21:21:49 · 1687 阅读 · 0 评论 -
RSA大会不断推动DevSecOps的成熟和完善
2020年RSA大会于2月24日至28日在美国旧金山召开,今年的会议主题为“Human Element”,人为因素被认为是影响未来网络安全发展最深远的主题。DevSecOps任然是大家关注的焦点之一。RSA创新沙盒是全球网络安全风向标,今年进入十强的安全厂商中近半数聚焦在应用安全领域。BluBracket和ForAllSecure是今年DevSecOps领域的创新厂商代表。我在整理一...原创 2020-03-15 23:08:54 · 406 阅读 · 0 评论 -
不管SDLC还是Devops,请把好安全质量门
微软自2004年就采用SDL(Security Development Lifecycle),即安全开发生命周期。后面很多安全企业提出S-SDLC(Secure Software Development Lifecycle)。这个概念也是被安全行业的公益组织OWASP所支持。安全中的SDLC就是指将原来集中在软件开发生命周期后期进行的工作,放到软件开发生命周期各个阶段去,在每个阶段做...原创 2020-03-13 17:45:39 · 7323 阅读 · 0 评论 -
一步一步学习DVWA渗透测试(CSP Bypass绕过内容安全策略)-第十二次课
小伙伴们,今天我们继续学习。Content-Security-Policy是指HTTP返回报文头中的标签,浏览器会根据标签中的内容,判断哪些资源可以加载或执行。翻译为中文就是绕过内容安全策略。是为了缓解潜在的跨站脚本问题(XSS),浏览器的扩展程序系统引入了内容安全策略这个概念。原来应对XSS攻击时,主要采用函数过滤、转义输入中的特殊字符、标签、文本来规避攻击。CSP的实质就是白名单制度,开发...原创 2020-02-29 21:37:01 · 1255 阅读 · 0 评论 -
浅谈DevSecOps工具链中的源代码安全保障
近期,很多企业开始关注DevSecOps,下面根据作者对其理解,简单分析一下在DevSecOps的源代码安全该如何考虑和建设。主要分5部分:1、DevSecOps建设的背景和目的2、安全才是提升研发交付质量的第一要素3、安全自动化是安全交付的保障4、企业如何实施DevSecOps5、企业落实DevSecOps的动力正文:1 DevSecOps建设的背景和目的随着...原创 2020-02-11 18:08:16 · 1950 阅读 · 0 评论 -
再借你一双慧眼 识别强大的代码安全审计工具
今天,我还是分析一款强大的代码安全审计工具到底应该什么样?还是以OWASP Benchmark的Java案例作为例子进行分析。Benchmark中2740个包含真假漏洞的案例中,分为10类,例如SQL注入、命令行注入、弱密码、弱哈希等等。下面我以其中三个类别的真假漏洞作为例子,进行分析。先看SQL注入,我从其中选择了一个具有代表性的案例,BenchmarkTest00105.j...原创 2019-12-31 07:42:09 · 647 阅读 · 0 评论 -
借你一双慧眼,识别代码安全审计工具
代码安全审计产品、代码缺陷分析产品、代码安全分析等基于源代码静态分析技术的产品市场上越来越多,但是质量却层次不齐,误报率非常高,漏报率也不低,究其原因是为什么呢?因为一款静态分析类产品研发不是轻松的事,往往要经历几年时间,产品才会逐渐成熟,支持的开发语言和安全漏洞类型才能达到企业级应用水平,一般中小企业是很难投入如此长的时间进行研发的,而且静态分析类产品底...原创 2019-12-26 18:02:20 · 724 阅读 · 0 评论 -
开源组件安全漏洞检测主流工具对比
下面是根据笔者从事软件代码安全检测工作的经验以及对开源组件、第三库安全漏洞检测工具的市场调研所获得的资料,如有错误或不妥之处,还请各位指正。如果表格中有一些未知信息你了解,请给帮我补充。让我们更多的了解市场上的主流工具。 目前这些工具在国内都有销售,其中Blackduck很多人都了解,前几年被Synopsys公司所收购,只能在国内销售不带库的版本。要把安全漏洞对应到...原创 2019-12-25 17:50:16 · 9306 阅读 · 9 评论 -
代码安全审计浅析
近些年来,随着我国社会发展和科技进步,在军事、航天、航空、能源、金融、公共安全等众多领域,国家大型关键基础设施正在向着更强、更高的水平急剧跃升,呈现出超大型化、复杂化、安全关键的特征。软件在系统中起到核心的作用。随着软件规模的日益增大,代码数量由几万行,发展到现在经常出现几十万行,甚至几百万行代码的规模,系统的逻辑结构越来越复杂,只靠人工基本上无法满足代码审计的对于时效和成本等各方面的要求。...原创 2019-12-25 17:31:43 · 2105 阅读 · 1 评论 -
最强代码审查工具报告
今天给大家show一下,国内最强的代码审查工具CoBOT,对OWASP Benchmark进行代码审查的报告。 Benchmark 代码检测报告 ...原创 2019-12-07 09:49:05 · 3096 阅读 · 0 评论 -
VDG值依赖分析技术
北大软件CoBOT(库博)是具有自主知识产权的静态检测工具。在2013年获得了计算机软件著作权,基于值依赖分析的C程序缺陷静态检测系统。很多同行对值依赖分析的概念可能不是太清楚,今天我们主要分析一下这个技术。值依赖分析是建立在值流模型基础之上的,值流模型最早由Horwitz提出,值流图中结点与结点之间的连线表示的是数据流分析中的定值使用关系。值流依赖表示由于定值-使用连接的依赖关系。值流依赖关...原创 2019-11-26 15:59:15 · 1032 阅读 · 0 评论 -
谁真正写了你正在使用的代码?
根据2019年11月12日来自于五角大楼的Dod发言称,谁真正写了你的代码?原因主要是因为美国程序员经常从各种场合下载使用来自于俄罗斯和中国程序员编写的代码。这对美国的国防安全提出了严峻挑战,所以五角大楼正在研究开发或者购买工具来实现对代码的追踪。一位负责采购软件的美国官员称,虽然我们购买的软件来自于美国公司,但是不意味着所有的代码都是这里写的。软件开发公司或程序开发人员将工作...原创 2019-11-18 23:00:49 · 394 阅读 · 0 评论 -
离线在Jenkins安装CoBOT安装插件
最近在某金融客户做POC,把CoBOT安装在Jenkins上面,当前Jenkins版本没有任何插件,安装后由于是云桌面没有连接互联网或已经设置访问策略,无法进行在线安装插件,所以只能下载插件后再安装。在网络上搜索Jenkins插件,下载到两个插件包,4G插件,这么多插件手工安装,那不是累的吐血,也没有这么多时间。还是感谢Jenkins平台,在配置项目过程中,会逐步提示缺少什么,如下...原创 2019-10-23 10:05:16 · 498 阅读 · 0 评论 -
PHPStudy后门植入代码和利用分析
PHPStudy软件是国内的一款免费的PHP调试环境集成包,一般在本机调试情况下使用,当然也有一些企业在生产中也可能使用。该后门首先由ChaMd5安全团队发布监测方法和后门位置。该软件被恶意攻击者攻击,注入了后门,通过远程控制抓取账号密码等信息传固定服务器上。要检查安装的phpstudy是否有漏洞,可以使用下面脚本(安识安全团队撰写的,不重复造轮子了)#encoding:utf-...原创 2019-10-13 23:18:34 · 1293 阅读 · 0 评论 -
缓冲区溢出漏洞浅析(二)
10月1日整理了缓冲区溢出的C语言例子,今天再整理一下由于程序员编程错误导致的问题。可以理解为常规缓冲区溢出。常规缓冲区溢出是指由于程序员书写错误导致的显式缓冲区溢出漏洞。根据其产生方式,程序行为和调用函数的区别,分成为面几类。给数组赋值字符串越界缓冲区赋值超过缓冲区长度的字符串常量则会导致缓冲区溢出。#include <stdio.h>...原创 2019-10-08 11:40:18 · 760 阅读 · 0 评论 -
缓冲区溢出漏洞浅析(三)
前面发了两篇都是关于C语言缓冲区溢出的文章,有的同行问,是否C#、Java语言有缓冲区溢出问题吗?答案是否定的。由于C#、Java语言需要虚拟机去执行,属于托管语言,虚拟机会自动检查边界。一般不会出现缓冲区溢出。但是通过JNI调用本机代码、以及JVM/CLR/ETC等虚拟机可能出现这些问题。所以缓冲区溢出最突出的语言是C和C++。下面我们再深一步了解缓冲区溢出的原理。缓冲区是一块连续的...原创 2019-10-08 14:06:51 · 1217 阅读 · 0 评论 -
北大软件CoNET软件代码成分和安全分析平台即将正式发布(非官方)
根据全球最具权威的IT研究与顾问咨询公司Gartner发布数据来看,从2010年到2018年软件程序代码中采用开源框架或组件、第三方库的比例每年以30%的速度在增长,大量的软件系统引入了开源代码,有的系统引用开源代码比例甚至达到了80%以上,这在IT研发环节,大幅度提升了软件研发的效率,降低了成本,但是开源软件中大量缺陷、甚至安全漏洞也一并打包进入到了软件部署包,从而进入了软件供应链各个...原创 2019-07-14 17:47:49 · 814 阅读 · 0 评论 -
SSA静态单赋值概念理解
SSA即静态单赋值,是一种中间表示形式,在程序正文中,每个变量只有一个定值。这个(静态的)定值可能位于一个可(动态)执行的多次循环中。静态单赋值几种形式:(1) 当每个变量只有一个定值时,数据流分析和优化算法可以变得更简单。(2) 如果一个变量有 N 个使用和 N 个定值,代码中可能是n+m条语句。表示定值-使用链所需要空间(和时间)和 N·M 成正比——即成平方增大。(3) 静态单赋...转载 2019-05-19 20:48:43 · 1838 阅读 · 1 评论 -
缓冲区溢出漏洞浅析
缓冲区是指内存中一段连续的地址空间,用来缓存数据。在大多数开发语言中,把数组和指针分配的空间作为缓冲区。缓冲区溢出是指读取或写入的范围超过数组或指针指向的缓冲区空间,导致程序运行期间发生异常。缓冲区溢出大多数情况下编译器无法给出错误信息,而只有当程序运行期间才会暴露出来,所以缓冲区溢出也归属于运行时缺陷。运行期间发生异常是由于缓冲区溢出数据(包括上界和下界),破坏了缓冲区上下边界外其它变...原创 2019-10-01 17:42:14 · 2489 阅读 · 0 评论 -
可能改变世界软件安全格局的一次收购--------从微软通过收购Github间接收购软件安全创企Semmle谈起
在商业社会中,没有永远,只有商业利益。当然商业利益与国家利益发生冲突时,要服从国家战略利益。 2018年微软以75亿美金收购了世界第一开源网站Github时,我们惊叹这世界变化太快,思考微软收购Github会给开源带来什么影响时,而这几天,微软又宣布收购软件安全创企Semmle时,我不仅要陷入思考,而是开始担心,微软间...原创 2019-09-23 19:43:56 · 671 阅读 · 0 评论