《Java安全编码标准》一第 1 章 概 述
第 1 章 概 述
关于软件漏洞和软件漏洞利用的报告越来越多,并继续以惊人的速度增长。相当多的这类报告导致了技术安全上的警报。这一威胁日益严重影响了公司、教育机构、政府和个人,为了解决这一问题,开发出来的系统应该是不包含那些软件安全漏洞的。
编码错误会导致大多数软件安全漏洞。比如,2004年在国家安全漏洞数据库(National Vulnerability Database)中记录的近2500个漏洞,有64%是由错误的编程引起的[Heffley 2004]。
相对来说,Java是一种较为安全的语言。因为它没有显式指针操作;对数组和字符串边界有自动检查机制;如果尝试引用一个空指针会抛出系统异常;算术运算是明确定义的且与平台无关,类型转换也是如此。内置的字节码验证器可以确保这些检查会在正确的地方执行。此外,Java还提供全面的、细粒度的安全机制,这个安全机制控制着对单个文件、套接字和其他敏感资源的访问。为从这种安全机制中获益,JVM(Java Virtual Machine, Java虚拟机)特地设计了一个安全管理器。这个安全管理器是类java.lang. Security Manager(或它的子类)的一个对象,我们可以基于它进行编程,但通过命令行参数来操作它是更为常见的使用方式。
尽管Java在编程上是安全的,但这并不意味可以一劳永逸。本章的剩余部分会介绍一些例子,通过这些例子我们可以看到,在某些情况下,程序可能会被利用而产生安全问题,同时会介绍怎样借助规则的帮助来减轻安全攻击对程序的影响。并不是所有的规则都适用于所有的Java语言所编写的程序;通常,规则的适用性取决于软件的部署情况和受信的假设。
《Java安全编码标准》一第 1 章 概 述相关推荐
- 《Java安全编码标准》迷你书
<Java安全编码标准>迷你书 本书不仅从语言角度系统而详 细地阐述Java安全编码的要素.标准.规范和最佳实践,而且从架构设计的角度分析了Java API存在的设计缺陷和可能存 在的安全 ...
- TCP/IP 第1章 概 述
第1章 概 述 1.1 引言 很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但 T C P / I P协议 族允许它们互相进行通信.这一点很让人感到吃惊,因为它的作用已远远超出了起初 ...
- 《Java安全编码标准》一导读
前 言 在Java编程语言中,关键的安全编码要素是采用良好的文档和强制的编码规范.本书提供了在Java语言中的一系列安全编码规则.这些规则的目标是消除不安全的编码实践,因为这些不安全的因素会导致可利用 ...
- 《Java安全编码标准》一2.11 IDS10-J不要拆分两种数据结构中的字符串
2.11 IDS10-J不要拆分两种数据结构中的字符串 在历史遗留系统中,常常假设字符串中的每一个字符使用8位(一个字节,Java中的byte).而Java语言使用16位表示一个字符(Java中的Ch ...
- Java安全编码之用户输入
0x00 安全引言 1.传统Web应用与新兴移动应用 (1)传统Web应用:浏览器 HTTP 服务器 (2)新兴移动应用:APP HTTP 服务器 从安全角度看,传统Web应用与新兴移动应用没有本质区 ...
- 【JAVA编码专题】 JAVA字符编码系列三:Java应用中的编码问题
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- 【JAVA编码专题】JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- JAVA SE学习笔记(七):终章:Java程序设计基础笔记(全10万字)
Java程序设计入门 copyright © 2020 by 宇智波Akali 目录 文章目录 第1章 J ...
- Java核心技术卷阅读随笔--第3章【Java 的基本程序设计结构】
3.1 一个简单的Java应用程序 下面看一个最简单的 Java 应用程序,它只发送一条消息到控制台窗口中: 复制代码 public class FirstSample { public static ...
- college java (java基础黑皮书)一到四章笔记总结
college java(1-4) college java (java基础黑皮书) 第一章 java入门 java的地位 java的特点与组成: 简单的java程序 1.系统环境的设置 2源文件的编 ...
最新文章
- JavaScript中的Try...Catch 语句
- 不带头节点的单链表如何头插(多图易懂)
- 大量数据生成excel时候造成jvm内存泄漏问题的解决与测
- ITK:从Seed开始迭代图像
- 电气工程及其自动化学不学c语言,电气工程及其自动化学什么 就业方向有哪些...
- extjs JsonStore加载数据,Combobox只显示最后一项值问题
- iframe标签用法详解
- 大数据挖掘步骤都包括哪些?
- 求职必看~10分钟读懂国企、事业单位和公务员的区别
- 上海哪里打印比较便宜?
- 本地组策略与安全策略的自动导入
- ARP Cache Poisoning Attack Lab(SEED实验)
- arcgis像元大小和分辨率_ArcGIS教程:栅格数据基本词汇
- Web3.0与数字时尚,该如何落地?
- 度小满9.20测开笔试第二题——相似字符串
- 不明真相的http code 497
- 昨晚开始了为期3个月的初级德语课,课上大家跟老师咿咿呀呀,仿佛回到了蒙学时代,感觉还是不错的!在blog里增加一个GERMAN随笔分类主要是方便自己随时学习,勿怪!Vielen Dank!...
- 人工智能基础-机器学习3-朴素贝叶斯方法
- 全国计算机中级职称考试报名时间2016,2021年初中级通信工程师考试报名时间及入口-成绩查询-合格标准-希赛网...
- 上市公司属于什么公司类型