网络安全
网络安全概述
网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。 网络安全从其本质上来讲就是网络上的信息安全。
从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全的研究领域。网络安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性学科。
网络安全应具有以下四个方面的特征
(1)保密性:信息不泄露给非授权用户、实体或过程,或供其利用的特性。
(2)完整性:数据未经授权不能进行改变的特性。即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性。
(3)可用性:可被授权实体访问并按需求使用的特性。即当需要时能否存取所需的信息。例如网络环境下拒绝服务、破坏网络和有关系统的正常运行等都属于对可用性的攻击;
(4)可控性:对信息的传播及内容具有控制能力。
(2)二进制方向
二进制安全是一个主要用来处理字符串操作的编程术语,是指在传输数据时,保证二进制数据的信息安全,保护数据不被篡改、破译等,如果被攻击,也能够及时检测出来,因为二进制安全包含了密码学的一些东西,比如加解密、签名等等。二进制安全方向主要涉及到漏洞挖掘、逆向工程、病毒木马分析、系统内核分析、调试与反调试等
(3)网络渗透方向
不直接破坏敌方网络硬件系统的物理性能而穿过防火墙,向敌方计算机网络发出指令配合己方的行动。学网络渗透你要了解网络硬件设备、网络通信协议、网络服务、攻击手法等,做的岗位也是十分专业的,不仅可以渗透测试、安全检测,还可以加入大规模公司的安全应急响应中心。
互联网安全防护措施
网络安全威胁造成的形式主要包含运用系统软件缺点或侧门,运用网络防火墙安全隐患,内部结构客户的泄密、泄露和毁坏,动态口令进攻和拒绝服务式攻击等。针对该网络安全威胁,现阶段的预防措施主要有五种:
1.访问控制技术:访问控制存在通信网络的每个层级中,显式的访问控制是可以直接控制主体对对象浏览,比如制订某一用户群具备浏览某一部分数据连接的管理权限。隐式的访问控制要在通讯中数据加密,一切非授权连接点与用户也不能浏览被加锁的连接点或是信息内容。
2.数据加密技术:对经过数据传输的信息进行数据加密,是维护保养信息内容安全性的重要方式。根据数据加密技术的电子签名则能够满足防赖账的需要。最典型的数据库加密方式包含对称性式密钥加密技术,如DES优化算法、IDEA优化算法,公开密钥加密算法,如RSA。网络里的数据库加密方法主要包括链接数据加密、及其端对端的数据加密。
3.身份认证技术:根据识别评定,完成一种对消费者真实身份作出判断和确定的体制,来决定客户是不是也有对的资源浏览或者使用管理权限,在其中用户可是人类、服务器、应用软件、或过程等目标。
4.防火墙技术:网络防火墙根据预定义的安全设置,对内外网间的通讯开展隔离性的访问控制,常见的技术包含包过滤,状态检测,运用网关ip等。相似的采用隔离方式的预防措施也包括防毒墙、虚拟专用网络(VPN)等。
5.入侵检测技术:用以发觉系统软件已经发生了的或者隐性的安全风险,根据系统对活动、用户行为等方面进行监管,检验违法的内部侵入、越权访问、及其内部结构客户的违法活动,入侵检测技术是现阶段用于发觉已经知道进攻和不明攻击关键方式。
网络加密方式
(1)链路加密方式
(2)节点对节点加密方式
(3)端对端加密方式
(1)源地址欺骗(Source address spoofing)或IP欺骗(IP spoofing)。
(2)源路由选择欺骗(Source Routing spoofing)。
(3)路由选择信息协议攻击(RIP Attacks)。
(4)鉴别攻击(Authentication Attacks)。
(5)TCP序列号欺骗(TCP Sequence number spoofing)。
(6)TCP序列号轰炸攻击(TCP SYN Flooding Attack),简称SYN攻击。
(7)易欺骗性(Ease of spoofing)。
(1)如何工作:TCP端口扫描器,选择TCP/IP端口和服务(比如FTP),并记录目标的回答,可收集关于目标主机的有用信息(是否可匿名登录,是否提供某种服务)。扫描器告诉我们什么:能发现目标主机的内在弱点,这些弱点可能是破坏目标主机的关键因素。系统管理员使用扫描器,将有助于加强系统的安全性。黑客使用它,对网络的安全将不利。
(2)扫描器的属性:1、寻找一台机器或一个网络。2、一旦发现一台机器,可以找出机器上正在运行的服务。3、测试哪些服务具有漏洞。
(3)目前流行的扫描器:1、NSS网络安全扫描器,2、stroke超级优化TCP端口检测程序,可记录指定机器的所有开放端口。3、SATAN安全管理员的网络分析工具。4、JAKAL。5、XSCAN。
SIEM
SIEM软件通过收集从应用程序、设备、网络、基础设施和系统中产生的日志和事件数据来进行分析,并提供一个组织的信息技术(IT)的整体视图。
2. SIEM解决方案
SIEM解决方案可以驻扎在企业内部或云环境中。SIEM解决方案实时分析所有数据,使用规则和统计关联来推动取证调查期间的行动洞察力。SIEM技术检查所有数据,根据其风险等级对威胁活动进行分类,以帮助安全团队识别恶意行为者并迅速缓解网络攻击。
• 日志管理系统(LMS):用于简单收集和集中存储日志的过程。
• 安全信息管理(SIM):自动收集日志文件的工具,用于长期存储、分析和报告日志数据。
• 安全事件管理(SEM):对系统和事件进行实时监控和关联的技术,带有通知和控制台视图
SOC
SOC简介
SOC是(Security Operations Center)的缩写,安全管理中心。采用集中管理方式,统一管理相关安全产品,搜集所有网内资产的安全信息,并通过对收集到的各种安全事件进行深层的分析、统计、和关联,及时反映被管理资产的安全情况,定位安全风险,对各类安全事件及时发现和定位,并及时提供处理方法和建议,协助管理员进行事件分析、风险分析、预警管理和应急响应处理。
SOC核心能力
SOC平台能够对各种多源异构数据源产生的信息进行收集、过滤、格式化、 归并、存储,并提供了诸如模式匹配、 风险分析、异常检测等能力,使用户对整个网络的运行状态进行实时监控和管理,对各种资产(主机、服务器、IDS、IPS、WAF等)进行脆弱性评估,对各种安全事件进行分析、统计和关联,并及时发布预警,提供快速响应能力。
其核心能力如下:
(1)网络管理能力
(2)安全资产管理能力
(3)风险管理能力
(4)工单管理能力
(5)事件收集采集能力
(6)事件处理和关联分析能力
(7)知识库管理能力
(8)丰富的报表展现能力
(9)第三方系统集成能力
启明星辰泰合安管平台(SOC)产品简介
泰合信息安全运营中心系统是一个面向全网IT资源的集中安全管理平台。它通过对网络中各类IT资源的安全域划分,以及海量异构网络与安全事件的采集、处理和分析,面向业务信息系统建立一套可度量的风险模型,使得各级管理员能够实现全网的资产运行监控、事件分析与审计、风险评估与度量、预警与响应、态势分析,并借助标准化的流程管理实现持续的安全运营。
借助泰合信息安全运营中心(SOC)系统,客户可以将日常安全管理工作变无序为有序、化复杂为简单,全面提升网络安全管理能力:
1.从局部安全提升为全局安全
2.从单点防御提升为协同防御
3.从模糊管理提升为量化管理
• 产品功能
泰合信息安全运营中心系统基于开放式的软件平台设计架构,由多个功能模块组成,用户可以自由选择搭配,后续还能够无缝升级
系统的主要功能包括:
(1)网络运行监控
系统能够对全网的各类网络设备、安全设备、主机、数据库、应用系统等实时、细粒度的运行监控,及时发现网络中的可用性故障,并进行故障定位和告警响应,确保重要业务信息系统的可用性和业务连续性。
系统能够形象地展示出用户的网络拓扑,并动态展示拓扑节点的运行状态,还能够根据用户管理的组织和部门结构在地图上展示出设备或者设备组的地理位置。
(2)事件及流量管理
系统能够采集全网中各类网络设备、安全设备、主机、数据库、应用系统等的日志、告警和事件,并对这些信息进行范式化、过滤、归并,形成统一的事件格式,包括统一事件严重等级、统一事件类型和名称等,使得管理员能够在系统的管理控制台上方便地浏览所有安全事件,并确保信息的一致性。针对所有安全事件,系统能够借助泰合独有的事件关联分析引擎进行多种事件关联分析,包括规则关联、漏洞管理、统计关联,等等。
除了采集各类安全事件,系统还能够采集形如NetFlow的流量日志。针对采集来的NetFlow流量日志的分析,系统能够建立网络流量模型,通过泰合特有的基于流量基线的分析算法,发现网络异常行为。
3、脆弱性管理
系统支持将各类第三方漏洞扫描、应用扫描和人工评估的漏洞信息整合到一起,形成基于资产和业务的漏洞信息库,并计算资产和业务的脆弱性。系统能够对新发现的漏洞信息进行预警通告。
4、安全预警与风险管理
系统可以遵循《GB-T20984-2007信息安全技术信息安全风险评估规范》标准的推荐要求对用户业务信息系统进行风险评估与分析,结合资产及业务的价值、脆弱性和威胁信息,计算资产或业务的风险等级,并进行预警和展示。系统还能对重要的威胁事件、漏洞信息进行预警和展示。
5、态势分析
泰合安全运营中心系统是国内首个具备态势宏观分析能力的安全管理平台。针对系统收集到的海量安全事件,系统借助地址熵分析、三元组分析、热点验证分析等数据挖掘技术,帮助管理员从宏观层面把握整体安全态势,对重大威胁进行识别、定位、预测和跟踪。
6、响应管理
系统具备完善的响应管理功能,能够根据用户设定的各种触发条件,通过多种方式(例如邮件、短信、声音、SNMPTrap等)通知用户,并触发可以自定义的响应处理流程,直至跟踪到问题处理完毕,从而实现安全事件的闭环管理。
系统支持设备控制脚本,允许管理员自动对设备进行操作控制,及时阻断攻击源。系统内置工作流引擎,能够进行响应处理流程的自定义。系统具备开放式接口,能够与第三方运维管理系统实现对接。
7、知识管理
系统具有国内最完善的安全管理知识库系统,内容涵盖安全事件库、安全策略库、安全公告库、预警信息库、漏洞库、关联规则库、处理预案库、工作流程库、案例库、报表库等,并提供定期或者不定期的知识库升级服务。
8、用户管理
系统采用三权分立的管理体制,默认设置了用户管理系统管理员、安全运营中心管理员、审计管理员分别管理。系统用户管理采用基于角色的访问控制策略,即依据对系统中角色行为来限制对资源的访问。
9、自身系统管理
实现了系统自身安全及维护管理。主要包括组织管理、系统数据库及功能组件运行状态监控、日志维护及其他一些与系统本身相关的运行维护的管理和配置功能。
10、信息展示
系统为客户提供了多样化的信息展示方式。包括:整合网络的可视化视图、具体应用服务的运行细粒度视图、基于规则的安全事件交叉视图、基于资产及安全域的风险视图,等等。
11、报表报告
系统具备实时和调度报表功能,能够根据各种统计条件实时动态地产生丰富的统计报表,也可以根据客户自定义的调度计划定期自动生成报表报告。系统支持客户自定义报表功能,能够生成各类客户化的报表报告。
态势感知
态势感知简介
态势感知是一种基于环境的、动态、整体地洞悉安全风险的能力,是以安全大数据为基础,从全局视角提升对安全威胁的发现识别、理解分析、响应处置能力的一种方式,最终是为了决策与行动,是安全能力的落地。
态势感知具备的能力
(1)网络空间安全持续监控 能力,能够及时发现各种攻击威胁与异常;
(2)具备威胁调查分析及可视化 能力,可以对威胁相关的影响范围、攻击路径、目的、手段进行快速判别,从而支撑有效的安全决策和响应;
(3)能够建立安全预警 机制,来完善风险控制、应急响应和整体安全防护的水平。
通俗来讲,态势感知从时间概念上可以被理解为:刚才发生了什么,现在应该做什么,接下来会发生什么,也就是态势感知的根本任务,了解昨天、思考今天,预测明天。
3. 态势感知系统的功能
(1)检测:提供网络安全持续监控能力,及时发现各种攻击威胁与异常,特别是针对性攻击。
(2)分析、响应:建立威胁可视化及分析能力,对威胁的影响范围、攻击路径、目的、手段进行快速研判,目的是有效的安全决策和响应。
(3)预测、预防:建立风险通报和威胁预警机制,全面掌握攻击者目的、技术、攻击工具等信息。
(4)防御:利用掌握的攻击者相关目的、技术、攻击工具等情报,完善防御体系。
4. 态势感知的三个层级
SASE
SASE简介
安全访问服务边缘SASE是(Secure Access Service Edge)的缩写,是Gartner推出的一种架构框架和实现方式,旨在提出满足‘客户端到云’时代要求的安全解决方案。是一种基于实体的身份、实时上下文、企业安全/合规策略,以及在整个会话中持续评估风险/信任的服务。
SASE的特点
(1)身份驱动的私有网络
以身份为中心,通过用户和资源身份决定网络互联体验和访问权限级别。采用身份驱动的网络和安全策略,企业则无需考虑设备或地理位置。
(2)云原生架构
SASE架构利用云的几个主要功能,包括:弹性、自适应性、自恢复能力和自维护,分摊客户开销以提供最大效率,适应新兴业务需求,而且随处可用。
(3)支持所有边缘
为企业资源创建一个独立的安全网络,涵盖移动用户、PC用户、云资源、数据中心资源、总部资源、分支资源等。
(4)全球分布
扩展企业网络覆盖面,确保所有网络和安全功能随处可用,并向全部边缘交付尽可能好的体验。
SASE解决方案
SASE不是一个单一技术,而是一整套技术的解决方案,其中囊括:
软件定义的WAN(SD-WAN)、互联网安全网关(SWG)、云访问安全代理(CASB) 、零信任网络访问(ZTNA)、 防火墙即服务(FWaaS)。
(1)从WAN迁移至SD-WAN
传统IT基础设施如同封闭的花园。员工在办公室,连接到企业网络,并使用私有的、安全的站点到站点广域网络,访问私有数据中心之内的应用程序。互联网连接由总部或数据中心集中提供,并确保其安全。
新一代网络引入了SD-WAN技术。SD-WAN网络中,网络硬件与基于软件的控制平面分离。第一代SD-WAN能够识别应用程序,并运用策略引导流量,利于控制成本。第二代SD-WAN推出具备集成安全性的全功能网络,允许在每个位置直接接入internet(DIA)实现安全的互联网直接访问(break out),用户也可直接访问云和SaaS应用程序。
现在,随处办公人员可随时随地访问相关应用程序。各大企业针对业务关键型应用程序采纳SaaS模式,旨在将其工作负荷从私有云架构迁移至多云架构,从而满足对高速、敏捷和资本投入需求。
在当前的“客户端到云”时代,原来的固定网络边界已消融成不定形的动态边缘。IT部门必须提供可增强、可测量、可监控、可诊断的,安全可靠的动态用户/客户体验和应用程序体验。
(2)保护Web网关和随处办公人员
SWG为随处办公人员保驾护航,使其免受来自互联网的威胁:保护用户上网设备,免遭垃圾软件或恶意软件的感染,同时强制实施企业和监管策略的合规性。SWG具有如下优点:
l URL过滤功能
l 反恶意软件和防病毒保护功能
l 应用程序识别和控制能力
l 数据丢失防护能力
SWG可以以硬件模式部署在企业内部,或者是在以虚拟设备部署在云端服务或内部与云相结合的混合模式来实现。
市面上的云端SWG功能和服务在成熟度方面大相径庭。
(3)保护云访问安全
CASB提供的产品和服务,旨在解决企业使用云服务时存在的安全缺陷。用户越来越多地采用云服务(包括传统固定边界内、外),直接云对云访问的运用也日益增长,CASB正好填补了由此而带来的用户的安全需求。CASB可以作为内部或云端安全策略的实施点,介于云服务消费者与云服务提供商之间,以便在访问云端数据或应用程序时,部署企业安全策略。CASB具有如下功能:
(5)提供威胁保护
新一代防火墙(NGFWs)是一种深度数据包检测引擎,其超越端口/协议检测和拦截的范围,增加了应用程序层面的检测。前沿NGFW集成了如下功能:
l 传统状态防火墙功能
l 应用程序感知,深度数据包内容检测
l 统一威胁管理(UTM),包含入侵检测和预防系统(IDPS)
l 对整个攻击面的全面可视化
l 灵活应对不断变化的威胁格局
随着采纳DIA和多云技术,威胁范围迅速扩大,传统防火墙无法实现大规模保护,致使安全态势变得薄弱。NGFW和UTM是确保良好安全机制的必要举措。
(6)保护敏感数据免遭恶意软件窃取
金融账号、医疗数据、用户名/密码等个人或其他敏感数据无意中暴露时,便会发生数据泄露。攻击者主动侵入系统、去访问、窃取或破坏信息时,便会发生数据外泄。
为保护敏感数据,企业须安装和使用具备恶意软件和病毒防护功能的安全软件套件并始终保持更新到最新版。
SASE保证仅允许企业的授权人员才能访问敏感应用程序和数据,无论用户或应用程序处于何种位置或两者之间采用何种传输技术。
(7)支持高级路由,线速处理
高级路由提供一整套独特的集成功能,例如路径优化、快速收敛、流量补救、每款应用程序的体验质量(QoE)和加密功能。
正确部署SASE方案需了解网络边缘的流量规模。分布式服务边缘架构利用与计算可扩展性相同的扩展模式:随着需求攀升,增加服务器或虚拟机(VM)以处理总体流量,同时继续以线速运行。
SASE核心安全组件
(1)安全 Web 网关 (SWG):SWG 通过从 Web 流量中过滤不需要的内容、阻止未经授权的用户行为以及执行公司安全策略来防止网络威胁和数据泄露。SWG 可以部署在任何地方,使其成为保护远程劳动力的理想选择。
(2)云访问安全代理 (CASB):CASB 为云托管服务执行多种安全功能,包括揭示影子 IT (未经授权的公司系统)、通过访问控制和数据丢失防护 (DLP)保护机密数据,以及确保遵守数据隐私规定。
(3)零信任网络访问 (ZTNA):ZTNA 平台将内部资源锁定在公众视野之外,并通过要求对每个受保护应用程序的每个用户和设备进行实时验证来帮助防御潜在的数据泄露。
(4)防火墙即服务 (FWaaS): FWaaS 是指从云端作为服务提供的防火墙。FWaaS 保护基于云的平台、基础设施和应用程序免受网络攻击。与传统防火墙不同,FWaaS 不是物理设备,而是一组安全功能,包括URL 过滤、入侵防御和跨所有网络流量的统一策略管理。
根据供应商和企业的需求,这些核心组件可能与其他安全服务捆绑在一起,包括 Web 应用程序和API保护 (WAAP)、远程浏览器隔离或 Wi-Fi 热点保护
PaaS
PaaS简介
PaaS是(Platform as a Service)的缩写,平台即服务。它是一种云计算服务,向使用者提供云上应用程序所需的编程语言、库、服务、工具和解决方案。使用者无需管理或控制底层云基础设施(包括网络、服务器、操作系统或存储),但需管理已部署的应用程序,并负责配置应用程序托管环境。在云计算的典型层级中,PaaS 层介于 IaaS 层和 SaaS 层之间。PaaS种类繁多,包括公共PaaS、私有PaaS和混合PaaS,可以根据IT人员要求的方式提供所需工具,以实现更快地应用交付。
PaaS 平台相比传统 IT 架构的优势
私有、公共和混合 PaaS三者区别
(1)私有PaaS:私有 PaaS 完全部署在数据中心内部
(2)公共PaaS:公共PaaS完全部署在您的数据中心外部
(3)混合PaaS:混合PaaS是私有和公共PaaS的组合。
Saas
SaaS简介
SaaS是(Software as a Service)的简写,意指软件即服务项目。SaaS是一种软件布署商业模式,第三方分销商在云此基础设施上构筑插件,并以订户的方式,通过互联网向客户提供更多那些插件,不明确要求客户事先工程建设下层此基础设施。这意味着软件可以在任何人有互联网相连和互联网应用程序的设备上出访,而不像传统软件那般只能在邻近地区电脑上加装。
SaaS布署商业模式
(1)专有云:云软件构筑在此基础设施其内,该此基础设施只供由数个使用者共同组成的单一组织机构采用。此基础设施可能由公司或第三方保有、管理和操作,它可能存在于公司内部或外部。
(2)公有云:云软件构筑在供社会公众申明采用的此基础设施其内。此基础设施可以由企业、学术研究或中央政府组织机构或一些女团保有、管理和营运。它存在于云服务商的此基础上。
(3)混和云:云软件主要就构筑在一种类别的此基础设施上,但有能力在需求高的这时候转换到另一种类别的此基础设施。在标准化或专有控制技术的全力支持下,数据和插件具备图形界面性。
SaaS和传统软件的区别
(1)开发模式与交互模式的区别
传统管理软件的开发模式是以软件产品为中心,通过市场推广不断寻找更多的客户购买产品来实现业务增长,一般通过光盘等磁盘介质或者以软件下载方式交互客户,然后由厂商技术人员完成服务器和客户端的安装以及一系列的配置等。在SaaS模式中,客户不需要安装任何客户端软件,只要有设备能够连接并浏览互联网,客户就可以在云端“随时随地”通过手机、电脑、IPAD等多种方式接入软件系统进行操作和管理。
(2)软件盈利模式的不同
首先是软件付费方式的改变,传统管理软件付费模式是客户一次性投入整个项目的项目资金,除管理软件产品本身外,还有整个系统的服务器机群、网络平台、系统软件,如数据库系统等,软件提供商主要靠销售软件产品盈利。
SaaS模式通过租赁方式,定期支付租用的在线软件服务,大大降低了客户项目投资风险和资金投入压力,而SaaS提供商主要依靠为大量客户提供软件租用服务获取企业利润。
(3)部署时周期的不同
SaaS部署的时间很快,有的软件特定功能的部署只需要一周多的时间,大型的SaaS软件部署周期也在90天内。区别于必须在固定设备上使用的,有一定局限性的传统软件,SaaS模式的软件项目可以在任何可接入互联网的地方使用,SaaS模式改变了传统多种系统的部署方式。
(4)数据安全性的不同
SaaS数据安全性方面一直是处于劣势的。传统的软件安装在用户自己的服务器下,相关数据可控,而SaaS的数据存放在软件商云服务器上,数据不受自己控制,数据的隐私性以及安全性都将受到较大的考验。
SaaS用户不能对运维的细节进行控制,比如基础架构的备份、灾难恢复和安全策略。
SaaS模式的特性
(1) 时效性
SaaS服务通过互联网浏览器程序连接的形式为用户提供服务,使得SaaS应用具备了典型互联网技术特点,极大缩短了用户与SaaS提供商之间的时空距离。
(2) 多租户
SaaS服务通常基于一套标准软件系统为成百上千的不同客户(又称租户)提供服务。这要求SaaS服务要能够支持不同租户之间数据和配置的隔离,从而保证每个租户数据的安全与隐私,以及用户对诸如界面、业务逻辑、数据结构等的个性化需求。
(3) 服务性
SaaS使得软件以互联网为载体的服务形式被客户使用,所以需要全面考虑到服务合约的签订、服务使用的计量、在线服务质量的保证、服务费用的收取等问题。
SaaS是通过互联网以服务形式交付和使用软件的业务模式。在SaaS模式下,软件使用者无需购置额外硬件设备、软件许可证及安装和维护软件系统,通过互联网浏览器在任何时间、任何地点都可以轻松使用软件并按照使用量定期支付费用。
SaaS平台优势
(1) SaaS平台提供商需要通过有效的技术措施确保每个企业数据的安全性和保密性,降低企业自身维护面临的风险及成本。
(2) SaaS平台采用灵活租赁的收费方式。一方面,企业可以根据需要增加或减少账号;另一方面,企业根据实际使用账户和实际使用时间进行支付(以月/年为单位),大大降低了成本。
(3) 从技术的角度来看,SaaS平台是一种简单的部署,不需要购买任何硬件,只需要简单的注册。
(4).企业在很大程度上不需要购买额外的人力和财力来维持其核心业务,这样才能有效缓解企业的运维压力。
软件供应链安全
软件供应链简介
供应链安全可以定义为软件生产的整个过程中如编码过程、工具、设备、供应商以及最终交付渠道等所共同面临的安全问题。软件供应链过程中主要有三个风险面:供应链引入环节、软件生产环节、软件应用环节。这也是软件供应链安全治理中真正需要关注的部分。
软件供应链主流核心支撑工具
(1)核心支撑工具①——DAST(动态分析测试)
DAST作为目前应用最广泛、使用最简单的一种Web应用安全测试方法,是一种黑盒测试技术。DAST从外到内查看应用,检查其运行状态,并观察其对工具模拟攻击的响应。观察应用对这些模拟的响应有助于确定应用是否易受攻击,且是否易受真正的恶意攻击。DAST代表性工具有AMVS、AppScan。
(2)支撑工具②——SAST(静态分析测试)
SAST是一种白盒测试技术,是一种在开发阶段对源代码进行安全测试并发现安全漏洞的测试方案。SAST通过在编码阶段分析应用程序的源代码或二进制文件的语法、结构、过程、接口等来发现程序代码存在的安全漏洞。
(3)支撑工具③——IAST(交互式应用安全测试)
IAST(Interactive Application Security Testing)属于灰盒测试技术,在整个开发生命周期中,IAST能够不间断地从内部监控应用中的漏洞,通过在开发和测试过程中使用工具,实时提供报警。
(4)核心支撑工具④——SCA(软件成分分析)
SCA(Software Composition Analysis)是一种对二进制软件的组成部分进行识别、分析和追踪的技术。SCA通过分析开发人员使用的各种源码、模块、框架和库,来识别和清点开源软件(OSS)的组件及其构成和依赖关系,也可识别已知的安全漏洞或者潜在的许可证授权问题。SCA将这些风险控制在应用系统上线前,显著降低了开源软件带来的风险,同时也适用于应用系统运行中,能结合漏洞库对应用系统及时做出诊断。
SCA基本原理:SCA通过对比软件汇编代码指令、代码结构、控制流图、函数调用关系中的特征值,分析出二进制代码成分以及代码之间的相似性。SCA分析的对象是第三方基础组件/可执行程序/源代码等类型的以二进制形式存储的文件,包括但不限于源代码片段或 Package、基础 lib、tar/tgz 压缩文件、可执行的二进制组件/程序、广义的软件构建过程、镜像/镜像层等。
保护软件供应链的四个最佳实践
(1)快速修复漏洞
虽然一些供应链攻击方法利用了未知(零日)漏洞,但还是有很多攻击利用了已知漏洞。基于此点,企业应创建软件材料清单(SBOM),识别存在已知漏洞的组件,并应用相关更新或补丁。快速识别和修复第三方组件中的漏洞是预防供应链攻击的主要策略。
(2)保持深度供应链可见性
企业需要了解其软件组合中使用的组件,并且充分认识和了解组件、系统和源代码之间的关系。当发现漏洞时,开发人员需要知道易受攻击的组件在多个软件项目中的使用位置,以便能够进行快速修复或删除。目前已有多种工具可以自动检测和帮助管理漏洞。
(3)标记问题组件
开发人员需要不断寻找可能包含漏洞的新软件组件。因此,建议企业将供应链安全性左移,以确保开发人员拥有专业知识、工具并能提供支持,以避免在软件开发生命周期的早期选择易受攻击或不安全的组件。
一旦发现问题组件,就应该对之进行标记,从而确保所有开发团队都清楚该问题组件。标记的组件或漏洞扫描失败的组件可能会“破坏构建”,持续集成(CI)/持续交付(CD)管道应自动阻止将其部署到生产环境中。
(4)持续监控组件
即使一个组件已经被确定为安全组件,也不意味着它会保持安全。新的漏洞会不断出现,组件使用寿命也可能已快要耗尽,或者其开源贡献者可能会放弃组件并对其停止支持。在所有这些情况下,您必须能够检测到组件风险状态的变化,确定风险严重程度的优先级,并在必要时关闭组件。
微软SDL
微软SDL简介
SDL即(Security Development Lifecycle),是微软提出的从安全角度指导软件开发过程的管理模式。SDL不是一个空想的理论模型。它是微软为了面对现实世界中安全挑战,在实践中的一步步发展起来的模式.
SDL的核心理念就是将安全考虑集成在软件开发的每一个阶段:需求分析、设计、编码、测试和维护。从需求、设计到发布产品的每一个阶段每都增加了相应的安全活动,以减少软件中漏洞的数量并将安全缺陷降低到最小程度。
为什么要做SDL
首先SDL是将安全活动嵌入到整个流程中去,从立项需求评审、开发代码扫描、测试漏洞扫描、发布基础环境检查、上线实时安全监控与检查这些环节逐步保证研发流程的安全,做到尽可能将安全问题往前移,建立流水线的日常安全任务保证安全横向(全面覆盖所有的研发项目)、纵向(对一个研发项目各个环节加入安全检查)的覆盖率。
SDL好处之一是在全流程中介入安全,越早发现漏洞问题,修复成本越低;产品的安全状态可以在整个开发过程得到更精准的反馈,有助于产品的安全进度管理。
微软SDL主要步骤
(1)安全培训Training
开发团队的所有成员都需要接受适当的安全培训,了解相关的安全知识,培训对象包括开发人员,测试人员、项目经理、产品经理等。项目的中期可开展针对性的培训,例如代码中经常出现的问题,测试过程中多次出现的漏洞等等。
(2)需求分析Requirements
1) 建立安全需求分析Establish Security Requirements
2) 创建质量标准及Bug栏Create Quality Gates/ Bug Bars
针对系统业务要求实施风险评估工作,根据需求文档与项目经理确定安全需求,制定安全需求表,供后期检测时使用。
(3)系统设计Design
1)制定设计规范Establish Design Requirements
2) 分析攻击面Analyze Attack Surface
3)威胁建模Threat Modeling
(4)实现Implementation
1) 使用优选工具Use Approved Tools
2)消减危险函数Deprecate Unsafe Functions
3)对代码进行静态安全检查(静态分析)Static Analysis
(5)验证Verification
1) 动态安全测试Dynamix Analysis
2)模糊测试Fuzz Testing
3)供给面评审Attack Surface Review
(6)发布Release
1)制定安全应急响应计划Incident Response Plan
2)最终安全评审(FSR)Final Security Review
3)发布归档Release Archive
(7)响应Response
Execute Incident Response Plan执行安全应急响应计划。
SASE业务平台