zoukankan      html  css  js  c++  java
  • java安全相关知识

    基本概念

    • JVM:java虚拟机,Java编译程序将生成Java虚拟机上可运行的目标代码,使得Java程序可以再不同平台不加修改的运行。JVM包含完善的硬件架构,主要分为五大模块—类装载器子系统、运行时数据全、执行引擎、本地方法接口和垃圾收集模块。其没有寄存器,指令集使用Java栈来存储中间数据。

    • JRE:Java运行环境,包含JVM标准实现与Java核心类库,安装后能正确运行Java应用程序

    • JDK:Java开发人员使用的SDK(软件开发工具包),主要用于移动设备、嵌入式设备的Java应用等开发,一般JDK会含有JRE以及常用的Java相关工具

    JVM逃逸

    • JDK 以及 JRE 几经变迁,目前的主流版本是由 Oracle 公司提供的。除了官方提供的之外,还有开源的 OpenJDK 项目,以及 Apple、IBM 等公司基于官方 JRE 开发的一些 JRE 程序。国内外的研究方向更偏向于 JVM 逃逸手段也就是 JRE 漏洞的利用技术,触发本地JRE 漏洞,发起了逃逸出本地 JVM 而针对操作系统的攻击,被称为JVM 逃逸。

    Java 安全机制

    • 以 Oracle JRE 为例,Java API 分为Java 层和原生层(native层),其中Java 层由 Java 语言本身编写,原生层主要由 C 语言编写,是一些与操作系统接合较为紧密的底层 API 封装,在 Windows 系统中编译为动态链接库(“*.dll”文件),作为 JRE 的重要组成部分而存在。而Java 层中存在着可以自定义安全规则的沙箱(Sandbox)。针对 Java 层 API 与原生层 API,JRE 安全机制分别包括 JRE 沙箱与 JVM 类型安全机制。

    在 JRE 中的 JRE 沙箱(JRE Sandbox),是由众多安全组件组成的系统,负责限制类似 Applet 这样来自互联网的不可信 Java 程序在执行中的权限。

    • 一个 class 文件,从被加载到 JVM 中开始直到卸载,其生命周期要经过七个阶段:加载、验证、准备、解析、初始化、使用、卸载。class 文件的加载和校验环节是比较重要的。一般来说,只要顺利通过了这两个环节,一个 class 直到它运行之前都不会有安全检查了。任何一个类一旦由Bootstrap Classloader 加载,那么它将拥有 Java API 级别的权限,完全被 Java 虚拟机所信任。那么 JRE 沙箱的安全管理系统将被彻底关闭。

    • SecurityManager 对象一般为 null,也就是说允许一切“不安全”操作。但在不信任的状态下,如在 Applet 中,这个 SecurityManager 对象被默认设置为 Java 原生类中的sun.applet.AppletSecurity 类的对象实例,将限制其在沙箱中操作。实现 JVM 逃逸的最终目标是将安全管理器设置为 null。

    • 在 Java 6 与 Java 7 当中,权限检查的工作交给了 **AccessController **类,每当触发权限检查时,AccessController 会对方法调用栈上的所有方法进行检查。而AccessController 类中提供了用于提升权限的doPrivileged()方法,作为调用栈检查的终止点,可以通过此函数实现权限提升代码块。

    • Java 反射机制(Reflection)是 Java 程序开发语言的重要特性,它为 Java 提供了在运行过程中动态获取及调用一个类及其方法和变量的功能,从编程的表现形式来讲,可以理解为通过间接的方式去调用一些 API。有一些相对“不安全”的 API,通过传统的直接调用的方式是调不了的,而通过反射机制就可以调用到它们。

    • **checkPackageAccess **方法,其功能是检查当前类是否具有访问、调用某些包的权限。

    • 禁止非结构化地访问内存是 JVM 中防止对内存恶意破坏的一种安全策略。

  • 相关阅读:
    文档中心 FetchURL Sina App Engine
    GroovyHelp使用指南 蛟龍居 BlogJava
    北京个人ADSL和企业ADSL有什么区别啊?
    手动编译cppserv0.1.99 @ apache2.2
    漫谈Web Service工作原理及.NET平台的实现机制
    Servlet与模板模式那些事
    [跟着hsp步步学习系统]oracle培训学习集锦全360度扫描(5)
    诺基亚死于大数据时代 上海唯一旗舰店关门
    苹果iPad强于分销渠道:平板领域将继续强势
    用友放弃野蛮生长战略 转型平台软件商
  • 原文地址:https://www.cnblogs.com/joeat1/p/11622305.html
Copyright © 2011-2022 走看看