信息安全工程师软考(6):认证技术
认证技术基础与原理
认证基础
组成要素:认证技术由**标识(Identification)和鉴别(Authentication)**两部分组成
标识:
定义:标识是实体对象的身份标志,如QQ号、用户名等
特性:
唯一性:确保实体可被唯一识别
强关联:与实体存在不可分割的绑定关系
表现形式:通常由名称和标识ID组成,通过唯一标识符代表特定实体
鉴别:
定义:利用数字化凭证对实体声称属性进行验证的过程
常见凭证类型:
知识凭证:如密码"123456"等用户知道的秘密
持有凭证:如UK(USB Key)等物理设备
生物特征:指纹、虹膜等生理特征
行为特征:键盘敲击力度、步态等行为模式
认证示意图:展示实体间通过输入凭证进行验证的交互过程
认证原理
基本构成:
验证对象:需要认证的实体(客户端/声称者)
鉴别实体:进行验证的实体(服务端/验证者)
认证协议:双方通信的规则和流程
认证技术发展:
单点登录(SSO):一次认证访问多系统
人机识别认证:如12306验证码
多因素认证:组合多种鉴别方式
行为鉴别技术:基于风 ...
信息安全工程师软考(5):物理安全
物理安全概述
物理安全概念
传统定义:涵盖环境、设备和记录介质等支持网络信息系统运行硬件的总体安全
广义定义:包含硬件、软件、操作人员及环境组成的人-机-物融合系统的安全
威胁分类:
自然威胁:地震/洪水/雷电/鼠害等
人为威胁:盗窃/爆炸/硬件攻击等
物理安全威胁
硬件木马
植入方式:在IC芯片中嵌入恶意电路,激活后改变原有功能
攻击阶段:
研发设计:通过EDA工具/IP核植入
生产制造:代工厂逆向工程植入
封装测试:测试环节恶意篡改
应用阶段
国产化意义:避免供应链不可控导致的安全隐患,国产化全环节可控
硬件协同的恶意代码
攻击特征:非授权软件访问特权内存区域(破坏了机密性)
破坏目标:主要破坏信息安全的机密性属性
硬件安全漏洞利用
典型漏洞:
熔断(Meltdown):允许越权读取内核内存
幽灵(Spectre):用于以侧信道方式获取指令预存、预执行对cache的影响等信息,进而获取到特定代码、数据在内存中的位置信息,从而利用其他漏洞对改内存进行读取或篡改
修复难点:硬件漏洞无法通过补丁完全修复,可能需整批设备淘汰
基于软件漏洞攻击硬件实 ...
Android逆向(4):动态调试、log插桩
动态调试
动态调试是指自带的调试器跟踪自己软件的运行,可以在调试的过程中知道参数或者局部变量的值以及履清代码运行的先后顺序。多用于爆破注册码。
动态调试步骤
修改debug权限
在AndroidManifest.xml里添加可以调试的权限
1android:debuggable="true"
XappDebug模块
Magisk命令
12341. adb shell #adb进入命令行模式2. su #切换至超级用户3. magisk resetprop ro.debuggable 14. stop;start; #一定要通过该方式重启
MagiskHide Props Config模块
开启adb调试
模拟器直接在设置中开启
手机点击版本号多次后开启开发者模式后进入开启ADB调试
debug模式启动
1adb shell am start -D -n com.zj.wuaipojie/.ui.MainActivity
adb shell am start -D -n 包名/类名
-n 表示启动一个activity
-D 表示将应用 ...
信息安全工程师软考(4):网络安全体系与模型
概述
网络安全模型
BLP模型
Bell-LaPadula模型(BLP)是机密性模型,用于防止非授权信息的扩散,该模型包含两个特性:简单安全特性和*特性。概括:上写下读。
简单安全特性:
读访问条件:主体安全级≥客体安全级,且主体范畴集包含客体全部范畴
操作限制:只能向下读,不能向上读
*特性:
写访问条件:客体安全级≥主体安全级,且客体范畴集包含主体全部范畴
操作限制:只能向上写,不能向下写
局限性:只能保障机密性,不能保障完整性
BLP机密性模型可用于实现军事安全策略,美国国防部为保护计算机机密信息提出的限制策略。
策略规定:用户要合法读取某信息,当且仅当用户安全级大于等于该信息的安全级,并且用户的访问范畴包含改信息范畴时。
安全级划分: 公开<秘密<机密<绝密(线性有序)
范畴集定义: 信息所属领域(如人事处、财务处等职能部门)
典型案例:
文件F:{机密:人事处,财务处}
用户A:{绝密:人事处} → 不可读F(缺少财务处范畴)
用户B:{绝密:人事处,财务处,科技处} → 可读F(满足全部条件)
Bib ...
信息安全工程师软考(3):密码学
密码学基础
组成结构:密码编码和密码分析
相关法律:
《密码法》实施时间:2020年1月1日(重点记忆)
《电子签名法》实施时间:2005年4月1日(了解即可)
密码安全分析
唯密文攻击:
条件:仅掌握一个/多个同密钥加密的密文
特点:攻击难度最大(如截获加密文件但无其他信息)
已知明文攻击:
条件:已知部分明文-密文对
特点:合格密码需能抵御此类攻击
选择明文攻击:
条件:可自主选择明文并获取对应密文
特点:对攻击者最有利,适用于攻击文件/数据库系统
密文验证攻击:
条件:可验证任意密文是否合法
特点:仅能判断合法性(Yes/No),无法获取内容
选择密文攻击:
条件:可选择密文并获取对应明文
特点:主要攻击公钥密码体制(特别是数字签名系统)
密码体制分类
对称密码体制(私钥密码体制)
核心特征:加密/解密使用相同密钥
密钥管理:
必须通过安全渠道交换密钥
密钥数量:n(n-1)/2(1000用户需约50万对密钥)
典型算法:DES(56位)、3DES(112位)、AES、RC4/5、IDEA
优势:加解密速度快、密文紧凑、长 ...
信息安全工程师软考(2):网络攻击原理与常用方法
网络攻击基础与模型
攻击原理表
攻击者分类:黑客(挑战/好奇)、间谍(获取情报)、恐怖主义者(恐怖事件)、公司职员(报复)、职业犯罪分子(经济利益)、破坏者(无目的破坏)
攻击内容:
用户命令(如cmd命令)
脚本/程序
自治主体(黑客自研工具)
电磁泄露(通过电磁感应窃取数据,防护措施:光纤/屏蔽网线)
攻击访问:本地访问(内鬼)、远程访问(黑客)
攻击效果-CIA对应:
破坏信息→完整性
信息泄密/窃取服务→机密性
拒绝服务→可用性
网络攻击模型(考选择题为主,了解即可)
攻击树模型
起源:由故障树分析方法扩展而来,采用AND-OR树形结构
典型应用:
红队(Red Team)用于渗透测试
蓝队(Blue Team)用于防御研究
优点:
支持专家头脑风暴整合
可进行费效/概率分析
能建模复杂攻击场景
缺点:
无法处理多重尝试攻击
不能建模时间依赖/循环事件
大规模网络处理复杂度高
MITRE ATT&CK模型
本质:基于真实攻击数据提炼的攻击矩阵模型
四大应用场景(主要记忆):
网络红蓝对抗模拟
网络安全渗透测试
网络防 ...
Android逆向(3):四大组件、Activity、弹窗定位、布局优化
广告类型
启动广告 弹窗&更新广告 横幅广告
安卓四大组件
组件
描述
Activity(活动)
在应用中的一个Activity可以用来表示一个界面,意思可以理解为“活动”,即一个活动开始,代表 Activity组件启动,活动结束,代表一个Activity的生命周期结束。一个Android应用必须通过Activity来运行和启动,Activity的生命周期交给系统统一管理。在一个应用中我们所有能看到的界面都是Activity。
Service(服务)
Service它可以在后台执行长时间运行操作而没有用户界面的应用组件,不依赖任何用户界面,例如后台播放音乐,后台下载文件等。
Broadcast Receiver(广播接收器)
一个用于接收广播信息,并做出对应处理的组件。比如我们常见的系统广播:通知时区改变、电量低、用户改变了语言选项等。
Content Provider(内容提供者)
作为应用程序之间唯一的共享数据的途径,Content Provider主要的功能就是存储并检索数据以及向其他应用程序提供访问数据的接口。Android内置的许多数据都是 ...
信息安全工程师软考(1):网络信息安全基础、管理、法律法规
网络安全基础
网络安全基本概念
信息化社会的主要特征:数字化、网络化、智能化
网络信息安全(狭义):机密性、完整性、可用性、抗抵赖性、可控性
网络信息安全(广义):国家安全、城市安全、经济安全、社会安全、生产安全、人身安全
网络安全三大发展趋势
对象内容:从单维度转向多维度,包含网络空间域、物理空间域、社会空间域;
理念方法:从单一性(技术)向综合性(法律、政策、技术、管理、产业、教育);
持续时间:要求覆盖网络系统的整个生命周期,响应速度要求不断缩短。
12大问题
网络强依赖性及关联风险
供应链与安全质量风险(如美国对华为芯片断供)
技术同质性与滥用风险(避免单一供应商风险)
网络安全建设与管理发展不平衡、不充分(建设与管理同等重要)
网络数据安全风险
高级持续威胁风险
恶意代码风险
软件漏洞风险
人员安全意识风险
技术复杂性和运营风险
地下黑产经济风险
网络间谍与网络战风险
网络信息安全的基本属性(CIA特性是重点)
属性
定义
攻击与防范
机密性(Confidentiality)
防止非授权用户获取信息(读)
窃听-加密
完整性(Integrity) ...
Android逆向(2):smali基础
JVM、Dalvik、ART
JVM是Java虚拟机,运行Java字节码程序
Dalvik是Android专属的虚拟机,有专属的文件执行格式DEX(Dalvik executable)
ART(Android Runtime)是Dalvik的升级版
smali基础语法
smali是Dalvik的寄存器语言,smali代码是dex反编译得到的。
常见关键词
名称
注释
.class
类名
.super
父类名,继承的上级类名名称
.source
源名
.field
变量
.method
方法名
.register
寄存器
.end method
方法名的结束
public
公有
protected
半公开,只有同一家人才能用
private
私有,只能自己使用
.parameter
方法参数
.prologue
方法开始
.line xxx
位于第xxx行
常见数据类型
smali类型
java类型
注释
V
void
无返回值
Z
boolean
布尔值类型,返回0或1
B
byte
字节类型 ...
Android逆向(1):APK文件结构、基础修改
APK文件结构
APK全程Android Package,相当于一个压缩文件。以压缩包的形式打开一个APK可以看到他的结构:
文件
描述
kotlin
使用kotlin编写的Android应用时携带的库
META-INF
保存应用的签名信息,用于验证应用完整性
okhttp3
一个依赖包
res
存放app前端用到的一些图形组件库,一些情况下APP会将证书放在里面的raw目录底下
assets
存放app的资源文件,通常存放图片之类的静态资源,有时候会存放app的证书,一些仅由HTML5封装的app,其前端代码也会存放在该文件夹下
AndroidManifest.xml
APK的应用清单,描述了应用的名字、版本、权限、引用的库文件等信息
classes.dex
java源码编译后的java字节码文件,应用运行的主要逻辑
resources.arsc
编译后的二进制资源文件,为一个映射表
汉化
流程图
现在我们的示例app里面有一个需要我们汉化的地方
现在我们用第一种方法:我们使用NP管理器,打开APK,搜索hello
通过这种方式 ...