0%

词条

自动化运维 devopt

【技术栈】

操作系统 centos
容器管理平台 rancher+k8s
容器 docker
代码仓库 gogs
流程编排 jenkins
测试框架 jmeter
路由框架 istio
服务框架 springboot

【数据】

数据库 postgresql、elasticsearch、redis、druid、kafka
数据持久化 mybatis
数据复制 nifi

【大数据】

配置管理 zookeeper
任务调度 spark
资源管理 yarm
存储管理 hdfs
查询引擎 calcite、spark jdbc、hive、hbase
流处理框架 flink

【其他】

单元测试 junit、jmokit
集成测试 Spring TestContext Framework
接口定义 swagger
接口鉴权 jwt
项目构建 maven、gradle、npm
必选代码扫描 checkstyle、findbug、pmd、Cobertura
可选代码扫描 fortify、coverity、klocwork、metrics
编程优化 lombok、流式、java8 sream optional
工具 git、idea、websorm、fiddler、winmerge、jps、jstack、jstat、jmap、jinfo、Bugzilla、teambition

Rpc Soap Rest

Rpc

  • tcp协议
  • 自定义序列化和反序列化逻辑

Soap

  • http协议
  • 使用xml定义接口

Rest

  • http协议
  • 资源化url

专家系统

分词

建模

查询引擎

人工智能

国内:阿里·天池
国外:kaggle

数据

训练模型

得出函数

TensorFlow

数字系统自动设计

Verilog HDL

以文本形式来描述数字系统硬件的结构和行为

计算几何

中国银行原油宝事件

背景

  • 五月份WTI交易所原油期货61美元跌到-37美元(20190505~20190522)
  • 5月14号WTI交易所修改期货报价规则允许负数
  • 原油宝主体(中国银行)持有期货到期被WTI交易所自动平仓导致亏损-37美元×期货数资金
  • 原油宝客户(中国投资者)被要求补偿-37美元×期货数的保证金

分析

  • 正常期货处理手段

1、交割日实物交割

2、提前平仓、交割日自动平仓

3、期货违约

  • 中国银行未适配负价格期货规则,无法选择期货违约,而是自动补缴37美元×期货数保证金
  • 该事件和华尔街、空头无关,疫情导致原油处理需要亏损资金(相当于一堆有害垃圾),所以五月原油本身价格就是-37美元

结论

  • 亏损应该由原油宝客户(中国投资者)承担
  • 中国银行原油宝产品存在缺陷,由于是集资买期货,且对接自动化平仓接口,无法进行期货违约,而是自动汇款补缴保证金

中国建设银行等其他机构存在类似产品,风控提前识别原油行情,提前移仓到6月期货(旧原油换新原油)

  • 由于出现负价规则,集资期货出现固有缺陷,需要代理商系统增加自动违约特性,避免自动汇款给期货交易所
  • 中国银行期货系统没有修复缺陷,也没有人工干预规避缺陷,导致客户损失37美元×期货数资金

引申

  • 国企僵化没有竞争力,需要探索新出路
  • 对民众逐步开放信息墙,避免坐井观天,导致落后挨打

Web安全深度解析

HTTP代理工具

  • Burp Suite Proxy
  • Fiddler
  • WinsockExpert

查询引擎site命令

  • site:域名
  • intext:正文关键字
  • intitle:标题关键字
  • info:基本信息
  • inurl:url关键字
  • filetype:文件类型

信息探测工具

  • Nmap
  • DirBuster

漏洞扫描工具

  • Burp Suite
  • AWVS
  • AppScan

SQL注入漏洞

原理

用户输入被SQL执行器执行

分类

  • 数字型注入
  • 字符型注入

注入工具

  • SQLMap
  • MySQL
  • Oracle

防御措施

  • 数据类型校验
  • 特殊字符转意
  • 预编译语句
  • 框架技术
  • 存储过程

上传漏洞

原理

  • IIS解析漏洞
  • Apache解析漏洞
  • PHP CGI解析漏洞

防御措施

  • 客户端检测

绕过方法:FireBug、中间人攻击

  • 服务端检测

方法:白名单和黑名单校验、MIME校验、目录校验

绕过方法:截断上传攻击

文本编辑器上传漏洞

  • 敏感信息暴露
  • 黑名单策略错误
  • 任意文件上传漏洞

原因:目录过滤不严、文件未重命名

解决措施:接受文件保存在临时路径、白名单校验拓展名、文件重命名

XSS跨域脚本漏洞

原理

网页嵌入恶意脚本

分类

  • 反射型
  • 存储型
  • DOM

检查工具

  • AppScan
  • AWVS
  • Burp Suite

XSS危害

  • XSS 会话劫持
  • XSS Framework
  • XSS GetShell
  • XSS 蠕虫

防御措施

  • 输入输出校验转码
  • HttpOnly

命令执行漏洞

分类

  • 模型漏洞

PHP、JAVA

  • 框架漏洞

Struct2、ThinkPHP

防御措施

  • 避免使用系统执行命令
  • 参数校验转义
  • 函数白名单
  • PHP中,无法控制的函数不使用

文件包含漏洞

类型

  • PHP包含
  • JSP包含

防御措施

  • 参数校验
  • 路径限制
  • 文件白名单
  • 避免使用动态包含

其他漏洞

  • CSRF
  • 逻辑错误漏洞

绕过授权验证、密码找回逻辑漏洞、支付逻辑漏洞、指定账户恶意攻击

  • 代码注入

XML注入、XPath注入、JSON注入、HTTP Parameter Pollution

  • URL跳转与钓鱼
  • WebServer远程部署

Tomcat、Jboss、WebLogic

常见防御措施

  • 0day漏洞修复
  • 前后台安全框架
  • 三方件、加密算法安全
  • 数据库安全
  • 安全扫描与评估

常见攻击

账户暴力破解

旁注攻击

  • IP逆向查询
  • SQL跨库查询
  • 目录越权

防御措施:CDN

提权

  • 溢出提权
  • 三方件提权
  • 虚拟主机提权

攻击方法

  • 3389端口
  • 端口转发
  • 启动项提权
  • DLL劫持
  • 提权后门

防御措施

  • 服务器补丁
  • 关闭危险端口
  • 删除敏感可执行文件
  • 删除不安全组件
  • 安装安全配置软件

ARP欺骗攻击

检查工具

  • Cain
  • Ettercap
  • NetFuke

防御措施

  • 静态绑定
  • ARP防火墙

社会工程学

  • 信息收集
  • 沟通
  • 伪造

开发者测试

静态测试扫描工具

  • Checkstyle

代码编码格式、命名约定、Javadoc、类设计(代码规范和风格)

  • FindBugs

字节码缺陷模式匹配

  • PMD

潜在缺陷、未使用代码、重复代码、循环体创建新对象

  • P3C

代码潜在隐患

测试覆盖分析工具

  • JaCoCO
  • JCov
  • Cobertura

白盒测试、黑盒测试

  • 单元测试

JUnit、Jmockit

  • 集成测试

Spring TestContext Framework、利用jenkins编排测试环境的测试用例

异常定义

  • fault(缺陷)

设计缺陷:代码错误

组件缺陷:组件无法提供功能,包括物理缺陷和交互缺陷

http 200,return code 0,返回具体错误原因

  • error(错误)

http 520,接口内部错误

  • failure(失败)

http 520,return code 非0,无法提供正常功能

  • exception(异常)

程序语言中传递缺陷、错误、失败的对象

函数不返回null

  • 返回””、List、null object 代替

缺陷处理

  • 避免缺陷(提前校验)
  • 缺陷容忍(使用备用方案)
  • 缺陷移除(修复错误状态)
  • 缺陷预测(检测软件质量)

使用try-witch-resource自动清理资源

finally抛出的异常会覆盖try和catch抛出的异常

try、catch、finally处理范围

  • try

资源初始化、逻辑处理、抛出异常

  • catch

异常处理、抛出异常、流程重试

  • finally

释放资源

已查异常和未查异常

  • 已查异常

可恢复的异常

  • 未查异常

程序错误、开发者应该编程处理

接口升级

  • 区分公开接口与发布接口
  • 重构非发布接口
  • 谨慎声明发布接口
  • 不要改变发布接口

异常处理等级

  • 等级0:未定义

http 200,return code 0,接口功能是否正常不确定

  • 等级1:错误报告

http 200/520,接口失败时,返回具体错误码

1
2
3
4
1、不忽略已查异常
2、不捕获未查异常
3、转抛异常时,不记录日志
4、最外层捕获所有异常
  • 等级2:状态恢复

错误处理、资源释放

1
2
1、向后恢复,撤销操作、恢复原数据
2、内存清理、资源释放
  • 等级3:行为恢复

在异常时,执行备用逻辑

1
2
3
1、缺陷处理,诊断、隔离、重新配置、重新初始化
2、重试
3、向前恢复,使用备用数据再次处理、使用备用逻辑继续处理

异常设计

  • 异常名称使用异常内容表达,比如not found exception
  • 低级异常转抛成高级异常
  • 同构异常,接口抛出父异常,使接口定义同一
  • 已查异常不处理时,转抛出未查异常
  • 通道异常、异常包装,回调函数使用未查异常TunnelingException封装已查异常
  • 聪明异常,使用异常码区分同一种类的异常

异常的终止与继续

  • 终止

结束逻辑,抛出当前层次异常

  • 继续

记录异常,并继续处理

1
2
1、批处理
2、定时任务

异常处理的坏味道

  • 返回码代替异常
  • 忽略已查异常
  • 捕获Throwable跳过异常,比如空指针异常等
  • 程序最外层没有捕获所有异常
  • 异常处理只记录日志
  • try语句套嵌
  • 重试代码写在catch块
  • 资源释放没有写在finally块
1
2
3
4
5
1、用异常代替错误码
2、未查异常代替忽略的已查异常
3、未查异常代替空的异常处理
4、程序最外层捕获Throwable
5、套嵌的try使用函数封装

背景

暗影刺客赫芬琳-锁定猎杀

解决方案

方法:重伤法

阵容:骑骑法巫

  • 审判官,4星50级,力速比<1,奶量>310,技能1%奶队友其他全关闭(奶量充足,且可以负重)

  • 审判官,4星50级,力速比<1,奶量>310,技能1%奶队友其他全关闭(奶量充足,且可以负重)

  • 大法师,4星50级,力速比<0.25,奶量>310,技能1%奶队友其他全关闭(力速比低解决流血问题,且可以负重)

  • 巫医,2星30级,血量310(体质31),抗性<5(否则无法触发boss流血效果导致其他问题),力速比<0.25,技能3开s其他全关(力速比低,可以打出伤害)

审判官1

审判官2

大法师

巫医

阵容血量

风精灵戒指

参考资料

重伤法果然名不虚传,过了图12暗影刺客
地下城堡2超低配重伤法过暗影刺客

背景

【2018年】

  • 孙杨质疑兴奋剂检测程序不合规
  • 电话咨询自己领导后,在世界反兴奋剂机构人员默许下,破坏已取样血液
  • 国际泳联裁决孙杨行为合法

【2019年】

  • 世界反兴奋剂机构上述国际体育仲裁法庭
  • 国际体育仲裁法庭裁决孙杨行为不合法,禁赛八年

分析

【历史兴奋检测】

  • 6000次检测无异常
  • 事件两天前检测无异常

【孙杨黑历史】

  • 13年多次无证驾驶被刑拘(个人品德问题)
  • 14年被检测兴奋剂阳性(孙杨团队业务问题,国际泳联错误禁止心脏病药品)
  • 16年里约奥运肘击巴西女运动员(个人品德问题)
  • 18年8月雅加达亚运会穿违规领奖服(个人品德问题)
  • 18年9月破坏血样(复杂事件,存在国际检测组织下套、保护血样不被掉包等可能性)

【社会背景】

  • 中美贸易战
  • 18年金融危机
  • 中国威胁论
  • 中国兴奋剂检测机构弄虚作假严重不被国际信任
  • 中国体育团队兴奋剂使用严重不被国际信任
  • 种族歧视,国际体育仲裁法庭和世界反兴奋剂机构对于有色人种检查次数明显偏多且严格

结论

  • 孙杨个人品德存在问题(事件无关)
  • 孙杨在兴奋剂检测过程行为不合规

引申

  • 国家间敌对和歧视是普遍存在的
  • 种族间敌对和歧视是普遍存在的
  • 中国的弱法律意识和国外的强法律意识存在矛盾
  • 弱法律意识导致社会特权阶级无法被有效管控,无序的事务处理方式不被国际接纳
  • 强法律意识导致社会特权阶级垄断法律武器,多数人的法律偏向被掩盖,形成阶级矛盾

背景

  • 微观粒子运动不符合经典力学规律

假设

  • 量子

量子是能量的最小单位

  • 波函数

物质符合波函数

推论

光电效应

  • 定义
  • 含义

光是由一份份的光子组成

物质波

  • 定义
  • 含义

物质符合波函数

薛定谔波动方程

  • 定义
  • 含义

粒子的动能加势能等于其总能量,且守恒。使用波函数构造等式

本质

  • 物质符合波函数
  • 描述了粒子的物理逻辑

背景

  • 万有引力定律存在误差

假设

  • 等效原理

引力和惯性力没有区别

  • 广义相对性原理

一切物理定律在所有参考系中均等效

推论

引力场方程

  • 定义
  • 含义

质能导致时空扭曲,扭曲的时空引导物质运动

本质

  • 万有引力定律是错误的,是一种经验主义结论,存在误差
  • 爱因斯坦通过洛伦兹变换和张量等数学工具推导出了引力场表达式

背景

  • 洛伦兹变换和伽利略变换不相符

洛伦兹变换由麦克斯韦方程组等电磁理论推导得出,伽利略变换由经验猜测得出

  • 洛伦兹变换符合现实

洛伦兹变换符合现实,伽利略变换只在低速场景近似现实

  • 光速不变

不同方向或者参考系的光速测量结果不变

假设

  • 狭义相对性原理

一切物理定律(除引力)在所有惯性系中均等效,符合洛伦兹变换

  • 光速不变原理

光在真空中总是以确定的速度c传播,速度的大小同光源的运动状态无关

推论

相对长度

  • 定义
  • 含义

物体的长度,在运动方向变短

相对时间间隔

  • 定义
  • 含义

物体的事件耗时,在运动方向相对变大

相对速度

  • 定义
  • 含义

物体的相对速度,符合洛伦兹变换

相对质量

  • 定义
  • 含义

物体的相对质量,符合洛伦兹变换

质能方程

  • 定义
  • 含义

质量是能量的一种表现形式

本质

  • 相对速度简单叠加是错误的,是一种经验主义结论
  • 洛伦兹通过数学公式推导出了真实的物质逻辑关系
  • 光速不变目前的科技水平暂时无法解析