编码开发如何开展 API 安全实现

简介: 【2月更文挑战第28天】

编码开发的相关技术,在安全实现层面,仍需要结合所选择的编程语言,考虑其安全编码过程。一般来说,安全实现的过程通常会分为以下三个步骤。

1、安全编码培训

指专门针对某种编程语言所易发的安全缺陷或高危函数所做的编码赋能培训,也可以作为安全培训活动中的一门课程来实施。


安全编码培训的内容通常依赖于开发应用程序或API所使用的编程语言,如果是Java语言,Spring Security官方文档是一个优质的资源,可以根据实际需要,将其中相关的章节摘抄出来,作为培训的案例。除此之外,各个企业内部的安全编码规范也是一个很好的培训资料。另一方面,每一个企业或团队,历史安全缺陷记录都是很好的参考资料,将排名靠前的安全编码案例进行分析、分享是安全编码培训很好的培训方案。案例分析时,对造成API漏洞的原因做详细剖析,以加深编码人员对漏洞原理的理解。

2、安全编码

指编码开发人员根据安全编码规范开展编码的过程。


很多企业或团队内部都有自己的编码规范或安全编码规范,但往往仅仅是规范文本,很难以在实施工作中执行,这样的安全编码规范实际上没什么用。一个好的安全编码规范实践其实是遵循PDCA循环的,除了编写规范文本并定期修订外,在编码过程中也要采用工具进行编码规则的检测,比如阿里的代码规则检测工具P3C、SonarQube的安全插件。通过编码规范检测或静态检测,将编码规范纳入日常编码的活动中进行闭环,才是安全编码规范真正要起到的作用。

3、静态检测

指对编码人员所提交的代码进行静态代码检测,以发现编码过程中的安全缺陷,并迭代改进的过程。


静态检测是安全编码中很重要的一环,尤其是在编码开发人员安全编码能力不足的情况下,静态检测从事后验证的视角,有效地保障编码实现的安全性。静态检测通常根据开发语言的不同会选择不同的工具,或者说,同一种静态检测工具,因开发语言的不同,检测效果会有比较大的差异。所以企业在采购静态检测工具时,需要结合企业使用的开发语言,选择合适的代码静态检测工具。


一般来说,选择代码静态检测工具时,主要的参考指标如下。

  • 支持的开发语言:虽然很多检测工具都宣称能扫描多种开发语言,但所支持的开发语言检测的效果到底怎么样,这需要企业自己去做横向比较。
  • 漏报率:通常使用含有已知漏洞的应用程序,比如WebGoat、DVWA之类的漏洞学习平台,来验证静态检测工具的漏报率。比如已知漏洞是1300个,实际扫描后只发现了75个,则漏报率为25%。
  • 误报率:是指在发现的漏洞中,不是漏洞而误报为漏洞的比例。比如报告出漏洞是100个,实际验证后发现了25个不是漏洞,则误报率为25%。
  • 运行环境与配置:是指静态检测工具运行的操作系统环境、机器配置、内存等,有的静态检测工具只允许运行在Windows环境下,有的静态检测工具则在Windows、Linux、UNIX下均可以;有的可以;与CI/CD集成,有的则不可以,这是在工具安装时需要考虑的。
  • 报告格式:是指检测结果所提供的展现形式,一般有HTML、Word、PDF、Excel格式等。
  • 报告内容:是指是否支持根据不同的漏洞等级或检测规则导出不同的报告结果数据。
  • 性价比或购买方式:是指付款和使用方式,比如同样的费用下使用期限是多久、维保多久、是否支持API调用、是否可以支持同时多个用户并发等。


从目前的静态检测实践来看,大多数企业在使用两种或两种以上的静态检测工具做交叉检测,以减低漏报率。

相关文章
|
10天前
|
Java API Maven
如何使用Java开发抖音API接口?
在数字化时代,社交媒体平台如抖音成为生活的重要部分。本文详细介绍了如何用Java开发抖音API接口,从创建开发者账号、申请API权限、准备开发环境,到编写代码、测试运行及注意事项,全面覆盖了整个开发流程。
53 10
|
11天前
|
API 开发工具 数据库
开发一份API接口,需要注意这些,看你做到了几项
本文介绍了设计API接口时需注意的关键点,包括数字签名、敏感数据加密与脱敏、限流、参数校验、统一返回与异常处理、请求日志记录、幂等设计、数据量限制、异步处理、参数定义、完整文档及开发者对接SDK等内容,旨在帮助开发者设计出安全、稳定、易维护的API接口。
65 6
开发一份API接口,需要注意这些,看你做到了几项
|
8天前
|
缓存 前端开发 API
深入浅出:后端开发中的RESTful API设计原则
【10月更文挑战第43天】在数字化浪潮中,后端开发如同搭建梦想的脚手架,而RESTful API则是连接梦想与现实的桥梁。本文将带你领略API设计的哲学之美,探索如何通过简洁明了的设计,提升开发效率与用户体验。从资源定位到接口约束,从状态转换到性能优化,我们将一步步构建高效、易用、可维护的后端服务。无论你是初涉后端的新手,还是寻求进阶的开发者,这篇文章都将为你的开发之路提供指引。让我们一起走进RESTful API的世界,解锁后端开发的新篇章。
|
11天前
|
JSON API 数据格式
如何使用Python开发1688商品详情API接口?
本文介绍了如何使用Python开发1688商品详情API接口,获取商品的标题、价格、销量和评价等详细信息。主要内容包括注册1688开放平台账号、安装必要Python模块、了解API接口、生成签名、编写Python代码、解析返回数据以及错误处理和日志记录。通过这些步骤,开发者可以轻松地集成1688商品数据到自己的应用中。
26 1
|
8天前
|
Web App开发 人工智能 自然语言处理
WebChat:开源的网页内容增强问答 AI 助手,基于 Chrome 扩展的最佳实践开发,支持自定义 API 和本地大模型
WebChat 是一个基于 Chrome 扩展开发的 AI 助手,能够帮助用户理解和分析当前网页的内容,支持自定义 API 和本地大模型。
33 0
|
9天前
|
数据采集 自然语言处理 搜索推荐
淘宝评价API接口的开发与应用
在数字化商业时代,数据成为企业提升竞争力的关键资源。淘宝作为电商巨头,其商品评论数据极具价值。本文详细介绍了淘宝评价API接口的开发流程与应用场景,从注册账号、获取密钥到实际调用和数据解析,再到商品分析、店铺管理、个性化推荐等多个方面,全面解析了技术细节与实践方法,为企业和开发者提供了宝贵的技术支持和数据资源。
52 0
|
13天前
|
缓存 前端开发 API
探索后端开发中的API设计原则
【10月更文挑战第37天】本文旨在引导读者理解API设计的核心理念,通过简明的语言和直观的示例,揭示如何构建高效、稳定且易于维护的后端接口。我们将深入浅出地探讨RESTful API的设计规范,并通过一个简易的代码样例,展示如何在实战中应用这些原则。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的参考和启示。
|
12天前
|
JSON API 数据格式
淘宝 / 天猫官方商品 / 订单订单 API 接口丨商品上传接口对接步骤
要对接淘宝/天猫官方商品或订单API,需先注册淘宝开放平台账号,创建应用获取App Key和App Secret。之后,详细阅读API文档,了解接口功能及权限要求,编写认证、构建请求、发送请求和处理响应的代码。最后,在沙箱环境中测试与调试,确保API调用的正确性和稳定性。
|
24天前
|
供应链 数据挖掘 API
电商API接口介绍——sku接口概述
商品SKU(Stock Keeping Unit)接口是电商API接口中的一种,专门用于获取商品的SKU信息。SKU是库存量单位,用于区分同一商品的不同规格、颜色、尺寸等属性。通过商品SKU接口,开发者可以获取商品的SKU列表、SKU属性、库存数量等详细信息。
|
25天前
|
JSON API 数据格式
店铺所有商品列表接口json数据格式示例(API接口)
当然,以下是一个示例的JSON数据格式,用于表示一个店铺所有商品列表的API接口响应
下一篇
无影云桌面