这里记录每周值得分享的科技内容,周五发布。
本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容。
周刊讨论区的帖子《谁在招人?》,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。
封面图
"武汉超算中心"使用集装箱搭建,是国内最大的集装箱超算中心,8月15日正式接入"中国算力网"。(via)
本周话题:如何防止帐号被黑
上周有一起安全事件。两家著名的美国互联网公司----Twillo 和 Cloudflare----被攻击了,前者还被攻破了。
这两家都不是普通公司,技术很强,都采用了"双因素认证",但还是被有效攻击了。它们事后披露了一些细节,我觉得值得谈一下,聊聊怎么保护帐号安全。
首先,有一点应该是共识:密码是不安全的,一定要启用双因素认证。
大部分的互联网密码都已经泄漏了。地下的黑产出售很全的数据库,一查邮箱或手机号,密码就出来了。你不妨认定,自己的密码已经泄漏了。如果为每个网站设置不一样的密码,情况可能会好一点,但也无法保证某个账号就是安全的。
任何一个重要账号,都应该打开"双因素认证"(two factor authentication,简写 2FA),即除了密码,再多一种认证。即使如此,也必须非常小心,因为 "双因素认证"也可能被破解。
一种常见的"双因素认证"就是密码 + 短信。每次登录时,除了密码,还会发一个短信验证码。它的风险在于短信是不加密的,而且国内有过不少案例,罪犯拿着伪造的身份证去挂失,办了一个相同号码的 SIM 卡,顺利收到验证码。
另一种新兴的"双因素认证"是密码 + 人脸识别。它的风险在于,国内的很多方案采用身份证照片与人脸比对,这很不安全。已经有新闻报道,银行的人脸识别被破解,储户的存款被转走。
公认较安全的"双因素认证"是密码 + TOTP 时间码。你在手机安装一个专门 App(比如 Google Authenticator 或 Authy),输入网站提供的密钥,就会每30秒生成一个6位时间码。
但是,上周的安全事件,恰恰就是 TOTP 时间码被攻破了。下面就来说说,这是怎么发生的。
事情的起因是,Twilio 和 Cloudflare 的员工,在下班后或者休息日收到了一条手机短信。下面就是两家公司公布的短信截图。
大意是,公司日程有调整或者你的登录信息过期了,请点击链接,到后台查看。它给出了一个公司名称加"sso"或者"okta"这样的钓鱼域名,警惕性不高的员工就会点击。
读者可能会问,攻击者如何得知员工的手机号码。这在美国不是难事,LinkedIn 网站上就往往可以查到。
员工点击链接以后,就会进入钓鱼网站(下图),跟真正的登陆页一模一样。只要填入用户名和密码,它们就立刻泄漏,脚本自动把它们发送到服务器。
但是,这两家公司都开通了"双因素认证",光有密码还进不去后台,所以钓鱼网站会把你引导到 TOTP 时间码的页面。
这时,只要你输入了时间码,它就自动发送给攻击者。由于时间码的有效期只有30秒,这次攻击最绝的地方在于,攻击者是实时攻击,只要一拿到时间码,就立刻在真正的登录页输入,从而进入后台。
可以这样说,大部分公司的双因素认证,都会被这种方式攻破。但是,Cloudflare 这一次没有被攻破,原因是他们的后台没有采用时间码,而是采用了物理密钥(下图)。只有把物理密钥插入计算机,才能登陆后台。攻击者拿不到物理密钥,自然就无法攻破。
所以,这个事件的教训就是,目前最安全的认证方法应该是密码 + 物理密钥。事实上,从很早以前,银行就给客户发物理密钥,进行大额转账。如果你有条件,可以考虑使用,很多大网站都已经支持物理密码,比如 GitHub(下图)。
问题在于,物理密钥的价格较高,便宜的也要一两百元人民币,普通用户不可能购买。好在 Web Authentication 技术正在推广,它允许把手机当作物理密钥,或者网站可以调用本机的指纹识别(或人脸识别)进行认证。
对于大多数人来说,目前阶段如果没有物理密钥,保护账户安全的最佳实践无非就是这么几点:坚持使用双因素认证,不同网站使用不同密码,不在可疑网址输入密码。
微服务框架 CloudWeGo
大家知道吗,字节系应用的后台框架是开源的。去年9月,字节开源了微服务框架 CloudWeGo,包含了主要的一些自研工具,用来搭建企业级云原生微服务。
这个框架现在支持了10万+的字节内部微服务,以及1000万的容器实例。而且,开源框架跟内部使用的是同一套代码,统一迭代,在 GitHub 得到了9000+颗星。
开源一周年之际,CloudWeGo 团队将在字节跳动技术沙龙,分享字节的后台架构(比如飞书的架构),以及如何快速搭建企业级微服务。
时间是8月27日(下周六)下午2点,采用线上直播形式。感兴趣的同学,点击这里或者扫描二维码,了解活动详情并报名。会务组还准备了海量福利,给大家抽奖。
科技动态
1、手术机器人
美国机器人公司 Intuitive Surgical 推出的手术机器人,已经进入了美国所有顶级医院。
这种机器人有四条机器手臂,合作完成一台手术:有的手臂用来切开伤口和缝合,有的用来体内操作,还有一条专门用作摄像头。
当它进行手术时,实习医生就坐在一旁当观众,看着它完成手术。
2、手机保管盒
很多人觉得,手机的出现使得大家越来越难集中注意力。于是,市场上就诞生了手机保管箱、手机定时盒、手机定时锁这样的产品。
它们被称为"自律神器",手机放在里面,设好定时,就无法取出了,只有时间到了,才能取出。
有人认为,这种产品只是心理安慰,如果做不到自律,它不会有太大帮助。但是,另一些用户认为,确实有助于克服手机上瘾。
3、人造角膜
大约5%的盲人因为角膜疾病而丧失视力,只要角膜移植就可以恢复视力。但是,角膜只有遗体捐赠才能获得,从而使得很多盲人无法做角膜手术。
最近,瑞典林雪平大学发表论文,他们从猪皮提取了胶原蛋白,制造了人造角膜,已经在印度和伊朗植入了20名盲人。
24个月后评估,14个人恢复了视力,剩下6个人从严重视力障碍转变为中度或轻度视力障碍。
研究团队的下一个目标,是得到欧洲和美国的批准,在那里进行100人的临床试验。如果人造角膜最终成功,对很多失明者将是极大的好消息。
4、集中供冷
北方有集中供暖,广州的珠江新城正在尝试集中供冷。每户人家不用装空调,小区的供冷中心统一提供冷气。
这样不仅节省能源,而且还可以降低供冷费用。它采用冰蓄冷,夜间用电低谷期进行蓄电制冰,相当于储能;白天的用电高峰期,再把夜间制成的冰块转化为冷冻水输送进管道,向用户输送冷量。
但是,它要占用一块面积不小的土地,在大都市会有高昂的土地费用,导致供冷价格实际上并不低,这是推广的最大难点。
5、沙子电池
芬兰建造了世界第一个商业化的沙基热能储存系统,俗称"沙子电池",使用加热的沙子储存能量。
它是一个 4 × 7 米的钢筒,里面放了数百吨沙子,平时不用的时候,可以加热到 500-600 摄氏度的温度,并保持不变。
等到当地开始供热,这些沙子就用来提供热量。据说这个筒储存的能量,相当于8000度电的加热效果。它的最大优点就是便宜,成本低廉,而且容易制造。
文章
1、无人驾驶安全员的一天(中文)
去年,百度获得许可,在首钢园开始运营无人驾驶出租车。每辆车配备一个安全员,坐在驾驶位或副驾驶位,监督车辆行驶。
本文是对一位安全员的采访,他整天坐在车上,看着车自动开是什么感受。有一段很有趣,他说坐惯了无人驾驶以后,回到自己车上,就很难适应了。这篇是节选的中文翻译,内容很少,可以参考英文原版。
2、中国的木拱桥(中文)
中国古代除了石拱桥,还有木拱桥,也就是用木头做的拱桥。前不久烧毁的福建万安桥,就是一座木拱桥。
3、灵隐寺"智慧寺院管理系统"(中文)
杭州灵隐寺"智慧寺院管理系统"近期正式上线,网上流传一张照片,一位僧人正在讲解该系统。
4、Bun:Node.js 的替代品(英文)
Bun 是 Zig 语言写的 JavaScript 服务器运行环境,目标是兼容 Node.js,并且将打包器、转码器、包管理都包含在内。本文是对它的测评,最终评价很不错。
5、停止在代码注释中使用 TODO(英文)
很多程序员习惯在代码注释写 TODO,表示待完成的任务。作者建议不要再写 TODO,而用具体的任务替代,比如需要添加文档写"DOCME",需要添加测试写"TESTME"。
6、小米 12s Ultra 与 iPhone 13 Pro Max 的摄像头对比(英文)
小米最新发布的 12s Ultra 手机,有着1英寸传感器,比 iPhone 13 Pro Max 大了许多。XDA 论坛对两者的拍照和视频能力,进行了对比。
7、OpenSSL 与 OpenSSH 的区别(中文)
OpenSSL 与 OpenSSH 都是开源软件,它们的区别是:前者是 C 语言函数库,实现了 SSL 加密协议;后者是加密 Shell 的开源实现,提供了加密登录的客户端和服务端,它依赖于 OpenSSL。
8、使用人工智能解释代码(英文)
作者将代码提交给人工智能模型 GPT-3,让模型说出这段代码是什么意思,结果令人震惊。
工具
1、Maccy
一个 MacOS 系统的开源软件,可以保存系统剪贴版的历史,查看每一次复制粘贴的内容。
2、Nude UI
著名前端开发者 Lea Verou 做的 Web Component 组件库,目前只有五六个表单组件,都是轻量级组件,非常易用,效果不错。
3、卡通猫生成器
一个网页小工具,可以生成卡通猫图片,猫的每个部分都可以定制。
4、Glances
一个 Python 写的系统监控工具,最大特点就是跨平台,Linux/Windows/Mac 都能用。
5、XLite
这个工具可以将 Excel 表格文件导入 SQLite,使用 SQL 进行查询。
6、Jina
一个基于 Python 的框架,用于构建神经搜索系统,针对图像、音频、视频等进行搜索,比如口红搜索(寻找适合某张人脸照片的口红)。(@Guanngxu 投稿)
实时显示 MacOS 每个进程的网络速率,适配明暗两个主题。(@foamzou 投稿)
一个显示磁盘占用情况的命令行工具。虽然 Linux 已经有了 ncdu,但是这个工具是用 Go 写的,可以跨平台(Linux、Mac & Windows)。(@chenquan 投稿)
一个手机的笔记 App,支持用 Markdown 做笔记,推送到远程 Git 仓库。它的安卓 App 是免费的,iOS App 是收费的。
10、Unpaywall
一个浏览器插件,在各种论文数据库的页面上,添加下载按钮。周刊此前介绍过同类插件,这个看上去更正规一些。
另有一个论文数据库 OA.mg,用来查找论文。
活动
1、掘金会员
稀土掘金社区一直是国内非常受欢迎的技术社区,背后有字节的支持,网站上有大量学习资源,尤其是前端内容。
最近,他们整合了资源,推出了"掘金会员",加入就能解锁90%的课程和小册,享受简历优化和面试指导,还有专属的会员群和客服。
现在有优惠活动,限时五折就能加入,爱学习的同学可以考虑,充分使用掘金社区,提升自己的竞争力。已经参加预购的同学,别忘了补款。
资源
一本免费阅读的 Haskell 英文教程,从零教起,对初学者很友好。
2、oPhysics
这个网站收集可以网页交互的物理学演示,有几十个作品。实时调节参数,就能看到结果。(@meq1986 投稿)
这个网站收集了300种数据可视化案例,可以当作自己选择可视化形式时的灵感。
这个网站收集近200种 Unix/Linux 系统的窗口管理器。如果你不喜欢桌面环境自带的窗口管理器,可以换一个。
5、理解量子技术(Understanding Quantum Technologies,2021版)
一本免费的英文电子书,向初学者介绍量子计算各方面的基础知识,带有彩色插图,厚达800多页。
图片
1、饥饿石
今年夏天,欧洲发生了极端高温,很多河道都水位大降。
流经德国和捷克的易北河,水位下降以后,露出了河底的"饥饿石"。
所谓"饥饿石",就是15世纪到19世纪发生干旱时,当时的人们在这些石头上刻了字,提醒后人,如果再看到这些石头露出水面,就意味着会发生饥饿。
2、像素动物
一个日本艺术家贴出了,他绘制的大量像素动物,非常有趣。
3、松鼠散热
游客最近在纽约公园里面,拍到松鼠贴着地面趴着的照片。
公园解释,这并不是松鼠失常或受伤,而是纽约天气太热,松鼠在树荫下的地面上伸展身体,扩大表面积,有利于散热。
纽约托马斯街33号
原文网址:theintercept.com
上个世纪60年代,美国国家安全局决定在纽约市中心建造一座能够承受原子弹爆炸的摩天大楼。
这座楼高达170米,有29层和三层地下室,但没有一扇窗户。如果发生灾难,它储存的食物足够1500人维持两周。
它的主要目的,并不是在核战争中保护人类免受核辐射,而是保护计算机和通信系统在核爆后还能正常工作。
建成后,它成了美国最重要的电信枢纽之一,也是世界上最大的长途电话处理中心,现在交给 AT&T 的子公司纽约电话公司运营,至少表面上如此。它的内部情况和运营细节从来没有曝光过。
它在1969年开工建设,1974年竣工,位于曼哈顿下城的心脏地带,地址是托马斯街33号。
它是一座巨大的灰色混凝土塔,没有窗户,也没有外部的灯光照明。到了晚上,就变成一个巨大的黑影,只有硕大的方形通风口发出独特而沉闷的嗡嗡声。
上图中间不亮灯的大楼,就是托马斯街33号。
除了通风口,大楼唯一的口子就是底层的出入口。这就是外界知道的关于这栋楼的一切。
言论
1、
一个好的领导(或者产品经理),应该具备五项技能:SQL、Excel、简洁写作、讲故事、区分优先级。
2、
SSR(服务端渲染)是一个新名词,但是30年前,人们就在服务端使用 PHP 进行"SSR"了,并且积累了这方面的很多知识。
可是 PHP 的这种做法不再时髦了,哪怕它跟现在的做法并没有本质区别,主要原因大概是它不是在最近36个月内发明的。
3、
Arch Linux 的优点和缺点都是它的滚动更新机制。一方面,你总是能让系统保持最新版本,另一方面,你无法轻易地让某个软件保持特定版本,所以不适合用作生产环境服务器。
4、
如果你是一个工程师,那么在成为资深工程师之前,永远不要担任管理职务。
5、
Windows 95 安装文件的体积是 19 MB,到了现在,一张网页可能就不止这个大小。
历史上的本周
2021年(第 171 期):云服务流量有多贵?
2020年(第 120 期):只有开放才能打败封锁
2019年(第 69 期):做得好 vs 做得快
2018年(第 18 期):无人机攻击,难以防范
鸣谢
国产软件 FlowUs 提供个人专栏服务(查看周刊专栏),集成了"文档+表格+网盘",适合知识库、数据管理、文件存储多种用途。
(完)
dong 说:
SSR结果是一样,但开发过程不同,PHP前后端混写,现在前后端分离
2022年8月19日 09:10 | # | 引用
万一 说:
哪里可以看到阮一峰所有博客中软件的集合啊
2022年8月19日 09:21 | # | 引用
SJ 说:
有个游戏 控制(Control),里面有个虚构的美国政府机构叫 联邦控制局(Federal Bureau of Control) 的总部大楼 太古屋(Oldest House) 就是以 托马斯街33号 为原型设计的。游戏里整座大楼的空间在不断变化,是研究和收容超自然现象的容器。
2022年8月19日 09:26 | # | 引用
test 说:
手术机器人;最新湘南医院 是不是用机器人 把人家正常的 大肠剪了。。。。
2022年8月19日 09:30 | # | 引用
restr 说:
好像是 中南大学湘雅二医院
2022年8月19日 09:32 | # | 引用
大顺哥 说:
Twilio和Cloudflare的员工肯定没有下载“国家反诈APP”
2022年8月19日 09:54 | # | 引用
triplezhiwang 说:
usbkey哪有那么贵,银行都是免费送的。uk的问题是易用性太差了。安全本来就和易用背道而驰的。
2022年8月19日 10:06 | # | 引用
那个胖胖的同学 说:
严格意义上不算是密码破解,只是人为的欺骗
2022年8月19日 10:32 | # | 引用
匿名诺夫 说:
Windows 95 安装文件的体积是 19 MB,到了现在,一张网页可能就不止这个大小。
============
你说这个我就想到了“小而美”
2022年8月19日 10:32 | # | 引用
康永叶 说:
集中供冷原来广州大学城有应用啊,当时我有些同学的学校宿舍应该就是用了这个,他们空调是学校定时开关的,还是我们自己安装空调的香[doge]
2022年8月19日 10:35 | # | 引用
小无闻 说:
原来博主的这个blog也没有自动跳转 https
2022年8月19日 10:48 | # | 引用
passerby 说:
后来怎么样了
2022年8月19日 10:51 | # | 引用
daftchango 说:
我也想到的是Control
2022年8月19日 10:52 | # | 引用
时雨 说:
托马斯街33号
这个感觉是魔法禁书目录里倒吊男那栋楼的原型?描述的太像小说原文了
2022年8月19日 11:12 | # | 引用
卜叔 说:
阮老师的文章里关于新能源的话题也是越来越多了,储能,制冷,节能…… 这是不是说明新兴技术的方向也在向着能源转型推进,越来越多的社会资源开始关注这个领域了,或者,还是实在是上海太热了
2022年8月19日 13:12 | # | 引用
Spike 说:
停止在代码注释中使用 TODO
改成其他的关键字,搜索时可能会漏掉吧。
原来全局搜索一遍 TODO 改就好了,现在有这么多关键字,而且存在拼写错误的情况,反倒容易漏掉了。
加个 todo- prefix 可能比较好?
2022年8月19日 13:30 | # | 引用
witt 说:
gitjournal这个有需求,购买后才发现,25rmb是base版本,只有note功能,用不了git repo,pro版才行,300多rmb/年,,好吧,,,卸载,退费,,,软件的定价始终是个谜,,有的贵的让你怀疑人生,,有的免费的让你觉得开发人员都是白衣天使,,,
2022年8月19日 15:05 | # | 引用
xulonc 说:
安卓不是免费的吗?
2022年8月19日 15:17 | # | 引用
atc 说:
好问题,想用得到的时候可以搜出来是吧,用搜索引擎搜 关键字 site:ruanyifeng.com 试试
2022年8月19日 16:41 | # | 引用
你失散多年的亲爹 说:
你去给推荐一下
2022年8月19日 17:59 | # | 引用
heizi2015 说:
达芬奇手术机器人并不是自主机器人,它仅仅是提供更精巧更复杂的工具,来代替医生的手,同时还过滤掉了医生手臂的无效抖动,也提供了更细致的操作视野,使医生可以轻松完成人手不易到达的角度位置进行精巧复杂的手术,医生在旁边操作达芬奇机器人时挺像打游戏似的
2022年8月19日 21:04 | # | 引用
stormpass 说:
如果你是一个工程师,那么在成为资深工程师之前,永远不要担任管理职务。
大多数时候,我们都是身不由己~~
2022年8月20日 09:36 | # | 引用
Kyli 说:
对他们来说如果被查到有那怕真的要背上黑锅,滚出公司了。
2022年8月20日 21:14 | # | 引用
Kyli 说:
IDE可变通下,TODO同时会使用正则表达式搜索自定义的/FIXME|TESTME|..ME/
2022年8月20日 21:18 | # | 引用
天空 说:
其实现在银行为了方便,手机银行能转账的金额已经很大了,真的是没有绝对的安去。
2022年8月20日 21:22 | # | 引用
岁月漫步 说:
安装了智能系统的灵隐寺还是石庙了,污染了我佛门净地,哎
2022年8月20日 22:40 | # | 引用
岁月漫步 说:
现在世界上最热的词就是“热”了。
全球变暖,人类的大灾难。
2022年8月20日 22:41 | # | 引用
Zihan 说:
阮哥我好无聊
求推荐点好好玩的网站
上网都不知道干啥
每周就等着这一个周刊
有谁推荐点好看的东西
2022年8月21日 12:01 | # | 引用
zc 说:
抛砖引玉一下:不死鸟每日推荐iui.su(大量摸鱼网站),Hacker News(不必说),其他请大伙补充。
顺便问下阮老师会在公众号和github仓库里和观众互动吗,感觉这个博客下他自己不怎么发言。
2022年8月21日 15:42 | # | 引用
吴昊昊 说:
未来天气会越来越热,集中供冷这个项目很不错,有前景的
例如重庆,四川这些地方温度特别高
使用空调,效果的确很不错,但是一旦遇到停电情况。直接没用了
集中供冷这个成本应该也是比空调低很多的
以后夏天交冷气费,冬天交暖气费
并且还可以产生一些就业岗位,很不错
2022年8月21日 22:54 | # | 引用
李慢慢 说:
佛也得与时俱进啊,要不然会被淘汰的
2022年8月22日 15:01 | # | 引用
岁月漫步 说:
真正的佛是不会被淘汰的,佛就是要远离红尘,远离杂念。
2022年8月22日 22:51 | # | 引用
Joey 说:
人工智能已经渗入了我们的方方面面,而如果人工智能发展起来,人类的大脑也不再神秘,我们的隐私就都可以被读取,甚至思想也可以被控制,所以我们还是不去利用人工智能为好。
2022年8月23日 13:10 | # | 引用
TommyLemon 说:
”自律神器“看起来不错,不过要是接到电话等急需手机的请款,能不能提供临时使用的特殊方式呢?
2022年8月23日 15:25 | # | 引用
TommyLemon 说:
”自律神器“ 看起来不错,不过要是接到电话等急需手机的情况,能不能提供临时使用的特殊方式呢?
上一条有字打错了:”请款“ -> "情况"
2022年8月23日 15:26 | # | 引用
gausszhou 说:
VScode 安装一个插件 todo-tree 还可以的。
2022年8月23日 17:29 | # | 引用
qwq 说:
托马斯街33号
有看过 美剧 《Mr. Robot》 的小伙伴吗
2022年8月24日 10:00 | # | 引用
wyl219 说:
Twilio和Cloudflare这个事严格来说不是破解了2FA.
一个简单的事实,密码使用过程中最容易被攻破的点其实是用户.
这个例子中破解者使用的方式有个名字叫社会工程学(社工).相当于打电话问你"还记得我是谁不".完全没涉及2FA的破解.
2022年8月25日 09:23 | # | 引用
LiLittleCat 说:
刚搞了一个,希望可以帮到你。https://github.com/LiLittleCat/tools-in-ruanyf-weekly
2022年8月25日 20:43 | # | 引用
jerry 说:
分享个别的学Haskell的资源
https://www.cis.upenn.edu/~cis1940/spring13/lectures.html
2022年8月29日 17:34 | # | 引用
ageovb 说:
Maccy 不如用 快贴 了,全平台支持
2022年11月 9日 09:00 | # | 引用
123 说:
密码什么的根本就是平台怕背锅罢了,哪怕是bank账号,假设我只有几十块,为什么我要为这个几十块去迎合那么多的验证?用户不能选择安全级别吗,我就要密码123456。不从用户出发,总会让人讨厌
2023年8月10日 17:23 | # | 引用
梓枫 说:
但很难保证临时使用是不是自己的不自律(想玩手机),如果临时使用时间太短可能事情也没有解决,太长就可能违背自律的原本,只能说鸡肋,关键还是需要慢慢养成习惯,一开始用自律神器还是不错的,养成一种习惯之后,慢慢就不太需要了
2024年1月11日 18:30 | # | 引用