OWASP Top 10漏洞解析(2)- A2:Cryptographic Failures 加密机制失效

news2024/11/25 22:29:31

作者:gentle_zhou

原文链接:OWASP Top 10漏洞解析(2)- A2:Cryptographic Failures 加密机制失效-云社区-华为云

Web应用程序安全一直是一个重要的话题,它不但关系到网络用户的隐私,财产,而且关系着用户对程序的新人。随着Web应用程序功能持续增加,复杂性不断提高,这些程序也面临着越来越多的安全威胁和挑战。

为了帮助这些应用程序的开发团队和安全人员了解和防范这些威胁,提高安全意识,编写更安全的代码,OWASP(Open Web Application Security Project,开放式Web应用程序安全项目)发布了一份标准指南,称为OWASP Top 10。

这是一份关于Web应用程序安全风险的标准指南,它基于全球范围内的安全专家和数据提供者的共识,列出了当前最严重、最关键的10种Web应用程序安全风险,并提供了相应的防范措施和建议。OWASP Top10 每隔几年会更新一次(目前已经发布了六个版本,分别是2004年、2007年、2010年、2013年、2017年和2021年),最新的版本是在2021年发布的OWASP Top10:2021。

已解析的OWASP漏洞

  1. OWASP Top 10漏洞解析(1)- A1:Broken Access Control 访问控制失效:OWASP Top 10漏洞解析(1)- A1:Broken Access Control 访问控制失效-云社区-华为云

“加密机制失效”缺陷详情

今天,就来为大家讲解其中的第二条缺陷:Cryptographic Failures加密机制失效,它从2017年版本的第3位上升到了当前第2位。

image.png

在之前的版本中,该类缺陷被称为“敏感数据泄漏”(Sensitive Data Exposure),这听上去更像是一种症状/结果而并非是缺陷根因。而在新版本里,则更聚焦于密码学相关的失效(或则说加密机制的缺乏),而这类失效则常常会导致敏感数据的泄漏。典型的CWE漏洞包括:CWE-259:使用了硬编码密码,CWE-327:使用了已被破坏或有风险的密码算法 和 CWE-331:不充分的熵(entropy,每条消息中包含的信息量)。

对于这类缺陷,用户需要首先决定数据在包括传输等一系列过程中的保护需求;举个例子,这里说的数据可以是密码,信用卡卡号,健康记录,个人信息,需要额外保护的商业秘密等,简单来说被隐私法所保护的数据,比如欧盟的GDPR,金融行业数据保护相关(比如PCI数据安全标准)。

常见的加密机制失效缺陷类型

对于数据,是否存在加密机制失效的缺陷,可以从这几方面去考虑:

  • 是否以明文的形式传输了数据,包括 HTTP, SMTP, FTP 等协定?互联网路中明文传输数据是危险的。我们必须验证所有的内部流量,比如负载均衡器,网站服务器,或则后端系统之间。
  • 是否默认或则在先前写的代码中,使用了任何老旧或则脆弱的加密算法或协议?
  • 是否正在使用默认的加密秘钥,是否生成或则重复使用了弱加密秘钥,是否缺失了合适的秘钥管理或轮换?是否把加密秘钥写入了源代码仓库中?
  • 是否没有强制执行加密举措?比如说,是否有任何浏览器中的HTTP头缺失了安全相关的指令或头信息?
  • 是否适当地验证了收到的服务器证书和信任链可信?
  • 初始化向量是否被忽略,重复使用,或则没有为密码学操作生成充分安全的初始化向量?是否使用了诸如ECB这样的不安全的操作模式?是否在使用认证加密更合适的场景下,使用了未认证加密?
  • 是否在没有密码基础的密钥派生函数内,使用了密码作为密码学密钥?
  • 是否使用了不符合密码学要求的随机数来满足加密要求?即使选择了正确的函数,它是否需要由开发者来设置seed信息;如果不需要,开发者是否使用了一个缺乏充分验证/具有不可预测性的seed替代覆盖了原有的内置的强seeding功能?
  • 是否使用了已弃用的哈希函数,如MD5或SHA1,或者在需要密码学哈希函数的情况下使用了非密码学哈希函数?
  • 是否使用了已弃用的密码学填充方法,比如如PKCS number 1 v1.5?

如何防止该缺陷的发生

最低程度,至少需要做到如下这些事情:

  • 使用APP应用程序来分类数据是否已被处理、存储或传输。根据隐私法律、监管要求或商业需求,来确认哪些数据是敏感的
  • 不要不必要地去存储敏感数据。对于非必要数据,需要尽快丢弃或使用符合PCI DSS标准对其令牌化或甚至截断。我们需要明确的是,没有保留的数据不会被偷窃
  • 确保加密了所有敏感数据
  • 确保在适当的地方使用最新和强大的标准算法、协议和密钥;使用适当的密钥管理机制
  • 使用安全协议(比如TLS)加密所有传输中的数据,使用具有前向保密(FS)密码、服务器优先的密码和安全参数。使用诸如HTTP严格传输安全(HSTS)之类的指令来强制加密
  • 禁用包含敏感数据响应的缓存
  • 根据数据分类来应用所需的安全控制
  • 不要使用遗留协议(比如FTP, SMTP)来传输敏感数据
  • 使用具有工作因子(延迟因子)的强适应性和加盐的哈希函数来存储密码,例如Argon2,scrypt,bcrypt或PBKDF2
  • 初始化向量必须根据操作模式来适当地选择。对于许多模式,这意味着使用CSPRNG(密码学安全伪随机数生成器)。对于需要nonce的模式,那么初始化向量(IV)不需要CSPRNG。在所有情况下,对于固定密钥,IV都不应该重复使用
  • 始终使用认证加密而不仅仅是加密
  • 秘钥应该以密码学随机的方式生成,并以字节数组的形式存储在内存中。如果使用密码,则必须通过适当的密码基础密钥派生函数将其转换为密钥。
  • 确保在适当的地方使用密码学随机性,并且没有以可预测的方式或低熵进行seed设置。大多数现代API不要求开发者为了获得安全性而设置CSPRNG的种子。
  • 避免使用已弃用的密码学函数和填充方案,如MD5,SHA1,PKCS number 1 v1.5。
  • 独立验证配置和设置的有效性。

举个栗子

场景1

一个应用程序使用自动的数据库加密法来加密数据库中的信用卡号。然而,当检索这些数据时,它们会自动解密,从而让SQL注入漏洞有了可趁之机:会以明文形式获取到这些信用卡号。

场景2

一个网站没有使用或强制所有页面使用TLS,或者使用了弱加密。
一个攻击者可以监控网络流量(例如,在一个不安全的无线网络中),将连接从HTTPS降级到HTTP,拦截请求,并窃取用户的会话cookie。然后,攻击者可以重新使用这个cookie并劫持用户的(已认证的)会话,从而可以访问或修改用户的私有数据。除了上述情况,攻击者还可以修改所有传输的数据,例如,转账的收款人。

场景3

密码数据库使用不加盐或简单的哈希来存储每个人的密码。
一个文件在上传过程中有的漏洞允许攻击者获取密码数据库。所有不加盐的哈希都可以通过预先计算的哈希的彩虹表来暴露。由简单或快速哈希函数生成的哈希可能会被GPU破解,即使它们被加盐了。

参考链接

1、https://owasp.org/Top10/A02_2021-Cryptographic_Failures/

体验华为云CodeArts Check 代码检查服务:代码检查CodeArts Check_精准定位_代码缺陷_安全检查_华为云

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1048415.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务器补丁管理软件

随着漏洞的不断上升,服务器修补是增强企业网络安全的典型特征。作为业务关键型机器,计划服务器维护的停机时间无疑是一件麻烦事。但是,借助高效的服务器补丁管理软件(如 Patch Manager Plus),管理员可以利用…

港联证券:市场有望从2024年起进入大众化折叠屏手机时代

根据Counterpoint Research的近期全球折叠屏智能手机追踪陈述,2023年第二季度全球折叠屏智能手机商场同比添加10%,达到210万部。该增幅与全球智能手机商场形成了鲜明对比,后者在同一季度出货量下降9%,达2.68亿部。估量智能手机商场…

Smtp4dev 虚拟SMTP电子邮件服务

Smtp4dev(https://github.com/rnwood/smtp4dev)用于开发和测试的虚拟SMTP电子邮件服务器。可以让你在测试应用程序时,无需向真实客户发送邮件,也无需使用特殊配置设置复杂的真实电子邮件服务器 dotnet tool install -g Rnwood.Smt…

Linux 安全 - SUID机制

文章目录 一、文件权限位二、SUID简介 一、文件权限位 (1) $ ls -l text.txt -rw-rw-r-- 1 yl yl 0 Sep 28 16:25 text.txt其中第一个字段-rw-rw-r–,我们可以把它分为四部分看: -rw-rw-r--(1)- &a…

Pygame中监控鼠标动作的方法

在Pygame中监控键盘按键的方法_pygame获取键盘输入-CSDN博客中提到,通过在while True循环中获取队列中事件的方法监控键盘动作。监控鼠标动作的方法与监控键盘动作的方法相同。 相关连接1 队列与事件的相关知识,请参考 Pygame中监控键盘按键的方法_pyg…

从技能需求到就业前景,了解前端和后端开发的优缺点和个人选择

文章目录 每日一句正能量一、引言前端开发后端开发 二、两者的对比分析三、技能转换和跨领域工作四:介绍全栈开发后记 每日一句正能量 命运决定的不是你的人生,能决定你人生的只有自己。 一、引言 前端和后端是Web开发中两个不可或缺的领域。前端开发主…

No131.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

vulnhub靶机-DC系列-DC-3

文章目录 信息收集漏洞查找漏洞利用SQL注入John工具密码爆破反弹shell 提权 信息收集 主机扫描 arp-scan -l可以用netdiscover 它是一个主动/被动的ARP 侦查工具。使用Netdiscover工具可以在网络上扫描IP地址,检查在线主机或搜索为它们发送的ARP请求。 netdiscover -r 192.1…

Linux或Centos查看CPU和内存占用情况_top只能查看对应的命令_如何查看具体进程---linux工作笔记062

一般我们都是用top去查看,但是top查看的结果,不能看出,具体是哪个程序占用的,这就很苦恼.. 其实如果有时间的话,再去专门看一下网络安全和linux脚本以及命令方面的,比较系统的看一下比较好.现在积累的都是工作中用到的,比较零散的知识. 如果用top,比如说这里的java,就只能知道…

云服务器租用价格表概览_阿里云腾讯云华为云

云服务器租用价格多少钱一年?阿腾云分享阿里云、腾讯云和华为云的云服务器租用价格表:阿里云2核2G服务器108元一年起、腾讯云2核2G3M带宽轻量服务器95元一年、华为云2核2G3M云耀L实例89元一年起,阿腾云分享更多关于云服务器租用价格明细&…

eNSP网络学习-v05

IP容量 ip地址一共是32位,/24就表示他的网络号是24位。 也就是说共有 2^(32-24)-2 个主机(因为主机为全0和1的保留不用,所以需要减2),共254个ip。 /24:2的8次方-2 :254 …

安达发|APS生产排程软件给化工行业带来的价值

化工行业是一个涵盖了广泛的领域,包括石油化工、有机化工、无机化工、精细化工、生物化工等。 化工行业是指以化学工艺为基础,通过化学反应制取化学品的工业。根据生产工艺和产品性质,化工行业可以分为以下几类: 1. 石油化工&…

Hash Index 原理和应用精讲

线上沙龙 - 技术流第 35 期回放来啦 本期直播我们邀请到 KaiwuDB 高级研发工程师徐胜康,为大家分享 Hash Index 原理和应用。徐老师曾任职于 Sun Micro Systems, Lucent 等公司,具备多年 Linux/UNIX Operating System 内核、驱动、文件系统、数据库、研…

十八,镜面IBL-打印预过滤环境贴图

前面打印了各个级别的hdr环境贴图&#xff0c;也能看到预过滤环境贴图&#xff0c;现在进行打印各个级别的预过滤环境贴图。 运行结果如下 代码如下&#xff1a; #include <osg/TextureCubeMap> #include <osg/TexGen> #include <osg/TexEnvCombine> #…

智慧工地管理系统源码(电脑端+手机端+APP+SAAS云平台)

智慧工地是指通过一系列先进的技术手段&#xff0c;实现施工现场的智能化管理&#xff0c;其核心是利用物联网技术&#xff0c;将施工现场的各种设备、机械、材料、人员等进行全面实时地监测和控制&#xff0c;以实现资源的最优配置和高效利用。 一、概述 智慧工地管理系统&am…

Linux虚拟机无法联网

问题描述 Centos7&#xff0c;配置了静态IP后&#xff0c;无法联网 解决方式 虚拟机连接不上网络&#xff0c;解决办法_虚拟机连不上网络-CSDN博客 根据上面文章一步步做。 发现 在Windows的cmd中&#xff0c;可以ping通我的Linux虚拟机 但是&#xff0c;在虚拟机里 无法 …

第九章 动态规划 part12 309. 最佳买卖股票时机含冷冻期 714. 买卖股票的最佳时机含手续费

第五十一天| 第九章 动态规划 part12 309. 最佳买卖股票时机含冷冻期 714. 买卖股票的最佳时机含手续费 一、309. 最佳买卖股票时机含冷冻期 题目链接&#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-cooldown/ 题目介绍&#xff1a; 给定一…

layui 树状控件tree优化

先上效果图&#xff1a; 我选的组件是这个&#xff1a; 动态渲染完后&#xff0c;分别在窗体加载完成&#xff0c;节点点击事件分别加入js&#xff1a; //侧边栏图标替换//layui-icon-subtraction$(function () {$(".layui-icon-file").addClass("backs&quo…

【广州华锐互动】鱼类授精繁殖VR虚拟仿真实训系统

随着科技的不断发展&#xff0c;虚拟现实技术在各个领域的应用越来越广泛。在养殖业中&#xff0c;VR技术可以帮助养殖户进行家鱼授精实操演练&#xff0c;提高养殖效率和繁殖成功率。本文将介绍利用VR开展家鱼授精实操演练的方法和应用。 首先&#xff0c;我们需要了解家鱼授精…

QT基础入门——认识与创建QT(一)

前言&#xff1a; 前面学了Linux的基础命令、系统编程、网络编程&#xff0c;对LInux的使用也有了一个简单的了解与认识&#xff0c;之后的学习就要用到 imx6ull_pro这款开发板进行学习了&#xff0c;所以在使用前还是决定把QT的基础知识学习一下&#xff0c;好在后面的linu…