引 言
网络安全的目标,是保障系统和数据的保密、完整和可用。网络安全管理的目标是通过识别、评估和减轻信息系统中存在的风险,将风险控制在用户可以接受的程度。它包括访问控制、漏洞修补、网络监控、密码应用、定期培训等多方面,是一个不断延续、扩展和深入、改进的过程。
2023年5月下旬,全国网络安全“标准周”学术交流会在昆明海埂会堂举行,来自中央网信办、全国信息安全标准化技术委员会相关领导,网络安全标准化制定领的专家、学者、在“全国网络安全技术保护案例”中获奖的供应商等济济一堂,进行了为期四天的精彩分享。
本文将基于国家网络安全方面的系列标准、安全基线加固重点,结合此次学术交流会的内容以及长期的工作经验进行编写,希望对网络安全管理岗位的从业者们日常的基础安全防御工作有所帮助。
在此由衷地感谢给予日常工作支持的市委网信办领导、市保密局领导、市工信局领导等。感谢给予编写指导的公安网安部门及市委网信办领导。
感谢提供主要专业分享的“云南南天电子信息产业股份有限公司”和“北京微步在线科技有限公司”,感谢提供部分专业分享、同时也是全国“标准周”会议专家单位成员的“奇安信科技集团股份有限公司”和“北京数字认证股份有限公司”。最后感谢给予文章发表支持的“北京微步在线科技有限公司”。
一、暴露面收敛的概念
网络攻击(Cyber Attacks,也称赛博攻击)是指针对基础设施、网络设施、应用系统、数据库等的进攻动作。网络攻击破坏的结果表现为对数据安全的破坏和对系统服务的破坏,并产生以下危害后果:影响行使工作职能、导致业务能力下降、引起法律纠纷、导致财产损失、造成社会不良影响、对其他组织和个人造成损失等。
美国著名的军工企业洛克希德马丁公司(Lockheed Martin)提出的“网络攻击链”( Cyber Kill Chain)模型,也译作“网络杀伤链”模型,描述了从初始阶段、侦察到最后阶段的整个网络攻击步骤。即“侦查——入侵—漏洞利用—特权升级—横向移动—混淆—拒绝服务—数据 / 有效负载的泄露”。
在当今世界,网络安全犯罪分子在发布和传播其恶意软件方面变得越来越出色。他们总是倾向于寻找制造破坏的线索,其中一个薄弱环节就是安全漏洞。前几年开始,“零日攻击”和“零日漏洞”这个概念就已出现,近期,因“零日攻击”造成的数据篡改、数据泄露案例比比皆是。所谓零日漏洞指的是网络安全漏洞,在相应的修复补丁发布之前,犯罪份子就已发现漏洞并开始利用。“零日攻击”指的是犯罪份子利用零日漏洞进行的恶意攻击。面对“零日攻击”,网络安全防护提出了一个新的日常基础防护概念——“暴露面收敛”,即“最小化自身的可攻击面”,结合日常基础防御,我们从几个方面去关注:
(1)端口及访问出口;
(2)用户账号以及登录口令;
(3)应用程序;
(4)中间件及组件;
(5)数据;
(6)漏洞以及日常运维管理;
(7)安全管理制度与运维操作规程;
(8)应急演练。
下面本文将围绕这几个方面进行相关内容的展开。
二、端口收敛以及访问出口归拢
在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器等用于连接其他网络设备的接口;二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务端口,用于FTP服务端口等等。一些端口常常会被黑客利用,比如说消息传输代理端口、网页浏览端口、服务器端口、操作系统端口、终端端口等。
我们通常所说的收敛端口,包括非必要端口、高危险端口和暴露在公网上的端口等。比如常见的8080、1433、1080、145,135,445,21ftp,22ssh,80,443,3389RDP等。
网络访问出口归拢包括IP地址共用(所有内网主机共享一个或少数几个合法外部IP地址实现对Internet的访问,不仅可以最大限度节约IP地址资源,还可以隐藏网络内部的主机)、防火墙URL地址访问阻断。当然与其他单位进行数据交互时,最好使用统一的数据平台进行各方数据交互。
三、账号的管理以及强登录口令设置
账号从用途层面分为硬件设备账号(交换机、路由器、防火墙、网闸、服务器、堡垒机等)、操作系统账号、数据库账号、安全防护软件账号、应用系统账号、审计软件账号等。从使用角度分为管理员账号、普通用户账号。
账户管理的最基本原则——“最小特权原则”,所谓特权指的是"在完成某种操作时所赋予网络中每个主体必不可少的特权"。最小特权指的是每个用户只能拥有刚够完成工作的权限。最小特权原则,则是指"应限定网络中每个主体所必须的最小特权,确保可能的事故、错误、网络部件的篡改等原因造成的损失最小"。通常情况下,账户授权应由甲方技术人员来完成,普通用户账号以及使用权限的设立应由甲方的信息技术部门、业务部门来审批完成。账号的设置不能使用“Administrator”,必须是具有独立称谓标识。因为对于UNIX、Windows系列操作系统下,系统所赋予用户的默认权限是最高权限,Administrator(系统管理员)拥有对整个系统的完全控制。同时账号设置需做到“一人一账号”、“账号不共用”。
登录口令应采用“大小写字母+特殊字符+数字”强口令方式,严格禁止简单的纯字母组合或数字组合。并且口令至少三个月更换一次。可以在程序中编写口令更换提醒,到期不更换就无法登录。同时进行登录口令错误提醒,口令输入三次错误以后系统自动锁定账号,普通用户必须携带相关证明找后台系统管理员进行解锁。
按照等保和商用密码应用要求,用户登录采用“双因子认证”模式,即“账户+口令+动态短信验证码”,或者“CA身份认证”。同时在提供对外公众应用中,对于口令设置或登录,应采用“显示隐藏”方式,即口令输入后即显示为“*”号样式,避免以明文形式暴露。同时账户注册成功后,不提供“密码自动保存”。
四、应用程序的管理
1、安全架构设计。在进行系统开发设计时,先了解开发各部分的规则,比如在开发时会访问和使用哪些数据,如何安全访问与使用?开发会和哪些原有系统进行协作?会产生哪些数据流?如何融入安全策略?用户权限模型如何设计等。安全设计的原则包括:薄弱环节保护原则、纵深防范原则、最新权限原则、最小共享原则等,设计内容包括:协议与接口安全、访问与身份鉴别机制、信息输入安全过滤、信息输出安全校验、数据加密算法、敏感数据保护方法、内部通讯机制安全、进行敏感信息输入隐文显示、降低敏感信息调用频率等等。当然在进行具体架构设计时,可以咨询相关领域专家或者第三方有资质的公司意见。
2、代码安全管理。遵循国家相关的编码标准,遵循通用的安全编程准则,遵循代码脆弱性防护要求(缓冲区溢出、SQL注入、跨站脚本攻击、XML注入攻击等)。加强程序员的代码管理意识也是非常重要的内容,曾有这样一个案例:某人曾在大疆的子公司担任软件工程师,负责编写农业无人机的管理平台和农机喷洒系统代码。他在 Github 开设账号,并建立了 “公有仓库”,把代码上传至了 GitHub 公有仓库。经鉴定,大疆这些泄露出去的代码具有非公知性,且已用于该公司农业无人机产品,属于商业秘密。经评估,这次泄漏公司造成经济损失 116.4 万元人民币。而该员工获有期徒刑六个月,并处罚金 20 万人民币。所以甲方在日常管理时一定要加强对软件服务外包公司的安全培训,资金允许的情况下,也可以购买代码安全监测服务。
3、第三方技术应用安全管理。程序在编写过程中往往会涉及到第三方技术的使用,比如电子签名、人脸识别、活体检测、短信发送、OCR文字识别等等,对于第三方技术应用安全性的审查也是必不可少的一个环节。除咨询相关领域专家或者第三方有资质的公司外,还可以参照后续提到的内容。
4、开发环境安全管理。系统的开发以及测试不得在生产环境中进行;开发环境所使用的操作系统、数据库、开发工具等是正版;开发用机进行统一安全配置和管理,禁止在开发用机上私接摄像头、APP、小程序、开放热点等;真实数据不得在测试环境中使用、需进行适当修改或屏蔽;测试完成后,尽快在测试环境中删除运用数据;因操作失误导致泄露的开发测试环境应及时采取补救措施等。
5、应用发布安全管理。程序发布前应进行安全检查,包括对代码、中间件、浏览器等的检查。停用的应用系统、临时发布的应用系统及时从服务器下架。已开发出来的暂时不使用的接口不予发布。
6、其他安全管理。包括文档安全管理(可研报告、建设方案、源代码、开发文档、测试文档、测试案例、用户意见等);软件测试工具的安全;应用发布后的变更管理等。
五、中间件及软件组件的管理
中间件在操作系统、网络和数据库之上,应用系统之下层,作用是为处于自己上层的应用系统提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。在众多关于中间件的定义中。中间件是一种独立的服务程序,分布式应用软件借助中间件在不同的技术之间共享资源,中间件作为加载代码的容器,其安全性也非常重要。
目前发布的中间件漏洞比较多,本文后面在漏洞一章将进行详述。如果是采用购买形式选择中间件,可参照后续的内容,以及咨询相关领域专家或者安全机构。
在现代软件工程的开发过程中,软件组件是一个辅助或支撑系统构造的一个过程。软件组件是构造软件的"零部件"。软件组件已作为一种独立的软件产品出现,供应用开发人员在构造应用系统时选用。目前发布的组件漏洞也比较多,本文后面针对漏洞监测将进行详述。
六、数据的管理
2021年11月14日,国家互联网信息办公室公布了《网络数据安全管理条例(征求意见稿)》(以下简称“条例”),并面向全社会公开征求意见。在《网络安全法》《数据安全法》和《个人信息保护法》等上位法的框架下,《条例》作为行政法规,对前述上位法的规定进行落实、细化、补充,进一步增强了数据安全法律体系的完备性和可操作性,具体包括:落实三部上位法中提出的数据安全制度,明确实施路径;细化原则性要求,给出进一步明确规定;补充重要数据处理者备案要求和年度报告要求、数据处境管理义务、互联网平台责任等。
《条例》明确了数据分类分级保护制度,将数据分为一般数据、重要数据和核心数据三级,将100万以上的个人信息的保护要求提升到与重要数据相同的水平。规定了数据处理者应当履行的相关义务,如:建立完善数据安全管理制度和技术保护机制;采取有效的数据保障措施;建立数据安全应急处置机制;处理涉及第三方的数据流转;处理企业合并、分立、解散、破产的数据等。规定了当使用自动化采集技术等技术措施,且无法避免采集到非必要个人信息或者未经个人同意的个人信息时,相关数据处理者应当在十五个工作日内删除上述采集的个人信息或者对上述个人信息进行匿名化处理。针对个人信息处理规则提出了进一步要求,应遵循合法、正当、必要要求,对制定个人信息处理规则作了具体要求,细化了征得个人同意的要求,明确了删除个人信息要求。此外,还包括个人信息主体权利响应、个人信息安全风险及保护措施、个人信息安全问题投诉、举报渠道及解决路径、个人信息保护负责人联系方式的内容要求。
对重要数据安全管理制度作了规定,包括重要数据处理者明确数据安全负责人、成立数据安全管理机构、向网信部门备案、实施全员教育培训、采购安全可信的产品和服务、年度评估报告、对外提供数据的安全评估等。
值得一提的是API的暴露问题。API服务作为一个新普及的服务架构,具备很多特点:部署分散、功能独立、数据单一、通讯加密,正是由于这些特点导致 API自身具备一定的安全性,同时这些安全性又反向影响了原有的防御策略在 API服务上生效,导致其成为了一个新的脆弱面。
API服务的脆弱面总结下来:
1.API 以服务的形式存在于企业各处,难以发现统计
2.API以常规业务的形式直接暴露,任何人都可以访问
3,传统保护位于边界,缺乏 API 之间的防护措施
4.API囊括常规 Web业务但又不止于此,常规安全设备无法覆
综上所述,针对API 的攻击主要就是围绕不易发现、不易管理不易保护的脆弱特性展开,针对 API 的防护-方面是老生常谈的漏洞解决,另一个重要方面是随着《数据安全法》逐步落实所要求的数据安全。
对于机关事业单位来说,对外提供数据查询服务或者与其他单位进行数据互用是经常遇到的事,甚至还有些涉及经济领域的单位,需要购买第三方服务进行数据统计和分析。在数据共享使用中如何降低风险?
“最小化授权原则”:1.进行第三方统计分析的机构只授权一个人可以接触数据源,由其对数据进行初步加工分析,将一些重要业务数据生成一个数据总和,再分发给下面的人员进行二次加工处理。同时做好工作电子设备的严格规范,禁止插入外网,禁止私接各种服务,制定数据安全加工流程,制定安全管理规范等。2、涉及数据查询服务的人员至多两名(AB角)。3、限制查看、统计以及导出的内容和权限等;
“非必要不提供原则”:1、除公检法部门、审计部门等,其余单位涉及到个人隐私信息的一律严格把关,不能他们要什么就给什么,至少要询问、分析,他们是否一定需要这些隐私信息。2、“风险评估”,此次全国网络安全标准化会议上重点提出了“数据风险评估”,它是一个整套的评估体系,其中就包括数据脱敏和匿名处理技术的评估。
七、漏洞及日常安全运维
“漏洞管理”是网络安全管理里面非常重要的环节,漏洞无处不在,从硬件设备到基础软件再到我们的应用软件都有漏洞。进行有效的漏洞管理分为三个部分:
1、自主收集。现在很多网络安全博客或者论坛都有关于威胁情报分析内容的提供,包括漏洞的发布与修复、恶意代码、恶意IP,所以进行威胁情报分析要成为日常网络安全管理工作的一个重要环节,可以选择一些可靠的、具有权威性的论坛或网站,如微步在线X社区、奇安信的威胁情报分析等,根据自身硬件设施、基础软件、应用软件涉及到的型号、版本等进行漏洞、恶意代码收集,及时发给技术运维进行修复和检测。对恶意IP等进行收集,及时进行隔离。
2、邀请第三方有安全资质的公司定期开展漏洞扫描和渗透测试。渗透测试,是一项在计算机系统上进行的授权模拟攻击,旨在对其安全性进行评估,是为了证明网络防御按照预期计划正常运行而提供的一种机制。通俗一点说就是,要知道你的防御效果如何?进行一次“攻防”就知道了。通常选取重要的业务系统,最容易成为攻击者入侵口的系统(如官网、微信公众号、APP)进行渗透。当然如果资金充足的情况下全业务系统进行渗透也是可以的。
根据漏洞扫描和渗透测试发现的问题,及时修复。
3、加强项目建设管理,系统开发从前期的架构开始,结合开发技术实际,进行从设备、防护软件到中间件、组件等的一系列的安全设计,以及密码应用设计。在运维内容部分,加入详细日常安全运维的内容。系统上线发布前,对于体量较大的项目,最好进行代码测试和软件测试,评估有没有后门以及软件质量。然后进行等保测试和密评。
4、日常网络安全运维的管理。所有购买的服务需一个细节一个细节进行检查,比如购买了安全基线加固服务,那到底做了哪些加固,是基于怎样的风险进行的加固?购买的云主机安全服务,到底做了哪些方面的安全,定期升级情况如何?购买了服务器安全防护,终端安全防护,部署情况如何,定期升级情况如何?等等。网络安全运维报告是每个月必须审查的报告,包括运维内容,威胁检测情况,攻击情况,防御情况,升级情况等。
八、安全管理制度与操作规程
刚才前面说了一堆的技术实施,实施技术的是人,所以网络安全管理归根结底,还是对人的管理。对象包括:领导、一般处室/科室人员、本部门技术人员、技术服务外包公司人员。
领导和一般处室/科室人员没有网络安全意识或者没有具体的安全操作意识,再强的防御也可能瞬间败在他们一个小小U盘上。本部门技术人员没有管理知识和能力,很多管理工作,如账户授权等等,管理工作就落不到实处。再加上关键岗位人员被“钓鱼”,攻击直接进入核心,真心麻烦。技术服务包公司人员,如果没责任心,能偷懒就偷懒的,等到发生事故了,最后责任还是落在甲方技术管理人员身上。《中华人民共和国网络安全法》、《关键基础设施保护法》等都不同程度的提到了制度建立,所以网络安全管理制度、网络安全运行操作规程等的建立是必须开展的工作。要在制度里明确网络安全的领导机构,人员组成以及职责分工,并要建立定期的培训制度,分别对领导、一般工作人员进行培训,对技术人员进行培训,同时还有对开发人员、运维人员、账号管理人员等技术人员操作行为的规范,对服务外包公司安全管理能力(包括管理环境、管理制度)的检查和整改等。只有大家意识、技能不断提高,网络安全管理工作才能做好。
九、应急演练
网络安全应急演练的目的:防范网络安全风险,减少网络安全事故造成的损失。我们的防御并非固若金汤,一旦攻击大于我们的防御的时候,我们该如何采取快速且有效的保护措施呢?这就需要日常应急预案的制定以及相应实战的演练。前面提到,网络安全涉及到整个单位的人员,所以在制定应急预案的时候,可以从安全领导小组开始,再逐步深入到相关处室/科室人员。首先判定和设定需要应急的场景,然后根据场景来设计相关参与的人员及分工,制定合理、科学的应急操作流程。应急预案制定完成以后需要通过评审。
实施演练前,结合应急预案对演练内容等进行详细的设计,制定每个参与的角色所承担的任务,所需要按照制定流程完成的动作,开展应急前的培训。
演练完成后,召集所有人员共同进行复盘,对整个演练过程中暴露的问题进行总结分析,并形成文字。最后结合复盘的内容对应急预案的不足进行完善。
十、重保时期需要开展哪些工作?
以上所阐述的各点是日常的安全管理,也是“重保”前的基础工作。那么“重保”时期我们又该开展哪些工作呢?
重保前期,首先要召集会议,参会人员包括领导、全单位人员、相关技术服务公司,告诉大家重保时期安全工作的重要性以及不同处室/科室,不同人员所要加强的安全工作内容。
其次,开始进行技术自查,查漏洞、查暴露面,可以考虑在这段时期进行全网的漏洞扫描,对重点区域(面向公众的互联网程序、官网、微信公众号、APP等)进行渗透测试。
重保时期,安排人员值守轮换,全天加强威胁情报分析收集,加强网络安全预警,加强网络舆情监控,一旦发现威胁,第一时间处理、上报,必要的情况下进行报警。当然,为了减轻技术人员的工作压力和强度,一些产品供应商此时会提供免费的态势感知服务、网页防篡改服务等。在目前财政资金紧张的情况下,本文也希望更多的产品供应商能够担负起维护国家、社会稳定的责任,加大对产品安全能力的研发,并在重保这样的特殊时期提供一些免费的安全服务。
十一、供应商安全能力的评估
网络安全往往涉及一整条链的供应商,所以在进行供应商采购时,要首先进行安全能力的评估,根据2023年全国“标准周”学术交流会专家分享,对于供应商安全能力的评估包括:安全需求分析能力、安全设计能力、安全开发能力、安全测试能力、安全部署/运行能力、安全使用能力、安全运维能力。作为机关事业单位的技术管理者,可以从供应商的资质、专利、服务案例、现场安全管理、团队技术能力等方面去进行综合初步的评估。
同时在日常也要多阅读关于一些技术安全的文章,并于相关安全管理部门,如市网信办、市工信局多沟通,了解一些最新的安全问题,比如前段时间发布的关于蚂蚁、商汤、天地融、百度等涉及人脸识别身份认证安全问题的通知。
综上所述,网络安全管理是一项错综交替,往返循环又不断改进深入的工作,要把这项工作做到位,需要不停的学习、研究、总结和完善。
本文在此向各位网络安全管理者、技术工作人员们表示深深的致敬,你们和网络公安战警一样,是驻守在边防,和一群看不见的犯罪分子在时刻斗争的坚强卫士!