优酷 iOS 插件化页面架构方法 (mp.weixin.qq.com)
随着业务不停地迭代,优酷 APP 用于分发视频资源的 UI 控件越写越多,也越来越复杂,并且同时相似相近的代码也非常多。仔细研究之后,发现是很多耦合导致的问题:
by @code小生 2021-03-21 23:29 分享 查看详情
又一大型直播 App 被捣毁,这个行业还是太赚钱了。。。 (mp.weixin.qq.com)
2856位女主播、617万注册用户、平台接受充值金额超5000万、女主播提现金额2640万……这一连串数字的背后,又是一个网络淫秽直播平台——“小棉袄”APP。
by @code小生 2021-03-21 23:29 分享 查看详情
这也行?iOS后台锁屏监听摇一摇 (mp.weixin.qq.com)
一般情况下,出于省电、权限、合理性等因素考虑,给人的感觉是很多奇怪的需求安卓可以实现,但是iOS就无法实现!今天要介绍的需求也有这种感觉,就是“当 APP 处于后台或锁屏状态时,依旧可以监听到摇一摇,进而触发某些功能,比如:语音播报”。
by @code小生 2021-03-21 23:28 分享 查看详情
别到处借会员了,这里啥都有!高清全免费! (mp.weixin.qq.com)
乘风破浪的姐姐刚上的时候,你是不是到处跪舔借会员?
某些影视剧需要 VVVIP 才能看的时候,是不是想骂街?
by @code小生 2021-03-21 23:28 分享 查看详情
腾讯的这个框架火了! (mp.weixin.qq.com)
Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。
by @code小生 2021-03-21 23:28 分享 查看详情
中国互联网20年简史(1998-2018):其中的规律与本质是什么? (www.cniteyes.com)
大事年表,简单回顾一下中国互联网20年,从1998年开始。

主要涉及:
1、内容:新闻&文学、音乐&视频;
2、社区+内容;
3、游戏;
4、电子商务。
by @shengting 2021-03-19 17:23 分享 查看详情
硬件安全:ARM体系架构的安全特性演进 (www.secrss.com)
安全从业者脑中有一系列的安全名词,比如安全三要素Confidenciality 、Integrity、Availability,比如硬件安全品牌TPM、TrustZone、SGX、Titan-M,比如软件层面的安全能力Isolation、Access Control,又比如漏洞缓解措施DEP、ASLR、CFI。

从这些名词可以看出,软件最基础的安全能力都得自于硬件的支持,如果一个硬件没有特权级别,那就不要期望能实现什么安全能力了(没有MPU,基本的隔离都没办法做了)。

硬件能力如同原材料,能做成什么样的美味佳肴就靠厨师(工程师)的本领了。

因此在考虑未来产品安全的发展趋势时,硬件安全的未来演进是非常值得参考的。硬件安全系列主要讲述下ARM指令集的演进、Intel SGX解决方案以及苹果和Google硬件安全芯片的应用。本篇文章就从我们最熟悉的ARM开始讲起。
by @shengting 2021-03-19 17:11 分享 查看详情
MTK平台Android 安全中secure boot机制 (blog.csdn.net)
Secure boot指的是建立用于运行已验证应用程序的可信平台的启动序列。它从一个不可变的序列开始,使用密码验证验证代码的源,从而只执行授权的软件。启动序列将设备置于已知的安全状态,并检测软件的二进制操作和反射攻击。

Secure boot的目的就是确保在系统平台上所执行的程序代码是厂商确认过的,避免有人恶意修改系统程序的恶意行为。
by @shengting 2021-03-19 17:11 分享 查看详情
UEFI安全启动 (zhuanlan.zhihu.com)
UEFI安全引导(Secure Boot)的核心职能就是利用数字签名来确认EFI驱动程序或者应用程序是否是受信任的。

在简要地介绍了数字签名的概念(这是安全引导的基础)之后,我们重点介绍UEFI 安全引导是如何利用数字签名以及其他的加密方式(如Hash函数等)来确保系统引导的安全可靠。

我们还会讲到Secure Boot的部署方面以及他在操作系统的安全负载方面所起到的协助作用。
by @shengting 2021-03-19 17:09 分享 查看详情
Android Verified Boot 概述 (www.xiezeyang.com)
Verified Boot是Google为Android启动定义的一种安全机制。它建立了一条从受硬件保护的Root of trust到booloader,再到boot和其它验证分区(包括system、vendor、product、odm等)的完整信任链。在设备启动的过程中,无论处于哪个阶段,都会在进入下一个阶段前先验证下一个阶段的完整性和真实性。除了确保设备运行的是安全的Android系统以外,verified boot还支持回滚保护(anti-roll back),它可以保证设备只会更新到更高版本,以避免可能的漏洞持续存在。另外,verified boot还允许设备将其完整性传到给终端用户。

要想使能verified boot,需要在编译系统中启用dm-verity功能。Android 4.4就增加了对验证启动和 dm-verity 内核功能的支持。以前的Android版本会在发现设备损坏时向用户发出警告,但仍允许他们启动设备。从Android 7.0 开始,系统会严格强制执行verified boot,从而使得遭到入侵的设备无法启动,与此同时还增加了对向前纠错功能的支持,能更可靠地防范非恶意数据损坏。Android 8.0及更高版本包含了 Android Verified Boot (AVB)功能。其实AVB就是验证启动的一个参考实现,可与 Project Treble 配合使用。除此之外,AVB 还对分区脚本格式进行了标准化处理,并增添了回滚保护功能。为了便于区分,我们一般将此之前的verified boot称为1.0版,而AVB专指verified boot 2.0版。
by @shengting 2021-03-19 17:09 分享 查看详情
浅析安全启动(Secure Boot (bbs.pediy.com)
安全启动的根本目的是为了防止消费者从软硬件层面对产品的部分关键系统进行读写、调试等高权限的操作。以限制消费者的能力,来达到保护产品的商业机密、知识产权等厂家权益的目的。

当然,厂家是不会这样宣传 Secure Boot 的。他们的文案通常都是通过这项技术保护用户的隐私,防止恶意软件修改系统软硬件等等。不过不论如何,随着 ARM 架构的广泛授权,基于 TrustZone 的 Secure Boot 也越来越普遍了。

本文是通过我自己对市面上的一些基于 ARM TrustZone 的 Secure Boot 实现的浅见、零零碎碎读到的一些安全分析文章、看到的一些讲座,总结一些常用的攻击思路,介绍一些真实的攻击案例。
by @shengting 2021-03-19 17:07 分享 查看详情
浅谈 Android 的安全启动和完整性保护 (evilpan.com)
在 IoT 中保证设备安全性的重要一环就是保证代码的完整性,不让恶意代码影响业务的正常逻辑。一般而言是及时修复现有攻击面所面临的漏洞,比如浏览器、蓝牙、调试接口;另一方面需要确保的是即便恶意代码获取了执行权限,也无法修改系统镜像进行持久化。针对这点所构造的安全方案通常称为 Secure Boot,对于不同的厂商,实现上可能会引入不同的名字,比如 Verified Boot、High Assurance Boot 等等,但本质上都是类似的。
by @shengting 2021-03-19 17:07 分享 查看详情
黑产在IP攻防上的挣扎与进化 (mp.weixin.qq.com)
通俗的讲,秒拨的底层思路就是利用国内家用宽带拨号上网(PPPoE)的原理,每一次断线重连就会获取一个新的IP。与时俱进的黑产掌握大量宽带线路资源,利用虚拟化和云计算的技术整体打包成了云服务,并利用ROS(软路由)对虚拟主机以及宽带资源做统一调配和管理。这种云服务交付给黑产用户其实就是云主机(俗称“秒拨机”),黑产用户可安装Windows或Linux系统,通过RDP、VNC或者SSH连接,部署自动断线重连切换IP以及攻击的工具后,便可发起攻击。
by @shengting 2021-03-19 17:03 分享 查看详情
基于用户画像大数据的电商防刷架构 (www.iyunying.org)
“羊毛党”的行为距离欺诈只有一步之遥,他们的存在严重破环了活动的目的,侵占了活动的资源,使得正常的用户享受不到活动的直接好处。
by @shengting 2021-03-19 17:02 分享 查看详情
软件测试人员该何去何从? (insights.thoughtworks.cn)
QA能够随着年龄和工龄的增长,让自己的能力也能不断的提高,才能让测试工作有更多价值的体现。因此,能力提升至关重要!
by @ThoughtWorks 2021-03-19 09:47 分享 查看详情
延时!保新!2 年续期证书来啦~ (zhuanlan.zhihu.com)
自 2020 年 9 月 1 日苹果系统、谷歌和火狐浏览器调整受信 SSL 证书的有效期策略起,受信 SSL 证书的最长有效期从 825 天缩短至 398 天。全球 CA 机构不再颁发一年期以外的 SSL 证书,每年重复一次的续签操作就变成了一个需要大家都警醒的存在……
by @又拍云 2021-03-17 14:47 分享 查看详情
提升软件交付效能——初探“按需发布” (insights.thoughtworks.cn)
在精益思想的指导下,团队寻找开发流程中的阻碍点,并从各个层面做出调整策略。在业务侧,分析哪些需求可以做到按需发布,哪些需求无法做到,设定适合团队的按需发布标准,并调整迭代工作量。在开发侧,考虑数据的兼容性,部署方式,以及高频率部署所带来的环境准备问题。在测试侧,提高自动化测试的运行速度和主流程的覆盖范围,并利用平台自身的自动化测试覆盖率统计功能,查缺补漏。
by @ThoughtWorks 2021-03-17 10:34 分享 查看详情
软件匠艺 (teobler.com)
为了提高软件开发的水准,并重新明确敏捷最初的目标,一群开发人员于 2008 年 11 月聚集到芝加哥,发起了一项新的运动:软件匠艺(Software Craftsmanship)。如同 2001 年的敏捷峰会一样,2008 年的会议达成了一套核心价值观,并在《敏捷宣言》的基础上提出了一个新的宣言。
by @Teobler 2021-03-16 12:53 分享 查看详情
一文说透依赖注入 (insights.thoughtworks.cn)
控制反转在整洁架构中非常重要,而大部分现代框架的设计思想都是暗合《架构整洁之道》的,因此,在大部分现代框架中,都内置了依赖注入机制,以支持控制反转。
by @ThoughtWorks 2021-03-15 09:54 分享 查看详情
为什么 Activity.finish() 之后 10s 才 onDestroy ?我蒙蔽了 (mp.weixin.qq.com)
交流群里碰到一个很有意思的问题,调用 Activity.finish() 之后 10s 才回调 onDestroy() 。

由此产生了一些不可控问题,例如在 onDestroy() 中释放资源不及时,赋值状态异常等等。我之前倒没有遇到过类似的问题,但是 AOSP 总是我们最好的老师。从 Activity.finish() 开始撸了一遍流程,找到了问题的答案。
by @code小生 2021-03-14 12:50 分享 查看详情