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,是如何在市场和技术这两种力 ...
随机推荐
- 过河(状态压缩,dp)
描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上 ...
- 1276 - Very Lucky Numbers
1276 - Very Lucky Numbers PDF (English) Statistics Forum Time Limit: 3 second(s) Memory Limit: 32 ...
- 移动端H5-iPhone安全距离适配
安全区域? 安全区域指的是一个可视窗口范围,处于安全区域的内容不受圆角(corners).齐刘海(sensor housing).小黑条(Home Indicator)影响,如下图蓝色区域: 也就是说 ...
- uniapp中使用animate.css4.1.1动画库在小程序中不生效解决办法
找到源码animate.css修改以下代码 :root { --animate-duration: 1s; --animate-delay: 1s; --animate-repeat: 1; } // ...
- .net core集成使用consul
快速启动一个consul集群可以参考:使用docker快速部署一个consul集群 .net core集成使用consul是通过consul提供出来api接口来实现的,可以分成两个部分来说明:配置集成 ...
- Kafka基础教程(二):Kafka安装
因为kafka是基于Zookeeper的,而Zookeeper一般都是一个分布式的集群,尽管kafka有自带Zookeeper,但是一般不使用自带的,都是使用外部安装的,所以首先我们需要安装Zooke ...
- 通过USB和wifi连接真机&编写第一个脚本
一.通过USB和wifi连接真机 1. 数据线连接手机并允许调试 cmd命令行执行:adb devices (能查看到设备就可以进行编写自动化脚本步骤了,如果在USB接触不良的情况下,可以执行下面步骤 ...
- C#进阶——从应用上理解异步编程的作用(async / await)
欢迎来到学习摆脱又加深内卷篇 下面是学习异步编程的应用 1.首先,我们建一个winfrom的项目,界面如下: 2.然后先写一个耗时函数: /// <summary> /// 耗时工作 // ...
- VsCode安装与配置
一.安装 二.配置 开启emmet完整的语法 文件-首选项-设置:Emmet: Trigger Expansion On Tab 三.常用插件 必装: Chinese (Simplified) Lan ...
- 【Java常用类】DateTimeFormatter
DateTimeFormatter 方式一:预定义的标准格式 实例化 如:ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME DateTimeForma ...