【Java核心-安全基础】Java的安全机制

本文详细介绍了Java的安全机制,包括运行时的字节码校验、Class Loader隔离和SecurityManager的使用,强调了整体安全设计的重要性。同时,讨论了常见攻击类型,如中间人攻击和各种注入攻击,如SQL注入、操作系统命令注入及XML注入,并提出了相应的防范措施。
摘要由CSDN通过智能技术生成

任何可以用来绕过系统安全策略限制的缺陷都是安全漏洞。

构建安全可靠的服务需要通过整体性的安全设计和综合性的防范手段。

Java的安全机制

1. 运行时安全机制

 

字节码校验

类加载过程中,字节码验证,防止不合规的代码影响JVM运行或载入恶意代码。

如,自行编译String类替换JDK的String类就无法通过类加载。

 

Class Loader 隔离代码

  • 应用无法获取 Bootstrap Class-Loader 对象实例。

  • 不同的 Class Loader 可以起到容器的作用,隔离模块间不必要可见性。

 

SecurityManager 机制

利用 SecurityManager 机制和相关组件,限制代码运行时行为能力。

对安全要求非常高的应用可以开启 SecurityManager:

Shell代码

 

  1. -Djava.security.manager  

 

注意:启用 Security会导致 10%~15% 的性能下降。

Oracle 官方有非常保守的建议:如

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值