甲骨文Java补丁已发布 但大多数用户没有更新
最近甲骨文公司发布了重大的安全补丁,在这次更新的40个补丁中,37个“无需验证即可被远程利用”。然而,有迹象表明,大多数企业并没有急于部署这些补丁.
事实上,大多数企业可能会忽略此修补程序。尽管甲骨文发布了具有更新安全功能的新版本Java,并在4月中旬发布了Java补丁更新,web安全公司发现,近93%的Java用户仍然未升级到新版本的软件。
Websense公司表示,甲骨文在4月16日发布的关键补丁更新包含42个新的涉及Java SE产品的安全修复程序。甲骨文指出,在这些漏洞中,39个漏洞无需验证就可以远程被利用;另外有两个漏洞可用于Java的服务器部署。
在补丁发布的两天后,Websense报告称,不到2%的用户安装了这个Java补丁——Java SE版本7 更新 21。在发布的一个月后,Websense表示,使用最新版本Java的在线web请求数量只有7%。由于互联网中有很多漏洞利用代码,广大用户仍然容易受到攻击。
Websense称,在过去七周中,该公司使用其ThreatSeeker Network来追踪最新版本Java的使用情况。该工具收集网页、文档、可执行文件、移动应用、流媒体、社交媒体和电子邮件内包含的内容。
该Java补丁可用性通过大家口口相传,和甲骨文Java自动更新,Websense表示,“我们注意到,一些企业开始愿意安装该补丁。”尽管如此,92.8%的Java用户仍然易受攻击。
分析师表示,理想的解决方法是禁用浏览器内 的Java。“目前的挑战是,很多企业甚至不知道哪些应用需要运行Java,禁用Java将会造成很多应用无法正常运行,”Forrester研究公司安 全和风险管理高级分析师Rick Holland表示,“企业应该花时间来全面整理其应用,这需要运作周期,而很多公司并没有运作周期。”
这些操作挑战是造成Java补丁推迟部署的主要原因之一,Holland补充说,“对于微软产品,很多公司都有相对成熟的补丁和配置管理计划,但对于第三方应用,这些操作挑战就变得更加明显。”
上面的代码i和j的值会是多少呢?答案是:“00, 01, 10, 11”都是有可能的。
对于这种情况,如果我们想得到确定的结果则需要通过“synchronized”(或者j.c.u.locks)来做线程间同步。
所以,我个人对Java内存模型的理解是:在编译器各种优化及多种类型的微架构平台上,Java语言规范制定者试图创建一个虚拟的概念并传递到 Java程序员,让他们能够在这个虚拟的概念上写出线程安全的程序来,而编译器实现者会根据Java语言规范中的各种约束在不同的平台上达到Java程序 员所需要的线程安全这个目的。
注1:关于“lock”前缀的详细说明可以查看这个文档《Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A: System Programming Guide, Part 1》的 这个章节“CHAPTER 8 MULTIPLE-PROCESSOR MANAGEMENT”。
注2:不同的微架构的内存模型都会有一些差别,本文中都是指x86/x64,如果想了解更多的微架构是如何处理的可以参考这个文档:http://gee.cs.oswego.edu/dl/jmm/cookbook.html
相关文章
- Java核心技术 卷Ⅰ 基础知识(原书第10版)
- Java程序员的十个调试技巧
- Maven实战1.1何为Maven
- Maven实战. 1.2为什么需要Maven
- Maven实战. 1.3Maven与极限编程
- Maven实战 1.4被误解的Maven
- Mavens实战 1.5小结
- Maven实战. 2.1在Windows上安装Maven
- Maven实战. 2.3安装目录分析
- Maven实战. 2.4设置HTTP代理
- Maven实战. 2.5安装m2eclipse
- Maven实战. 2.6安装NetBeans Maven插件
- Maven实战. 2.7Maven安装最佳实践
- Maven实战. 2.8小结
- Maven实战. 3.1编写POM
- Maven实战. 3.2编写主代码
- Maven实战. 3.3编写测试代码
- Maven实战. 3.4打包和运行
- Maven实战. 3.5使用Archetype生成项目骨架
- Maven实战. 3.6m2eclipse简单使用