博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Java安全编码标准》一1.8 最低权限原则
阅读量:5835 次
发布时间:2019-06-18

本文共 707 字,大约阅读时间需要 2 分钟。

1.8 最低权限原则

根据最低权限原则,系统的每一个程序和用户只应赋予能够完成它们操作所需要的最低权限[Saltzer 1974,Saltzer 1975] 。“构建安全的网站”(Build Security In Website)[DHS 2006]?这篇文章补充说明了这个原则。以最低权限运行可以降低因为代码中的安全漏洞而带来的安全问题的严重性。

体现最低权限原则的规则如下所示:
image

定义权限的所谓安全策略必须有严格的控制。当Java程序有安全管理器时,通过默认的安全策略文件进行权限控制;然而,Java灵活的安全模型允许用户赋予应用更多的权限,这可以通过自定义安全策略来完成。

Java代码若想提高权限的话,需要使用代码签名。很多安全策略允许具备签名的代码以提高后的权限来执行。只有那些需要提升权限的代码需要签名,对其他代码来说,是不需要签名的(请参考规则ENV00-J。)
在同一个JAR文件内,已签名的代码会与未签名的类共存。建议将所有的特权代码打成一个包(详情请参考规则ENV01-J)。此外,根据安全策略,可以基于代码或签名器为代码赋予特定权限。
特权操作权限应该只提供给那些最少的需要特权的代码。Java的AccessController机制允许只有需要的代码可以获得权限提升。当一个类需要主张其权限时,在?doPrivileged()?代码块中,执行特权代码即可。AccessController?机制需要与安全策略一起发挥作用。由于用户可能不清楚安全模型的相关细节,所以并不能根据它们的需求正确配置安全策略,在doPrivileged()代码块中出现的特权代码必须是最少的,从而避免出现安全漏洞。

转载地址:http://urycx.baihongyu.com/

你可能感兴趣的文章
重构第10天:提取方法(Extract Method)
查看>>
Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
查看>>
MySQL出现Access denied for user ‘root’@’localhost’ (using password:YES)
查看>>
通过Roslyn构建自己的C#脚本(更新版)(转)
查看>>
红黑树
查看>>
第四章 mybatis批量insert
查看>>
Java并发框架——什么是AQS框架
查看>>
【数据库】
查看>>
WindowManager.LayoutParams 详解
查看>>
find的命令的使用和文件名的后缀
查看>>
Android的Aidl安装方法
查看>>
Linux中rc的含义
查看>>
asp.net怎样在URL中使用中文、空格、特殊字符
查看>>
实现跨交换机VLAN间的通信
查看>>
python例子
查看>>
环境变量(总结)
查看>>
Java基础之String,StringBuilder,StringBuffer
查看>>
1月9日学习内容整理:爬虫基本原理
查看>>
安卓中数据库的搭建与使用
查看>>
AT3908 Two Integers
查看>>