摘要 | 第1-7页 |
ABSTRACT | 第7-13页 |
第一章 绪论 | 第13-19页 |
·研究意义 | 第13-14页 |
·研究背景 | 第14-18页 |
·代码攻击 | 第14-15页 |
·混淆 | 第15-17页 |
·词法变换 | 第15-16页 |
·控制流变换 | 第16页 |
·数据变换 | 第16-17页 |
·安全软件工程 | 第17-18页 |
·本论文的组织结构和主要研究成果 | 第18-19页 |
第二章 AOP技术概述 | 第19-31页 |
·关注点(CONCERN) | 第19页 |
·代码纠缠和扩散 | 第19-22页 |
·引入AOP | 第22-25页 |
·开发过程 | 第23-24页 |
·语言规范 | 第24-25页 |
·AspectJ简介 | 第25-28页 |
·AspectJ中的横切 | 第25页 |
·动态横切 | 第25页 |
·静态横切 | 第25页 |
·横切元素 | 第25-28页 |
·连接点(Join point) | 第26页 |
·切入点(Pointcut) | 第26页 |
·通知(Advice) | 第26-27页 |
·引用(Introduction) | 第27页 |
·编译器声明(Compile-time declaration) | 第27页 |
·方面(Aspect) | 第27-28页 |
·编译 | 第28-29页 |
·编译一个或多个方面 | 第28-29页 |
·编入方面到jar中 | 第29页 |
·在加载时织入方面 | 第29页 |
·总结 | 第29-31页 |
第三章 混淆代码攻击 | 第31-43页 |
·逆向工程的代码攻击 | 第31-32页 |
·混淆代码攻击现状 | 第32-33页 |
·基于AOP的混淆代码攻击 | 第33-40页 |
·方法概览 | 第34-35页 |
·定位方法和数据 | 第35-38页 |
·控制流跟踪 | 第35-36页 |
·数据流跟踪 | 第36-38页 |
·处理加密字符串 | 第38页 |
·修改方法行为 | 第38-40页 |
·实验 | 第40页 |
·抵抗这种攻击的建议 | 第40-42页 |
·排除连接点 | 第41页 |
·封装连接点 | 第41-42页 |
·总结 | 第42-43页 |
第四章 Java源代码保护 | 第43-61页 |
·Java源代码保护现状 | 第43-47页 |
·本地编译 | 第43-44页 |
·代码隔离 | 第44页 |
·代码混淆 | 第44页 |
·数字水印 | 第44-45页 |
·加密技术 | 第45-47页 |
·ClassLoader加密技术 | 第46页 |
·JVMTI加密技术 | 第46-47页 |
·问题定义 | 第47-51页 |
·编译失效问题 | 第48-51页 |
·JSP页面的编译 | 第49-51页 |
·服务器检测问题 | 第51页 |
·解决方案 | 第51-59页 |
·预编译 | 第51-53页 |
·密文封装 | 第53-59页 |
·骨架类抽取 | 第54-58页 |
·密文隐藏 | 第58-59页 |
·总结 | 第59-61页 |
第五章 安全软件工程 | 第61-79页 |
·应用程序安全的现状 | 第61-63页 |
·访问控制概述 | 第63-65页 |
·安全软件工程 | 第65-68页 |
·分解关注点 | 第66-67页 |
·安全机制的实现 | 第67页 |
·支持多种安全机制的框架 | 第67-68页 |
·使用AspectJ实现访问控制 | 第68-76页 |
·信息访问 | 第70-71页 |
·复用 | 第71-74页 |
·领域模型的泛化 | 第72-73页 |
·部署的泛化 | 第73-74页 |
·安全机制的泛化 | 第74页 |
·框架的实现 | 第74-76页 |
·讨论 | 第76-77页 |
·总结 | 第77-79页 |
第六章 结束语 | 第79-83页 |
·本文的工作总结 | 第79-81页 |
·下一步工作 | 第81-83页 |
附录 1 AspectJ Hello World | 第83-85页 |
附录 2 JAAS概述 | 第85-89页 |
参考文献 | 第89-97页 |
致谢 | 第97-99页 |
攻读学位期间发表的学术论文目录 | 第99-101页 |
攻读学位期间参与的科研项目 | 第101页 |