Linux内核的Meltdown和Spectre漏洞修补情况+Python 2.7 “退休”倒计时【马哥教育早报-178期】
2018年01月08日 星期一
【马哥教育新闻快报178期】
导读:Linux内核的Meltdown和Spectre漏洞修补情况+Python 2.7 “退休”倒计时
每日一句
芝兰生于幽林,不以无人而不芳;君子修道立德,不为穷困而改节。
早报内容
0.Linux内核的Meltdown和Spectre漏洞修补情况
稳定版内核维护者 Greg Kroah-Hartman 释出了更新 4.14.12,4.9.75 和 4.4.110,主要是将 Meltdown 和 Spectre 修补补丁移植到稳定内核分支,他随后在个人博客上介绍了 Meltdown 和 Spectre 的内核修补情况。Kroah-Hartman 称大部分发行版都已经打了补丁,但如果用户使用内核版本不是 4.4、4.9、4.14 或没有发行版支持,那么用户只能不走运了。
然而相比修补 Meltdown 和 Spectre 漏洞,用户目前使用的内核显然还包含了数以百计的其它漏洞,用户需要担心的不是 Meltdown 和 Spectre,而是更迫切的其它安全漏洞。
他建议用户及时更新系统。对于广大的 Android 用户来说,新的漏洞真的不是什么大问题。
1.Ubuntu 17.10 将于 1 月 11 日“重新”发布 修复“变砖”问题
Canonical 上个月从 Ubuntu 的官方网站临时 关闭 了 Ubuntu 17.10 的下载通道,并留下通知:
由于在 某些笔记本电脑(主要为联想)上出现 BIOS 固件问题, 导致笔记本电脑无法启动,目前不推荐下载 Ubuntu 17.10 。待问题解决后,再重新开放。
现在,Canonical 宣布将计划于 1 月 11 日发布新的 Ubuntu 17.10(Artful Aardvark) ISO 镜像,还包括 Kubuntu,Xubuntu,Lubuntu,Ubuntu MATE,Ubuntu Kylin,Ubuntu Studio 和 Ubuntu Budgie 在内的所有官方版本的 ISO 镜像。
2.Python 2.7 “退休”倒计时 预计在 2020 年将不再提供维护
Python 发布了一个 网站 以对 Python 2.7 的“退休”进行倒计时。可以看到 Python 2.7 预计将于两年后退休。
Python 2.7 是 2.x 系列的最后一个版本,它的继承者 Python 3.0 在 2008 年 12 月发布,但不兼容 2.x 系列,3.0 的许多特性和语法向后移植到了 2.6 和 2.7。2.7 的支持时间将最少为 10 年,2020 年前会一直提供 bug 修正。
3.英特尔因 Meltdown 与 Spectre 漏洞面临起诉
Intel 本周爆出的 Meltdown 与 Spectre 安全漏洞还未彻底解决,就已经有不少官司找上门了。据 Gizmodo 报道,目前在美国已有三起针对上述漏洞的集体诉讼。英特尔被指在得知漏洞后数月都隐瞒不报,而且对应的补丁程序还会拖累设备的性能。按照 The Register 的说法,性能的降幅大约在 5% 到 30% 之间,但英特尔则表示影响「跟系统负载有很大关系」,并称普通用户并不会注意到有太大的区别(望向最近有类似烦恼的 Apple)。
考虑到 Meltdown 与 Spectre 漏洞被正式公开的时间并不久,接下来英特尔很有可能会面临更多的诉讼呢。
4.加密货币挖矿病毒通过SSH传播
F5 Networks发现,Linux加密挖矿病毒利用SSH和Python进行传播,使得传播过程难以察觉。
这个被称为PyCryptoMiner的挖矿病毒会用Pastebin接收新的命令。现在作者还加入了新功能,它会扫描存在漏洞的JBoss服务器(利用CVE-2017-12149)。
据估计,截至12月底,该僵尸网络的收入约为46,000美元,收入都来自挖到的门罗币。
PyCryptoMiner并不是针对Linux系统的唯一的僵尸网络,但是由于它基于脚本语言更容易混淆。此外,F5的研究人员发现它是通过一个合法程序执行的。
【每日一个知识点】
【每日一个Linux知识点第035期】
问题:当文件系统受到破坏时,如何检查和修复系统?
答案:成功修复文件系统的前提是要有两个以上的主文件系统,并保证在修复之前首先卸载将被修复的文件系统。
使用命令fsck对受到破坏的文件系统进行修复。fsck检查文件系统分为5步,每一步检查系统不同部分的连接特性并对上一步进行验证和修改。在执行 fsck命令时,检查首先从超级块开始,然后是分配的磁盘块、路径名、目录的连接性、链接数目以及空闲块链表、i-node。
【每日一个Python知识点第035期】
问题:请解释Python下多线程的限制以及多进程中传递参数的方式,以及多进程与多线程的区别。
答案:(1)Python下多线程的限制以及多进程中传递参数的方式
Python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程序一个意思,大家都是轮着用的,这叫“并发”,不是“并行”。
多进程间共享数据,可以使用 multiprocessing.Value 和 multiprocessing.Array
(2)Python多线程与多进程的区别
在UNIX平台上,当某个进程终结之后,该进程需要被其父进程调用wait,否则进程成为僵尸进程(Zombie)。所以,有必要对每个Process对象调用join()方法 (实际上等同于wait)。对于多线程来说,由于只有一个进程,所以不存在此必要性。
多进程应该避免共享资源。在多线程中,我们可以比较容易地共享资源,比如使用全局变量或者传递参数。在多进程情况下,由于每个进程有自己独立的内存空间,以上方法并不合适。此时我们可以通过共享内存和Manager的方法来共享资源。但这样做提高了程序的复杂度,并因为同步的需要而降低了程序的效率。
【近期开班】
Linux面授班28期:2018年01月08号(今日)
Linux网络班29期:2018年02月10号(网络)
Python面授班10期:2018年03月05号(北京)
Python网络班09期:腾讯课堂随到随学(网络)