(我国计算机国际出书服务公司出品)专家们介绍了软件开发团队怎么“将安全左移”(即在开发的前期阶段就重视安全),并改进运用开源组件、办理代码、布置服务和处理数据等方面的办理作业。首席信息官及其IT部分面对来自事务部分的巨大压力,需求更新改造应用程序、改进客户体会、将应用程序迁移到云端,以及完结作业流程…
专家们介绍了软件开发团队怎么“将安全左移”(即在开发的前期阶段就重视安全),并改进运用开源组件、办理代码、布置服务和处理数据等方面的办理作业。
首席信息官及其IT部分面对来自事务部分的巨大压力,需求更新改造应用程序、改进客户体会、将应用程序迁移到云端,以及完结作业流程自动化。灵敏开发和开发运维(DevOps)包含相应的文明、实践、东西和自动化,它们使软件开发团队能够完结这些方针,并交给事务价值,具有更高的质量和更快的发布周期。
最先进的开发团队选用彻底自动化的继续集成和继续交给(CI/CD)管道,具有集成的测验自动化功用,并以根底架构即代码这种办法进行布置。它们将改变办理和事情办理作业流程与灵敏开发东西联络在一同,并运用人工智能运维(AIops)渠道更快速地找到出产环境中实践问题的根本原因。
可是,软件开发中的安全问题仍然存在。职业剖析公司ESG的《现代应用程序开发安全》陈述显现,只要36%的受访者将其应用程序安全项目评为9分或10分,而66%的受访者标明应用程序安全东西维护的代码库不到75%,48%的受访者供认常常将易受进犯的代码推送到出产环境。
存在这些安全缺点,倒不是由于缺少技能、咨询或安全服务供给商。《2020年网络安全年鉴》列有3500多个潜在的安全合作伙伴。终究,要在尽量削减软件开发中安全危险的一同供给事务价值,关键在于清晰界说安全准则,并将这些准则奉告软件开发团队。
企业安排将安全放在首位,许多安排也确实遵从灵敏和开发运维中的最佳安全实践。可是与开发团队的人数比较,信息安全团队常常人手不足,不难看出事务和技能债款方面的其他优先事项占了灵敏团队待完结作业的大部分,以及为什么整个安排没有共同选用安全实践。
ESG的研究陈述支撑这一定论。尽管78%的受访者标明他们的安全剖析员直接与开发人员互动,但只要31%的受访者逐一检查功用和代码。这个距离相当大,大多数企业安排不太或许延聘足够多的安全专家,并将他们长时间分配给灵敏开发团队。可是许多企业安排能够做下列这些事:
要求信息安全团队在Atlassian Confluence或Microsoft Teams等东西中记载安全检验规范,并要求灵敏团队在用户故事中说到这些规范。
规范灵敏规划和发布办理方面的协作,以便信息安全团队能够在开发进程的前期符号高危险功用和用户故事。
记载并发布迭代开发周期(sprint)评定成果,以便信息安全团队能够看到更多的评定成果,并符号有危险的施行。
要求一切新开发的API、微服务、集成机制和应用程序在CI/CD管道中履行所需的安全测验。
界说准则、保证跨团队协作、改进文明和增进团队幸福感,这些或许是首席信息官有助于改进软件安全的几种最重要的办法。2020年的《开发安全运维(DevSecOps)社区查询》发现,心情舒畅的开发人员重视安全的或许性高出3.6倍。
软件开发团队热爱编写和开发处理方案,企业安排需求他们的才干、立异和技能身手,以应对急迫的事务应战。但有时分,实践需求也会让开发团队堕入不断处理扎手的技能应战和施行办法中,而这些原本是能够从第三方取得的。
低代码和无代码有时或许意味着更安全的处理方案,这至少有两个原因:首要,灵敏产品的一切者并不总是了解其首要功用的安全隐患。其次,许多人在未规矩处理方案要素的情况下企图清晰表达需求,这有时会导致团队施行的代码密集型处理方案带来安全危险。
灵敏开发团队应从向产品一切者问询功用优先事项方面的问题下手,并协商规模和需求。防止遭到质疑的一种做法是,严厉依照规范编写用户故事,并进行评价,以便杂乱情况能在编程开端之前露出出来。
一旦团队就优先事项和功用规模达到共同,开发团队应考虑施行时详细在哪些地方运用第三方技能。审阅目标应包含低代码/无代码渠道、开源代码库、商业结构、公共云服务和软件即服务东西。
你是否传闻过开发运维团队为何最有才能挑选自己的东西?这是高档开发运维团队常常提及的一个观念,我也传闻过好几本倡议这个准则的闻名的开发运维书本。
可是,许多首席信息官、IT担任人和首席信息安全官正告不要让开发运维团队全权决议东西和组件方面的挑选。与此一同,大多数担任人也供认,过多的约束和杂乱的批阅流程会阻挠立异,并让才华横溢的开发人员较为懊丧。首席信息官、IT担任人和首席信息安全官有必要环绕技能挑选、晋级和补丁,确认条理清晰、易于恪守的规矩和正确的办理。
最近的查询成果标明晰危险。有公司对1500名IT专业人员就开发安全运维和开源代码办理进行了查询,成果发现,只要72%的企业宣称具有开源代码运用方面的方针,只要64%的企业宣称设有开源办理委员会。而这仅仅问题的冰山一角,由于只要16%的受访者以为,一旦发现某个高危的开源缝隙,自己有才能修正缝隙。
考虑到与开源组件有关的泄密事情数量很多,上述成果令人担忧。在2020年的《开发安全运维社区查询》中,21%的受访者供认遇到过与开源组件有关的泄密事情。这不仅仅是开源问题,由于任何商业体系也或许存在API安全缝隙或其他软件组件缝隙。
要缓解危险,就需求在开源代码的运用、东西挑选和技能生命周期等方面拟定清晰界说的方针、办理和办理实践。可是企业安排在最佳实践上有所不同。有些企业依靠更敞开的程序,而另一些企业则依靠更低的危险容忍度和更严厉的程序。为了在安全与立异之间达到两者统筹的方针,首席信息官应建立一个跨部分团队,以确认办理程序、实践规范、东西和衡量目标。
具有将开发者功用与安全最佳实践相集成的东西,能够缓解挑选开源组件的一些应战。Quick Base公司的首席产品和技能官Jay Jamison介绍了该公司在用开源进行立异这方面的做法:
“咱们很早就选用了GitHub Advanced Security,有了该产品,可比较容易地揪出GitHub渠道上办理的开源项目中的缝隙。这是让安全更早地进入软件开发生命周期(或用开发人员的术语来说便是左移)的重要一步。”
怎么保证内部软件的安全?之前的办法是:严加维护版别操控存储库、扫描代码以查找缝隙、界说最小权限以便于布置、加密衔接以及履行浸透测验。严加维护网络和根底架构是个全然不同的安全领域,牵涉IT运维部分办理的独自东西和准则。
现在有了更多的危险和更多的东西,但也有了更好的集成机制。我与Cherwell工程副总裁Josh Mason谈过Cherwell保证代码安全的做法。他说:“咱们Cherwell增加了自动静态剖析安全测验(SAST)、动态应用程序安全测验以及人工完结的浸透测验,这往往能够共同进步出产力。将SAST作为CI/CD管道的一部分来施行,使缝隙发现进程在软件开发生命周期中进一步左移,因此能够更快速、更省钱地处理问题。”
Mason还主张严加保管版别操控存储库。“遵从零信赖模型和最小特权准则的辅导是一种杰出的做法,约束了对源代码操控存储库及其功用的拜访。源代码操控存储库处理方案(比方Azure DevOps、GitHub和Bitbucket等)供给了细粒度的用户权限,从而将开发人员(或整个开发团队)约束在与他们的作业有关的一小部分代码库。”
戴尔科技旗下Boomi的工程主管Rajesh Raheja主张遵从几个安全准则,开发团队应肩负起职责。“假如软件开发不妥,与单个体系遭到进犯比较,大规模环境下的安全危险会大幅扩大。要想缓解危险,就有必要保证CI/CD管道安全,以最小特权准则严加维护体系,凭借多因子身份验证为自动化施行安全变通办法,进步团队成员的安全意识,并拟定安全编程实践。”
尽管许多开发运维团队通晓开发、测验和布置应用程序方面的安全实践,但他们还有必要增加数据办理和数据运维方面的安全实践。
DataKitchen首席履行官Chris Bergh解说了该问题以及更多的数据运维安全完结自动化的办法。“数据隐私和安全方面的应战阻挠公司运用其数据取得竞赛优势。手动流程无法处理这个问题——太多的数据太快速地流入,来不及处理。数据安全运维(Datasecops)是一套使数据隐私和安全完结自动化的办法,它将隐私、安全和办理集成到与数据剖析开发、布置和运维一同履行的自动化作业流程中。”
首席信息官和IT担任人在数据运维方面遇到的首要应战是,选用自动的数据办理、符号敏感数据,以及对开发人员和数据科学家进行可接受的数据实践方面的教育。会集身份办理、界说根据人物的授权以及掩藏开发环境中的敏感数据,这些是保证数据安全和数据隐私的重要做法。
办理敏感数据超出了数据安全的领域。比方说,许多公司(尤其是受监管职业的那些公司)有必要记载数据沿用(data lineage),标明谁改变了数据、何时更改、在何处更改以及怎么更改。这些公司常常运用具有内置数据沿用功用的数据集成和数据办理渠道。
我办理危险和安全的办法向来是听取不同专家的主张。安全要挟的程度和杂乱性在日积月累,大多数企业安排不太或许具有一切必需的专业知识。此外,真呈现安全问题时,能够向一群人请教怎么下降危险、处理问题、搜集取证剖析成果以及堵住缝隙,关于尽量减小影响至关重要。
尽管许多东西和实践协助首席信息官处理当下的问题,但咱们仍需求专家来应对下一批安全应战。