轻量级前端框架助力开发者提升项目效率与性能
912
2023-02-23
本文目录一览:
移动应用开发给企业带来移动应用安全开发了全新的问题,特别是在软件安全领域。通常应用商店的开发人员可能会担心代码被盗,然后被反向编译。这对于花费大量时间和资源创建出应用的个人开发人员或者小型团队而言无疑是灭顶之灾。但是最终分析表明,通常应用本身只能带来数千美元的利润,即使有什么问题带来的损失也不是很大。相比较而言,不安全的应用对于企业级公司而言,可能会造成的敏感信息丢失,资产的被盗或者客户个人和财务数据信息的泄露,这些所导致的损失则会达到百万甚至数十亿美元。不幸的是,很多企业刚刚第一次尝试构建移动应用——移动应用安全开发他们可能还没有意识到这么小的应用程序上的错误可能会导致的严重后果。
预计到2017年,75%的移动安全漏洞将是移动应用程序错误配置的结果。与此同时,端点数据泄漏事故的重点将转移到平板电脑和智能手机,出售给消费者的移动设备数量仍然在持续上升,在2014年有近22亿台平板电脑和智能手机出售给用户。
应用程序水平的错误配置和滥用是移动设备安全泄漏事故的主要原因,而不是因为对移动设备的技术攻击,错误配置的典型例子是通过智能手机和平板电脑上的应用程序滥用个人云服务。当用来传输企业数据时,这些应用程序会导致数据泄漏。 不要在应用程序上存储密码。从一开始,就应该将其设计为不能存储密码的应用程序。当使用桌面应用程序时,用户可以存储密码,来提高今后登陆的速度。但是对于移动应用程序来说,这种做法是不合理的。
在传输中加密数据。匆匆交付移动应用程序后,开发人员发现他们犯了与早期Web应用程序开发过程中相同的错误。
进行源代码评审。如果将应用程序安全性测试外包给其他公司,那么外包公司必须要提供源代码,因此,该外部公司才能解决应用程序安全性这一特定问题。如果你没有那样做,当然安全测试可以照旧进行,但是它包含逆向工程和黑盒测试,也就是所谓的动态测试
监听移动应用程序和Web服务器之间的流量。允许查看网络流量的工具对移动应用程序安全性才有价值。手动分析流量,并且寻找可以被操纵的方法调用。
在移动设备上尽量少存储数据。
包含敏感的企业数据。将敏感的企业数据-到移动应用独立的存储空间中有助于确保移动应用程序的安全性。应用程序中企业数据要比其他数据更具敏感性。 1. 对目标移动平台最好能了若指掌
就移动应用而言,在其目标平台上拥有安全功能非常重要,iOS、Android、BlackBerry、WP等各个平台均拥有其独特的API和安全特性,也正因如此,开发者首先必须对目标平台的安全特性进行了解,是否需要兼容安全架构,平台之间是否存在冲突,是否需要采取额外的功能措施等等。
2. 购买安全/验证码
为应用购买安全码不仅能节省大量的开发时间,还能为自己的应用提供最好的安全保证。当然,这并不能说就是固若金汤,购买源码也有许多需要注意的地方。在互联网中,源码交易市场众多,开发者必须从中挑选出值得信赖的源码平台,并对其安全性进行彻底的检查,是否经过许可和验证。另外,交叉检验也同样重要,安全码能够让你事半功倍,但稍有不慎,便会得不偿失。
3.数据安全和存储
智能手机及移动应用正在被广泛用于存储用户敏感数据和信息,是以,数据存储及其安全性也成为了开发工作的重中之重,此外,终端用户能否访问结构数据注册表,以及数据库所托管的服务器是否安全也非常重要。数据安全缺乏保障会为用户带来巨大的损失甚至伤害,而开发者也势必会遭到口诛笔伐,应用需要确保用户不想被别人知道的数据能够不泄露或立即被删除,并且还能拥有足够的空间来实现更快的处理和进一步存储。
4. 加密
现代数据库都具备限制公共访问权限的功能,加密可以极大地提高数据库的保密系数,并降低数据泄露的风险。大多数企业都会优先选择加密数据库来存储他们的信息,虽然移动平台越来越广泛地被运用到购物、网银等日常事务中,但加密服务在一定程度上能够让黑客无计可施,在这个世界上,数据泄露与否并不是一道选择题,用户拥有隐私权,而开发者则需要确保他们的应用支持加密存储。
5. 定期的安全更新
经常地为应用添加一些新的安全功能也是保护应用安全的一大举措,大部分应用都会进行定期的安全更新和Bug修复,而在应用发布之后,便对其安全功能进行更新,则能够很好地帮助开发者提高应用的安全性。
保证移动应用安全要点移动应用安全开发:
设置环境及生物传感器
在设备中(如视频/静态图像捕捉移动应用安全开发,地理定位,语音,移动,指纹或虹膜扫描,定向,室温,湿度等。)移动应用安全开发的配备应遵守相关部门数据采集规定,其使用应受移动设备选择性管理
设备访问管理
设置有效验证来保护对设备的物理访问安全,如密码策略,模式识别,生物识别扫描,声音或面部识别等。
内容管理/数据丢失防护
软件在设备数据储存中运用加密,剪切粘贴限制以及通过网页过滤进行网页访问管理等来限制恶意或疏忽导致的被保护内容泄露。
用户身份鉴别
确认用户身份与企业目录服务描述一致,才会准许访问被保护数据或软件。
基本移动应用安全生态系统:
注意:现在市面上所有电子产品都将注意力集中在安卓平台,相反iOS系统到目前为止相对安全。
将安全融入开发过程,更早捕获并修复应用漏洞,你需要这五类共28款DevSecOps工具。
DevSecOps 是将安全集成到整个应用开发周期的过程,是从内到外强化应用,使其能够抵御各种潜在威胁的理想方式。因为很多公司企业不断开发应用以满足客户和商业合作伙伴的需求,DevSecOps的吸引力也与日俱增。
敏捷开发方法与DevOps操作帮助公司企业达成持续开发的目标。云原生应用架构也成为了DevSecOps运动的有力贡献者,推动采用公共云提供商、容器技术和容器平台为应用提供计算能力。DevSecOps将安全过程与工具集成进工作流并加以自动化,摆脱了传统方法按时间点进行的潜在干扰,是个无缝且持续的过程。
咨询公司 Data Bridge Market Research 称,鉴于网络安全威胁数量与危害性的持续上升,全球DevSecOps市场预计将从2018年的14.7亿美元增长至2026年的136.3亿美元。
市场繁荣之下,DevSecOps工具必将呈现百花齐放百家争鸣的局面。下面就按核心门类为您呈上多款优秀DevSecOps工具。
开发应用的时候很容易忽略掉安全漏洞。下面的工具为开发人员提供了潜在安全异常及缺陷的警报功能,可供开发人员及时调查并修复这些漏洞,不至于走得太远回不了头。有些工具专用于警报功能,比如开源的Alerta 。其他工具则兼具测试等别的功能,比如 Contrast Assess。
1. Alerta
(https://alerta.io/)
该开源工具可将多个来源的信息整合去重,提供快速可视化功能。Alerta与Prometheus、Riemann、Nagios、Cloudwatch及其他监视/管理服务集成,开发人员可通过API按需定制Alerta。
2. Contrast Assess
(https://www.contrastsecurity.com/interactive-application-security-testing-iast)
作为一款互动应用安全测试(IAST)工具,Contrast Assess 与用户应用集成,在后台持续监视代码,并在发现安全漏洞时发出警报。据称即便是非安全开发人员也可使用 Contrast Assess 自行识别并修复漏洞。
3. Contrast Protect
(https://www.contrastsecurity.com/runtime-application-self-protection-rasp)
该运行时应用自保护(RASP)工具采用了 Contrast Assess 同款嵌入式代理。Contrast Protect 在生产环境中查找漏洞利用程序和未知威胁,并将结果提交给安全信息及事件管理(SIEM)控制台、防火墙或其他安全工具。
4. ElastAlert
(https://elastalert.readthedocs.io/en/latest/)
ElastAlert提供近实时接收警报的框架,可接收来自Elasticsearch数据的安全异常、流量激增及其他模式。ElastAlert查询Elasticsearch并根据一系列规则比较这些数据。一旦出现匹配,ElastAlert便发出警报并随附建议动作。
大多数DevSecOps工具都提供一定程度的自动化。此类工具自动扫描、发现并修复安全缺陷,只是自动化程度各有不同,从条件式事件驱动的自动化到运用深度学习技术的自动化都有。
1. CodeAI
(http://www.qbitlogic.com/codeai/)
旨在通过深度学习技术自动查找并修复源代码中的安全漏洞,号称可为开发人员提供可供参考的解决方案列表,而不仅仅是安全问题列表。其供应商QbitLogic宣称,已为CodeAI馈送了数百万个现实世界漏洞修复样本供训练。
2. Parasoft tool suite
(https://www.parasoft.com/)
Parasoft提供包括应用开发安全测试在内的多种自动化工具:
1)Parasoft C/C++test
(https://www.parasoft.com/products/ctest)
用于开发过程早期缺陷识别;
2)Parasoft Insure++
(https://www.parasoft.com/products/insure)
可以查找不规范编程及内存访问错误;
3)Parasoft Jtest
(https://www.parasoft.com/products/jtest)
用于Java软件开发测试;
4) Parasoft dotTEST
(https://www.parasoft.com/products/jtest)
以深度静态分析和高级覆盖作为 Visual Studio 工具的补充。
3. Red Hat Ansible Automation
(https://www.redhat.com/en/technologies/management/ansible)
该工具包含三个模块——Ansible Tower、Ansible Engine 和 Red Hat Ansible Network Automation,可作为无代理IT自动化技术单独或联合使用。尽管不是专门的安全工具,Ansible Automation 却可供用户定义规则以确定自身软件开发项目中哪些部分是安全的。
4. StackStorm
(https://stackstorm.com)
该开源工具号称“可进行条件式运营”,其事件驱动的自动化能在检测到安全漏洞时提供脚本化的修复与响应,并附有持续部署、ChatOps优化等功能。
5. Veracode
(https://www.veracode.com/devsecops)
该公司提供DevSecOps环境中广泛使用的一系列自动化安全工具,包括在代码编写时即时自动扫描的Greenlight;在沙箱中扫描代码漏洞的 Developer Sandbox;识别漏洞组件的 Software Composition Analysis (SCA);以及识别应用缺陷的 Static Analysis。
专用DevSecOps仪表板工具可使用户在同一图形界面中查看并共享从开发伊始到运营过程中的安全信息。有些DevSecOps应用,比如ThreatModeler和Parasoft已自带仪表板。
1. Grafana
(https://grafana.com/)
该开源分析平台允许用户创建自定义仪表板,聚合所有相关数据以可视化及查询安全数据。如果不想自行构建,还可以在其网站上选用社区构建的仪表板。
2. Kibana
(https://www.elastic.co/products/kibana)
如果你使用Elasticsearch,该开源工具可在统一图形界面中集成成千上万的日志条目,包括运营数据、时间序列分析、应用监视等等。
威胁建模DevSecOps工具用以在复杂的攻击界面中识别、预测并定义威胁,以便用户可以做出主动安全决策。有些工具可根据用户提供的系统及应用信息自动构建威胁模型,并提供可视化界面以帮助安全及非安全人员 探索 威胁及其潜在影响。
1. IriusRisk
(https://continuumsecurity-/threat-modeling-tool/)
出自 Continuum Security 的解决方案,既可云部署,也可现场部署,能以基于问卷的界面自动化风险及需求分析,并设计出威胁模型和技术性安全要求。IriusRisk还可帮助用户管理代码构建及安全测试阶段。
2. ThreatModeler
(https://threatmodeler.com/)
该自动化威胁建模系统有两个版本:AppSec版和云版。在提供了用户应用或系统的功能性信息后,ThreatModeler会基于更新的威胁情报自动就整个攻击界面进行数据分析和潜在威胁识别。
3. OWASP Threat Dragon
(https://www.owasp.org/index.php/OWASP_Threat_Dragon)
一款基于Web的开源工具,提供系统图解和用于自动化威胁建模与缓解的规则引擎。Threat Dragon 承诺可与其他软件开发生命周期(SDLC)工具无缝集成,且界面易于使用。
在开发过程中测试应用以找出潜在漏洞是DevSecOps的关键部分,能够事先发现安全漏洞,避免漏洞被黑客利用。尽管其他工具往往包含了测试功能,比如Parasoft出品的那些,下列工具仍然在应用安全测试上表现强劲。
1. BDD-Security
(https://continuumsecurity-/bdd-security/)
该出自 Continuum Security 的开源框架可使安全人员在敏捷开发过程中测试行为驱动开发(BDD)语言编写的功能及非功能性安全场景。此BDD框架旨在使安全功能独立于应用特定的导航逻辑,让同样的安全要求能够更容易地应用到多个应用程序上。
2. Checkmarx CxSAST
(https://www.checkmarx.com/products/static-application-security-testing/)
可对25种编程及脚本语言进行未编译/未构建源代码扫描的静态应用安全测试(SAST)工具,能在SDLC早期发现成百上千种安全漏洞。CxSAST兼容所有集成开发环境(IDE),是Checkmarx软件暴露平台的一部分——该平台可在DevOps所有阶段植入安全。Checkmarx的交互式应用安全测试(IAST)工具可检测运行中应用的安全漏洞。
3. Chef InSpec
(https://github.com/inspec/inspec)
整个开发过程中的每一阶段都可以运用该开源工具自动化安全测试以确保针对传统服务器及容器和云API的合规、安全及其他政策要求。
4. Fortify
(https://www.microfocus.com/en-us/solutions/application-security)
Micro Focus 出品,提供端到端应用安全,可供进行覆盖整个软件开发生命周期的现场及按需测试。Fortify on Demand 是 Micro Focus 的应用安全即服务产品,提供静态、动态和移动应用安全测试,以及生产环境中Web应用的持续监视。
5. Gauntlt
(http://gauntlt.org/)
流行测试框架,旨在推动易操作的安全测试及安全、开发和运营团队间的沟通。GauntIt便于产生攻击测试用例,且能方便地钩入现有工具及进程。
6. Synopsys suite
(https://www.synopsys.com/)
Synopsys提供多个应用安全测试工具,包括:
1)SAST工具Coverity
(https://www.synopsys.com/software-integrity/security-testing/static-analysis-sast.html)
自动化测试且融入持续集成/持续交付(CI/CD)管道;
2)SCA工具 Black Duck
(https://www.synopsys.com/software-integrity/security-testing/software-composition-analysis.html)
采用容器及应用中的开源和第三方代码检测并管理安全;
3)SeekerIAST
(https://www.synopsys.com/software-integrity/security-testing/interactive-application-security-testing.html)
识别可暴露敏感数据的运行时安全漏洞;
以及一系列用于应用安全测试的托管服务。
以下DevSecOps工具同样含有上述工具提供的功能,但或多或少略有不同。
1. Aqua Security
(https://www.aquasec.com/)
在整个CI/CD管道和运行时环境中管理端到端安全,可用于所有平台和云环境的容器及云原生应用。
2. Dome9 Arc
(https://www.checkpoint.com/solutions/devops-security/)
被 Check Point 收购,提供自动化测试及安全实施,使开发人员能够将安全及合规融入公共云应用的构建、部署及运营。
3. GitLab
(https://about.gitlab.com/)
该工具可将DevSecOps架构融入CI/CD过程,在提交时测试每一块代码,使开发人员能够在编程期间缓解安全漏洞,并提供涵盖所有漏洞的仪表板。
4. Red Hat OpenShift
(https://www.redhat.com/en/technologies/cloud-computing/openshift)
为基于容器的应用提供内置安全,比如基于角色的访问控制、以安全增强的Linux(SELinux)实现隔离,以及贯穿整个容器构建过程的核查。
5. RedLock
(https://www.paloaltonetworks.com/products/secure-the-cloud/redlock/cloud-security-governance)(前身为Evident.io)
Palo Alto Networks 出品,适用于部署阶段,帮助开发人员快速发现并缓解资源配置、网络架构及用户活动中的安全威胁,尤其是在亚马逊S3存储桶和弹性块存储(EBS)卷上。
6. SD Elements
(https://www.securitycompass.com/sdelements/)
出品自 Security Compass 的自动化平台,旨在收集客户软件信息,发现威胁及对策,突出相关安全控制措施以帮助公司企业实现其安全和合规目标。
7. WhiteHat Sentinel 应用安全平台
(https://www.whitehatsec.com/products/solutions/devsecops/)
该解决方案提供贯穿整个SDLC的应用安全,适用于需将安全集成进工具中的敏捷开发团队,以及需持续测试以保证生产环境应用安全的安全团队。
8. WhiteSource
(https://www.whitesourcesoftware.com/)
用于解决开源漏洞,可集成进用户的生成过程,无论用户采用什么编程语言、生成工具或开发环境。WhiteSource使用经常更新的开源代码数据库持续检查开源组件的安全及授权。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~