可编程电子安全相关系统

就像近年来的情况一样,安全漏洞已越来越被接受。 仅以最近的Equifax违规为例。 无论我们在哪里看,似乎总有人会遭受某种形式的恶意攻击或其他形式的攻击。

尽管我们最近想到了最近的漏洞,但我还是想花一点时间来概述有关软件开发的安全生态系统。 我将从建设性和积极的角度介绍您可以做的一些关键事情,以提高您的应用程序的安全性,以应对安全漏洞。

为此,我将研究四个关键领域。 他们将主要讨论具体的技术步骤。 但是,他们还将讨论员工和用户的心态。 这四个都不是详尽无遗的,因为我试图在向所有人开放的可能性中进行广泛的交流,同时要记住每个人的情况都不同。 这样,让我们​​开始吧。

了解OWASP Top 10

开发越来越安全的软件的重要工具之一是紧跟OWASP Top 10 。

如果您不熟悉它,它将是不断更新的影响软件应用程序的十大最严重漏洞的列表。 该列表是根据对各种软件语言,行业和国家/地区的研究得出的。

当前列表包括您可能期望的攻击媒介,例如注入攻击破坏的身份验证会话管理不当跨站点脚本(XSS)攻击破坏的访问控制 。 但是它还包括一些您可能不会想到的数字,包括安全性配置错误API保护不足 (这是2017年的新增功能)。

每个漏洞都会得到详细记录,以及如何确定遭受威胁的程度以及可以采取哪些措施来防御威胁。 我强烈鼓励所有开发人员,无论他们的技术水平和经验水平如何,都必须了解OWASP Top 10并保持最新状态。

执行安全审核

下一步是考虑将软件安全审核作为您的持续开发(CD)流程的一部分。

安全审核评估和评估应用程序是否准备好应对安全威胁,例如OWASP Top 10中的威胁。但是,它们还包括与员工交谈,查看访问控制配置以及评估对系统的物理访问。

其中一些步骤可以自动化,例如安全扫描。 但是,其中一些必须手动执行,例如与员工交谈。 无论如何,通过执行全面的安全审核,您将拥有一个基准,可以从该基准中制定一个行动计划,以不断提高应用程序的质量。

在本节中,我将重点介绍安全扫描。 有开放源代码和封闭源代码选项。 我更熟悉的一个很好的例子是RIPS(Re-Inforce PHP Security) 。

RIPS可以自动检测基于PHP的软件中的安全漏洞,并可以基于行业标准列表(包括OWASP Top 10, CWE , SANS 25和PCI-DSS)检测漏洞。

这样的工具可以:

  • 集成到现有的软件开发管道中,能够在每次代码更改时运行
  • 帮助优先处理错误
  • 帮助开发人员了解错误的来源
  • 协助改善整体质量标准

您可以在“相关链接”部分中找到一系列安全扫描器。

注册免费的Codeship帐户

限制信息访问

尽管我们可以验证和清理输入,执行安全审核并考虑代码复杂性,但是确保流程用户程序只能访问其应有的内容也很重要。

接下来,让我们看看控制应用程序中的信息访问或实现最低特权原则 。 应用时,该原则可确保

每个模块(例如进程,用户或程序,取决于主题)都只能访问合法目的所必需的信息和资源。

以患者医疗服务为例。 如果所述服务在给定时间段内准确显示用户的病历,但不检查所请求的记录是否属于当前登录的用户,则任何患者都可以看到任何其他人的记录。 这种情况是一场灾难,正等着发生。

但是,在大多数语言中,实现这种控件并不是那么困难。 大多数语言的软件包都实现了两个主要的信息访问限制标准:访问控制列表(ACL)和基于角色的访问控制(RBAC)机制。

如果您不熟悉其中之一,请快速浏览一下。 ACL

指定授予哪些用户或系统进程访问对象的权限,以及对给定对象允许的操作。

而RBAC :

是一种将系统访问权限限制为授权用户的方法。 它[RBAC]是围绕角色和特权定义的与策略无关的访问控制机制。 RBAC的组件(例如角色权限,用户角色和角色角色关系)使执行用户分配变得很简单。

深入探讨都不是本文的讨论范围。 但是,我提供了有关这两个标准的进一步文档以及它们的语言实现的链接。

了解您的代码的更广泛的生态系统

除了查看代码外,我们还需要考虑代码所在的环境以及与其交互的其他服务。

几年前,作为软件开发人员,当我表示有兴趣获得LPI认证时,我在老板(一位资深UNIX / Linux系统管理员)中的地位得到了很大提高。

如果您不熟悉它,则LPI认证是围绕Linux操作系统的一系列认证。 但是,还有许多其他选择,例如RHCE和Microsoft相关的认证 。

个人认证不是特别重要。 对我的老板而言,重要的是,我渴望了解代码在其中运行的更大的生态系统-当时非常缺乏这种质量。

通过这样做,他建议,我将以一种全新的方式查看我正在编写的代码。 与其孤立地看待它,不认为我的职责范围止于代码的边缘,我会考虑我更全面地写的内容的含义。

他是正确的。 通过这样做,我们在本文开头考虑的OWASP Top 10具有更多意义。 一个简单的例子是更好地了解SQL注入攻击对您正在使用的数据库的影响,以及可以采取哪些措施来限制其影响。

因此,鼓励您的开发人员了解整个生态系统或工具链。 您正在使用什么版本,以及正在使用的每个服务的弱点和已知的安全漏洞是什么? 需要采用什么解决方法? 有没有可以利用的,没有那么严重或没有那么多漏洞的替代选项?

鼓励安全意识

既然我们已经通过一系列技术,定量方法涵盖了安全软件开发生态系统,那么我想以方程式中更人性化的角度作为结束。

特别是,我鼓励您在组织内部以及客户和用户之间建立一种安全的软件开发思想。

这样做的动机是鼓励开发人员将安全意识作为其软件开发技能的基本方面。 这样,他们将在编写软件时不断寻找安全漏洞。 通过在用户中进行培养,您将帮助他们避免成为攻击的受害者。

安全专家布鲁斯·施耐尔(Bruce Schneier) 在有关该主题的帖子中说得最好 :

如果更多的人有安全意识,危害隐私的服务就不会有如此可观的市场份额。 笔记本电脑不会丢失数百万个未加密的社会安全号码,并且我们所有人都会通过辛苦的方式学到更少的安全课程。

但是,虽然很容易谈论,但是却不那么容易教。 但是,有些课程可以教授安全思想。 如果您渴望今天开始,这里是布鲁斯的最终建议:

任何人都可以通过尝试从攻击者的角度看世界来行使其安全思想。 如果我想逃避此特定的安全设备,该怎么办? 我能遵循这部法律的文字,但能绕开精神吗? 如果撰写此广告,文章,文章或电视纪录片的人是不道德的,[他们]能做什么? 然后我如何保护自己免受这些攻击?

结论

现在,我们已经考虑了当前安全软件开发生态系统的四个主要方面。 这四个方面涵盖了技术方面以及人的方面。

通过对这四个领域的讨论,我希望您现在处于一个更好的位置,以学习如何准备基于CWE和SANS 25等标准的应用程序,以及从整体角度看待安全性。

这个话题太多了,以至于一篇文章永远都不可能完整地讨论它。 但是,我希望这只是软件安全之旅的开始,这有助于我们双方为应对当前和未来的安全威胁做好更好的准备。

链接

  • Web应用安全
  • 什么是好的安全审核?
  • 刹车安全扫描器(Ruby on Rails)
  • BenchIT安全扫描器(Python)
  • 如何在Go中安全编码
  • 静态分析工具和代码质量检查器的集合
  • GAS – Go AST扫描仪
  • 安全策略
  • 安全心态(安全技术)
  • 在Zend框架中实施RBAC

翻译自: https://www.javacodegeeks.com/2017/10/overview-security-ecosystem-programming.html

可编程电子安全相关系统

可编程电子安全相关系统_编程中的安全生态系统概述相关推荐

  1. linuxmint安装开发工具_vscode如何安装在Linuxmint系统_编程开发工具

    vscode怎么退出当前终端_编程开发工具 vscode退出当前终端的方法:1.使用"Ctrl+C"快捷键停止node环境终端.2.使用"exit"命令停止ss ...

  2. 停简单电子优惠系统_宝马320车辆停在某地遥控上锁过一段时间车身会突然报警案例...

    车型:E90. 故障现象:客户反映最近车辆停在某地遥控上锁过一段时间后车身会突然报警. 故障诊断:客户所说的遥控上锁,可以简单地理解为车辆进入保险锁死的状态. 在车辆处于保险锁死的状态下哪些部件(传感 ...

  3. python编程狮苹果系统_Python编程狮app下载-Python编程狮苹果版v1.0

    Python编程语言现在越来越流行了,在编程语言中的地位也越来越重要了,今天小编就把推荐给大家这个软件可以帮助大家去很好的学习Python编程语言,这个软件轻松的将用户领进们,让大家可以体验到Pyth ...

  4. 少儿编程 电子学会图形化编程等级考试Scratch三级真题解析(选择题)2021-12

    一.选择题(共25题,每题2分,共50分) 1.执行下列程序,屏幕上可以看到几只小猫? A.1 B.3 C.4 D.0 答案:B 考点分析:考查积木综合使用,重点考查图章积木和隐藏积木的使用,小朋友在 ...

  5. 编程猫python怎么样_编程猫怎么样?没学过编程的家长如何给孩子选课?一张图讲清楚...

    前不久鱼sir被一位家长问到:这么小的孩子真的有必要学编程课吗? 其实,鱼sir认为,学习Python语言一定程度上确实能够提升孩子的逻辑思维能力,还能让孩子从一个个编程作品中享受到乐趣. 但编程课也 ...

  6. python编程狮苹果系统_Python编程狮 v1.2.2 苹果IOS版

    软件介绍 Python编程狮是一款专门为零基础编程爱好者打造的一款Pyt8 m V R H % r S Lhon入门工具App,致力于帮助初学者入门,轻松迈入编程世界.学Python编程,从这里开始! ...

  7. 女编程员的生涯_编程生涯中他们从没告诉过你的7件事

    女编程员的生涯 Software education is going through intense democratization via internet, especially amid pa ...

  8. 编程基础 垃圾回收_编程中的垃圾回收指南

    编程基础 垃圾回收 什么是垃圾回收? (What is Garbage Collection?) In general layman's terms, Garbage collection (GC) ...

  9. python编程超市购物系统_淘淘购物系统 (Python)

    #首页 def tao_first(): t1 = '欢迎进入淘淘购物'.center(110) print(t1) print('~' * 130) t2 = '注册'.center(20) pri ...

最新文章

  1. linux文件系统dentry_NFS 文件系统源代码剖析
  2. 以图搜图Python实现Hash算法
  3. chrome使用 postwoman_Postman的情敌,Postwoman了解一下
  4. ${oid?c}的使用
  5. RabbitMQ的基本概念
  6. python中的对象_Python中的变量、对象
  7. ECS Linux 服务器解除ssh登陆后被锁定或暂停输入输出的终端
  8. 不起眼的vim.转自https://blog.csdn.net/iplayvs2008/article/details/51508599
  9. CuteFtpnbsp;Pro之站点导入导出
  10. ThinkPad S2 安装deepin系统,安装rtl8821ce无线网卡驱动,适合deepin/ubuntu
  11. 油管机器学习基础 学习笔记
  12. stm32打怪升级之再见闪烁灯
  13. 金庸小说中的农业漏洞[ZT]
  14. 细说Dev c++的使用方法及常见问题
  15. 入手评测 i3 12100F 和 i5 12400F选哪个
  16. [学习SLAM]VINS中IMU预积分的误差推到公式与代码雅克比(协防差/信息矩阵)构建
  17. 电脑无线网卡连接的无线信号不好的,经常丢包,掉线断网如何优化解决
  18. 全球及中国私人银行产业投资趋势及渠道价值展望分析报告2021-2027年
  19. Windows 7 下安装VB6.0出现错误的解决办法
  20. 第一次组装电脑,记录下。

热门文章

  1. bezier曲面制作_Unity渲染——Bezier曲线(曲面)实现
  2. Tapd需求或BUG 关联gitlib提交
  3. 一文读懂,网联和银联的区别
  4. 零时科技 || Victor the Fortune攻击事件分析
  5. nestloop系列
  6. 递归的选择排序(C语言)
  7. 10个针对开发者的实用CSS工具
  8. arch linux设置固定ip,Archlinux设置静态固定IP
  9. 前端模拟接口工具推荐——Apifox(mock数据)【图解教程】
  10. c语言 strncmp,用C语言实现strncmp函数