一些笔记来自《Chapter 3 of Inside the Java Virtual Machine》
1。JAVA的一些安全机制:
- type-safe reference casting
- structured memory access (no pointer arithmetic)
- automatic garbage collection (can't explicitly free allocated memory)
- array bounds checking
- checking references for
null
2。
structured
memory access--is the unspecified manner in which the runtime data areas are laid out inside the Java
virtual machine.
When the Java virtual machine loads a class file, it decides where in its internal memory
to put the bytecodes and other data it parses from the class file. When the Java virtual machine starts a
thread, it decides where to put the Java stack it creates for the thread. When it creates a new object, it
decides where in memory to put the object.
结构化内存读取,由JVM自动分配数据内存地址,由于没有在VM SPEC里没说明内存地址、CLASS文件也没有说明、各种JVM的实现也不同,所以黑客很难找到内存地址实现恶意代码。
3。First of all, the
robustness guarantees don't hold for native methods. Although you can't corrupt memory from a Java
method, you can from a native method. But most importantly, native methods don't go through the Java API
(they are how you go around the Java API) so the security manager isn't checked before a native method
attempts to do something that could be potentially damaging.
本地方法是不安全的,它不经JAVA的安全管理器校验
4.One final mechanism built into the Java virtual machine that contributes to security is structured error
handling with exceptions. Because of its support for exceptions, the Java virtual machine has something
structured to do when a security violation occurs.
结构化的异常捕获机制,防止系统死。
Throwing an error (as opposed to throwing an exception) almost always results in the death of the thread in
which the error was thrown.
异常只能终止该线程,不能终止整个系统。
5.安全管理器方面:
Prior to 1.2, java.lang.SecurityManager
was an abstract class. To
establish a custom security policy in 1.0 or 1.1, you had to write your own security manager by subclassing
SecurityManager
and implementing its check methods.
The concrete SecurityManager
class allows you to define your custom policy
not in Java code, but in an ASCII file called a policy file
.
page 6
分享到:
相关推荐
### 深入理解Android之Java Security #### 一、Java Security 背景知识 Java Security 是 Java 平台中的一个重要组成部分,它不仅在软件实现方面有着丰富的内容,而且还涉及一系列规范。从 Java 2 开始,Java ...
4. **安全管理器**:Java Security Manager是一个核心组件,用于实施运行时的安全策略。通过定制安全管理器,可以对应用程序的行为进行细致的控制,例如限制文件访问、网络通信等。 5. **权限与证书**:Java的权限...
Java安全模型(Java Security Model)是Java平台的核心组成部分,它为开发者提供了强大的安全保障,使得编写安全、可信赖的代码成为可能。在Java中,安全性主要体现在三个方面:类加载器(Class Loaders)、访问控制...
根据提供的文档信息,我们可以梳理出以下关于“Java Security”的详细知识点: ### Java Security 概述 **标题**:Java Security **描述**:本文件主要介绍Java Security的相关内容。 Java Security 是一个重要...
Java Security,安全编码和代码审计Java Security,安全编码和代码审计Java Security,安全编码和代码审计Java Security,安全编码和代码审计Java Security,安全编码和代码审计Java Security,安全编码和代码审计
Java2网络安全性是Java开发中的一个关键领域,它涉及到如何保护网络应用程序免受各种威胁...阅读“Java2 Network Security.pdf”文件将进一步深入这些概念,提供实践指导和案例分析,帮助开发者提升网络安全防护能力。
在IT领域,尤其是在Java安全(java_security)方面,`LDAPCertStoreParameters` 是一个重要的类,它涉及到证书存储和管理。这个压缩包文件"LDAPCertStoreParametersTest.rar_java security"包含了一个名为...
在Java安全模型中,`java.security.Policy`类扮演着至关重要的角色,它定义了系统安全策略,并决定了哪些代码可以访问哪些资源。`PolicySpi`是这个核心组件的服务提供者接口(Service Provider Interface),允许...
标题 "spring-security-login-form-database-xml.zip_java security" 提示我们关注的是一个关于Spring Security的登录应用程序,其中涉及到数据库和XML配置。Spring Security是Java应用程序中广泛使用的安全框架,它...
这个压缩包"xml-security-c-1.0.0.zip_.xml.security_java security_xml securi_"似乎包含了关于如何在Java环境中实现XML安全的详细资料。 首先,让我们关注一下"xml-security-c-1.0.0"这一部分。这可能是一个特定...
本资源"精通PKI网络安全认证技术与编程实现光盘源码(第四篇Java security开发)"主要聚焦于如何利用Java平台的security框架来实现PKI的相关功能。 首先,了解PKI的基础概念至关重要。PKI基于非对称加密,即每个...
Java Security: A Ten Year Retrospective
SQLServer JDBC 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接报错,修改这个java.security文件即可。如遇报错,直接下载该文件覆盖即可。文件路径在jre\lib\security\java.security
在Java编程环境中,有时会遇到一个常见的错误:"java.security.InvalidKeyException: Illegal key size"。这个错误通常是由于Java安全策略的限制导致的,尤其是当你尝试使用超过默认限制的密钥长度(例如,超过128位...
这个压缩包“java-security-mechanisms-code.rar”包含了关于Java安全机制的实例程序,可以帮助我们深入理解Java如何实现其安全特性。 1. **Java安全模型** Java的安全模型基于沙箱模型,它限制了未经许可的代码...
Embedded Java Security
对 Security.js 进行改动,主要是用来java 调用 js 的rsa 加密