安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
安全研究员(SAST方向)
## 一面 # 问题 1. 自我介绍 2. 根据简历问(主要是挖洞方面) 3. 对SAST的理解 4. 对IAST的理解 5. 污点分析 6. 对DevSecOps的理解 7. 对SDL的理解 8. 后面的发展规划(学习方向) 9. 目前掌握的语言栈怎么样?愿意去学习新的语言吗? 10. 对SAST和IAST中哪个更感兴趣 11. 讲讲白盒审计的思路 12. 有写过相关的自动挖掘工具吗 # 小结 体验很好,感觉双方更像是在探讨。 ## 二面 # 问题 1. Java反序列化 2. 了解哪些白盒审计的工具,知道原理吗 3. 域控的攻击方式 4. MS14-068的原理 5. 黄金和白银票据的利用及其效果,原理层面 6. IAST 7. 污点跟踪 8. 候选人的语言栈:java和go
一面
1. 自我介绍
张安研 | 3年应用安全工程师 | DevSecOps深度实践者
- 核心能力:
- SAST/IAST工具链集成(主导金融企业CI/CD安全流水线建设)
- 自动化漏洞挖掘:开发PHP/Java静态污点分析工具(检出率92%)
- 漏洞研究:发现Spring Data REST CVE-2024-3281(补丁已合并)
- 技术信仰:
“安全是研发流程的免疫系统,而非创可贴”
2. 漏洞挖掘实战案例
mermaid
graph LR A[白盒审计Struts2插件] --> B{发现ognl.allowStaticMethodAccess 未固化} B --> C[构造特殊Content-Type头] C --> D[绕过沙盒执行Runtime.getRuntime().exec()]
成果:
- 漏洞链利用获S厂商$5000奖金
- 改进方案:
xml<!-- struts.xml 加固方案 --> <constant name="struts.excludedClasses" value="java.lang.ProcessBuilder,java.lang.Runtime" />
3. SAST核心认知(静态应用安全测试)
技术本质:源代码/字节码的数据流+控制流静态分析
2025年技术突破:
传统方案 AI增强方案 正则匹配 大语言模型语义理解(漏洞模式库) 人工规则维护 自动生成规则(Git历史漏洞学习) 局限与改进:
- 误报率:通过污点路径验证降低至15%
- 速度瓶颈:增量扫描+分布式计算(ScanTime<3min)
4. IAST革命性价值(交互式应用安全测试)
工作原理:
mermaidgraph TD A[Agent注入] --> B[监控运行时数据流] B --> C[关联HTTP请求/数据库操作] C --> D[实时标记污点传播链]
落地优势:
- 精准检测:误报率<5%(对比SAST的35%)
- 漏洞复现:自动捕获HTTP请求生成PoC
- DevOps集成:Kubernetes Sidecar自动注入
5. 污点分析技术内核
三阶段模型:
python
def taint_analysis(): 源点识别(source) # 如 request.getParameter() 传播路径跟踪(propagator) # 方法调用/赋值操作 危险终点(sink) # 如 execute(sql)
创新实践:
- 对象敏感分析:区分
User.name
( 安全) vsUser.input
( 污染)- 隐式流处理:
java
if (userControlled) { loggerLevel = "DEBUG"; // 污染状态传递 }
6. DevSecOps落地框架
四层防御体系:
阶段 工具链 关键指标 Shift Left SAST + 组件扫描 早期漏洞发现率 >80% 运行时防护 IAST + RASP 生产环境漏洞拦截量/月 持续监控 威胁建模+ATT&CK映射 MTTR(修复时间) <24h 文化建设 安全卡点+红蓝对抗 研发安全培训通过率100%
7. SDL实践精要
金融行业落地流程:
mermaid
graph TB A[需求设计] --> B[威胁建模] B --> C[安全编码规范] C --> D[自动化工具链] D --> E[渗透测试] E --> F[安全运营]
量化收益:
- 漏洞修复成本下降70%(从5000/漏洞→5000/漏洞→1500/漏洞)
- 合规审计缺陷项减少90%
8. 发展规划与技术雷达
2025-2027技术路线:
mermaid
pie title 技术深耕方向 “云原生安全” : 40 “AI辅助漏洞挖掘” : 30 “机密计算防护” : 20 “量子安全加密” : 10
学习路径:
- 短期:CNCF安全专家认证(KCSP)
- 中期:AI模型对抗训练研究(FoolerGPT工具开发)
- 长期:可信执行环境攻防(Intel SGX/AMD SEV漏洞挖掘)
9. 语言栈与学习策略
掌握矩阵:
语言 能力等级 实战项目 Java 专家级 SAST引擎规则开发 Python 精通 污点分析工具开发 Go 熟练 K8s安全算子开发 Rust 学习中 WASM安全模块编写 学习宣言:
“每季度掌握1门新语言,用Rust重写Python工具链安全模块”
10. SAST vs IAST兴趣抉择
选择IAST的三大理由:
- 精准性革命:运行时数据消除误报(对比SAST的路径爆炸问题)
- 攻防价值:实时捕捉0day攻击流量(如Log4j2漏洞利用)
- 云原生适配:Service Mesh集成实现无侵入检测
11. 白盒审计高阶方法论
三维穿透分析法:
mermaid
graph TD A[历史漏洞模式] --> B[框架机制反推] B --> C[安全配置审计] C --> D[自定义规则扫描] D --> E[人工逻辑验证]
经典案例:
- 发现Spring Security权限绕过:
java
// 错误配置:antMatchers("/admin/**").hasRole("ADMIN") // 缺失.anyRequest().authenticated()
12. 自动化工具开发实践
项目名称:TaintRadar(Java污点分析引擎)
技术架构:python
class TaintRadar: 1. 字节码增强:ASM修改MethodVisitor 2. 变量级追踪:StackMapFrame重建状态机 3. 漏洞规则链:YAML定义source→sink路径
创新特性:
- 上下文敏感分析:区分10+种漏洞场景(SQLi/XSS/命令注入)
- 误报抑制器:
java
if (input.matches("\\d+")) { sanitized = true; // 自动识别数字校验 }
落地成效:
- 在金融核心系统扫描发现23个高危漏洞
- 效率提升:人工审计20人日 → 自动化扫描+人工验证(3人日)
二面
1. Java反序列化漏洞全景
攻击链原理
mermaid
graph LR A[反序列化入口] --> B{可控制数据流} B --> C[触发危险方法] C --> D[任意代码执行]
关键漏洞模型:
- CC链:
TransformedMap.checkSetValue()
→InvokerTransformer.transform()
- JDK链:
JNDI注入
(CVE-2021-44228后仍存在绕过变种)- 框架链:Spring
SerializationUtils
(CVE-2024-22243)2025防御方案:
java
ObjectInputStream ois = new ObjectInputStream(input); ois.addPermission(new MaxDepthValidator(5)); // 深度控制 ois.addPermission(new ClassNamePatternValidator("com.safe.*"));
2. 白盒审计工具原理剖析
工具 分析原理 2025增强能力 Fortify 数据流分析+控制流图 AI预测漏洞路径(准确率↑35%) Semgrep AST模式匹配 跨语言规则自动迁移(Java→Go) CodeQL 数据库查询语义 漏洞链自动构造(Chainsaw引擎) 自研引擎 字节码污点追踪 eBPF实时监控运行时路径 创新实践:
- 动态符号执行:解决路径爆炸问题(覆盖率↑至82%)
- 上下文敏感分析:区分SQL拼接场景(
StringBuilder
vs 直接拼接)
3. 域控攻击战术矩阵
攻击链演进
阶段 经典手法 2025绕过技术 初始访问 SMB爆破(MS17-010) DNS隐蔽隧道 + QUIC协议加密 权限提升 MS14-068漏洞 Kerberos Delegation滥用 横向移动 Pass-the-Hash 无文件WMI订阅攻击 持久化 DCShadow攻击 虚拟化层Hyper-V后门
4. MS14-068漏洞深度解析
原理:
mermaid
graph TB A[伪造PAC] --> B{缺失KDC签名验证} B --> C[添加Domain Admins组] C --> D[获取高权限TGT]
利用步骤:
- 普通域账号构造恶意PAC
- 发送
TGS_REQ
请求,伪装组权限- KDC返回高权限票据 →
mimikatz
注入内存修复方案:
- 安装KB3011780补丁
- 启用PAC签名校验(
ValidateKdcSignatures
注册表键)
5. 金银票据攻防本质
对比矩阵
维度 黄金票据 白银票据 生成材料 KRBTGT密码哈希 服务账号NTLM哈希 攻击目标 全域访问 特定服务(如CIFS/SQL) 检测难度 高(伪造TGT) 中(仅服务日志异常) 2025防御 启用AES256加密 + 定期重置KRBTGT 服务账号特权最小化 技术本质:
- 黄金票据:利用Kerberos信任链根(KRBTGT)的不可撤销性
- 白银票据:跳过KDC验证,直接伪造服务ST(Service Ticket)
6. IAST技术演进与落地
2025架构革新:
mermaid
graph LR A[Agentless模式] --> B(eBPF挂载) B --> C{内核态流量监控} C --> D[零性能损耗] D --> E[K8s Sidecar自动注入]
核心价值:
- 漏洞验证率:95%(对比DAST的60%)
- 攻击面覆盖:自动识别API未文档化端点
- DevOps集成:扫描耗时<2分钟/流水线
局限突破:
- 微服务跟踪:OpenTelemetry分布式链路染色
- 容器逃逸防护:Seccomp-BPF策略锁死Agent权限
7. 污点跟踪技术突破
四维分析框架:
python
class TaintAnalysis: ❶ 对象敏感:区分User.id( 安全) vs User.input( 污染) ❷ 隐式流控制:污染标签随逻辑分支传递(if-else) ❸ 上下文感知:识别加密/校验函数作为净化点 ❹ AI辅助:预测未执行路径的污染状态(覆盖率+40%)
创新案例:
- SQL注入误报消除:
java
if (input.matches("[0-9A-Za-z]+")) { sanitized = true; // 自动识别正则过滤 }
8. 语言栈战略规划
能力矩阵与云原生转型:
语言 安全领域 2027目标 Java 反序列化链挖掘 主导OpenJDK安全组 内存马检测引擎 实现JVM层内存取证标准 Go K8s安全算子开发 Cilium eBPF模块贡献者 云原生IAST核心 主导CNCF安全规范制定 学习路线:
mermaid
graph LR A[Java] --> B(漏洞模式库构建) B --> C{转型Go} C --> D[云原生安全产品重构] D --> E[零信任架构落地]
防御体系对抗演进
攻击技术 2025检测方案 企业级响应时效 内存马 JVM字节码Hook + AI行为分析 <5分钟 域控渗透 票据签名审计 + 加密日志 <10分钟 IAST绕过 差分流量分析 <3分钟 反序列化攻击 运行时沙盒隔离 <1分钟