建了一个用户交流群,我在群里说:“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 是最安全的操作系统的更多相关文章

  1. 通过上一节部署出来的 Windows instance 有时候会发现操作系统时间总是慢 8 个小时,即使手工调整好时间和时区,下次 instance 重启后又会差 8 个小时

    这是 OpenStack 实施经验分享系列的第 3 篇. 问题描述 通过上一节部署出来的 Windows instance 有时候会发现操作系统时间总是慢 8 个小时,即使手工调整好时间和时区,下次 ...

  2. windows 程序的本体与操作系统之间的关系

    WinMain(hInst,hPrev,……) { MSG msg; RegisterClass(……); CreateWindow(……); ShowWindow(……); UpdateWindow ...

  3. Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法

    更新Win10,原来的IIS站点访问不了,原因是因为IIS 没有.net 4.5,使用网上的aspnet_regiis.exe -i命令,一点都不靠谱,直接提示: C:\WINDOWS\system3 ...

  4. 【转】Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法

    原文:https://blog.csdn.net/sweety820/article/details/79538973 更新Win10,原来的IIS站点访问不了,原因是因为IIS 没有.net 4.5 ...

  5. Windows 2008安装Oracle10g提示操作系统版本检查未通过

    原文链接:http://www.cnblogs.com/emanlee/archive/2012/12/18/2824147.html 因开发环境需要,在Windows Server 2008 R2 ...

  6. windows xp\2003 之上的操作系统多启动(多系统)引导

    概要技术: 微软自windows vista以来的操作系统引导bootmgr是真的很强大,只是因为其全底层的命令操作,且不友好的命令帮助让人望而却步! 基本技术概要提点: boot.ini 支持:xp ...

  7. Windows和Mac两种操作系统下CSS不兼容问题的解决

    这两天碰到一个问题,就是一个小图标的大小和定位的位置在不同的操作系统下是不一样的. 查了下资料,自己解决出来了,整理如下: html: <i :class="['cursor-poin ...

  8. Windows操作系统

    Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家 ...

  9. 了解计算机与操作系统发展阶段--Windows

    Windows发展的30多年,其实就是整个计算机应用,从小众化向大众化消费领域,快速前行的30多年. 让我们来一起温故下Windows这么多年的发展历程,看看Windows,是如何在市场和技术这两种力 ...

随机推荐

  1. Glossary Collection

    目录 直接修饰用 间接强调用 (多为副词) 过渡用 特别的名词 动词 词组 各种介词 句子 摘要 引言 总结 正文 实验 直接修饰用 Word 含义 例句 近义词 nuanced adj. 微妙的:具 ...

  2. 本地修改配置hosts文件解决Github加载慢问题

    本地修改配置hosts文件解决Github加载慢问题 手动方式 hosts 文件在每个系统的位置不一,详情如下: Windows 系统:C:\Windows\System32\drivers\etc\ ...

  3. Java得到当前时间并格式化输出

    代码: SimpleDateFormat sdf = new SimpleDateFormat();// 格式化时间 sdf.applyPattern("yyyy-MM-dd HH:mm:s ...

  4. 编写Java程序,使用Set实现不重复添加用户

    返回本章节 返回作业目录 需求说明: 在控制台输入用户信息,用户信息包括姓名.性别和年龄,将用户信息保存至User对象中. 将User对象保存至HashSet集合中. 规定如果两个User对象的姓名. ...

  5. 每天学一点——while循环(2)、for循环

    while循环(2) while+continue 打印数字的话相信朋友们在python中不会一个个的print吧 eg: 或者是打印列表里的元素 eg 这种方法只适用于你知道里面有多少个元素, 不然 ...

  6. CSS基础 常见的元素显示模式

    1.块级元素 属性:display:block 特点:1.一行只能显示一个元素 2.宽度默认是父元素的,高度是有内容撑开 3.可以设置宽.高常见块元素:div,p,h系列,ul.li,dl.dt.dd ...

  7. Linux_grep命令

    搜索内容 命令格式如下 grep 参数 "搜索的内容" 搜索路径 注:搜索路径可缺省,缺省时,默认搜索当前目录以及其子目录下所有文件 显示文件名+内容: grep -r " ...

  8. 初识python: 异常处理

    异常处理基本语法: try: pass except Exception,ex: pass 常用异常种类: AttributeError 试图访问一个对象,没有的属性.比如foo.x,但是foo没有属 ...

  9. iOS微信支付无法直接返回APP的问题

    最近新测个项目,发现在IOS手机的APP上使用微信支付无法直接返回APP. 咨询微信客服,了解到无法直接返回APP的原因是收款配置的APPID为合作商家的APPID,而不是公司APP的APPID. 当 ...

  10. Docker 安装mysql主从

    安装docker 1.yum -y install docker 2.查看是否安装成功 docker -v 3.接着将docker后台启动 systemctl start docker.service ...