`
从百草园到三味书屋
  • 浏览: 51978 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAVA 安全性 -- 沙箱机制

 
阅读更多
<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]-->

安全性 沙箱机制

1.       类装载器

a)         防止恶意代码干涉善意代码

通过为由不同的类装载器装入的类提供不同的命名空间来实现

b)        守护了被信任的类库的边界

通过分别使用不同的类装载器装在可靠的包和不可靠的包来实现

c)        将代码归入某类(保护域),该类确定了代码可以进行哪些操作

2.       Class 文件校验器

a)         类装载时,检验 class 文件的内部结构,以保证它可已被安全地编译

例如:文件是否是以 0xCAFEBASE 开头的

         文件有没有删节,尾部是否有附带的其他字节

该趟扫描的主要目的:保证这个字节序列正确地定义了一个新类型,他必须遵从 Class 文件的固定格式

b)        类型数据的语义检查

查看每一个组成部分,确认它们是否是其所属类型的实例,它们的结构是否正确。例如:方法描述符

检查该类必须都有一个超类(除了 Object 外)。

Final 类没有被子类化、以及 final 方法没有被覆盖

常量池中的条目是否合法

c)        检验 class 文件字节码的完整性验证

字节码 --- 操作码

d)        确认被引用的类、字段以及方法的确是存在。

以上 bcd 三趟扫描是针对方法区中的扫描

3.       JVM 内置安全特性(在 CLASS 文件检验器第四趟之前)

a)         类型安全的引用转换

b)        结构化的内存访问(无指针算法)

c)        自动垃圾收集

d)        数组边界检查

e)         空引用检查

4.       安全管理器以及 JAVA API

前三点主要是保护应用程序内部的完整性

安全管理器是保护虚拟机的外部资源不会被虚拟机内部的恶意或有漏洞的代码侵犯。

 

类装载器请求另一个类装载器来装在类型的过程 -> 双亲委派模式

除了启动类装载器以外的每一个类装载器,都有一个‘双亲’类装载器

分享到:
评论

相关推荐

    Java 2平台安全技术-结构,API设计和实现(pdf)

    它通过沙箱机制确保代码只能访问被明确授予的权限,限制了不受信任的代码对系统资源的访问。 2. **类加载器和权限** 类加载器在Java安全中起着关键作用,它们负责将类加载到JVM中,并根据其来源分配不同的权限。...

    基于沙箱的Java安全体系结构

    Java的安全沙箱机制是确保Java应用程序能够在不损害系统安全的前提下运行的重要保障。本文将详细介绍Java沙箱模型的核心组成部分,并深入探讨类装载器、类文件校验器的作用及其在Java安全体系中的地位。 #### Java...

    java ,c#,delphi 解决flash安全沙箱问题

    当我们面临“Java, C#, Delphi 解决 Flash 安全沙箱问题”的场景时,这意味着我们需要在这些编程语言中处理与 Flash 沙箱相关的安全问题,以确保应用程序的安全性和合规性。 首先,让我们深入了解一下 Flash 的安全...

    Java安全性编程实例

    Java安全性编程实例主要涵盖的是Java平台上的安全机制和实践,这对于任何希望构建可靠、安全的Java应用程序的开发者来说都是至关重要的。Java作为一种跨平台的编程语言,其安全性是其核心特性之一,它提供了多种机制...

    java_jdk-8u161-windows-x64(jdk官方版本1.8)

    6. **安全性**: Java以其强大的安全特性著称,JDK 1.8中继续强化了这些特性,如沙箱模型、类加载机制等,以防止恶意代码的执行。 7. **模块系统** (Java 9及以上): 虽然JDK 1.8未引入模块系统,但在后续版本中,...

    Java安全性编程指南

    Java安全性编程指南是Java开发者必备的知识领域,它涵盖了在开发Java应用程序时确保代码安全的一系列原则、最佳实践和工具。Java作为一个广泛使用的平台,其安全性对于保护用户数据、防止恶意攻击至关重要。本指南将...

    Java安全性编程实例.

    Java安全性编程是一个重要的主题,尤其是在开发企业级应用或者网络服务时。它涉及到多个层面,包括防止恶意代码执行、保护用户数据、确保程序的完整性和稳定性等。本实例集主要关注如何在Java环境中实现安全的多线程...

    P神-Java安全漫谈

    代码安全性:Java提供了强大的安全机制,如访问控制、类加载验证、沙箱模型等。这些机制确保代码在运行时不会执行恶意操作或访问未经授权的资源。 身份认证和访问控制:Java安全包括用户身份认证和授权机制,以确保...

    java-security-mechanisms-code.rar_java security

    Java安全机制是Java平台的核心组成部分,它为应用程序提供了一种强大的、可配置的方式来保护系统资源免受恶意代码的攻击。这个压缩包“java-security-mechanisms-code.rar”包含了关于Java安全机制的实例程序,可以...

    JAVA-Jsp-Jdbc-Note

    - **安全性**:Java 提供了沙箱模型和代码签名等机制来保护用户的安全。 - **多线程**:Java 内置了对多线程的支持,使得并发处理变得容易。 ### Java 开发工具与核心机制 - **JDK 下载**:官方提供 JDK 的下载...

    java安全性编程指南,JAVA安全性编程已成为当前JAVA编程者的主要课题,本资料是解决此类问题的权威资料。

    Java安全性编程是现代Java开发中不可或缺的一部分,尤其是在网络应用、移动设备和企业级系统中,保护用户数据和系统安全显得尤为重要。本指南旨在提供全面的Java安全编程实践和策略,帮助开发者构建更安全的Java应用...

    java课程文件--java简介

    - **安全性**:Java的安全特性包括沙箱模型,防止恶意代码对系统造成损害,不使用指针也降低了安全风险。 - **与平台无关性**:Java的“Write Once, Run Anywhere”(WORA)理念意味着Java程序可以在任何支持JVM的...

    Java安全性编程指南(PDG)

    《Java安全性编程指南》是一本深入探讨如何在Java平台上实现安全编程的重要著作。该书针对的是那些希望构建安全、可靠的Java应用程序的开发者。在Java语言中,安全性是至关重要的,因为它的跨平台特性使得它成为了...

    java经典入门--推荐

    - **安全性**:Java在设计之初就考虑到了安全性问题,通过沙箱模型、权限管理等机制确保应用程序的安全运行。 #### 二、Java的发展历程及其影响力 Java的发展历程可以分为几个关键阶段: 1. **早期发展**:1995年...

    Java的安全机制研究与分析

    Java的安全机制是其独特优势之一,它通过一系列的内置安全特性确保了应用程序的稳定性和安全性。本文基于给定的文件信息,深入探讨Java安全机制的关键组成部分及其运作原理。 ### Java安全机制的体系结构 Java安全...

    Java 2 安全技术-结构,API设计和实现中文版.zip

    这本书详细介绍了Java 2平台的安全架构、API的设计原则以及其实现机制,对于开发者来说,是深入理解Java安全性的宝贵资料。 在Java中,安全性是一个核心特性,它旨在保护系统免受恶意代码的攻击,同时也允许应用...

    Java资源-关于Java的说明-了解java

    4. **安全性**:Java提供了一系列内置的安全机制来保护应用程序免受恶意攻击。例如,沙箱模型限制了程序可以访问的系统资源。 5. **性能**:虽然Java早期因为解释执行而被认为运行速度较慢,但随着JIT(Just-In-Time)...

    Java.zip----

    2. 安全性:Java强调安全性,通过沙箱机制限制了代码的权限,防止恶意代码对系统造成破坏,这使得Java在互联网应用中得到了广泛应用。 3. 平台无关性:Java的可移植性来源于它的字节码(.class文件),这些文件可以...

    Java2平台安全技术-结构,API设计和实现

    安全相关的异常如`SecurityException`会在不安全的操作尝试时抛出,这是Java安全机制的重要反馈机制。 5. **签名与证书** 对于可信任的代码,Java支持使用数字签名和证书进行验证。签名能确保代码未被篡改,而...

    Java安全性编程指南.rar

    Java安全性编程指南主要聚焦于如何在Java平台上编写安全的代码,以防止潜在的攻击和漏洞。PDG(Programmer's Defense Guide)格式文件通常是一种技术文档,为开发者提供详细的指导和最佳实践。以下是对Java安全性...

Global site tag (gtag.js) - Google Analytics