Windows 是最安全的操作系统
建了一个用户交流群,我在群里说:“Windows 是最安全的操作系统。” 立刻引发了很多有意思的观点。我在群里一个人说不过大家,先篇文章把自己的论点罗列一下。
对操作系统攻击的方式
有5类基本的攻击方式:
1、 系统口令攻击:猜测攻击、字典攻击、穷举攻击、混合攻击、直接破译攻击、网络嗅探、键盘记录、中间人攻击、社会工程学
2、 SMB/NetBIOS协议攻击:空会话攻击
3、 脚本攻击:SQL注入技术、PHP+MySQL注入技术、跨站脚本攻击技术、cookie攻击技术、WebShell提权技术
4、 恶意代码攻击:木马技术、Rootkit技术、病毒技术、蠕虫技术、网页恶意代码
5、 网络安全设备攻击:路由技术、Dos攻击、防火墙攻击
一项对参加了 DEFCON 会议的黑客的调查表明,“84% 的人使用社会工程学作为攻击策略的一部分。” 社会工程学又叫社交工程学,发起“社会工程学”攻击的人也有一个被美化的称号是社工工程师。Windows 系统因为用户基础的关系,社会工程学的攻击主要也是针对 Windows 系统。
下面大家来做一道单选题,
在 Windows 、macOS 和 Linux 三个用户最多的系统中,Windows 在安全方面做了更多的工作。因为其用户量不但碾压其他两个系统,其用户的技术水平也最为参差。
当然这只是个人观点。目前业界并没有全面的统计数据。甚至安全的指标都不明确。到底什么才是安全的指标呢?是 攻击成功率、被攻破次数?到底是以那个时间段作为衡量指标?衡量覆盖范围到底涉及哪些?统统没有定论,所以没有标准答案。
业界影响较大的攻击举例
案例一 Equifax 数据安全事件
2017 年 9 月,美国征信巨头 Equifax 承认 1.45 亿美国居民个人隐私信息泄露,这是该国历史上最严重的数据安全事件,以美国人口 3.2 亿计算,受影响的超过 40%。
由于征信局采集的数据涉及到消费、贷款等大量隐私数据,这让征信局成了黑客眼中的香馍馍,偏偏本次事件的主角 Equifax 的安全防范系统实在不堪一击,让犯罪分子得以利用其漏洞获取对部分文件的访问权,于是 1.45 亿用户的姓名、社会安全号码(SSN)、出生日期、地址、驾驶证号码(这相当于是中国的身份证号码)等信息就这样泄露了出去。
这个漏洞是 Apache Struts 的低版本安全漏洞引起的,其实只要及时升级版本,问题可以避免。但是特别是这种重要的应用,版本升级等变更就越困难。所以在一个新应用投产时,特别是边界应用,尽量选择无高危漏洞的版本。而事实上,新应用在选择版本时,架构师们往往并不根据实际情况,而是采取“跟随策略”。就是使用其他应用在长期稳定运行的版本。
问题是首先要考虑,如果自己的应用边界应用,并且是很多黑客觊觎的产品的一部分,安全是第一重要的,应该尽量选用无已经被发现漏洞的高级版本。因为像 Equifax 被攻击这种事情,30年也就发生一次。作为边界应用被攻击成功,不会有其他应用给做背书,一损俱损。后果还是自己扛。
案例二 Log4j2 lookup 漏洞
2021年12月9日,国内多家机构监测到 Apache Log4j2 存在任意代码执行漏洞,并紧急通报相关情况。由于Apache Log4j存在递归解析功能,未取得身份认证的用户,可以从远程发送数据请求输入数据日志,轻松触发漏洞,最终在目标上执行任意代码。
虽然有这个漏洞,目前还没有对企业造成任何损失。并且如果没有用到 Message Pattern Lookups
的程序,可以使用 - Dlog4j2.formatMsgNoLookups=true 禁用它解决问题。而且 log4j2 官方也已经为此漏洞打上补丁。其实我很想为 log4j2 说两句话。高版本的 log4j2 相比logback等其他主流日志框架更加强大,它提供了更加强大优雅的API、默认无垃圾模式运行、更强的异步性能。

Log4j2 在安全方面给我的启迪有两点:第一,尽量使用官方还在维护的软件版本。现在设想一下:假如发现 log4j2 漏洞之后,log4j2 开发者明确表示不会修复此漏洞,使用的公司们打算怎么办?第二,不要在不需要的情况下开启软件的高级特性,增加引入漏洞的几率。
总结
近年来,由于操作系统本身的问题引起的漏洞要少了上面运行的软件的漏洞。而 Windows 操作系统由于拥有更多的用户量,配套的软件也更多更全,很多都很难从官方渠道免费使用,使得携带病毒的软件有可乘之机。而MacOS由于基本只能通过官方应用商店下载;而 linux 系统上运行大多是开源软件,完全可以通过官方渠道免费下载。所以这其实使得 Windows 系统不如其他两个系统安全,这个是 Windows 从一开始的设计理念决定,这个锅 Windows 得背。
春节前我建了一个群,旨在答谢用户,用了全年收入的 1800% 给大家发了红包。之后还有很多朋友说要入群交流,不是为红包来的。非常欢迎。给出入【编程一生】用户交流群官方渠道:加微信 brmayi 注明入群。或者已经是好友的朋友可以私信我:入群。
今年红包已经发完了,要增加明年红包的预算要靠大家了。关注、点赞、在看、点广告。明年收入多少我发多少。不过目前为止大家的预算堪忧啊。

Windows 是最安全的操作系统的更多相关文章
- 通过上一节部署出来的 Windows instance 有时候会发现操作系统时间总是慢 8 个小时,即使手工调整好时间和时区,下次 instance 重启后又会差 8 个小时
这是 OpenStack 实施经验分享系列的第 3 篇. 问题描述 通过上一节部署出来的 Windows instance 有时候会发现操作系统时间总是慢 8 个小时,即使手工调整好时间和时区,下次 ...
- windows 程序的本体与操作系统之间的关系
WinMain(hInst,hPrev,……) { MSG msg; RegisterClass(……); CreateWindow(……); ShowWindow(……); UpdateWindow ...
- Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法
更新Win10,原来的IIS站点访问不了,原因是因为IIS 没有.net 4.5,使用网上的aspnet_regiis.exe -i命令,一点都不靠谱,直接提示: C:\WINDOWS\system3 ...
- 【转】Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法
原文:https://blog.csdn.net/sweety820/article/details/79538973 更新Win10,原来的IIS站点访问不了,原因是因为IIS 没有.net 4.5 ...
- Windows 2008安装Oracle10g提示操作系统版本检查未通过
原文链接:http://www.cnblogs.com/emanlee/archive/2012/12/18/2824147.html 因开发环境需要,在Windows Server 2008 R2 ...
- windows xp\2003 之上的操作系统多启动(多系统)引导
概要技术: 微软自windows vista以来的操作系统引导bootmgr是真的很强大,只是因为其全底层的命令操作,且不友好的命令帮助让人望而却步! 基本技术概要提点: boot.ini 支持:xp ...
- Windows和Mac两种操作系统下CSS不兼容问题的解决
这两天碰到一个问题,就是一个小图标的大小和定位的位置在不同的操作系统下是不一样的. 查了下资料,自己解决出来了,整理如下: html: <i :class="['cursor-poin ...
- Windows操作系统
Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家 ...
- 了解计算机与操作系统发展阶段--Windows
Windows发展的30多年,其实就是整个计算机应用,从小众化向大众化消费领域,快速前行的30多年. 让我们来一起温故下Windows这么多年的发展历程,看看Windows,是如何在市场和技术这两种力 ...
随机推荐
- B. Destroying Roads
Destroying Roads 题目链接 题意 n个点,m条边每两个点之间不会有两个相同的边,然后给你两个起s1,s2和终点t1,t2; 求删除最多的边后满足两个s1到t1距离\(<=l1\) ...
- 使用所学Spring知识,实现简易的图书查询系统功能。实现查询全部图书。 根据书籍编号查询信息。 根据书名查询书籍信息。 根据状态查询书籍信息。
相关 知识 >>> 相关 练习 >>> 实现要求: 使用所学Spring知识,实现简易的图书查询系统功能. 要求如下: 查询全部图书. 根据书籍编号查询信息. 根据 ...
- Pytest_钩子方法setup、teardown、setup_class、teardown_class(8)
pytest提供了以下 4 种钩子方法: 方法 说明 setup 在每一个测试用例执行之前,会执行此方法.一般用于每个用例相同的初始化工作. teardown 在每一个测试用例执行之后,会执行此方法. ...
- c# - 一个.cs类文件里如何建多个类
方法类可以使用 internal 修饰符,意为接口类, 主函数建议添加私有修饰符 private 控制台打印
- mysql数据库读写分离教程
注意:实现MySQL读写分离的前提是我们已经将MySQL主从复制配置完毕 一.Mycat实现读写分离安装和配置 架构规划: 192.168.201.150 master 主节点 192.168. ...
- js 对 date 和 字符串 类型的正确互换【各浏览器兼容】,解决invalid Date
1.前言 有个需求,想要把指定日期时间的字符串转换成date类型 pc浏览器正常转换,但手机浏览器 返回结果是 invalid Date [无效的日期] 2.原因 出现这样不兼容的原因其实很简单, p ...
- 新增访客数量MR统计之NewInstallUserMapper相关准备
关注公众号:分享电脑学习回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)云盘目录说明:tools目录是安装包res 目录是每一个课件对应的代码和资源等doc 目录是一 ...
- Linux系统管理学习实训任务书
1.<Linux系统管理实训任务一之搭建实验基础环境> https://www.toutiao.com/i6763578305091207694/ 2.<Linux系统管理实训任务一 ...
- 面试官问,Redis 是单线程还是多线程?我懵了
我们平时看到介绍 Redis 的文章,都会说 Redis 是单线程的.但是我们学习的时候,比如 Redis 的 bgsave 命令,它的作用是在后台异步保存当前数据库的数据到磁盘,那既然是异步了,肯定 ...
- 通过暗码去打开/关闭usb debug开关
通过暗码去打开/关闭usb debug开关 通过暗码去打开/关闭usb debug开关1. Description2. Analysis3. Solution4. Summary 1. Descrip ...