信安工程师学习笔记
在Linux系统中,iptables是一个用于配置IPv4数据包过滤规则的工具。它的默认实现是基于netfilter框架,而netfilter框架中的主要表是"filter"表(也称为"filter"表)。
"filter"表是iptables中的默认表,用于实现基本的数据包过滤功能。它包含了三个默认的链(chains):
-
INPUT链:该链用于处理进入本地系统的数据包,包括目标IP地址是本地系统的数据包。例如,当系统接收到来自网络的数据包时,将首先经过INPUT链进行处理。
-
FORWARD链:该链用于处理转发(forward)的数据包,即目标IP地址不是本地系统,需要通过本地系统进行转发的数据包。例如,当系统作为路由器转发数据包时,将经过FORWARD链进行处理。
-
OUTPUT链:该链用于处理从本地系统发出的数据包,包括源IP地址是本地系统的数据包。例如,当系统发送数据包到网络时,将经过OUTPUT链进行处理。
这三个默认链是iptables的基础,可以通过在这些链上添加规则来实现数据包的过滤、转发和修改等操作。当然,还可以通过创建自定义链并在这些默认链中引用它们,以实现更复杂的规则集和策略。
要禁止计算机继续发送DNS数据包,您可以在iptables中添加相应的过滤规则。以下是一个示例规则,用于阻止计算机发送UDP端口53上的DNS数据包:
上述规则将在OUTPUT链中添加一个规则,匹配协议为UDP(-p udp),目标端口为53(--dport 53),并将匹配的数据包丢弃(-j DROP)。
政府网站的信息安全等级原则上不应低于二级。三级网站每年应测评一次,二级网站每两年应测评一次。
SQL Server的默认通讯端口是1433
SSL(Secure Sockets Layer)是一种加密协议,用于在网络上安全地传输数据。下面是SSL加密的基本过程:
客户端发起连接:客户端(通常是Web浏览器)向服务器发起连接请求,并请求与服务器建立安全连接。客户端发送一个"ClientHello"消息,其中包含支持的加密算法和其他协商参数。
服务器响应:服务器收到客户端的请求后,发送一个"ServerHello"消息作为响应。该消息包含服务器选择的加密算法和其他协商参数。服务器还会发送自己的数字证书,用于验证服务器的身份。
客户端验证证书:客户端收到服务器的证书后,会验证证书的有效性。验证包括检查证书的签名是否可信、是否在有效期内以及是否与服务器域名匹配。如果验证失败,客户端可能会中止连接或显示警告信息。
密钥交换:一旦证书验证通过,客户端生成一个随机的"pre-master secret"(预主密钥),并使用服务器的公钥对其进行加密,然后将其发送给服务器。
会话密钥生成:服务器使用自己的私钥解密客户端发送的"pre-master secret",从而获取预主密钥。客户端和服务器使用预主密钥以及之前协商的参数生成一个"master secret"(主密钥)。
加密通信:客户端和服务器使用主密钥来生成会话密钥,用于对后续通信进行对称加密。客户端和服务器之间的数据传输会被加密,确保传输的机密性和完整性。
完成握手:客户端和服务器交换加密握手消息,确认加密通道已建立。此时,SSL握手过程完成,加密通信开始。
在Android中,权限(Permissions)用于控制应用程序对设备功能和用户数据的访问权限。Android的权限级别主要分为以下几种:
Normal Permissions(普通权限):这些权限属于设备功能的常规访问权限,不涉及用户敏感数据的访问。应用程序在安装时自动被授予这些权限,而无需用户明确授权。例如,访问网络状态、访问互联网、访问网络位置等。
Dangerous Permissions(危险权限):这些权限涉及对用户敏感数据或设备功能的直接访问,应用程序需要经过用户明确授权才能使用。例如,读取联系人、访问摄像头、获取精确位置、发送短信等。用户在安装或使用应用程序时,会弹出权限请求对话框,要求用户授权相应的权限。
Special Permissions(特殊权限):这些权限属于系统级别的敏感权限,如修改系统设置、拨打电话、锁屏等。这些权限只能由系统应用或设备管理员应用获得,普通应用程序无法直接获取。
除了以上主要的权限级别,Android还提供了其他权限相关的概念和特性,如权限组(Permission Groups)、运行时权限(Runtime Permissions)和自定义权限(Custom Permissions)。这些概念和特性使权限管理更加细粒度和灵活,同时提供更好的用户控制和隐私保护。
Android操作系统采用了多种隔离机制来保护应用程序和用户数据的安全性。以下是Android中常见的隔离机制:
应用沙箱(Application Sandbox):每个Android应用程序都在独立的应用沙箱中运行,它提供了应用程序之间的隔离环境。应用沙箱确保应用程序的代码、数据和资源不会干扰其他应用程序或操作系统。每个应用程序拥有自己的用户ID(UID)和组ID(GID),并使用Linux的文件系统权限模型来限制对文件和目录的访问。
进程隔离:Android应用程序在独立的进程中运行,每个应用程序都有自己的进程。这种进程级别的隔离确保应用程序之间无法直接访问彼此的内存空间,从而防止数据泄漏和恶意代码的传播。
用户权限模型:Android使用基于权限的安全模型,通过授予和管理各种权限来限制应用程序的行为。用户必须明确授权应用程序才能访问敏感数据或执行敏感操作。Android提供了一系列预定义的权限,并允许开发者定义自定义权限。用户可以在安装或使用应用程序时查看和管理授予的权限。
安全沙箱(SELinux):Android使用Security-Enhanced Linux(SELinux)来增强安全性。SELinux是一个强制访问控制(MAC)系统,通过将应用程序和系统服务限制在严格定义的安全策略下,防止恶意应用程序对系统资源的滥用。
虚拟化技术:Android在一些特定情况下使用虚拟化技术来提供额外的隔离。例如,Android的工作和个人配置文件之间使用虚拟化隔离,使得工作和个人数据在不同的虚拟环境中运行,相互隔离。
网络隔离技术(第一版教程)
·第一代隔离技术:完全地隔离。
·第二代隔离技术:硬件卡隔离。
·第三代隔离技术:数据转播隔离。
·第四代隔离技术:空气开关隔离。
·第五代隔离技术:安全通道隔离。
计算机病毒的生命周期:
- 复制传播阶段
- 激活阶段
国产SM系列算法:
- SM1分组密码算法
- SM2椭圆曲线公钥密码算法
- SM3 密码杂凑算法(输出长度256位,和SHA256安全性相当)
- SM4 分组算法
- SM9 标识密码算法
混淆是为了保证密文中不会反映出明文的线索,防止密码分析员从密文中找到模式,从而求出相应的明文;扩散是通过扩展明文的行和列来增强明文的冗余度。
等保:
原文链接:http://www.scio.gov.cn/ztk/hlwxx/02/09/Document/533636/533636.htm
第一级(用户自主保护级)、第二级 (系统审计保护级)、第三级(安全标记保护级)、第四级(结构化保护级)、第五级(访问验证保护级)
网络安全等级保护的主要工作可以概括为定级、备案、建设整改、等级测评、运营维护。
VPN类型:
VPN 有多种实现技术,按照 VPN TCP/IP 协议层的实现方式,可以将其分为链路层 VPN 网络层 VPN 、传输层 VPN 。链路层 VPN 的实现方式有 ATM Frame Relay 、多协议标签交换 MPLS; 网络层 VPN 的实现方式有受控路由过滤、隧道技术;传输层 VPN 则通过 SSL 来实现。
网络蠕虫的四个模块:
- 探测模块
- 传播模块
- 蠕虫引擎模块
- 负载模块
网络安全取证步骤:
- 取证现场保护
- 识别证据
- 传输证据
- 保存证据
- 分析证据
- 提交证据
ESP提供加密和认证,保护数据的机密性和完整性,但不保护源地址和传输层端口的完整性。而AH提供认证,保护数据的完整性和源身份,但不提供加密。在实际应用中,可以根据具体的安全需求和网络环境选择使用ESP、AH或两者的组合来提供适当的数据保护和安全性。
Snort的三种常见配置模式:
- 嗅探
- 包记录
- 网络入侵检测
密码体制的构成:
明文空间(M):无需采取任何解密操作就可直接可获取的形式
密文空间(C):全体密文的集合
密钥空间(K):加密和解密在密钥控制下进行
加密算法(E):由M到C的加密变换
解密算法(D):由C–>M的解密变换
根据所基于的数学基础的不同,非对称密码体制通常分为:(基于大数分解难题的)、基于离散对数难题的和基于椭圆曲线离散对数的密码体制。
根据密文数据段是否与明文数据段在整个明文中的位置有关否,可以将密码体制分为分组密码体制和序列密码体制。
根据在加密过程中是否引入客观随机因素,可以将密码体制分为确定型密码体制和概率密码体制。
RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,它使用了公钥和私钥来进行加密和解密操作。下面是RSA算法的一般计算方法:
- 密钥生成(Key Generation):
- 随机选择两个不同的质数p和q。
- 计算n = p * q,这将成为公钥和私钥的一部分。
- 计算欧拉函数φ(n) = (p-1) * (q-1),这将成为私钥的一部分。
- 选择一个整数e,使得1 < e < φ(n)且e与φ(n)互质,e将成为公钥的一部分。
-
计算d,使得(e * d) mod φ(n) = 1,d将成为私钥的一部分。
-
加密(Encryption):
- 将明文消息M转换为整数m,确保0 ≤ m < n。
-
使用公钥(n, e)进行加密,计算密文C = m^e mod n。
-
解密(Decryption):
- 使用私钥(n, d)进行解密,计算明文消息M = C^d mod n。
DES有4个弱密钥,若不考虑奇偶校验的情况下,有8个弱密钥。
有6个半弱密钥。
DES有补码特性,表明暴力破解的工作量在选择明文攻击下可以减少一半。
而若密钥为弱密钥,即攻击者只需要将密文再经过一次加密就可得到明文(比如攻击者向消息发送方发送一个加密请求)。
访问控制类型:
- 自主访问控制
- 强制访问控制
- 基于角色的访问控制
- 基于属性的访问控制
自主访问控制 (Discretionary Access Control, DAC) 是指客体的所有者按照自己的安全策 略授予系统中的其他用户对其的访问权。强制访问控制 (Mandatory Access Control, MAC) 是指系统根据主体和客体的安全属性, 以强制方式控制主体对客体的访问。
自主访问控制的实现方法有两大类,即基于行的自主访间控制和基于列的自主访问控制。
基于行的自主访间控制:
- 能力表
- 前缀表
- 口令
基于列的自主访问控制:
- 保护位
- 访问控制表
"渗入威胁"和"植入威胁"是两种不同类型的威胁,其区别主要在于攻击者进入系统或网络的方式和目的。
渗入威胁(Infiltration Threat): 渗入威胁指的是攻击者通过绕过防御机制和保护措施,成功地进入系统或网络。攻击者可能会使用各种技术和手段来突破网络的安全边界,如漏洞利用、密码破解、社会工程等。渗入威胁的目的通常是获取非授权访问系统、获取敏感数据、建立持久性控制权或利用系统进行进一步的攻击。
渗入威胁的一些常见方式包括:
漏洞利用:攻击者利用系统或应用程序中的安全漏洞,通过注入恶意代码或执行恶意操作来进入系统。 社会工程:攻击者通过欺骗、诱导或获取用户凭据等方式,获取足够权限进入目标系统。 密码破解:攻击者使用暴力破解或使用已泄露的密码尝试登录系统。 零日攻击:攻击者利用尚未公开的新漏洞,在系统中执行未经授权的操作。 植入威胁(Implant Threat): 植入威胁指的是攻击者在系统中植入恶意软件、恶意代码或后门等,以获得对系统的持久性访问和控制。攻击者的目的是在未被察觉的情况下操控和控制目标系统,以获取敏感信息、窃取数据或进行其他恶意活动。
植入威胁的一些常见方式包括:
后门:攻击者通过在系统中植入后门,使其能够随时访问和控制系统,而不被系统管理员或用户察觉。 恶意软件:攻击者使用恶意软件,如病毒、木马或间谍软件,在系统中植入恶意代码并进行后续操作。 嵌入式设备攻击:攻击者针对物联网设备或嵌入式系统,通过植入恶意代码或劫持控制流程的方式进行攻击,以获取控制权或窃取数据。 需要注意的是,渗入威胁和植入威胁可以相互关联。攻击者可能首先通过渗入威胁的方式进入系统,并随后植入恶意代码或后门,以保持对系统的持久性访问和控制。这样的攻击策略可以更长时间地操纵目标系统而不被察觉。
网页防篡改即对网站文件、目录进行保护,拦截黑客的篡改操作,达到防止网页被篡改的目的,主要有以下三种方式;
1.外挂轮询技术:用一个网页读取并检测程序,再用轮询的方式读取要监测的网页,将该网页和真实网页相比较后判断网页内容的完整性,如果发现网页被篡改,则对于被篡改的网页进行报警和恢复。但是这种网页防篡改技术明显的缺点是:当网页规模很大时,算法运行起来非常耗时且困难,且对于特定的网页,每两次检查的时间间隔很长,不法分子完全有机会进行篡改,对网页造成严重影响。
2.核心内嵌技术:在WEB服务器软件里内嵌篡改检测模块,在每个网页流出时都检查网页的完整性,如果网页被篡改,则进行实时访问阻断,对于被篡改的网页进行报警和恢复。这种网页防篡改技术的优点是:每个网页在流出时都进行检查,因此有可能被篡改的网页完全没有可能被读者发现;但是该方式也有缺点,由于在网页流出时要进行检测,因此网页在流出时会延迟一定的时间。
3.事件触发技术:利用(操作系统中的)驱动程序接口或文件系统,在网页文件修改时检查其合法性,对于非法操作——即篡改的网页进行报警和恢复。这种网页防篡改技术的明显的优点是预防成本非常低,不过其缺点也很明显,WEB服务器的结构非常复杂,不法分子常常不会选择从正面进攻,他们会从WEB服务器的薄弱处或者不易发现和检测的地方进行攻击,并且还不断会有新的漏洞被发现,因此上面的防御策略是不能做到万无一失的。此外,被篡改的网页一旦混进了WEB服务器,就再也没有机会对其进行安全检查了。
渗入威胁:假冒、旁路、授权侵犯;植入威胁:木马、陷阱。
屏蔽子网防火墙安全性最高
SSH Secure Shell 的缩写,即“安全外壳”,它是基于公钥的安全应用协议,由 SSH
输层协议、 SSH 用户认证协议和 SSH 连接协议三个子协议组成。
SSH 传输层协议提供算法协商和密钥交换,并实现服务器的认证,最终形成一个加密的安全连接,该安全连接提供完整性、保密性和压缩选项服务。 SSH 用户认证协议则利用传输层的服务来建立连接,使用传统的口令认证、公钥认证、主机认证等多种机制认证用户。
蜜罐(Honeypot)技术是一种主动防御技术
数据加密标准(Data Encryption Standard,DES)是一种对称加密算法,它可以用于保护数据的机密性。在使用DES时,通常需要考虑不同的加密模式,以满足不同的安全需求。以下是一些常见的DES加密模式:
-
电子密码本模式(Electronic Codebook, ECB):ECB模式是最简单的DES加密模式。它将明文数据分成固定大小的数据块,然后分别对每个数据块进行加密。这意味着相同的明文数据块会产生相同的密文数据块,这可能会导致一些安全问题,因此ECB模式通常不建议用于加密大量数据或需要高度安全性的情况。
-
密码分组链接模式(Cipher Block Chaining, CBC):CBC模式是一种更安全的DES加密模式。它引入了初始化向量(IV)来增加数据块之间的随机性。每个数据块的加密都依赖于前一个数据块的密文,因此即使相同的明文数据块,也会产生不同的密文数据块。
-
密码反馈模式(Cipher Feedback, CFB):CFB模式允许以比数据块更小的单位进行加密。它可以用于流加密,使得明文数据可以逐位加密,而不需要分成数据块。它还使用初始化向量(IV)来引入随机性。
-
输出反馈模式(Output Feedback, OFB):OFB模式也允许逐位加密,类似于CFB模式。它不依赖于前一个数据块的密文,而是依赖于前一个初始化向量(IV)的输出。
-
计数器模式(Counter, CTR):CTR模式也允许逐位加密,并且不需要初始化向量。它使用一个计数器来生成加密密钥,从而实现逐位的加密。
这些加密模式可以根据不同的应用场景和需求来选择。在实际应用中,CBC模式和CTR模式通常较为常见,因为它们提供了较高的安全性和灵活性。同时,还有一些更高级的加密模式,如峰谷填充模式(Galois/Counter Mode,GCM)和认证加密模式(Authenticated Encryption with Associated Data,AEAD),它们结合了加密和认证功能,提供更全面的安全性。
认证类型可分为单向认证、双向认证、第三方认证。
误用入侵检测依赖于攻击模式库
异常检测依赖于异常模型的建立。
误用入侵检测通常称为基于特征的入侵检测方法,是指根据已知的入侵模式检测入侵行为。攻击者常常利用系统和应用软件中的漏洞技术进行攻击,而这些基于漏洞的攻击方法具有某种特征模式。
异常检测方法是指通过计算机或网络资源统计分析,建立系统正常行为的轨迹”,定义一组系统正常情况的数值,然后将系统运行时的数值与所定义的正常情况相比较,得出是否有被攻击的迹象
-
完全备份(Full Backup):完全备份是将所有数据和文件复制到备份介质中的一种备份方式。完全备份可以恢复数据和文件的完整副本,但可能需要较长的时间和较大的存储空间。
-
增量备份(Incremental Backup):增量备份是只备份自上次完全备份或增量备份以来发生更改的数据和文件的一种备份方式。增量备份需要较少的存储空间,但恢复过程可能需要较长的时间,因为需要逐个应用增量备份。
-
差异备份(Differential Backup):差异备份是备份自上次完全备份以来发生更改的数据和文件的一种备份方式。与增量备份不同的是,差异备份会记录自上次完全备份以来的所有更改,而不是只记录自上次备份以来的增量更改。差异备份需要较少的存储空间,但恢复过程可能需要较长的时间。
-
增量-差异备份(Incremental-Differential Backup):增量-差异备份是将增量备份和差异备份结合使用的一种备份方式。它可以在每次备份时只备份自上次备份以来的增量更改,并记录自上次完全备份以来的差异更改。这种备份方式可以节省存储空间,并提供相对较快的恢复时间。
-
镜像备份(Mirror Backup):镜像备份是将整个系统或磁盘的精确副本复制到备份介质中的一种备份方式。镜像备份可以实现快速的系统恢复,但需要较大的存储空间。
根据您的需求和环境,可以选择适合的备份类型来保护您的数据和文件。
增量备份和差异备份都是针对已经进行过完全备份的数据进行的备份方式,它们之间的区别在于备份的范围和备份的内容。
增量备份是备份自上次完全备份或增量备份以来发生更改的数据和文件。举个例子来说明,假设在星期一进行了完全备份,然后在星期二、星期三和星期四分别进行了3次增量备份。星期二的增量备份只包含星期一到星期二之间发生的更改数据;星期三的增量备份只包含星期二到星期三之间发生的更改数据;星期四的增量备份只包含星期三到星期四之间发生的更改数据。在恢复数据时,需要逐个应用这些增量备份,从完全备份开始逐步还原。
差异备份是备份自上次完全备份以来发生的所有更改数据和文件。举个例子来说明,假设在星期一进行了完全备份,然后在星期二、星期三和星期四分别进行了3次差异备份。星期二的差异备份包含了从星期一到星期二之间的所有更改数据;星期三的差异备份包含了从星期一到星期三之间的所有更改数据;星期四的差异备份包含了从星期一到星期四之间的所有更改数据。在恢复数据时,只需要应用最近的一次差异备份即可。
因此,增量备份和差异备份的不同在于备份的范围。增量备份只备份自上次备份以来的增量更改,而差异备份备份自上次完全备份以来的所有更改。在恢复数据时,增量备份需要逐个应用所有增量备份,而差异备份只需要应用最近的一次差异备份。由于差异备份包含了所有更改数据,因此在恢复时可能比增量备份更快速。然而,增量备份在备份过程中需要较少的存储空间。
密码算法的安全性:
- 计算安全
- 可证明安全
- 无条件安全
国家密码分类:
- 核心密码
- 普通密码
- 商用密码
IDS是被动的监视设备,只能分析网络流量并发出告警,无法直接阻止入侵行为。IPS是主动的防护设备,不仅可以检测入侵行为,还可以根据预设的安全策略实时地中止入侵行为。
P2DR:Policy,Protection,Detection,Response
DES算法:
- 明文长度:64位
- 密文长度:64位
- 密钥长度:56位
- 子密钥长度:48位
- 密钥分组长度:64位
哈希函数碰撞性
有两种抗碰撞性:一种是弱抗碰撞性,即对于给定的消息,要发现另一个消息,满足在计算上是不可行的;另一种是强抗碰撞性,即对于任意一对不同的消息,使得在计算上也是不可行的。
隐私保护技术可以分为三类:
- 基于数据失真的隐私保护技术
- 基于数据加密的隐私保护技术
- 基于数据匿名化的隐私保护技术。
水印攻击:
鲁棒性攻击在不损害图像使用价值的前提下减弱、移去或破坏水印,也就是各种信号处理操作。
防火墙的安全规则中的处理方式主要包括以下几种:Accept:允许数据包或信息通过。Reject:拒绝数据包或信息通过,并且通知信息源该信息被禁止。Drop:直接将数据包或信息丢弃,并且不通知信息源。
以下不属于代码静态分析的方法是()。 A.内存扫描 B.模式匹配 C.定理证明 D.模型检测 信管网解析: 代码静态分析的方法包括模式匹配、定理证明、模型检测等,不包括内存扫描。 信管网参考答案:A
SM4 密码算法的数据分组长度为 128 比特,密钥长度也是 128 比特
DES密码中所有的弱密钥、半弱密钥、四分之一弱密钥和八分之一弱密钥全部加起来,一共有(256)个安全性较差的密钥。