0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Kiuwan:更好编码的3个步骤

哲想软件 来源:哲想软件 2023-02-23 09:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

近年来,这种做法已经被重新检查和改进,以包括DevSecOps 形式的安全问题。将安全性集成到此方法中已经在网络空间中产生了重大变化,并且已证明在减少代码漏洞方面更加有效。

要创建安全的高质量代码,团队可以采取几个步骤。

更好编码的3个步骤

更好的代码归结为几件事:适当的安全测试、仔细的质量保证、个人运行时保护和代码混淆。

01 代码安全测试

代码安全测试和分析是当今竞争激烈的世界的一个重要方面。适当的安全测试可以提醒开发人员身份验证不足、信息泄露、二进制保护不佳、格式字符串漏洞、传输层安全性不足等。手动完成,这是一项繁琐的工作,因此通常使用专业的代码扫描解决方案来显着降低此步骤的复杂性。

代码安全测试的主要方法是使用静态应用程序安全测试或SAST。这种类型的测试涉及代码扫描,以识别源代码中的漏洞。这允许编码人员重新检查敏感性并采取预防措施来应对可能的网络攻击。

SAST可以在软件的早期开发阶段执行,这意味着团队可以在应用程序启动和运行之前测试其安全性。使用正确的工具,组织可以在创建代码时实时识别和监控问题。

测试软件安全性的另一种方法是聘请专业安全机构或内部IT 安全团队。虽然这可能被证明是彻底和有效的,但它也可能变得昂贵和耗时。

当开发人员将第三方源代码注入到他们的最终产品中时,SAST工具被证明特别有用。第三方代码有其优点,但开源组件也有其缺点。最引人注目的是弱代码或恶意代码的威胁。这些问题使得开发人员不希望将第三方代码添加到最终产品中,但SAST 工具通过分析代码和构建详细报告来提供保证——即使是在外包代码上。

这个过程可以由专门的安全团队完成,但资源紧张通常会导致组织转而寻找代码安全工具。

02 代码质量测试

代码质量取决于团队的目标和他们工作的组织的优先级。但是,可以通过两个主要特征来识别高质量代码:可靠性和一致性。干净的代码应该经得起时间的考验——以及例行测试的审查。

更好的代码质量还会带来更高的代码安全性和应用程序的可用性。因此,团队必须确保代码的质量符合标准。

由于没有一个特定的标准可以衡量代码的质量,因此质量测试会根据应用程序和开发人员的要求而有所不同。为了衡量给定代码段的质量,这些测试评估以下特征:

•可靠性

•可维护性

•可测试性

•可移植性

•可重用性

通过从这些角度检查代码,开发人员可以减少在整个代码中发现的缺陷数量。不幸的是,当单个程序员测试代码质量时,平均只有不到50% 的缺陷得到纠正。因此,开发人员可以使用一些工具和实践来确保质量。

使用单一编码标准

提高代码质量的最佳方法就是使用单一的编码标准。这可以在软件开发生命周期开始时完成,并将在整个应用程序中促进更一致的风格。

运行代码分析器

现代静态分析器具有很大的通用性,不仅能够分析代码中的安全漏洞,还可以通过实时反馈测试不连贯或低质量的代码。为了有效地做到这一点,这些代码扫描工具在软件开发的早期阶段运行,并在代码的每一部分完成后使用,以保持一致性。虽然这些并不能完全消除错误代码的可能性,但代码分析器可以显着降低甚至在代码审查阶段开始之前就遇到此类问题的可能性。

执行单元测试

单元测试是一种隔离代码的单个部分并通过初始化该部分并用一个动作刺激它以观察结果来检查它的技术。这可确保代码按预期运行并处于可接受的质量水平。

执行代码审查

代码审查是确保代码质量的主要手段。此步骤应始终由专门的专业人员配合使用相关工具来完成。

03 代码混淆和运行时保护

只要有足够的努力和时间,所有代码都可以被逆向工程的概念是众所周知的。然而,很大一部分代码——尤其是在 AndroidJava和 .NET上开发的代码——几乎可以立即被破解。为了保护代码免受恶意行为者的侵害,开发人员使用代码混淆使攻击者对其进行逆向工程变得极其复杂。

混淆的方法各不相同,但主要是在不改变实际软件工作的情况下通过分层代码来执行。

重命名混淆

这种方法改变了变量和对象的名称。这允许在代码中进行一层又一层的更改,这将使逆向工程成为反编译器和人类都成倍困难的任务。

实施虚拟代码

这是一种非常基本但有效的技术,可将伪代码添加到软件中。该代码不会影响程序的逻辑流程,但会使反编译程序可用的数据量更大,因此更难处理。

使用运行时应用程序自我保护

RASP是开发人员与软件代码一起实施的框架,用于报告和防止对系统的外部攻击。RASP 通过不断分析正在运行的软件的工作并收集该信息以消除威胁来运行。这项技术相当发达,2012 年首次部署,因此市场上有几家顶级供应商。

使用更高质量的代码改进软件开发

软件开发绝非易事,执行手动安全测试、维护和进一步保护可能会使组织退缩并使他们无法完成基本的业务任务。

对于混淆和运行时保护,PreEmptive可帮助组织提高应用程序的弹性。为了节省时间和降低风险,我们鼓励企业使用 KiuwanInsights 开源解决方案等工具来测试代码质量、修复漏洞并确保合规性。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    1044

    浏览量

    57218
  • 分析器
    +关注

    关注

    0

    文章

    93

    浏览量

    12951
  • 代码
    +关注

    关注

    30

    文章

    4985

    浏览量

    74566

原文标题:Kiuwan:更好编码的3 个步骤

文章出处:【微信号:哲想软件,微信公众号:哲想软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FPGA实现HDMI TMDS编码关键步骤

    HDMI编码在FPGA中的实现,其核心在于通过纯逻辑(软件法)或借助专用芯片(硬件法)将视频像素数据和控制信号转换为符合TMDS(Transition Minimized Differential Signaling)标准的差分信号进行传输。
    的头像 发表于 05-21 10:55 352次阅读
    FPGA实现HDMI TMDS<b class='flag-5'>编码</b>关键<b class='flag-5'>步骤</b>

    非标设备物料编码:从分类到维护的 8 关键步骤

    “PA”中编号为“001”的A规格第一版第一批次的第一单位。确保规则足够清晰,以便在需要时能够轻松解读编码3、建立ERP数据库:有了编码以后,为了方便查找和管理物料,这时候需要
    发表于 05-20 11:01

    贴片电阻的编码及阻值的计算

    “  和直插电阻用色环标注阻值不同,贴片电阻用编码的方式来标识阻值。通常分为3位数、4位数和 EIA-96 三种方式。   ” 一不错的小工具 如果你很懒,也不想记住编码的意义,推荐
    的头像 发表于 04-30 11:16 613次阅读
    贴片电阻的<b class='flag-5'>编码</b>及阻值的计算

    STM32H7 的 3 ADC 时钟同步方法

    mode)工作时,这种情况不会发生,但如果同时使用了 ADC3,则 3 ADC 之间可能会产生干扰。2. 解决方案为避免此类问题,divisions 建议采用以下操作步骤初始化
    发表于 04-15 16:16 0次下载

    LAT1602_STM32H7 的 3 ADC 时钟同步方法

    时,这种情况不会发生,但如果同时使用了 ADC3,则 3 ADC 之间可能会产生干扰。 为避免此类问题,divisions 建议采用以下操作步骤初始化
    发表于 03-11 10:51 0次下载

    Linux系统下配置FCB-EV9520L与LVDS转USB3.0编码采集模块教程

    在Linux系统上运行LVDS转USB3.0编码采集模块涉及几个关键步骤,包括Linux环境配置、硬件连接、软件安装与配置以及测试。以下是一基本的指南
    的头像 发表于 03-04 16:05 311次阅读
    Linux系统下配置FCB-EV9520L与LVDS转USB3.0<b class='flag-5'>编码</b>采集模块教程

    深入解析SNx4HC148 8线到3线优先编码

    深入解析SNx4HC148 8线到3线优先编码器 在电子设计领域,编码器是一种常见且重要的逻辑元件,它可以将多个输入信号转换为特定的输出代码,广泛应用于各种数字电路中。今天,我们就来详细探讨一下
    的头像 发表于 01-19 10:45 804次阅读

    合科泰MOSFET选型的四核心步骤

    面对数据手册中繁杂的参数,如何快速锁定适合应用的 MOSFET?遵循以下四核心步骤,您能系统化地完成选型,避免因关键参数遗漏导致的设计风险。
    的头像 发表于 12-19 10:33 1022次阅读

    选择微控制器MCU几个步骤

    微控制器架构和频率的最关键要求之一。 步骤3:选择架构 利用步骤1和步骤2得到的信息,一工程师应该能够开始确定所需的架构想法。8位架构可
    发表于 11-26 07:09

    ARM架构与DSP有什么区别?哪一更好

    ARM架构与DSP有什么区别?哪一更好
    发表于 11-19 06:14

    舵机伺服编码

    —— 没有编码器的反馈,舵机就无法判断自身是否到达目标位置,控制精度会大幅下降。 核心作用:实现 “闭环控制” 舵机伺服编码器的本质是为舵机提供 “位置反馈”,其核心作用体现在以下 3 点: 位置检测 :实时读取舵机输出轴
    的头像 发表于 10-30 10:05 601次阅读

    Booth编码的原理及选择

    ,随着编码位数的增多,部分积的数目更少。基8 Booth编码只需要产生n/3部分积,但是基8 Booth编码需要
    发表于 10-22 07:53

    脉冲编码器TIM3中断不生效是怎么回事?

    环境 stdio rtt 4.1.1 mcu stm32F407ZET6 目的 使用TIM3定时器读取编码器圈数 ① 按照论坛配置方法配置了一遍TIM3 board.h添加了 #define
    发表于 09-22 06:23

    新手入门:使用CST电磁软件进行贴片天线设计的5基本步骤

    新手入门教程:使用CST进行贴片天线设计的5基本步骤。从创建模型到结果分析,详细指导您完成2.45GHz微带贴片天线的完整设计流程。
    的头像 发表于 07-28 16:17 1544次阅读
    新手入门:使用CST电磁软件进行贴片天线设计的5<b class='flag-5'>个</b>基本<b class='flag-5'>步骤</b>

    机器人如何选择编码器方案?

    的位置和状态?这个时候就需要用到编码器了。在机器人系统中,编码器是实现精确运动的核心传感器,典型的人形机器人上,14旋转关节共需要28编码
    的头像 发表于 07-19 00:04 6708次阅读