代码审计

发布时间:2021-03-06 14:09:58 作者:无锡易谦网络科技有限公司 来源:本站 浏览量(60)
摘要:检查源代码中的安全缺陷,检查程序源代码是否存在安全隐患,或者有编码不规范的地方,通过自动化工具或者人工审查的方式,对程序源代码逐条进行检查和分析,发现这些源代码缺陷引发的安全漏洞,并提供代码修订措施和建议。代码审计(Code audit)是一种以发现程序错误,安全漏洞和违反程序规范为目标的源代码

    检查源代码中的安全缺陷,检查程序源代码是否存在安全隐患,或者有编码不规范的地方,通过自动化工具或者人工审查的方式,对程序源代码逐条进行检查和分析,发现这些源代码缺陷引发的安全漏洞,并提供代码修订措施和建议。


代码审计(Code audit)是一种以发现程序错误,安全漏洞和违反程序规范为目标的源代码分析。软件代码审计是对编程项目中源代码的全面分析,旨在发现错误,安全漏洞或违反编程约定。 它是防御性编程范例的一个组成部分,它试图在软件发布之前减少错误。 C和C ++源代码是最常见的审计代码,因为许多高级语言(如Python)具有较少的潜在易受攻击的功能(例如,不检查边界的函数)。

对象

我们的代码审计对象包括并不限于对Windows和Linux系统环境下的以下语言进行审核:java、C、C#、ASP、PHP、JSP、.NET。

内容包括

1.前后台分离的运行架构
2.WEB服务的目录权限分类
3.认证会话与应用平台的结合
4.数据库的配置规范
5.SQL语句的编写规范
6WEB服务的权限配置

7.对抗爬虫引擎的处理措施


审核软件时,应对每个关键组件进行单独审核,并与整个程序一起进行审核。 首先搜索高风险漏洞并解决低风险漏洞是个好主意。 高风险和低风险之间的漏洞通常存在,具体取决于具体情况以及所使用的源代码的使用方式。 应用程序渗透测试试图通过在可能的访问点上启动尽可能多的已知攻击技术来尝试降低软件中的漏洞,以试图关闭应用程序。这是一种常见的审计方法,可用于查明是否存在任何特定漏洞,而不是源代码中的漏洞。 一些人声称周期结束的审计方法往往会压倒开发人员,最终会给团队留下一长串已知问题,但实际上并没有多少改进; 在这些情况下,建议采用在线审计方法作为替代方案。

高风险漏洞

由于使用以下原因,可能存在一些常见的高风险漏洞:
  • 非边界检查函数(例如,strcpy,sprintf,vsprintf和sscanf)可能导致缓冲区溢出漏洞
  • 可能干扰后续边界检查的缓冲区的指针操作,例如:if((bytesread = net_read(buf,len))> 0)buf + = bytesread;
  • 调用像execve(),执行管道,system()和类似的东西,尤其是在使用非静态参数调用时
  • 输入验证,例如(在SQL中):statement:=“SELECT * FROM users WHERE name ='”+ userName +“';”是一个SQL注入漏洞的示例
  • 文件包含功能,例如(在PHP中):include($ page。'。php');是远程文件包含漏洞的示例
  • 对于可能与恶意代码链接的库,返回对内部可变数据结构(记录,数组)的引用。恶意代码可能会尝试修改结构或保留引用以观察将来的更改。

低风险漏洞

以下是审计代码时应该找到的低风险漏洞列表,但不会产生高风险情况。
  • 客户端代码漏洞不影响服务器端(例如,跨站点脚本)
  • 用户名枚举
  • 目录遍历(在Web应用程序中) 



二维码

扫一扫,关注我们

声明:本文由【无锡易谦网络科技有限公司】编辑上传发布,转载此文章须经作者同意,并请附上出处【无锡易谦网络科技有限公司】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

相关服务

  • 波浪
  • 波浪
  • 波浪
  • 波浪

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何疑难杂症!

您身边的【互联网服务专家】

搜索千万次不如咨询1次

主营项目:服务器维护,ddos防御,渗透测试,漏洞修复,网站设计开发、app开发,小程序开发,软件开发

立即咨询 0510-85556889
在线客服
您说,小易在听..