XieJava's blog

记录最好的自己


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于

安全防御之恶意代码与防护技术

发表于 2024-01-04 | 更新于: 2025-07-21 | 分类于 技术 , 网络安全 | | 阅读次数:
字数统计: 3k | 阅读时长 ≈ 10

恶意代码是指没有作用却会带来危险的代码。通常把未经授权便干扰或破坏计算机系统、网络功能的程序或代码(一组指令)称之为恶意程序。恶意程序包括计算机病毒、木马、蠕虫等。详见《网络安全之恶意代码》
恶意代码的防范,不是单靠一种或几种技术就能解决的,而要靠技术、管理以及用户安全意识的共同防范,只有三者相结合才能最大程度地防止恶意代码对系统和用户信息的破坏。
目前,恶意代码防范方法主要分为两方面:基于主机的恶意代码防范方法和基于网络的恶意代码防范方法。

一、主机恶意代码防范

基于主机的恶意代码防范方法是目前检测恶意代码最常用的技术,具体分为:基于特征的扫描技术、校验和检测法和安全操作系统对恶意代码的防范等。

1、基于特征的扫描技术

基于特征的扫描技术的基本思想是模式匹配。在扫描程序工作之前,必须先建立恶意代码特征库,根据特征库中的特征串,在所有被扫描文件中进行匹配查找。用户通过更新特征库,查找最新的恶意代码版本。

2、校验和检测法

校验和检测法是一种保护信息资源完整性的控制技术,例如Hash值、循环冗余码等。只要文件内部有一个比特发生了变化,校验和的值就会改变。未被恶意代码感染的系统首先会生成检测数据,然后周期性地使用校验和检测文件的改变情况。
虽然校验和检测法可以检测未知恶意代码对文件的修改,但同样也存在不足:
(1)校验和检测法实际上不能检测文件是否被恶意代码感染,它只是查找变化。即使发现恶意代码造成了文件的改变,校验和检测法也无法将恶意代码消除,也不能判断文件究竟被何种恶意代码感染。
(2)恶意代码可以采用多种手段绕开校验和检测法,使之文件改变难以被检测。

3、安全操作系统对恶意代码的防范

在恶意代码入侵中,获得操作系统控制权,使操作系统为它分配系统资源是必经步骤。
操作系统的安全机制包括访问控制机制、主体标识与鉴别、安全审计、内存存取保护、文件系统保护、信息通路安全保护机制、最小特权管理、安全配置等。
(1)访问控制机制:操作系统的访问控制是操作系统安全控制保护中重要的一环,在身份识别的基础上,根据身份对提出的资源访问请求加以控制。
(2)主体标识与鉴别:标识与鉴别机制用于保证只有合法的用户才能存取系统中的资源,发生在用户登录系统时,用于识别每个用户的真实身份。标识鉴别机制的设计和实现需要达到两个方面的要求:协助安全操作系统实现新增的安全功能和安全策略,包括增加用户属性,并通过扩展标识鉴别命令来支持这些属性;
(3)安全审计:对系统中有关安全的活动进行记录、检查、及审核,目的在于检测和阻止非法用户对计算机系统的入侵,并显示合法用户的误操作。
(4)内存存取保护:防止主存储器中有限个程序的相互干扰和保护其中有限区域内的信息安全,限定各程序在规定的主存区域内,称为存储保护,内存存取保护是安全操作系统中一个最基本的要求,也是最基本的安全机制,主要是保护用户在存储器中的数据,在操作系统设计之初,针对内存通常是分块管理的,现在多采用基于页的存储管理方式。
(5)文件系统保护:文件系统是文件命名、存储和组织的总体结构,是计算机系统和网络的重要资源,文件系统的安全保护措施主要在分区、文件系统的安全加载、文件共享安全和文件系统的数据备份这四个方面。
(6)信息通路安全保护机制:即对信息在操作系统中经过的道路的保护,涉及两个方面:一方面对显式信息道路的保护,防止非法信息经过显式道路;另一方面,要堵住隐蔽的新系统了,防止恶意用户通过隐蔽信道进出。
(7)最小特权管理:最小特权是指在完成某种操作时所赋予系统中每个主体必不可少的特权。
(8)安全配置:做好操作系统安全设置,主要包括以下几个方面:操作系统安全策略、关闭不必要的服务、关闭不必要的端口、开启审核策略、开启密码策略、开启账户策略、备份敏感文件、不显示上次登陆名、禁止建立空连接和下载最新补丁等。

二、网络恶意代码防范

由于恶意代码具有相当的复杂性和行为不确定性,恶意代码的防范需要多种技术综合应用。基于网络的恶意代码防范方法包括:恶意代码检测防御和恶意代码预警。
其中常见的恶意代码检测防御包括:基于GRIDS的恶意代码检测、基于PLD硬件的检测防御、基于Honey Pot的检测防御和基于CCDC的检测防御。

1、基于GRIDS的恶意代码检测

著名的GRIDS主要针对大规模网络攻击和自动化入侵设计的,它收集计算机和网络活动的数据以及它们之间的连接,在预先定义的模式库的驱动下,将这些数据构建成网络活动行为来表征网络活动结构上的因果关系。

2、基于PLD硬件的检测防御

华盛顿大学应用研究室的John W. Lockwood、James Moscola1和Matthew Kulig等提出了一种采用可编程逻辑设备(PLD,Programmable Logic Devices)对抗恶意代码的防范系统。PLD由三个相互内联部件DED(Data Enabling Device)、CMS(Content Matching Server)和RTP(Regional Transaction Processor)组成。

3、基于Honey Pot的检测防御

Honey Pot,即蜜罐技术,其主要功能是对系统中所以操作和行为进行监视和记录,可以使网络安全专家通过精心的伪装,是的攻击者在进入到目标西后仍不知道自己的行为已经处于系统的监视之下。Honey Pot的设计初衷就是让黑客入侵,借此收集证据,同时隐藏真实的服务器地址,用于防范网络黑客攻击。

4、基于CCDC的检测防御

由于主动式传播恶意代码具有生物病毒特征,美国安全专家提议建立CCDC(The Cyber Centers for Disease Control)来对抗恶意代码攻击。
CCDC能够实现对大规模恶意代码入侵的预警、防御和阻断,但CCDC也存在一些问题:
(1)CCDC是一个规模庞大的防范体系,要考虑体系运转的代价;
(2)由于CCDC体系的开放性,CCDC自身的安全问题不容忽视;
(3)在CCDC防范体系中,攻击者能够监测恶意代码攻击的全过程,深入理解CCDC防范恶意代码的工作机制,因此可能导致突破CCDC防范体系的恶意代码出现。

三、防护技术

防病毒技术就是通过一定的技术手段防止计算机病毒对系统的传染和破坏。但是随着Internet技术的发展,以及E-mail和一批网络工具的出现,在改变人类信息传播方式的同时也使计算机病毒的种类迅速增加,扩散速度也大大加快,计算机病毒的传播方式迅速突破地域的限制,由以往的单机之间的介质传染转换为网络系统间的传播。现在,计算机病毒已经可以通过移动磁盘、光盘、局域网、www浏览、E-Mail, FTP下载等多种方式传播。

为了对抗恶意代码的威胁,安全防护技术采用多层次的策略和工具来检测、阻止和清除这些恶意软件。以下是一些常见的恶意代码防护技术:

  1. 防病毒软件: 防病毒软件是最基本也是最常见的恶意代码防护工具。它通过使用病毒定义数据库和启发式分析等技术,检测并阻止已知和新的恶意代码。
  2. 反恶意代码行为分析: 这种方法不仅关注已知的病毒特征,还通过分析应用程序的行为来检测潜在的恶意活动。这包括监测文件、注册表、进程和网络活动等。
  3. 沙盒技术: 沙盒是一种隔离环境,允许在受控制的环境中运行不明文件或程序,以观察其行为。沙盒技术有助于发现和分析未知的恶意代码。
  4. 入侵检测和入侵防御系统(IDS/IPS): IDS和IPS系统监控网络流量和系统活动,检测潜在的恶意行为,并采取措施以阻止入侵。
  5. 网络防火墙: 防火墙通过控制网络流量和阻止恶意流量来防御网络攻击,包括恶意代码传播。
  6. 安全补丁和更新管理: 及时应用操作系统和应用程序的安全更新和补丁是防止恶意代码利用系统漏洞的关键步骤。
  7. 应用白名单: 白名单技术允许系统管理员定义可执行文件和应用程序的白名单,只有在白名单上的程序才能运行,从而减少潜在的恶意代码执行。
  8. 电子邮件过滤和安全网关: 通过检测和阻止恶意附件、链接或恶意代码传播的电子邮件,电子邮件过滤和安全网关有助于防范针对用户的社交工程攻击。
  9. 安全教育和培训: 提供员工和用户有关社交工程攻击、恶意代码的风险以及如何防范的培训是预防恶意代码感染的重要方面。
  10. 端点安全: 通过在终端设备上使用终端防护软件,可以检测和防止恶意代码的传播和执行。
  11. 安全漏洞管理: 定期评估和管理系统和应用程序的安全漏洞,以及修补这些漏洞,是防止恶意代码利用的一项重要措施。

这些技术通常以综合的方式使用,以提供更强大的恶意代码防护能力。保持技术的更新,及时应用安全补丁,以及教育用户避免潜在的风险都是有效防范恶意代码攻击的关键。


博客:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

安全防御之授权和访问控制技术

发表于 2024-01-03 | 更新于: 2025-07-21 | 分类于 技术 , 网络安全 | | 阅读次数:
字数统计: 4k | 阅读时长 ≈ 13

授权和访问控制技术是安全防御中的重要组成部分,主要用于管理和限制对系统资源(如数据、应用程序等)的访问。授权控制用户可访问和操作的系统资源,而访问控制技术则负责在授权的基础上,确保只有经过授权的用户才能访问相应的资源。

一、授权

授权技术通常包括身份认证和权限管理。
身份认证是验证用户身份的过程,确保用户是系统中的合法用户;
权限管理则是根据用户的角色和身份,为其分配相应的访问权限。通过授权技术,可以有效地防止非法用户或未授权的用户访问系统资源,从而保护系统的安全。
授权是确定用户访问权限的机制。用户访问权限必须始终遵循最小特权原则,该原则规定用户只拥有执行他们的作业功能所必须的访问权限,而不能拥有其他权限。为了保证网络资源在受控、合法地情况下使用,用户只能根据自己的权限大小访问系统资源,不得越权访问。

二、访问控制

访问控制是网络安全防范和保护的主要核心策略,它的主要任务是保证网络资源不被非法使用和访问。
访问控制包括三个要素:主体、客体和控制策略。
主体S(Subject):是指提出访问资源具体请求或某一操作动作的发起者,但不一定是动作的执行者,可能是某一用户,也可以是用户启动的进程、服务和设备等。
客体O(Object):是指被访问资源的实体。所有可以被操作的信息、资源、对象都可以是客体。客体可以是信息、文件、记录等集合体,也可以是网络上的硬件设施、无限通信中的终端,甚至可以包含另外一个客体。
控制策略A(Attribution):是主体对客体的相关访问规则集合,即属性集合。访问策略体现了一种授权行为,也是客体对主体某些操作行为的默认。

1、访问控制模型

典型访问控制模型如图所示:
在这里插入图片描述

访问控制模型的组成

2、访问控制的机制

访问控制机制是检测和防止系统被未授权访问,并保护资源所采取的各种措施。是在文件系统中广泛应用的安全防护方法,一般在操作系统的控制下,按照事先确定的规则决定是否允许主体访问客体,贯穿于系统全过程。
访问控制矩阵(Access Contro1 Matrix)是最初实现访问控制机制的概念模型,以二维矩阵规定主体和客体间的访问权限。行表示主体的访问权限属性,列表示客体的访问权限属性,矩阵格表示所在行的主体对所在列的客体的访问授权,空格为未授权,Y为有操作授权。以确保系统操作按此矩阵授权进行访问。通过引用监控器协调客体对主体访问,实现认证与访问控制的分离。在实际应用中,对于较大系统,由于访问控制矩阵将变得非常大,其中许多空格,造成较大的存储空间浪费,因此,较少利用矩阵方式,主要采用以下2种方法:
1)访问控制列表
访问控制列表(Access Control List,ACL)是应用在路由器接口的指令列表,用于路由器利用源地址、目的地址、端口号等的特定指示条件对数据包的抉择。是以文件为中心建立访问权限表,表中记载了该文件的访问用户名和隶属关系。利用ACL,容易判断出对特定客体的授权访问,可访问的主体和访问权限等。当将该客体的ACL置为空,可撤消特定客体的授权访问。
2)能力关系表
能力关系表(Capabilities List)是以用户为中心建立访问权限表。与ACL相反,表中规定了该用户可访问的文件名及权限,利用此表可方便地查询一个主体的所有授权。相反,检索具有授权访问特定客体的所有主体,则需查遍所有主体的能力关系表。

3、访问控制的策略

访问控制的安全策略是指在某个自治区域内(属于某个组织的一系列处理和通信资源范畴),用于所有与安全相关活动的一套访问控制规则。访问控制的安全策略有三种类型:基于身份的安全策略、基于规则的安全策略和综合访问控制方式。

1)基于身份的安全策略

基于身份的策略包括基于个体的策略和基于组的策略。

  • 基于个体的策略:一个基于个体的策略根据哪些用户可对一个目标实施哪一种行为的列表来表示。这个等价于用一个目标的访问矩阵列来描述。
  • 基于组的策略:一个基于组的策略是基于身份的策略的另一种情形,一些用户被允许对一个目标具有同样的访问许可。

2)基于规则的安全策略

基于规则的策略包括多级策略和基于间隔的策略。
多级策略:通过分配给每个目标一个密级来操作。密级由低到高分为:无密级、限制、机密、秘密、绝密。每个用户从相同的层次中分配一个等级。
基于间隔的策略:在基于间隔的策略中,目标集合关联于安全间隔或安全类别,通过他们来分离其他目标。用户需要给一个间隔分配一个不同的等级,以便能够访问间隔中的目标。

3)综合访问控制方式

综合访问控制策略(HAC)继承和吸取了多种主流访问控制技术的优点,有效地解决了信息安全领域的访问控制问题,保护了数据的保密性和完整性,保证授权主体能访问客体和拒绝非授权访问。综合访问控制策略主要包括:

  • 入网访问控制
    入网访问控制是网络访问的第一层访问控制。对用户可规定所能登入到的服务器及获取的网络资源,控制准许用户入网的时间和登入入网的工作站点。
  • 网络的权限控制
    网络的权限控制是防止网络非法操作而采取的一种安全保护措施。用户对网络资源的访问权限通常用一个访问控制列表来描述。
  • 目录级安全控制
    目录级安全控制主要是为了控制用户对目录、文件和设备的访问,或指定对目录下的子目录和文件的使用权限。用户在目录一级制定的权限对所有目录下的文件仍然有效,还可进一步指定子目录的权限。
  • 属性安全控制
    属性安全控制可将特定的属性与网络服务器的文件及目录网络设备相关联。在权限安全的基础上,对属性安全提供更进一步的安全控制。网络上的资源都应先标示其安全属性,将用户对应网络资源的访问权限存入访问控制列表中,记录用户对网络资源的访问能力,以便进行访问控制。
  • 网络服务器安全控制
    网络服务器安全控制允许通过服务器控制台执行的安全控制操作包括:用户利用控制台装载和卸载操作模块、安装和删除软件等。操作网络服务器的安全控制还包括设置口令锁定服务器控制台,主要防止非法用户修改、删除重要信息。
  • 网络监控和锁定控制
    在网络系统中,通常服务器自动记录用户对网络资源的访问,如有非法的网络访问,服务器将以图形、文字或声音等形式向网络管理员报警,以便引起警觉进行审查。
  • 网络端口和结点的安全控制
    网络中服务器的端口常用自动回复器、静默调制解调器等安全设施进行保护,并以加密的形式来识别结点的身份。自动回复器主要用于防范假冒合法用户,静默调制解调器用于防范黑客利用自动拨号程序进行网络攻击。

4、访问控制技术

访问控制技术则是在授权的基础上,进一步控制用户对系统资源的访问。它根据用户的角色和权限,决定用户可以访问哪些资源以及可以进行哪些操作。常见的访问控制技术包括:

  1. 强制访问控制(Mandatory Access Control):这是一种基于安全策略的访问控制方法,由系统管理员设定安全级别,并按照安全级别对资源进行访问控制。
  2. 自主访问控制(Discretionary Access Control):这是一种基于用户身份的访问控制方法,由资源的拥有者自行设定访问权限。
  3. 基于角色的访问控制(Role-Based Access Control):这是一种基于用户角色的访问控制方法,通过将权限分配给角色,再将角色分配给用户,来实现访问控制。

1)强制访问控制技术(Mandatory Access Control)

强制访问控制(MAC),将系统中的信息分密级和类进行管理,以保证每个用户只能访问到那些被标明可以由他访问的信息的一种访问约束机制。通俗的来说,在强制访问控制下,主体与客体都被标记了固定的安全属性(如安全级、访问权限等),在每次访问发生时,系统检测安全属性以便确定该主体是否有权访问该客体。基于规则的多级策略就是一种强制访问控制策略。

2)自主访问控制技术(Discretionary Access Control)

自主访问控制又被称为“基于身份的访问控制”,允许合法用户以用户或用户组的身份访问策略规定的客体,同时阻止非授权用户访问客体。自主访问控制模型的特点是授权的实施主体(可以授权的主体、管理授权的客体、授权组)自主负责赋予和收回其他主体对客体资源的访问权限。
在自主访问控制机制中,存取模式主要有:

  • 读:允许主体对客体进行读和拷贝的操作。
  • 写:允许主体写入或修改信息,包括扩展、压缩机删除等。
  • 执行:允许将客体作为一种可执行文件运行,在一些系统中该模式还需要同时拥有读模式。
  • 空模式:主体对客体不具有任何的存取权。

自主访问控制的具体实施可采用以下四种方法:

  • 目录表
    在目录表访问控制方法中,借用了系统对文件的目录管理机制,为每一个欲实施访问权限的主体建立一个能被其访问的“客体目录表(文件目录表)”。如某个主体的客体目录表可能是:
    客体1 :权限1 客体2:权限2…
    客体目录表中各个客体的访问权限的修改只能由该客体的合法属主确定,不允许其他任何用户在客体目录表中进行写操作,否则将可能出现对客体访问权限的伪造。操作系统必须在客体的拥有者控制下维护所有的客体目录。
  • 访问控制列表
    访问控制列表是从客体角度进行设置的,是面向客体的访问控制。每个客体都有一个访问控制列表,用来说明有权访问该客体的所有主体及其访问权限。
  • 访问控制矩阵
    访问控制矩阵是对上面两种方法的综合,直观地看,访问控制矩阵是一张表格,每行代表一个主体,每列代表一个客体,表中纵横对应的项是该主体对该客体的访问权集合。
  • 能力表
    能力表是访问控制矩阵的改进,将矩阵的每一列作为一个客体而形成一个存取表,每个存取表只由主体、访问权集合组成。

3)基于角色的访问控制技术(Role-Based Access Control)

基于角色的访问控制(RBAC)是实施面向企业安全策略的一种有效的访问控制方式。其基本思想是:对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。
在一个组织内部,角色是相对稳定的,而用户和权限之间的关系则是易变的,比如因用户职务变化而随之发生权限变化。通过角色,可以减少授权管理的复杂度,降低管理开销,它是传统访问控制技术的有效补充。通常角色和用户组在概念上容易混淆,它们之间有本质的区别,组是用户的集合,而角色作为中介,既是用户的集合,又是权限的集合。
在一个组织内,安全管理员可以根据完成某项工作所需的权限,创建适当的角色;然后根据用户所要完成的任务,授予不同的角色,从而授予访问权限。用户与角色,角色与权限之间关系都是多对多的关系。用户与特定的一个或多个角色相联系,角色与一个或多个访问权限相联系。用户根据自己的需求动态地激活自己拥有的角色,完成特定的任务,避免误操作造成的危害。

授权和访问控制技术是安全防御的重要组成部分,可以有效防止未经授权的用户访问系统资源,保护系统的安全。在实际应用中,需要根据具体的安全需求和场景,选择合适的授权和访问控制技术,以达到最佳的安全防护效果。


博客:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

安全防御之身份鉴别技术

发表于 2024-01-03 | 更新于: 2025-07-21 | 分类于 技术 , 网络安全 | | 阅读次数:
字数统计: 2.2k | 阅读时长 ≈ 7

身份认证技术用于在计算机网络中确认操作者的身份。在计算机网络世界中,用户的身份信息是用一组特定的数据来表示的,计算机也只能识别用户的数字身份。身份认证技术能够作为系统安全的第一道防线,主要用于确认网络用户的身份,防止非法访问和恶意攻击,确保数字身份的操作者就是这个数字身份合法拥有者。

一、基本概念

1、身份鉴别

身份鉴别是指对主客体身份进行确认的过程,也就是对网络用户在进入系统或访问受限系统资源时的身份进行识别和验证的过程。这是信息安全的第一道防线,可以确保用户身份的真实、合法和唯一性,防止非法人员进入系统。

身份鉴别的方法:主要有三种,即基于实体所知、基于实体所有和基于实体特性。
基于实体所知的方法包括密码、验证码等,这些方法的成本低,实现简单,但面临的风险也较大,如暴力破解、木马等。
基于实体所有的方法通常涉及一些物理设备,如IC卡、门禁卡等,安全性较高,但成本也较高,并可能面临损坏和被复制的风险。基于实体特性的方法通常采用生物识别技术进行验证,如指纹、虹膜、声波等,这是安全性最高的一种方式。

2、标识

标识认证技术是信息安全理论与技术的一个重要方面,是实现信息安全等级保护身份鉴别、访问控制的技术基础,主要包括信息认证与身份标识认证两个方面的内容。信息认证用于保护信息的完整性与抗否认性,身份标识认证则用于鉴别用户身份,限制非法用户访问资源。

1)人的标识

身份标识认证是安全技术的一个重要方面,在用户访问文件时,必须通过某种形式的身份标识验证机制来证明他们的身份,验证用户的身份与所宣称的保持一致,才能够实现对文件的访问。用户首先经过身份标识认证才能访问安全系统,然后由安全系统根据用户身份决定用户的访问权限。

2)网络标识

网络标识是指机器在网络中的标志信息,对一台具体的机器而言,机器的IP地址,MAC地址就是在网络中标识的。
在网络中,同一数据在不同的层有不同的标识,数据链路层的标识是MAC地址,网络层的标识是IP地址,传输层的标识就是UDP或者TCP的端口号。
主机的标识就是主机名称。在网络中,主机的名称+地址成为唯一的标识。

3)应用标识

应用标识包括应用名,进程名称,占用端口,序列号,标准的应答方式等。

3、口令

口令是指只有通信双方知晓的一段数据。口令是最广泛使用的一种身份鉴别方法,也是最容易实现和成本最低的用户鉴别和认证机制,但是经常会遭到攻击者的威胁:
口令字典攻击:也就是猜口令,在获得口令密文后,攻击者可以通过运用自己保存的口令字典,通过可以获得的相同的加密算法进行枚举尝试。
口令丢失:用户经常会将自己的口令分享给同事、上司或第三方工程人员。这样就失去了口令的鉴别作用。
口令嗅探:很多系统的口令在网络上都是明文传输的,比如,电子邮件,Telnet远程登录等。通过在网络关键路径上进行嗅探可以轻易地获得用户的口令。
口令文件被窃取:对口令文件的保护是口令机制的弱点。如果口令文件被窃取,可能导致大量的用户口令沦陷。

4、挑战-响应技术

挑战-响应技术是一种常用的基于口令的身份认证技术。
基于挑战/响应方式的身份认证系统就是每次认证时,认证服务器端都给客户端发送一个不同的“挑战”字串,客户端程序收到这个“挑战”字串后,做出相应的“响应”,基于此机制系统认证过程为:

  1. 客户端向认证服务器发出请求,要求进行身份认证;
  2. 认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理;
  3. 如果是合法用户,认证服务器内部产生一个随机数,作为“提问”,发送给客户端;
  4. 客户端将用户名字和随机数合并,使用单向Hash函数(例如MD5算法)生成一个应答串作为响应;
  5. 认证服务器将应答串与自己的计算结果比较,若二者相同,则通过一次认证;否则,认证失败;
  6. 认证服务器通知客户端认证成功或失败。
  7. 认证成功之后,以后的认证由客户端不定时地发起,过程中没有了客户端认证请求一步。两次认证的时间间隔不能太短,否则会给网络、客户和认证服务器带来太大的开销;也不能太长,否则不能保证用户不被他人盗用IP地址,建议时长为1-2分钟。

5、公钥认证技术

公钥认证技术使用一对加密字符串,一个称为公钥,任何人都可以看到其内容;另一个称为私钥,由用户妥善保存。公钥认证技术功能的实现在于通过公钥加密过的密文使用私钥可以轻松解密,但根据私钥来猜测密钥却十分困难。

二、常见的身份鉴别技术

  • 用户名/密码认证:这是一种最基本的方式,用户需要输入用户名和密码来证明自己的身份。但是,由于密码可能被破解或泄露,因此这种方式存在一定的安全隐患。
  • 动态口令认证:这是一种更加安全的方式,用户需要输入动态生成的口令才能进入系统。这种方式可以有效地防止密码被破解或被盗用。
  • 多因素认证:这是一种基于多种因素的认证方式,除了用户名和密码外,还需要用户提供其他信息,如手机验证码、指纹、虹膜等。这种方式可以大大提高系统的安全性。
  • 基于角色的访问控制:这是一种基于用户角色的访问控制方式,用户只能访问自己被授权的资源。这种方式可以有效地防止未授权的访问和数据泄露。
  • 单点登录认证:这种方式可以实现一次登录即可访问多个系统的功能,减少了用户的操作步骤,提高了工作效率。同时,这种方式也可以减少因某个系统被攻击而导致其他系统受到攻击的风险。

身份鉴别技术是保护信息安全的重要手段,不同的应用场景需要选择合适的身份鉴别技术来保证系统的安全性和稳定性。

三、防御措施

针对身份鉴别过程中可能出现的攻击,如线路窃听和重放攻击等,需要采取相应的防御措施。例如,在口令中使用随机数可以防止攻击者通过构造特定表格(如彩虹表)来破解口令。针对重放攻击,可以在会话中引入时间戳或使用一次性口令等方式进行防御。

身份鉴别技术是网络安全的重要组成部分,通过确认网络用户的身份,可以有效地防止非法访问和恶意攻击。同时,随着技术的发展,身份鉴别技术也在不断地进步和完善,以应对日益复杂的网络安全威胁。


博客:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

pandas将dataframe列中的list转换为多列

发表于 2023-12-26 | 更新于: 2025-07-21 | 分类于 技术 , 开发 | | 阅读次数:
字数统计: 524 | 阅读时长 ≈ 2

在应用机器学习的过程中,很大一部分工作都是在做数据的处理,一个非常常见的场景就是将一个list序列的特征数据拆成多个单独的特征数据。

比如数据集如下所示:

1
2
3
4
5
data = [['John', '25', 'Male',[99,100,98]],
['Emily', '22', 'Female',[97,99,98]],
['Michael', '30', 'Male',[97,99,100]]]
df_data= pd.DataFrame(data,columns=['Name', 'Age', 'Gender','Score'])
df_data

在这里插入图片描述

很多场景是需要将类似于Score的list序列特征,拆成多个特征值如这里的语、数、外的分数。

下面通过几个实例来将dataframe列中的list序列转换为多列。

1、一维序列拆成多列

可以通过在列上应用Series来进行拆分。

1
2
df_score=df_data['Score'].apply(pd.Series).rename(columns={0:'English',1:'Math',2:'Chinese'})
df_score

在这里插入图片描述

可以看到将Score的数组,拆分成了English、Math、Chinese三个特征字段了

1
2
df_data=df_data.join(df_score)
df_data

在这里插入图片描述

2、二维序列拆成多列

用同样的思路也可以将二维序列的特征列拆成多列
如特征列是二维序列,序列里还有多个序列

1
2
3
4
5
data = [['John', '25', 'Male',[[99,100,98],[89,70]]],
['Emily', '22', 'Female',[[97,99,98],[99,96]]],
['Michael', '30', 'Male',[[97,99,100],[87,99]]]]
df_data= pd.DataFrame(data,columns=['Name', 'Age', 'Gender','Score'])
df_data

在这里插入图片描述

1
2
3
4
5
6
df_score=df_data['Score'].apply(pd.Series)
df_score_1=df_score[0].apply(pd.Series).rename(columns={0:'English',1:'Math',2:'Chinese'})
df_score_2=df_score[1].apply(pd.Series).rename(columns={0:'Biology',1:'Geography'})
df_score=df_score_1.join(df_score_2)
df_data=df_data.join(df_score_1).join(df_score_2)
df_data

在这里插入图片描述

另外一种情况就是序列里面只有一个序列的二维序列,数据如下所示:

1
2
3
4
5
data = [['John', '25', 'Male',[[99,100,98,89,70]]],
['Emily', '22', 'Female',[[97,99,98,99,96]]],
['Michael', '30', 'Male',[[97,99,100,87,99]]]]
df_data= pd.DataFrame(data,columns=['Name', 'Age', 'Gender','Score'])
df_data

在这里插入图片描述

这样也可以通过多次应用Series来进行拆分,也可以先explode()再应用Series来进行拆分。

1
2
df_score=df_data['Score'].apply(pd.Series)[0].apply(pd.Series).rename(columns={0:'English',1:'Math',2:'Chinese',3:'Biology',4:'Geography'})
df_score

在这里插入图片描述

1
2
df_score=df_data['Score'].explode().apply(pd.Series).rename(columns={0:'English',1:'Math',2:'Chinese',3:'Biology',4:'Geography'})
df_score

在这里插入图片描述

两者效果是一样的。


博客地址:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

安全运营之团队人员组织建议

发表于 2023-12-22 | 更新于: 2025-07-21 | 分类于 技术 , 网络安全 | | 阅读次数:
字数统计: 1.4k | 阅读时长 ≈ 4

安全运营是一个持续的过程,需要不断地评估风险、监测威胁、改进措施和更新策略,以确保组织的安全性和可靠性。由人员、数据、平台(工具)、流程的共同组合构成安全运营体系。

一、安全运营团队目标

安全运营团队目标

图-安全运营团队目标

安全运营团队是具有日常安全运营及实战化攻防对抗能力的专职安全团队,依托安全运营中心平台,有效使用各项安全工具,以标准化的作业流程驱动,开展各项安全运营活动,实现安全工作持续、主动、精细化、标准化的过程管理,通过持续有效的安全运营活动满足合规要求、降低网络安全风险、保障企业网络安全。

二、团队人员组织架构

在这里插入图片描述

图-安全运营团队人员组织架构

三、运营团队职责分工

序号 运营工作内容 运营工作子项 频率 所属分组 相关职责 备注
1 安全资产识别与梳理 安全资产发现和识别 按需 安全资产管理 对已有安全资产和新增安全资产进行管理维护,协调督促业务部门安全资产责任人进行资产数据上报、agent安装。定期对异常资产、未纳管安全资产等进行通报督促整改。 常态化
安全资产信息梳理与管理
2 安全资产脆弱性管理 安全资产脆弱性识别与管理 对安全资产的脆弱性进行定期的识别,发布存在有脆弱性风险通知到安全资产责任人,督促整改,对脆弱性问题跟踪确认。
3 威胁监测 威胁监测 按需 监测研判 1.对安全监测平台进行日常的监测运营工作,形成相关交付物。(运营日报、周报、月报等)
2.对监测过程中发现的安全告警进行初步筛选,排查是否误报,对非误报告警进行安全级别判断,对判断后的安全告警进行安全事件的升级,并进行专人的研判分析。
3.对分析后重要安全事件,进行处置组递交沟通,提供事件分析报告。并对处置执行组反馈的处置情况进行复验审核工作。
常态化
威胁分析与通告
持续攻击对抗
事件分析与处置
应急响应
安全运营可视化
4 人工研判 安全事件人工研判
定期安全运营汇报
5 安全问题处置 安全事件处置 按需 处置执行 1.对研判后的安全事件进行处置操作,负责协调相关业务部门及安全资产归属单位,对网络及安全策略进行调整优化控制(含平台策略优化)。
2.对责任部门或责任人按处置流程进行通告下发,并跟踪事件处置过程,提供处置建议与咨询。
3. 跟踪事件处置情况,并将处置反馈情况同步监测研判组进行复验,负责对安全事件处置进行闭环,归档工作。
常态化
安全事件归档
安全事件报告
6 安全通告 安全事件通告
7 策略管理 策略管理
8 平台保障 现场处置协调跟踪 按需 平台保障 1.对安全运营中心平台进行日常的巡检维护,对各平台功能,告警数据采集,设备权限,性能消耗进行巡检监控,对巡检过程中发现的问题及时跟踪处理。
2.协助处置执行组对安全事件进行处置闭环跟踪及协调工作。
3.根据运营需求进行平台规则优化、剧本流程优化。
常态化(平台建设方参与)
现场故障应急处理
平台现场运营监测
平台运营日常巡检
平台规则流程优化
9 脆弱性评估与管理 漏洞、弱口令扫描 最新漏洞预警和响应 月/次 安全服务 1.负责漏洞管理、渗透测试、应急演练的方案整理及需求确认工作。
2.依据各服务内容流程,负责实施相关服务。
3.对服务过程发现安全问题进行协助处置工作,并提供处置方案。
4.负责方案服务总结,并对发现安全问题进行分析总结,提供加固建议及安全事件处理能力的建议。
按需,一般以服务外包的方式外包给专业团队
漏洞协助处置
10 渗透测试 渗透测试方案 按需
渗透测试内容
11 应急演练 应急演练 一年/次
12 风险评估 双新评估服务 一年/次 负责双新评估、定级备案风险评估等安全风险评估服务。
定级备案风险评估 一年/次
13 流程优化 运营流程及人员调整优化 按需 安全运营管理 流程优化;团队管理; 培训组织;工作汇报; 质量审核;应急响应。 常态化,固定负责人
14 工作汇报 安全监测运营汇报(月报、季报、半年报)
15 培训组织 培训组织

在这里插入图片描述

博客地址:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

安全运营之态势感知与监测

发表于 2023-12-21 | 更新于: 2025-07-21 | 分类于 技术 , 网络安全 | | 阅读次数:
字数统计: 1.4k | 阅读时长 ≈ 4

信息安全是一个动态的过程,操作系统、应用软件、中间件,还有硬件,平台的种类越来越多,技术越来越复杂,稍有不慎就会留下安全隐患和管理漏洞,依靠客户自身的IT资源无论从技术的先进性还是方案的严密性上都越来越难以应对,企业往往由于人手或技术力量的不足,无法自如的处理各种复杂的信息安全问题。针对这种情况,就需要持续对新的安全威胁、安全漏洞进行跟踪、分析和响应。

安全态势感知与监测是一种基于环境的、动态、整体地洞悉安全风险的能力,它以安全大数据为基础,从全局视角提升对安全威胁的发现识别、理解分析、响应处置能力的一种方式,最终是为了决策与行动,是安全能力的落地。

目前网络安全态势感知平台系统架构如下:

  1. 海量多元异构数据的汇聚融合技术:在大规模网络中,网络安全数据和日志数据由海量设备和多个应用系统中产生,且这些安全数据和日志数据缺乏统一标准与关联,在此基础上进行数据分析,无法得到全局精准的分析结果。
  2. 数据挖掘与智能分析技术:通过机器学习、大数据分析等技术,实现基于逻辑和知识的推理结果,从已知威胁推演未知威胁,实现对安全威胁事件的预测和判断。
  3. 威胁情报的共享与交换技术:通过建立威胁情报共享与交换平台,实现不同安全厂商、不同组织之间的威胁情报共享与交换,提高安全态势感知的准确性和效率。

一、安全监控

安全监控应覆盖网络、安全设备、主机、数据库、应用和中间件的安全和性能监控,具体内容如下:

类型 内容 监控方式
网络层 路由器、防火墙、IPS、WAF等 SNMP、syslog等
主机层 Windows2000/XP/2003、Solaris、AIX、HP-UX、Redhat Linux SNMP、syslog、专用数据收集代理
数据库 Oracle、MS SQL Server、Mysql、ES SNMP、syslog、专用数据收集代理
应用中间件 WebLogic、WebSphere、Jboss/Tomcat、Apache、IIS SNMP、syslog、专用数据收集代理

一般来说将需要监控的数据统一汇聚到安全态势感知平台,通过平台的采集、汇聚、分析、展现能力,实现对网络安全的统一监控和告警通知。

二、风险感知

风险感知是指部署相应的监测措施如态势感知平台,主动发现来自系统内外部的安全风险,具体措施包括数据采集、收集汇聚、特征提取、关联分析、状态感知等。

  1. 数据采集
    数据采集指对网络环境中各类数据进行采集,为网络异常分析、设备预测性维护等提供数据来源。
  2. 收集汇聚
    对于数据的收集汇聚主要分为两个方面。一是对网络设备系统及应用系统所产生的安全告警数据进行汇聚,包括产品全生命周期的各类数据的同步采集、管理、存储及查询,为后续过程提供数据来源。二是对全网流量进行监听,并将监听过程中采集到的数据进行汇聚。
  3. 特征提取
    特征提取是指对数据特征进行提取、筛选、分类、优先级排序、可读等处理,从而实现从数据到信息的转化过程,该过程主要是针对单个设备或单个网络的纵向数据分析。信息主要包括内容和情景两方面,内容指网络流量、告警日志信息等;情景指人员的操作指令、人员访问状态、登录事件、时长等。
  4. 关联分析
    关联分析基于大数据进行横向大数据分析和多维分析,通过将运行机理、运行环境、操作内容、外部威胁情报等有机结合,利用群体经验预测单个设备的安全情况,或根据历史状况和当前状态的差异进行关联分析,进而发现网络及系统的异常状态。
  5. 状态感知
    状态感知基于关联分析过程,实现对企业网络运行规律、异常情况、安全目标、安全态势、业务背景等的监测感知,确定安全基线,结合大数据分析等相关技术,发现潜在安全威胁、预测黑客攻击行为。

为了提高安全态势感知与监测的能力和准确性,还需要采取以下措施:

  1. 加强数据分析和挖掘能力:通过对海量数据进行深入分析和挖掘,发现潜在的安全威胁和漏洞。
  2. 建立威胁情报共享机制:通过建立威胁情报共享机制,实现不同组织之间的信息共享和协同作战。
  3. 加强技术创新和研发:通过加强技术创新和研发,不断推出新的安全防护措施和技术手段,提高安全防护能力。
  4. 加强人员培训和管理:通过加强人员培训和管理,提高人员的安全意识和技能水平,减少人为因素对网络安全的影响。

博客地址:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

安全运营之安全加固和运维

发表于 2023-12-19 | 更新于: 2025-07-21 | 分类于 技术 , 网络安全 | | 阅读次数:
字数统计: 4.2k | 阅读时长 ≈ 14

安全运营是一个将技术、流程和人有机结合的复杂系统工程,通过对已有安全产品、工具和服务产出的数据进行有效的分析,持续输出价值,解决安全问题,以确保网络安全为最终目标。

安全加固和运维是网络安全运营中的两个重要方面。
安全加固是指通过采取一系列措施,提高网络、系统和应用程序的安全性,以防止或减少未经授权的访问、数据泄露或系统损坏。这包括对网络设备、服务器、数据库和其他关键组件进行安全配置和加固,以防止潜在的攻击。
运维是指对网络、系统和应用程序的日常管理和维护,以确保其正常运行和性能。这包括监控系统的状态、维护和更新软件、管理网络设备、解决故障等。

在安全加固方面,一些常见的措施包括:

  1. 更新和修补操作系统、应用程序和网络设备的漏洞。
  2. 配置强密码和多因素身份验证。
  3. 限制不必要的网络端口和服务。
  4. 实施访问控制和权限管理。
  5. 定期备份数据和配置信息。

在运维方面,一些常见的任务包括:

  1. 监控系统的性能和状态。
  2. 维护和更新软件和操作系统。
  3. 管理网络设备和网络连接。
  4. 解决系统和应用程序故障。
  5. 管理和优化数据库。

以下从补丁管理、安全加固、日志的监控分析、日常安全运维几个方面来一窥安全加固和运维。

一、补丁管理

伴随着软件大小的不断膨胀,潜在的BUG 也不断增加。据估计,1992年发布的Windows3.1 有3 百万行代码。然而,估计它存在15000 到60000处潜在的BUG。1999 年发布的Windows2000 保守估计有三千五百万行代码,也就是说可能存在175,000 到700,000 个潜在的BUG。
安全相关的BUG 通常是在大量用户使用,以及黑客或者软件测试者企图进行渗透时才会发现的。一旦BUG 被发现,软件厂商通常会发布一段软件修正这个BUG。这种软件一般称为补丁(patch)、hotfix,或者Service pack。
与以往不同的是,只有时刻对出现的漏洞及时做出反应才能够有效地保护系统的有效性、保密性和完整性。几乎每天都会有厂商发布新的补丁,即使有经验的系统管理员也很难保证能够及时使用所有最新的补丁修补系统。
补丁管理是指一个区域的系统管理,包括获得、测试和安装多个补丁(代码改变)到一个执行的计算机系统。补丁管理可被看作变动管理的部分。
补丁管理任务包括:维持当前的可用补丁的知识;决定对于特定的系统什么样的补丁是合适的;确保补丁正确安装;安装后测试系统;证明所有相关的程序,例如所需的特殊的配置等。
在网络环境中,组织通常尝试维护计算机之间的软件版本一致性,并且通常执行集中式补丁管理,而不是允许每台计算机下载自己的补丁。集中式补丁管理使用中央服务器检查网络硬件是否有缺失的补丁、下载缺失的补丁并根据组织的补丁管理策略将其分发到网络上的计算机和其他设备。集中式补丁管理服务器的作用不仅仅是自动化补丁管理;它还使组织能够对补丁管理流程进行一定程度的控制。例如,如果确定某个特定补丁有问题,组织可以配置其补丁管理软件以阻止部署该补丁。集中式补丁管理的另一个优点是它有助于节省互联网带宽。从带宽的角度来看,允许组织中的每台计算机下载完全相同的补丁是没有意义的。相反,补丁管理服务器可以下载补丁一次并将其分发到指定接收它的所有计算机。

二、安全加固

1、安全加固作用

各类网络设备、主机系统、数据库系统、应用系统等的安全状况是动态变化的,对于安全问题的发现及安全加固优化配置等操作都需要非常专业的安全技能,需要进行周期性的安全评估、审计、加固等工作,才能够保障整体安全水平的持续提高。
安全加固主要是解决以下安全问题:
(1)安装、配置不符合安全需求;
(2)使用、维护不符合安全需求;
(3)系统完整性被破坏;
(4)被植入木马程序;
(5)帐户、口令策略问题;
(6)安全漏洞没有及时修补;
(7)应用服务和应用程序滥用;

2、安全加固流程

安全加固是根据专业安全评估结果,制定相应的系统加固方案,针对不同目标系统,通过打补丁、修改安全配置、增加安全机制等方法,合理进行安全性加强。加固的流程和范围如下图所示:
安全加固流程

3、安全加固内容

系统安全加固是指通过一定的技术手段,提高操作系统或网络设备安全性和抗攻击能力。内容包括主机加固、数据库加固、中间件加固、网络设备加固等。

(1)主机加固

Windows设备安全加固内容:账号、口令、授权、日志配置操作、日志保护配置、共享文件夹及访问权限、Windows服务、防病毒管理、自动播放、屏幕保护、远程登录控制、补丁管理、IP协议安全配置操作、时间同步服务。
Linux操作系统安全加固内容:账号、口令、文件权限、IP协议安全、日志审计、关闭不必要的服务、资源控制。
AIX操作系统安全加固内容:账号、口令、授权、日志配置、IP协议安全、路由协议安全、补丁管理、内核调整、服务进程和启动、AIX可被利用的漏洞。

(2)数据库加固

加固的内容包括:身份鉴别、访问控制、安全审计、资源控制等安全项加固。加固方法包括:对数据库安全策略、服务等进行安全加固;加强对敏感存储过程的管理,尤其是能执行操作系统命令的存储过程。
Oracle数据库安全加固内容:账号、口令、授权、日志审计、远程操作连接。
Linux版MySQL数据库安全加固内容:认证授权(以非root用户启动MySQL、口令策略、共享帐号、最小权限、IP地址限制、删除无关帐号)、日志审计、安全文件权限配置、连接数限制。
Windows版MySQL安全加固内容:认证授权(以普通用户权限运行MySQL、口令策略、共享帐号、最小权限、IP地址限制、删除无关帐号)、日志审计、安全文件权限配置、连接数限制。
SQL Server数据库安全加固内容:账号、口令、授权、日志审计、通信协议、补丁、停用不必要的存储过程。

(3)中间件加固

IIS中间件安全加固内容:账号、口令、授权、日志配置操作、日志保护配置、文件系统及访问权限、IIS服务组件、隐藏IIS版本号及敏感信息、版本和补丁管理、IP协议安全配置操作、连接数限制。
Linux版Apache安全加固内容:认证授权设置、以非root用户启动Apache、目录安全配置、限制IP地址访问、日志审计设置、配置错误日志、配置访问日志、其他安全设置、隐藏Apache版本号、关闭目录浏览功能(必选)、禁用Apache的执行功能、防御拒绝服务攻击、自定义错误页面、升级使用最新版Apache。
Windows版Apache安全加固内容:认证授权设置、以普通用户权限运行Apache、目录安全配置、限制IP地址访问、日志审计设置、配置错误日志、配置访问日志、其他安全设置、隐藏Apache版本号、关闭目录浏览功能(必选)、禁用Apache的执行功能、防御拒绝服务攻击、自定义错误页面。
Tomcat中间件安全加固内容:账号、口令、授权、日志配置操作、定时登出、错误页面处理、目录列表访问限制。
Weblogic中间件安全加固内容:账号、口令、授权、日志、审计、其他安全配置、定时登出、错误页面处理、禁用Send Server header。

(4)网络设备加固

对二层交换设备、三层交换设备、路由器、防火墙等网络设备进行加固,加固内容包括:访问控制、安全审计、网络设备防护等安全项加固。
CISCO网络设备安全加固内容:账号、口令、密码复杂度、加固CON端口的登录、加固AUX端口的管理、对网络设备的管理员登录地址进行限制、HTTP登录安全加固、设置登录超时时间、用户权限分配、限制具备管理员权限的用户远程登录、日志配置、日志安全要求、远程日志功能、防止地址欺骗、SNMP服务器配置、使用ssh加密传输、禁用空闲端口、端口级的访问控制策略。
HUAWEI网络设备安全加固内容:用户帐号分配、限制具备管理员权限的用户远程登录、无效账户清理、静态口令复杂度、静态口令加密、密码重试、加固CON端口的登录、加固AUX端口的管理、对网络设备的管理员登录地址进行限制、远程登录加密传输、设置登录超时时间、用户权限分配、配置日志功能、对用户操作进行记录、对用户登录进行记录、开启NTP服务保证记录的时间的准确性、远程日志功能、ACL配置、防止地址欺骗、SNMP服务器配置、配置SNMPV2或以上版本、修改SNMP的Community默认通行字、动态路由协议口令要求配置MD5加密、禁止发布或接收不安全的路由信息、MPLS安全、禁用空闲端口、关闭不必要的服务。
H3C网络设备安全加固内容:账号、设备特权口令、密码复杂度、设置特权口令(推荐)、关闭未使用的端口、账号口令、Console口密码保护、禁止无关账号、日志配置操作、审核登录、VTY端口防护策略、远程主机IP地址段限制、远程管理通信安全、更改SNMP 服务读写权限管理、修改SNMP默认的Community字符串、Community字符串加密、IP/MAC地址绑定、ARP攻击防御、ARP防止IP报文攻击、关闭设备FTP服务、防源地址欺骗攻击、端口隔离、启用端口安全功能。

(5)漏洞修复

漏洞指的是计算机系统(操作系统和应用程序)的缺陷,攻击者可以通过这些缺陷进行非法入侵,实施恶意行为。漏洞修复对这些缺陷进行修补,以减少系统漏洞的暴露。在安全事件发生前防患于未然,包括主机漏洞修复、第三方产品漏洞和应用漏洞,主机漏洞修复主要通过补丁升级、版本升级来修复,第三方产品漏洞需厂商配合,应用漏洞需开发商对软件源码进行修复。

(6)安全设备调优

根据信息系统的安全情况和风险情况逐步调整已有的防火墙、堡垒机、安全监控平台、日志审计平台、IPS、WAF等安全设备策略配置,达到最佳的安全防护效果。

三、日志监控分析

日志监控分析是从应用系统各结点获得日志文件,采取人工+工具的分析分析方法,形成日志分析报告。该报告与定期评估结果、定期策略分析结果进行综合分析,找到当前的系统及网络设备中存在的问题和隐患,并给信息系统运维提供专业的增强建议。

1、日志分析流程

日志分析服务遵循以下流程:
(1)日志服务器搭建。将路由器、交换机通过syslog 协议,将Windows 系统的日志通过eventlog 的方式集中转存到搭建的日志服务器上。
(2)分析日志。分析关键服务器、防火墙、路由器、交换机等设备的日志, 采取人工加工具的审计分析方法对日志信息进行综合分析,找到当前的系统及网络设备中存在的隐患和被攻击痕迹。
(3)生成报告。根据日志分析内容,结合企业信息系统网络的构成及业务流程等,生成专业又极具可读性的报告,并针对日志分析出的各项问题,提出修补建议,使发现的问题能尽可能早的得到解决,避免引起更大范围的影响和损失。
(4)其它支持。企业根据报告的内容对系统进行检查和修补,并寻求专业公司帮助和指导。

2、日志分析内容

日志分析的内容主要包括:

类型 内容 方式
网络层 网络设备日志 工具、手工
主机层 通用的windows 和unix 系统日志,包括:应用程序日志、系统日志、安全日志等。 工具、手工
应用 Web 系统,包括:IIS、Apache;数据库等 工具、手工

四、日常安全运维

日常安全运维是确保网络和系统安全的重要环节。以下是一些日常安全运维的常见任务和注意事项:
1、监控网络和系统状态:通过使用各种工具和技术,监控网络和系统的状态,包括流量、设备性能、安全事件等,以便及时发现潜在的安全威胁和问题。
2、更新和修补漏洞:定期更新系统和应用程序的补丁和安全更新,以修复已知的安全漏洞。确保及时应用这些更新,以减少被攻击的风险。
3、访问控制和权限管理:实施严格的访问控制策略,确保只有授权人员能够访问敏感数据和系统资源。同时,管理用户的权限,确保他们只能访问他们需要的功能和数据。
4、入侵检测和防御:部署入侵检测系统和防御措施,以监控和识别潜在的攻击行为。及时响应和处理安全事件,防止攻击者进一步渗透网络和系统。
5、日志管理和分析:收集和分析系统日志,以监控和分析潜在的安全威胁和异常行为。通过日志分析,可以及时发现潜在的安全问题并采取相应的措施。
5、安全审计和监控:定期进行安全审计和监控,以确保安全策略和措施的有效性。通过审计和监控,可以发现潜在的安全漏洞和问题,并及时采取相应的措施。
7、备份和恢复计划:制定备份和恢复计划,以确保在发生安全事件或灾难时能够迅速恢复系统和数据。定期测试备份和恢复计划,以确保其有效性。
8、培训和管理:对运维人员进行安全培训和管理,提高他们的安全意识和技能水平。同时,建立完善的安全管理制度,确保运维人员遵守安全规定和操作流程。

安全加固和运维是相互关联的,因为一个安全的系统需要运维来维护和管理,而运维也需要安全加固来确保系统的安全性。因此,在网络安全领域中,安全加固和运维是密不可分的。


博客地址:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

安全运营之安全检查和测试

发表于 2023-12-19 | 更新于: 2025-07-21 | 分类于 技术 , 网络安全 | | 阅读次数:
字数统计: 1.6k | 阅读时长 ≈ 5

安全运营是一个将技术、流程和人有机结合的复杂系统工程,通过对已有安全产品、工具和服务产出的数据进行有效的分析,持续输出价值,解决安全问题,以确保网络安全为最终目标。

安全检查和测试是确保系统、设备或环境安全的重要手段,是安全运营基础工作的一部分。

安全检查主要通过定期或不定期地对系统、设备或环境进行全面的检查,以发现潜在的安全风险和漏洞。检查的内容可能包括各级人员安全责任制的落实情况、安全活动开展的贯彻落实情况、安全规章制度和措施的落实情况、现场安全管理情况、员工的遵章守纪情况以及员工安全操作规程及安全常识掌握情况等。

安全测试则是一种通过模拟攻击者的行为,测试系统的安全性,并发现潜在的弱点和漏洞的过程。这可以包括网络渗透测试、应用程序渗透测试等。

安全检查和测试包括日常的安全扫描、安全检查和针对信息系统的渗透测试。

一、安全扫描

通过按照计算机信息系统安全的国家标准、相关行业标准设计、编写、制造的安全扫描工具,分析并指出有关网络的安全漏洞及被测系统的薄弱环节,给出详细的检测报告,并针对检测到的网络安全隐患给出相应的修补措施和安全建议。

安全扫描目的是提高内部网络安全防护性能和抗破坏能力,检测评估已运行网络的安全性能,为网络系统管理员提供实时安全建议。安全扫描作为一种积极主动的安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前可以提供安全防护解决方案。

安全扫描是一种快速有效的安全评估手段,可以发现系统可能存在的部分安全问题,一般会采用安全扫描工具进行安全扫描,漏扫工具会根据目前安全行业漏洞发掘情况,对扫描系统漏洞库不断进行更新。使在扫描过程中,可以发现系统更多的安全问题。

在安全扫描过程中严格遵守以下原则:

1)服务不能影响目标系统所承载的业务运行;

2)服务不能严重影响目标系统的自身性能;

3)操作时间选择在系统业务量最小,业务临时中断对外影响最小的时候。

二、安全检查

安全检查是指安全专家登录主机,网络设备,根据检查列表对可能存在的安全漏洞进行逐项检查,根据检查结果提供详细的漏洞描述和修补方案。人工检查作为人工实施的安全评估手段可以有效弥补由于在防火墙策略或者其他安全设备的防护措施下,安全扫描工具无法扫描发现系统内部特定区域的缺陷。通过安全专家在主机、网络等设备上的实际操作,可以更深程度地发现系统存在的问题及需要安全增强的脆弱点。

安全检查是信息系统脆弱性发掘的一种有效措施,可以发现系统内部帐号策略、权限管理、日志审核、网络服务等诸多问题。对服务器及网络系统来说人工检查是安全加固的必要步骤。

三、渗透测试

渗透测试(penetration test)是通过模拟恶意攻击的方法,来评估系统是否存在安全风险的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,安全渗透测试工程师以攻击者的视角从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。渗透测试还具有的两个显著特点是:渗透测试是一个渐进的并且逐步深入的过程。渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。

1、渗透测试方法

黑盒渗透测试:是为了证明信息系统在网络孤岛的情况下面对 APT 攻击的危险性,系统安全防御是否按照预期计划正常运行而提供的一种测试方案。

测试过程中,会综合采用各种手段和途径,包括端口扫描,漏洞扫描,密码猜测, 密码破解,数据窃听,伪装欺骗等技术方式。最终目的就是为了检验该网络各个环节的安全性。

2、模拟渗透测试技术

模拟渗透入侵测试,是指为了对一个目标网络的安全性进行实际检查,进行不带攻击行为的全面安全检测;是一个在评估目标主机、网络、嵌入式设备的安 全性,模仿黑客特定攻击行为的过程。

详细地说,是指测试工程师尽可能完整的收集相关信息,利用收集到的信息进行靶场搭建,完整的模拟黑客使用的漏洞发现技术和攻击手段,对目标网络的安全性作完整攻击复现的过程。

通过安全检查和测试,可以及时发现并解决潜在的安全问题,提高系统的安全性,确保系统、设备或环境的安全稳定运行。


博客地址:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

pandas对波形异常数据处理实战

发表于 2023-12-18 | 更新于: 2025-07-21 | 分类于 技术 , 开发 | | 阅读次数:
字数统计: 533 | 阅读时长 ≈ 2

做数据分析很大一部分工作量都是在对数据处理,因为数据来源的质量问题,不能保证所有的数据都是正常的。对于数据分析和处理来说pandas无疑是常用的利器。下面通过一个实例来用pandas对波形异常数据进行实战处理。

读取数据

1
2
3
4
5
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df_data=pd.read_csv('data\HRTrend测试波形.csv')
df_data

原始波形数据

从csv导入的数据是文本字符串类型的,用《Python将列表中的数据写入csv并正确读取解析》中介绍的方法将文本数据转成列表。

1
2
3
4
5
def str2list(str):
return np.fromstring(str[1:-1], sep=' ')

df_data['HRTrend']=df_data['HRTrend'].apply(str2list)
df_data

文本字符串转list后的波形数据
用plt查看图形

1
2
3
4
5
6
fig,axes = plt.subplots(3,4,figsize=(12,4))
i=0
for x in range(3):
for y in range(4):
axes[x,y].plot(df_data['HRTrend'][i])
i=i+1

异常数据波形

从图形上看出现了异常。我们抽一个数据进行查看,发现前后有很多空值,并且在数据中也存在缺失值。

1
df_data['HRTrend'][0]

异常数据实例

1
plt.plot(df_data['HRTrend'][0])

异常图形实例

用plt画出图形,可以看到因为有缺失值所以图形并不连续。

异常数据处理

为了更好的展示图像,为以后的数据分析准备数据,我们需要将前后的空值去掉,对于中间存在的异常值我们可以用前值或后值进行填充。

1
2
3
4
5
6
# 定义一个方法,先将空值用0填充,然后去首尾的0,再将中间存在异常的值用前值填充。
def ruledata(df_cloumn):
ps=pd.Series(df_cloumn).fillna(0) #先将为空值用0填充
values=pd.Series(np.trim_zeros(ps)).replace(to_replace=0, method='ffill').values #去首尾0,然后用异常值填充
return values
df_data['rule_HRTrend']=df_data['HRTrend'].apply(ruledata) #将异常数据处理的方法进行应用处理异常值
1
2
3
4
5
6
fig,axes = plt.subplots(3,4,figsize=(12,4))
i=0
for x in range(3):
for y in range(4):
axes[x,y].plot(df_data['rule_HRTrend'][i])
i=i+1

异常数据处理后的正常图形

最后可以发现经过异常值修复后图形变得正常连续了。


博客地址:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注:微信公众号,一起学习成长!

Python将列表中的数据写入csv并正确解析出来

发表于 2023-12-16 | 更新于: 2025-07-21 | 分类于 技术 , 开发 | | 阅读次数:
字数统计: 524 | 阅读时长 ≈ 2

用Python做数据处理常常会将数据写到文件中进行保存,又或将保存在文件中的数据读出来进行使用。通过Python将列表中的数据写入到csv文件中很多人都会,可以通过Python直接写文件或借助pandas很方便的实现将列表中的数据写入到csv文件中,但是写进去以后取出有些字段会有变化有些坑还是要避免。本文通过实例来介绍如何将列表中的数据写入文件如csv并正确解析出来使用。

示例数据如下:

1
2
3
data = [['John', '25', 'Male',[99,100,98]],
['Emily', '22', 'Female',[97,99,98]],
['Michael', '30', 'Male',[97,99,100]]]

通过pandas将数据写入csv

1
2
3
4
5
import pandas as pd
df = pd.DataFrame(data,columns=['Name', 'Age', 'Gender','Score'])
filename = 'data\pd_data.csv'
df.to_csv(filename, index=False)
df

数据集

我们对原始的数据中的分数Score字段进行求和统计总分TotalScore

1
2
df['TotalScore']=df['Score'].apply(sum)
df

数据集TotalScore

通过pandas将csv文件中的数据读出

用pandas将csv文件将数据读出也是非常方便的一行代码就可以搞定

1
2
df_read_csv=pd.read_csv(filename)
df_read_csv

数据集

但是会发现从csv文件中读出数据后形成的dataframe数据集对数据中的分数Score字段进行求和统计总分TotalScore会报错!

1
2
3
df_read_csv['TotalScore']=df_read_csv['Score'].app

TypeError: unsupported operand type(s) for +: 'int' and 'str'

原因是原数据中Score字段中的数据是list但是报错至文件读出来后这个字段变成了字符串,字符串不能求和。

解决方案
将字段中为字符串的值进行转换,转换成list,numpy提供了string转list的方法,当然也可以自己写。

1
2
3
4
5
6
7
8
import numpy as np
def makeArray(text):
#return [int(item) for item in text[1:-1].split(',')] #将字串转换成列表
return np.fromstring(text[1:-1], sep=',') #用numpy提供的方法将字串转换成列表

df_read_csv['Score']=df_read_csv['Score'].apply(makeArray) #将Score由字符串转成列表
df_read_csv['TotalScore']=df_read_csv['Score'].apply(sum)
df_read_csv

数据集TotalScore

可以看到这下Score字段可以正常的进行求和统计总分TotalScore了。


博客地址:http://xiejava.ishareread.com/


“fullbug”微信公众号

关注微信公众号,一起学习、成长!

<1…789…21>
XieJava

XieJava

204 日志
12 分类
26 标签
RSS
GitHub
友情链接
  • 爱分享读书
  • CSDN
  • 豆瓣
© 2025 XieJava | Site words total count: 420.8k

主题 — NexT.Muse
0%