Linux 安全预警:Linux 内核的 USB 驱动存在大量缺陷


大众普遍认为,与 Windows 相比,Linux 和 macOS 操作系统具有更好的安全性。这个观点在大多数情况是成立的,但因此而不承认任何可能存在的攻击则显得不理性。最近,谷歌安全研究员 Andrey Konovalov 发现了一些 Linux 漏洞

Konovalov 使用 Linux 内核模糊测试工具 Syzkaller 发现了 Linux 内核的 14 个 USB 缺陷,并报告给了社区。他指出,所有这些缺陷都可以通过精心制作恶意的 USB 设备而进行触发,当然前提是攻击者具有物理访问机器的机会。

看起来,这个先决条件使得这些漏洞看起来没有太大的攻击性,虽然如此,但我们也不应放松警惕,毕竟在办公室、航班以及其他公共场所,依然有很多触发攻击的场景。而且,过去的研究也表明,普通大众对于 USB 设备没有太高的警惕性,这种情况会更易遭受攻击。

这些与 Linux 内核 USB 驱动相关的缺陷,大部分是 DoS (Denial of Service) bug,可能会导致冻结或重启系统,但也有一部分会允许攻击者提升权限并执行恶意代码。

对于这些可以被利用在内核中执行代码的 bug,我们不应掉以轻心。实际上这 14 个缺陷只是 Konovalov 发现的 79 个缺陷列表中的一部分。除了这些,还有许多没有被报告,也没有被打补丁。

USB 接口设备的广泛采用导致 Linux 内核不得不支持多种驱动程序,而其中大部分驱动程序尚未经过全面测试就已发布使用,这些被大众轻视的问题往往成为攻击者的攻击手段之一。



原文发布时间为:2017-11-10

本文作者:佚名

本文来自云栖社区合作伙伴51CTO,了解相关信息可以关注51CTO。


React + Umi项目中结合Ant Design实现拖放文件上传Java后台,首先需要做到前端的交互和后端的接收处理。以下是步骤描述: **前端部分:** 1. 使用`antd`库的`DragDrop`组件和`Upload`组件结合起来: - 创建一个`DragArea`组件,允许用户直接拖拽文件进入: ```jsx import React, { useCallback, useState } from "react"; import { DragDropContext, DropzoneArea } from "antd"; const onDropFiles = useCallback((files) => { onFileChange(files); // 调用后端接口或状态更新 }, []); <DragDropContext onDrop={onDropFiles}> <DropzoneArea /> </DragDropContext> ``` - 在`Upload`组件中添加文件改变事件处理器,将文件列表发送到后台: ```jsx const onFileChange = (fileList) => { uploadFiles(fileList); // 自定义上传方法,发送文件到后端 }; ``` 2. 使用`axios`或`fetch`等库将文件发送到后端,以`multipart/form-data`形式提交: ```jsx async function uploadFiles(fileList) { try { const formData = new FormData(); for (const file of fileList) { formData.append("file", file); } await axios.post('/api/upload', formData); } catch (error) { console.error("Error uploading files:", error); } } ``` **后端部分(Java)**: 1. 创建RESTful API,如`/api/upload`,接受`multipart/form-data`类型的POST请求: ```java @PostMapping("/api/upload") public ResponseEntity<?> handleUpload(@RequestParam("file") MultipartFile[] files) { List<MultipartFile> fileList = Arrays.asList(files); // 这里处理文件并保存到数据库或临时目录 // 之后返回响应信息 } ``` 2. 接收`fileList`作为参数,每个`MultipartFile`对象代表一个上传的文件。 **注意事项:** - Java后端需要处理`MultipartFile`,包括文件大小限制、文件类型验证等。 - 前端可能需要处理拖放事件的取消和错误情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值