《Java安全编码标准》一第 1 章 概  述

第 1 章 概  述

关于软件漏洞和软件漏洞利用的报告越来越多,并继续以惊人的速度增长。相当多的这类报告导致了技术安全上的警报。这一威胁日益严重影响了公司、教育机构、政府和个人,为了解决这一问题,开发出来的系统应该是不包含那些软件安全漏洞的。
编码错误会导致大多数软件安全漏洞。比如,2004年在国家安全漏洞数据库(National Vulnerability Database)中记录的近2500个漏洞,有64%是由错误的编程引起的[Heffley 2004]。
相对来说,Java是一种较为安全的语言。因为它没有显式指针操作;对数组和字符串边界有自动检查机制;如果尝试引用一个空指针会抛出系统异常;算术运算是明确定义的且与平台无关,类型转换也是如此。内置的字节码验证器可以确保这些检查会在正确的地方执行。此外,Java还提供全面的、细粒度的安全机制,这个安全机制控制着对单个文件、套接字和其他敏感资源的访问。为从这种安全机制中获益,JVM(Java Virtual Machine, Java虚拟机)特地设计了一个安全管理器。这个安全管理器是类java.lang. Security Manager(或它的子类)的一个对象,我们可以基于它进行编程,但通过命令行参数来操作它是更为常见的使用方式。
尽管Java在编程上是安全的,但这并不意味可以一劳永逸。本章的剩余部分会介绍一些例子,通过这些例子我们可以看到,在某些情况下,程序可能会被利用而产生安全问题,同时会介绍怎样借助规则的帮助来减轻安全攻击对程序的影响。并不是所有的规则都适用于所有的Java语言所编写的程序;通常,规则的适用性取决于软件的部署情况和受信的假设。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值