建了一个用户交流群,我在群里说:“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. 1226 - One Unit Machine

    1226 - One Unit Machine   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB ...

  2. Bean拷贝工具

    Apache BeanUtils Spring BeanUtils cglib BeanCopier Hutool BeanUtil Mapstruct Dozer 1.Apache  BeanUti ...

  3. C++ 虚函数和友元

    虚函数具有动态联编性,在类族中有强大功能:友元函数具有跨类访问的功能,本质却是一种对封装的破坏. 先看这样一个例子: #include<iostream> using namespace ...

  4. [opencv]approxDP多边形逼近获取四边形轮廓信息

    #include "opencv2/opencv.hpp" #include <iostream> #include <math.h> #include & ...

  5. python + requests发起请求,接口返回400,报错“Unexpected character encountered while parsing value: G. Path”

    完整报错信息如下: {'errors': {'': ["Unexpected character encountered while parsing value: G. Path '', l ...

  6. 初识python: 异常处理

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

  7. Vue系列教程(二)之Vue进阶

    一.Vue对象的操作 1. 可以通过一个Vue对象操作另一个Vue对象 var v1 = new Vue({ el: "#app1", data: {title:"hel ...

  8. java邮件打包在linux备份数据库练习

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6812982512256549387/ 承接上一篇文档<Java实现163邮箱发送邮件到QQ邮箱> 主方 ...

  9. ES6常用知识点

    一.变量 var:定义的变量有时候会成为全局变量 let:定义的变量严格,只在代码块内有效 const:声明的变量是常量,不能被修改 二.数据类型 字符串 @定义:~字符串定义标记,支持换行.  #常 ...

  10. 【基因组学】maker的安装和注释

    本文默认读者有一定的生信基础,没有基础的可以阅读以前的笔记内容. maker作为比较受人认可的基因组注释软件,其流程较为清晰简单. 不知何故,我的conda无法安装maker,故而采用手动安装方式. ...