曙海教学优势
曙海培训的课程培养了大批受企业欢迎的工程师。大批企业和曙海
建立了良好的合作关系。曙海培训的课程在业内有着响亮的知名度。
本课程,秉承二十一年积累的教学品质,以项目实现为导向,老师将会与您分享设计的全流程以及工具的综合使用经验、技巧。
主 题 |
内 容 |
培 训 目 标 |
培训开始 |
讲师与学员自我介绍 课程目标介绍 课程内容介绍 |
使学员了解培训的目标和内容 |
数据输入验证与数据清理 |
1、SQL注入,XML注入,regex注入攻击原理与防范 |
了解系统输入数据验证过程中的安全注意事项,以及转换和传输过程中的安全注意事项 |
2、字符串验证,路径名验证以及日志记录中的安全漏洞与防范 |
||
3、ZipInputStream与Runtime安全注意事项 |
||
4、字符串在编码转换,网络传输中的安全注意事项 |
||
对象声明与初始化过程中安全陷阱与防范 |
1、防范类初始化的嵌套循环 |
了解对象声明与初始化过程中安全陷阱与防范方法 |
2、不要重复使用Java标准库中的公开标识符 |
||
3、循环相关变量声明注意事项 |
||
表达式安全注意事项-实战案例分析 |
1、不要忽略方法的返回值 |
了解表达式安全注意事项 |
2、不要引用空指针 |
||
3、数组内容比较安全注意事项 |
||
4、‘==’和equals方法中的安全注意事项 |
||
5、原始数据封装与运算中的安全注意事项 |
||
数字类型与操作安全-实战操作 |
1、防范整数溢出 |
了解数字类型变量声明和操作中的各种安全问题及其防范方法 |
2、单精度浮点数运算相关安全问题 |
||
3、strictfp的使用 |
||
面向对象安全 |
1、防范类与方法的恶意扩展 |
了解对象声明,继承,传递过程中的各种安全问题及其防范方法 |
2、更新父类引发的安全问题 |
||
3、传递对象时使用copy功能 |
||
4、防范嵌套类暴露外层类的敏感信息 |
||
类方法安全 |
1、类方法参数的验证 |
了解类方法实现过程中的各种安全问题及避免方法 |
2、Assert相关安全注意事项 |
||
3、用private和final修饰执行安全检查的方法 |
||
4、降低被覆盖方法与隐藏方法的可见性 |
||
5、其他类方法相关的安全注意事项 |
||
异常处理中的安全问题 |
1、 压抑或忽视异常情况导致的安全问题 |
了解异常处理中的安全问题及防范方法 |
2、异常暴露敏感信息 |
||
3、防范日志记录过程中的异常 |
||
4、finally相关安全问题 |
||
5、不要抛出RuntimeException,Exception,或者Throwable异常 |
||
可见性与原子性 |
1、共享变量复合操作的原子性 |
了解共享变量访问和复合操作原子性相关的安全问题及其防范方法 |
2、保证一连串的方法调用具有原子性 |
||
3、不要假定对一组相互独立的方法的调用具有原子性 |
||
4、当读写64位数据时确保原子性 |
||
5、保证共享原始变量的可见性 |
||
输入输出安全 |
1、操作共享目录的风险 |
了解输入输出中安全问题及其防范方法 |
2、应用程序结束前删除所有临时文件 |
||
3、检测和处理文件相关的错误 |
||
4、文件操作相关的其他安全问题 |
||
序列化过程中安全 |
1、在class升级进化过程中,维护序列化过程的兼容性 |
了解序列化过程中的安全问题及防范方法 |
2、使用正确的序列化方法声明方式 |
||
3、不要序列化非加密的敏感数据 |
||
4、在序列化过程中避免内存和资源泄露 |
||
5、序列化过程中其他安全相关问题 |
||
线程安全 |
1、不要对一个可能重用的对象加锁 |
了解线程安全相关问题及其防范方法 |
|
2、不要对getClass()方法返回的class对象进行加锁 |
|
|
3、线程API(run,ThreadGroup,stop)相关安全问题 |
|
|
4、在一个线程池内不要执行相互依赖的任务 |
|
|
5、当使用线程池时,确保ThreadLocal变量重新初始化 |
|
平台安全 |
1、不要允许特权模块泄露敏感信息到受信区域之外 |
了解Java平台相关的安全问题及其防范方法 |
2、不允许特权模块有受污染变量 |
||
3、不要使用反射机制增加类,方法和成员变量的可访问性 |
||
4、不要在非受信区域执行安全检查 |
||
运行时环境安全 |
1、只执行非特权操作的代码不要进行代码签名 |
了解Java运行时环境安全相关问题及其防范方法 |
2、把所有安全敏感相关的代码放在一个单一的jar包中,进行签名封装 |
||
3、不要进行危险的联合授权 |
||
4、不要废除二进制码的验证机制 |
||
培训结束 |
培训结束 |
培训总结及疑问解答 |