◆国内首个SDK国家标准成功立项◆
软件开发工具包(缩写:SDK、外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。SDK作为App的重要组成部分之一,被开发者和运营者广泛使用,以实现App的各项功能。
不久前央视315曾曝光过部分第三方SDK插件在用户不知情的情况下窃取个人隐私之后,将SDK这一很多消费者所不了解的事物摆上了台前之后。也让大家知道了在智能手机中,除了不法APP会超范围收集用户隐私信息之外,还有SDK这样一个东西可能会在不知不觉中窃取信息。
在8月20日,《移动互联网应用程序(APP)SDK安全指南》(以下简称《指南》)编制工作研讨会在北京召开,而该《指南》也是国内首个关于SDK安全的国家标准项目。
而每日互动(个推)是本次SDK安全标准的牵头起草单位,参与编制工作的还有中国电子技术标准化研究院、中国网络安全审查技术与认证中心、复旦大学、重庆邮电大学、国家计算机病毒应急处理中心、爱加密、阿里巴巴、360、腾讯等。该安全标准的制定对进一步推动行业健康安全发展及保障个人合法权益都具有深远意义。
此次标准将从SDK安全开发、SDK个人信息安全、APP集成安全等方面,提出SDK控制者在开发、运营、个人信息处理、数据安全管理、跨境管理等环节应遵循的原则和安全措施。
中央网信办网安局处长陈吉学在会议中指出,SDK安全标准的立项意义非凡,能够促进行业更好地发展,同时在保障个人权益的基础更好地促进发展。
◆新一代僵尸网络FritzFrog◆
近日,Guardicore 安全研究人员发现了一个自 2020 年 1 月开始活跃的 P2P 僵尸网络—— FritzFrog。
将运行SSH服务器的Linux设备(公司服务器、路由器和物联网设备)捆绑到P2P僵尸网络中,用于挖掘加密货币(门罗币),该僵尸网络的节点目前已遍布全球(北美、中国、韩国是重灾区):
FritzFrog 是一个模块化、多线程、无文件的僵尸网络,它试图通过破坏公共IP地址来发展P2P僵尸网络,而忽略了为私有地址保存的已知范围
“在拦截FritzFrog P2P网络时,我们已经看到由顺序IP地址组成的目标列表,从而对互联网中的IP范围进行了非常系统的扫描,”Harpaz解释说。
而FritzFrog是用 Golang 语言编写的,技术含量很高。该僵尸网络采用去中心化的基础设施,在所有节点中进行分布式控制。在这样的网络中不存在单点失效的问题,节点一直可以与其他节点通信来确保网络的活动性、弹性和更新。
除了使用专用的 P2P 协议外,通信都是基于加密信道的,恶意软件可以在受害者系统中创建后门,来确保攻击者对系统的持续访问。
之前也有过用 GoLang 语言开发的僵尸网络,比如 Gandalf 和 GoBrut。但 FritzFrog 与 Rakos 更加相似,通过暴力破解 SSH 登陆凭证来入侵目标系统。
FritzFrog 的一个特点就是无文件技术,即在内存中执行 payload。一旦识别目标机器,恶意软件就会执行一系列任务,包括暴力破解、用恶意 payload 感染机器、将受害者加入到 P2P 网络中。
为绕过检测,恶意软件会运行 ifconfig 和 NGINX,并开始监听 1234 端口来接受要执行的命令,包括同步受害者网络节点的数据库和暴力破解目标。这些传输给恶意软件的命令是通过一系列设计来绕过检测的循环。僵尸网络中的攻击节点首先通过 SSH 登入受害者,然后使用 NETCAT 工具建立到远程服务器的连接。
此外,payload 文件是通过类似 BitTorrent 的节点来交换的,使用了分段文件传输方法来发送数据。当节点 A 想要接收来自其对等节点 B 的文件时,就可以使用命令 getblobstats 来查询节点 B。然后,节点 A 可以通过哈希来获取特定的 blob,既可以通过P2P命令 getbin 也可以通过HTTP网络和URL https://node_IP:1234/blob_hash。当节点 A 有了所有需要的 blob 后,就可以用名为 Assemble 的模块来装配文件并运行。
除了对命令响应加密和编码外,恶意软件还运行了一个名为 libexec 的进程来进行门罗币挖矿,并通过添加公钥到 SSH 的 authorized_keys 文件来在作为之后访问受害者的后门,因此之后的登陆无需再次输入密码。
FritzFrog攻击影响
攻击是从2020年1月9日开始的,其中恶意软件二进制文件迭代了 20 个不同的版本,累计攻击超过 13000 次。
除了攻击教育机构外,FritzFrog 还暴力破解了属于政府机构、医疗中心、银行和众多电信公司的IP 地址,并成功突破了500多个SSH服务器。Guardicore 研究人员还发布了一个检测脚本来检查服务器是否被 FritzFrog 感染。
FritzFrog难以被检测到的原因
它的进程以ifconfig、nginx或libexec的名称运行(后者在门罗币采矿时使用)。
在受感染机器上运行本地netcat客户端,通过标准SSH端口建立其P2P命令隧道。通过SSH发送的任何命令都将用作netcat的输入并传输给恶意软件。
“除了采用新颖的命令发送方式,该过程还实现了完全自动化并在恶意软件的控制下。即使在为新感染的主机创建了P2P通道之后,该恶意软件仍会继续向受害者发送命令。”Harpaz指出。
缓解措施
终止恶意进程
将SSH密码更改为强密码并使用公共密钥身份验证
从authorized_keys文件中删除FritzFrog的公钥以“关闭”后门
如果不需要服务,请考虑更改路由器和IoT设备的SSH端口或完全禁用对它们的SSH访问。