电影中牛掰的黑客技术,看这篇文章你就够了!

【黑客联盟2017年04月19日讯】影片中的各种超前的黑客技术,也引起了不少观友们的注意。比如片中高智商美女反派塞弗利用“天眼”搜寻唐老大的下落;她通过黑客手段,入侵到该街区的整个车联网,控制一批“僵尸车队”;这些安全问题引发了不少科技爱好者的讨论。

《速度与激情8》刚一上映便迎来了观影高潮。影片中汽车行驶在路上时,数十辆车从天而降;当汽车相撞接连引起爆炸时,主角驾驶着跑车从火海中冲了出来;当导弹袭来炸毁了不远处的车辆时,巨大的冲击波几乎要将跑车掀起……这些场景无不让观众们大呼过瘾。

10011303_LyFe.jpg

与此同时,影片中的各种超前的黑客技术,也引起了不少观友们的注意。比如片中高智商美女反派塞弗利用“天眼”搜寻唐老大的下落;她通过黑客手段,入侵到该街区的整个车联网,控制一批“僵尸车队”;这些安全问题引发了不少科技爱好者的讨论。

其实,现实生活中,网联汽车的安全问题也是存在的,智能汽车稍不留神就有可能被黑客入侵。汽车信息安全做为一个新领域、新趋势,所面临的威胁也不单单是电影里描述的那么简单的。

日前,360智能网联汽车信息汽车信息安全实验室发布《2016智能网联汽车信息安全年度报告》,通过对智能网络汽车技术发展的分析,从TSP安全威胁 、APP安全威胁、T-Box安全威胁 、IVI安全威胁、Can-bus总线安全威胁、ECU安全威胁、车间通信安全威胁七个方面详细阐述了汽车面临的安全威胁、主要攻击方法和必要防范措施,帮助企业和用户提高网联汽车安全防范技能。

TSP安全威胁

10011303_vsA1.jpg

TSP是指汽车远程服务提供商。TSP作为车联网产业链最核心的环节之一,为汽车和手机提供内容和流量转发的服务。TSP 平台漏洞可能来自软件系统设计时的缺陷或编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处。这些都可能被有意或无意地利用,对整个车联网的运行造成不利影响。例如系统被攻击或控制、重要资料被窃取、用户数据被篡改、甚至冒充合法用户对车辆进行控制等。

APP安全威胁

10011304_A2yM.jpg

APP安全威胁是指黑客通过root用户的手机端或者诱导用户下载安装恶意程序,利用这些远程控制APP窃取用户个人信息及车辆的控制权,从而控制车辆开锁落锁。早在2015年,安全人员Samy Kamkar就向公众演示了通过在车内安置一个小硬件来入侵车辆的远程控制APP的手法,实现车主信息窃取及车辆控制权窃取。

实际上,通用安吉星、克莱斯勒UConnect、奔驰MBrace和宝马Remote均遭受过APP安全威胁。随着车主通过手机远程控制功能更加丰富,网联汽车APP安全威胁的风险也有所提高。

T-Box系统安全威胁

T-Box系统的作用主要为远程控制、查询和安防服务。2016年,研究人员通过更加全面的技术对车联网核心控制系统T-Box进行了安全分析并成功破解,实现了对车辆的本地控制及其它车辆远程操作控制。

IVI安全威胁

IVI 是采用车载专用中央处理器,基于车身总线系统和互联网服务,形成的车载综合信息娱乐系统。对IVI的攻击也可分为软件攻击和硬件攻击。软件攻击方面可以通过软件升级方式获得访问权限,进入目标系统。

Can-bus总线安全威胁

汽车电子元器件是通过CAN网络连接的,电子元器件之间通过CAN包进行通信。Can-bus总线安全威胁通过逆向工程、模糊测试等方法获得其通信矩阵并破解汽车的应用层总线协议,在不增加汽车执行器的情况下实现对汽车的自动控制功能。也就是说,只要抓住了CAN总线,我们就相当于是抓住了汽车的神经,就能对汽车进行控制。电影中令人惊呼“僵尸车队正”就是这么产生的。

ECU安全威胁

10011304_eelq.jpg

ECU电子控制单元,是汽车专用微机控制器,其作用是是根据其内存的程序和数据对空气流量计及各种传感器输入的信息进行运算、处理、判断,然后输出指令。

对ECU展开的攻击可分为前门攻击、后门攻击、漏洞利用三种。前门攻击是劫持原始设备制造商(OEM)的访问机制,对原厂编程方法进行逆向工程的攻击方式; 后门攻击则使用更为传统的硬件黑客手段;漏洞利用则检测并发现非预期访问机制,基于bug或问题执行驾驶人员非预期的功能。

车间通信安全威胁

10011304_5gR1.jpg

车联网是以车内网、车际网和车载移动互联网为基础,按照约定的通信协议和数据交互标准,在V-X(V:vehicle,X:车、路、行人及互联网等)之间进行无线通讯和信息交换的系统网络。

车间通信安全威胁主要是无线通信领域的信号窃取、信号干扰等固有安全问题。黑客通过在链路层上设置接收器窃取车辆信息并跟踪目标车辆。此外,恶意行为人对车间通信的安全性影响也是车间通信安全的威胁之一。

俗话说“道高一尺,魔高一丈”。事实上,随着智能网络汽车的推广应用,犯罪分子也是花样百出的制造威胁,各种汽车安全问题层出不群。广大车友只有提高汽车安全意识,及时了解汽车安全信息,增强防范技能,才能最大程度的避免威胁,维护汽车驾驶安全。

转载于:https://my.oschina.net/u/3579120/blog/1533100

1168: 【6☆】卫星照片 内存限制:128 MB 时间限制:1.000 S 评测方式:文本比较 命题人:admin 提交:256 解决:93 题目描述 农夫john正在研究他的农场的卫星照片。照片为一个R (1 <=R <= 75) 行 C (1 <= C <= 75) 列的字符矩阵表示,如下图: .................. ..#####.......##.. ..#####......##... .................. #.......###.....#. #.....#####....... 图上的一块相连通的 "#" 表示一群奶牛或一个房间, 两个子"#" 连通的意思是说左右或上下相连.而下面的两块则是分开的: .... .#.. ..#. .... John现在根据卫星照片上的的这些“#”块的形状来判断哪些是牛群,哪些是房间.如果一个“#”块形状的边是水平或垂直的矩形,则是房间。其它的则认为都是牛群.在第一个图中,有三个房间 ( 2x1, 2x5, 1x1)和2群牛。 请根据输入文件中的数据,统计出房间数和牛群数。 数据中牛群不会包围另一个牛群或房间。 输入 第一行,两个整数: R 和 C。 2~R+1行:第 i+1 行表示照片的第 i 行情况,由 C 字符组成。 输出 第一行:房间数。 第二行:牛群数。 样例输入 复制 5 8 #####..# #####.## ......#. .###...# .###..## 样例输出 复制 2 2C++代码
06-10
以下是 C++ 实现,与 Python 实现思路类似: ```cpp #include <iostream> #include <vector> #include <cstring> using namespace std; const int MAXN = 75; int R, C; char photo[MAXN][MAXN]; bool visited[MAXN][MAXN]; int roomCount, herdCount; // 深度或广度优先搜索函数 vector<pair<int, int>> dfs(int i, int j) { vector<pair<int, int>> herd; // 记录与该位置相连的所有 '#' 的坐标 vector<pair<int, int>> stack = {{i, j}}; // 使用栈实现深度优先搜索 visited[i][j] = true; // 标记该位置已被访问过 while (!stack.empty()) { auto [x, y] = stack.back(); stack.pop_back(); herd.emplace_back(x, y); for (auto [dx, dy] : vector<pair<int, int>>{{0, 1}, {1, 0}, {0, -1}, {-1, 0}}) { // 遍历上下左右四个方向 int xx = x + dx, yy = y + dy; if (xx >= 0 && xx < R && yy >= 0 && yy < C && photo[xx][yy] == '#' && !visited[xx][yy]) { stack.emplace_back(xx, yy); visited[xx][yy] = true; } } } return herd; } int main() { cin >> R >> C; for (int i = 0; i < R; ++i) { for (int j = 0; j < C; ++j) { cin >> photo[i][j]; } } memset(visited, false, sizeof visited); // 初始化 visited 数组 // 遍历每个位置,找到所有房间和牛群并计数 for (int i = 0; i < R; ++i) { for (int j = 0; j < C; ++j) { if (photo[i][j] == '#' && !visited[i][j]) { auto herd = dfs(i, j); if (herd.size() == 1) { // 如果只有一个 '#',则是房间 ++roomCount; } else { // 判断是否为牛群,即是否是水平或垂直的矩形 int minX = R, maxX = -1, minY = C, maxY = -1; // 初始化最小和最大的行列坐标 for (auto [x, y] : herd) { minX = min(minX, x); maxX = max(maxX, x); minY = min(minY, y); maxY = max(maxY, y); } if (maxX - minX + 1 == herd.size() && maxY - minY + 1 == herd[0].second - herd[0].first + 1) { ++herdCount; } } } } } // 输出房间数和牛群数 cout << roomCount << endl << herdCount << endl; return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值