加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

从三类常见高危漏洞 洞见那些“风平浪静”的代码

发布时间:2019-07-22 18:09:12 所属栏目:建站 来源:刘隽良@默安科技
导读:在研发职员眼中,编码开拓的目标是实现相干成果逻辑可用,无明明成果 bug。而现实上,在安详职员眼中,许多这样看似没有成果题目的代码,却可以操作来举办安详裂痕进攻。固然这在许多研发职员眼中是看似天方夜谭,但很不幸,通过以往的无数重大安详变乱的

这里的题目是:措施没有对读取自用户的 backuptype 参数做任何验证。凡是环境下 Runtime.exec() 函数不会执行多条呼吁,但在这种环境下,措施会起首运行 cmd.exe shell,从而可以通过挪用一次 Runtime.exec() 来执行多条呼吁。一旦挪用了该 shell,它即会应承执行用两个与号脱离的多条呼吁。假如进攻者转达了一个情势为 "&& del c:dbms*.*" 的字符串,那么应用措施将随措施指定的其他呼吁一路执行此呼吁。因为该应用措施的特征,运行该应用措施必要具备与数据库举办交互所需的权限,这就意味着进攻者注入的任何呼吁都将通过这些权限得以运行。

为防备恣意呼吁执行裂痕,该当榨取用户直接节制由措施执行的呼吁。在用户的输入会影响呼吁执行的环境下,应将用户输入限定为从预定的安详呼吁荟萃中举办选择。假如输入中呈现了恶意的内容,转达到呼吁执行函数的值将默认从安详呼吁荟萃中选择,可能措施将拒绝执行任何呼吁。

偶然还可以执行其他检讨,以搜查这些来历是否已被恶意改动。譬喻,假如一个设置文件为可写,措施也许会拒绝运行。假如可以或许预先得知有关要执行的二进制代码的信息,措施就会举办检测,以检讨这个二进制代码的正当性。假如一个二进制代码始终属于某个特定的用户,可能被指定了一组特定的会见权限,这些属性就会在执行二进制代码前通过措施举办检讨。

四、总结&办理方案

上述三类安详裂痕,无一破例是在代码成果正常的条件下举办的,可见成果可用不代表安详靠得住。而为办理这些题目,更多的是必要在研发进程中各环节参与安详手段,实现对上述种种裂痕的上线前检出以及修复,低落项目上线安详隐患。

企业应该将赋能处事贯串需求说明、架构计划、研发、测试回归以及宣布迭代全流程,通过赋能将专业安详手段赋予研发各环节职员,并在各环节提供差异器材(STAC、SAST、IAST、常态化安详运营)使赋能常识真实应用落地,最终以同一平台展示、说明、回归、闭环安详题目,并向安详部提供 SIEM,按照各流程频现的裂痕范例、研发职员常识盲区等再次提供针对性培训,最终针对性拟定规章制度,实现制度精准逆推落地。

  • 需求和架构阶段:基于营业场景的威胁建模 (STAC),以威胁建模赋能方法教会需求说明和架构审计职员对项目内场景隐藏场景风险举办辨认和剥离,通过威胁建模针对性提出安详方案,用于后续研发等环节的办理或规避。
  • 软件编码阶段:静态应用安详测试 (SAST),通过与 git、svn 等代码客栈联动,自动化拉取全量或增量代码举办代码安详搜查,以波谷时刻检测方法在上班时刻前按照提交汗青以邮件情势同时相干责任人,低落对相干职员事变方法变动。
  • 软件测试阶段:交互式安详测试 (IAST),IAST 通过署理、VPN 可能处事端 Agent 方法无感知获取成果测试职员测试交互流量,基于恍惚测试 (fuzz) 头脑对流量举办进攻代码随机插入和进攻流量构建,并自动化对被测措施举办安详测试,同时可精确确定裂痕地址的代码文件、行数、函数及参数。
  • 上线迭代阶段:常态化安详运营,对项目上线后地址的处事器资产、中间件以及项目自己举办 7*24 小时周期性安详搜查,相等于有一个安详团队或渗出测试工程师全天候打点线上资产、站点以及中间依靠的安详题目,有用确保安详结实性。

【本文是51CTO专栏作者“李少鹏”的原创文章,转载请通过安详牛(微信公家号id:gooann-sectv)获取授权】

戳这里,看该作者更多好文

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读