2017 八大黑客攻击事件,这一年网络安全的世界血雨腥风

部署运行你感兴趣的模型镜像
编者按:岁末年终,CNN 发表了一个《 2017 年置我们于危险之中的那些黑客事件》的报道,盘点了 2017 年发生的一些重大黑客事件。一年就要过去了,雷锋网也回顾了一下对这些事件的报道,让我们从网络安全的角度来回顾堪称血雨腥风的 2017 年。


1.征信机构 Equifax 数据泄漏,半数美国人受影响


成立于 1899 年的 Equifax ,拥有超过 8 亿消费者和全球超过 8800 万家企业的信息。作为老牌征信机构,掌握大量美国消费者的重要信息,比如姓名、出生日期、家庭地址、社会安全号 SSN、驾驶执照 ID、信用卡信息……


手握这么多重要信息的 Equifax,在今年 5 月开始就被黑客盯上了,直到 7 月底才有所察觉,更加糟糕的是,直到 9 月份才向公众宣布这项事情。


在这期间,Equifax 的首席财务官、美国信息解决方案总裁和员工方案总裁共三名高管,在公司股价高位卖出了总价值接近 180 万美元的 Equifax 股票……


惊恐的美国人民开始担心,暗网上已经有人把他们信息出售给银行、房东、雇主等客户,买了信息的人会更加了解你。


2.雅虎 30 亿邮箱信息泄漏,影响半个世界!


去年 9 月,雅虎公司曾宣布,黑客 2013 年 8 月盗走其至少 5 亿用户的账户信息。当年 12 月,雅虎又表示,被盗账户数量约 10 亿个。据今年 10 月 3 日发布的信息,雅虎公司证实,其所有 30 亿个用户账号应该都受到了黑客攻击的影响,公司已经向更多用户发送提示,请其更改登录密码以及相关登录信息。


雅虎和调查方曾表示,“得到国家资助的黑客”发动了这次攻击,但没有明确指出具体是哪个国家。


被盗信息内容包括用户名、邮箱地址、电话号码、生日以及部分用户部分客户加密或未加密安全识别的问题和答案。 10 月 3 日,雅虎再次强调,黑客应该没有获得存有不受保护的密码、支付卡数据和银行账户信息的计算机的访问权,就是说,用户账号信息被部分窃取。


雅虎公司表示,由于存在一些永久不使用或极少使用的账户,还有一些人拥有多个雅虎账户,因此受影响的用户数量应该少于 30 亿个。


到目前为止,雅虎仍然不清楚究竟谁是罪魁祸首。


3. NSA 级攻击工具外泄,引发“WannaCry"等勒索病毒


4 月 6 日凌晨,美国以反对杀伤性化学武器事件为由对叙利亚了进行军事制裁,对叙利亚政府军的空间基地发射了 59 枚战斧巡航导弹。


没过多久,黑客组织 Shadow Brokers(影子经纪人)以抗议美国袭击叙利亚空军基地的名义,宣布将向世界公布自己攻破隶属于NSA(美国国家安全局)的黑客组织Equation Group(方程式小组)时获取的解密密钥——CrDj”(;Va.*NdlnzB9M?@K2)#>deB7mN,让世界上所有人都可以查看美国的网络战武器。


剧情说白了就是美国欺负叙利亚,Shadow Brokers感到不爽,于是他们把美国政府干脏活儿的小工具放出来给全世界看,搞起事情来十分无所畏惧。


黑客可以利用这些工具入侵多种Windows服务器和操作系统,包括Windows7 和Windows8 系统。


虽然微软表示早在今年 3 月就发布了针对相关安全漏洞的补丁,但许多公司没有及时更新。随后,“影子经纪人”发布的工具被用来制造多起国际重大黑客事件,比如“WannaCry"”勒索事件。


4.“WannaCry”勒索病毒大爆发


人们看到,这次爆发的勒索病毒作者收到了 35 万美元,似乎相比它全球的影响力来说并不多。但很多人不知道,这个蠕虫式传播的病毒是 2.0 版本,而在之前的 1.0 版本,病毒作者已经赚了几千万美元。


上面这句话来自雷锋网对道哥吴翰清的采访,但关注它的人可不仅仅是网络安全研究人员,它能让带着红袖箍的朝阳阿姨都开始绘声绘色地描述病毒的凶残。全球众多医院,教育机构,政府部门都无一例外的遭受到了攻击。在雷锋网此前的报道中,就能看出它对全球人所做的病毒普及教育。


美国某教会被病毒勒索,七十多岁的神父为了交比特币赎金,从一个不知道电脑是什么的老头生生被逼成了技术宅;


美国某医院被病毒锁机,所有的检验单报告单一律恢复手写模式,病人在医院排起长龙;


美国某警察局被病毒勒索,怼天怼地怼空气的全世界最嚣张的美国警察都乖乖交了赎金。


12 月 18 日晚间,美国政府公开发表声明,朝鲜就是此次 WannaCry 事件的幕后黑手。


5.“Petya”病毒爆发,多家大型跨国企业中招


6 月 27 日,据 Twitter 爆料,一种类似于“ WannaCry ”的新勒索病毒席卷了欧洲,导致俄罗斯石油公司( RosneftPJSC )和丹麦A.P.穆勒-马士基有限公司等在内的多家大型企业被攻击,而且乌克兰的政府系统也遭到了该病毒的袭击。该病毒代号为“Petya”。


今年 6 月,“诺特佩蒂亚”电脑病毒瞄准了使用中毒财税软件的乌克兰公司。多家大型跨国企业中招,包括美国联邦快递公司、英国WPP广告公司、俄罗斯石油公司和丹麦马士基航运有限公司。


“诺特佩蒂亚”的传播方式还利用了“影子经纪人”泄露出来的安全漏洞。


美国联邦快递 9 月表示,病毒已造成 3 亿美元损失,旗下TNT国际快递公司被迫暂停业务。


6.“坏兔子”勒索软件:不要通过广告弹出窗口下载软件


另一个造成很大骚动的勒索软件是“坏兔子”。“坏兔子”利用新闻媒体网站弹出的Adobe Flash软件安装请求来渗透用户电脑,而那些新闻媒体网站已经被黑客入侵了。


这轮勒索风潮发生在 10 月,主要冲击了俄罗斯,但有专家发现乌克兰、土耳其和德国也出现了受害者。


这件事提醒我们,用户一定不要通过广告弹出窗口或者不属于软件公司的网站来下载软件。


7.选民信息泄露


今年 6 月,有电脑安全研究人员发现,一家美国共和党数据公司在选择亚马逊云存储服务的安全设置时出了错,导致近 2 亿选民信息被泄露。


这是亚马逊服务器不够安全所导致的最新一起重大泄密事件。服务器的默认选项是安全的,但网络安全师克里斯·维克里经常发现有公司设置错误。


美国威瑞森电信公司和美国国防部同样有存储在亚马逊服务器里的信息被曝光。


8.优步隐瞒黑客案


2016 年,有黑客窃取了 5700 万优步用户的数据,美国优步公司随后支付 10 万美元平息此事。直到今年 11 月,该案才被新任优步首席执行官达拉·霍斯劳沙希披露出来。优步公司眼下正面临议员的质询。三位联邦参议员推动制定相关法案,很可能导致那些故意掩盖数据入侵事件的高管面临牢狱之灾。


报道称,此类事件, 2018 年会更多。美国趋势科技公司副总裁农尼霍芬认为,针对物联网的攻击活动将持续影响民航、制造、汽车等行业,因为这些行业越来越依靠所谓的智能技术。


“我们的手提电脑和手机所面临的网络安全挑战,这些行业同样要面对,但它们同时与真实世界的真实物体联系在一起。如果有人入侵我的手提电脑,我的数据就会受到威胁。但如果有人入侵一台自动机械臂,受威胁的就成了整条生产线。”

您可能感兴趣的与本文相关的镜像

Wan2.2-T2V-A5B

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

<think>首先,用户的问题是基于C语言中free指针ptr指向内存后,立刻用ptr访问该内存是否还能得到之前的值。用户引用了几个资源:[^1]、[^2]、[^3]、[^4],这些引用提供了相关信息。 让我回顾这些引用: - [^1]: 指出free(ptr)后,ptr的值不变,但指向的内存已被释放。printf可能无法正常打印,因为没有数据类型限定,强调设置ptr为NULL以防止野指针。 - [^2]: 展示代码示例,free(num)后,释放了内存,但指针num仍指向原地址。 - [^3]: 解释free()释放指针指向的内存,但指针变量本身仍然存在。释放后内存空间未定义,可能被其他程序覆盖,导致输出错误。 - [^4]: 警告不要使用未初始化的指针,会导致运行时错误。 用户的核心问题是:free掉ptr指向的内存后,立刻用ptr访问该内存,是否还能得到之前的值? 关键点: - free(ptr)释放了ptr指向的内存区域,使其可被其他用途使用。 - 指针ptr本身是一个变量,存储地址值。free()不会改变ptr的值,所以ptr仍指向原地址。 - 但由于内存已被释放,访问该内存是未定义行为(Undefined Behavior, UB)。标准C语言规定,访问已释放内存是UB。 - 在实际中,立刻访问可能有时返回原值(未被覆盖),有时返回垃圾值(已被覆盖),取决于系统状态。 从引用[^3]:“内存空间被 free() 之后,指针变量还是存在的,仍然指向这块空间,只不过这时候这块内存空间是未定义的,因此在遍历输出的时候,中间一小段出现问题意味着这段内存空间又被其他程序所使用并修改,而输出仍然正常的意味着该内存空间还没有被其他程序所使用。” 这表明访问free()后的内存可能导致错误或不可预测结果。 现在,回答结构: - 系统指令要求使用中文回答。 - 所有行内数学表达式用$...$格式(但这里可能不涉及数学表达式,除非提到指针地址等)。 - 独立公式用$$...$$(同样,可能不适用)。 - 生成相关问题。 - 引用的段落末尾自然地添加引用标识。 回答应清晰、逐步解决问题。 大纲回答: 1. 简要解释free()的作用指针的行为。 2. 直接回答用户的疑问:一般情况下,立刻访问free()后的内存可能返回原值(未被覆盖),但不能保证,而且这是危险的未定义行为。 3. 强调风险:为什么应该避免,可能导致崩溃、数据损坏或安全漏洞。 4. 给出最佳实践:free()后立即设置ptr为NULL,以防止意外访问。 5. 基于引用,支持回答。 最后,生成相关问题。 完整回答: - 开头确认问题。 - 解释原因。 - 引用资源。 - 建议。 - 相关问题。 </think>### C语言中free指针后访问内存的分析 在C语言中,使用`free(ptr)`释放ptr指向的内存后,立刻用ptr访问该内存区域是否还能得到之前的值,取决于具体环境时机。但重要的是,这种行为是**未定义行为(Undefined Behavior, UB)**,即使偶尔能“看到”原值,也绝对不能依赖它!以下是逐步解释,基于C语言标准实际内存管理机制。 #### 1. **free()的作用指针行为** - `free(ptr)`释放的是ptr指向的内存区域,而不是指针变量本身。指针ptr仍存储原地址值(除非你手动修改它),但该内存区域已被系统标记为“空闲”,可被其他程序或系统重用[^3]。 - 例如,在引用[^2]的代码中: ```c int *num = (int *)malloc(sizeof(int)); // 分配内存 *num = 666; // 写入数据 free(num); // 释放内存 // 此时num仍指向原地址,但内存内容未定义 ``` 调用`free(num)`后,num的值不变(仍指向原地址),但系统回收了该内存块。 #### 2. **立刻访问是否能得到原值?** - **可能暂时看到原值,但不可靠**:如果系统未立即重用该内存区域(例如,垃圾回收机制未覆盖它),用`*ptr`访问可能返回之前的数值。但这完全取决于操作系统内存状态——它可能下一秒就被覆盖[^3]。 - **实际是未定义行为**:C语言标准规定,访问已释放内存是UB。这意味着: - 有时程序“幸运地”输出原值(未被覆盖)。 - 但常见情况下,访问会导致崩溃、数据错误或安全漏洞(如“血雨腥风”的运行时错误[^2])。 - 例如,在引用[^3]中,输出错误是因为内存被其他程序修改了。 #### 3. **为什么必须避免这种行为?** - **风险高**:释放的内存可能被系统分配给其他变量,导致读取到垃圾值或敏感数据(安全隐患)[^4]。 - **编译器优化问题**:现代编译器可能基于UB假设优化代码,引发不可预测的崩溃。 - **调试困难**:错误可能间歇性出现(如部分输出正常、部分错误[^3]),难以复现修复。 #### 4. **最佳实践:防止野指针** - **free()后立刻设置ptr为NULL**:这明确标识指针无效,避免误用。引用[^1]强调:“调用完后必须把ptr手动赋值为null;防止野指针存在。” ```c free(ptr); ptr = NULL; // 关键步骤:防止后续访问 ``` - **验证指针**:使用前检查ptr是否为NULL,避免未初始化指针的运行时错误[^4]。 总之,虽然**立刻访问可能偶尔返回原值,但绝不能依赖这一点**。设计代码时,应假设free()后内存内容已失效,并遵循ptr = NULL的规范[^1][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值