这些嵌入式系统安全性的知识你需要了解

这可能是 工程师在面对嵌入式系统应用程序的安全性时可能提出的第一个问题。

不幸的是,有大量的“安全软件包”可用,并且对安全性不熟悉的嵌入式工程师可能只将安全性称为加密或病毒防护。尽管加密是安全性的一种工具,而病毒扫描程序从技术上讲可以提供安全性,但任何一种都无法提供所需的安全性。

幸运的是,如今,安全性已集成到许多应用程序中,所需的软件包通常由您的应用程序要与之交互的接口决定。如果您的应用程序是基于Web的,则可能会使用SSL / TLS(安全套接字层,也称为传输层安全性)。

其他应用程序使用IPSEC(Internet协议安全性)或CCMP(WPA2 Wi-Fi加密)等技术。知道首字母缩写的含义并不比知道需要支持的协议重要。一旦知道需要支持的协议,就可以购物了。

图1:常见应用程序和潜在的安全解决方案

明显的问题

问题2:如何为我的应用程序实现安全软件包? 根据应用程序的不同,这可能与运行启用了安全性的可执行文件一样简单。例如,如果您正在运行嵌入式Linux或Windows CE,则可能有一些应用程序可以提供所需的许多安全性,例如SSH(安全Shell)客户端。如果二进制文件不可用,则可能有源代码可用。

诸如OpenSSL和OpenSSH之类的开源程序包被认为是可用的那些安全协议的最佳实现,而最好的部分是它们可以免费使用。避免实施自己的安全协议。除非您是密码专家,否则您的实施很容易受到攻击。

问题3:系统的安全性如何? 一旦实现了应用程序并添加了所有安全协议,就自然会询问结果的安全性。在这里,您需要像罪犯一样开始思考,或雇用有此作为的人(尽管不建议雇用实际犯罪分子)。

如果收益足够大,那么攻击者可以利用的任何东西都是。安全的目的是使破坏安全的成本大于攻击者获得的价值。现代密码学依赖于数学,而使用现代计算机硬件则需要数以千计的时间才能完成。

不幸的是,那里的任何协议或算法都可能存在未被发现的漏洞,这使得破解它变得容易得多,并且硬件性能继续以惊人的速度提高,从而使“数千年”的数字大大减少。

剩下的问题将解决其中的一些问题,并希望对如何评估和部署安全的嵌入式应用程序有所了解。

非显而易见的问题

问题4:将在哪里部署应用程序? 对于嵌入式系统嵌入式系统,在确定需要何种安全措施时,位置与任何其他因素一样重要。许多嵌入式应用程序可能会安装在攻击者不受限制地访问硬件的位置。

当攻击者具有物理访问权限时,基于软件的安全机制将失败,并且硬件机制也不会表现得更好。如果要在应用程序中实现世界一流的安全性,请确保所采用的物理安全性至少等于应用程序中的安全性。

问题5:谁是潜在的攻击者? 要列出潜在的攻击者列表,请考虑可以从破坏系统中受益的每个人。这可能包括商业竞争对手,恐怖分子,秘密的非法政府机构或无聊的青少年。

从攻击您的系统中受益最大的人通常最有可能攻击它,但是攻击者可能对您最关心的东西不感兴趣,这使我们提出了下一个问题。

问题6:哪些信息对攻击者最有价值?(提示:可能不是您想的那样) 这是一个技巧性的问题,因为攻击者甚至可能不会在追捕信息。如果您不满的客户可以关闭其支持网络的电表以获取免费电力,那么关闭您的应用程序可能就足够了。

在其他情况下,攻击者可能只是对控制硬件感兴趣。我们已经看到PC被劫持并变成了僵尸,这些僵尸充斥着受害者的网站,造成流量拥挤,或者关闭整个系统,并充斥着大量电子邮件”,攻击者可以从中赚钱。随着越来越多的设备联网,很有可能有人会将这些设备视为庞大的硬件资源池,可以加以利用。

问题7:无线网络安全与有线网络安全有何不同?除了有线网络中的物理传输介质之外,无线网络还增加了一层漏洞。

对于有线网络,传输介质是电线。窃听要窃听通信,需要与电线物理接触或紧密物理接近。电线可以穿过安全建筑物,地下,电线杆顶部或混凝土,从而限制了可能的物理接触。

对于无线网络,传输介质是空中。随着无线设备向各个方向广播信息,攻击者只需要一根天线即可访问。因此,大多数无线协议都采用某种类型的内置加密。

图2:有线安全与无线安全

问题8:我选择的硬件或软件会影响安全性吗? 由于更高质量的软件或通过特定的安全性增强功能,默认情况下某些系统将变得更加安全。

与已经部署了您要评估的系统的其他人进行检查,并尝试找出以前使用过哪些应用程序。寻找具有可靠记录的硬件安全功能,就像为应用程序选择软件安全协议时一样。

问题9:已知的针对我正在使用的安全技术的攻击是什么?如果您的应用程序需要很高的安全性,那么紧跟安全性消息至关重要。每天,成千上万的黑客和研究人员正在努力破坏安全性。

那些干得好的人会出名(或声名狼藉),因此有足够的动机对现有系统进行新的攻击。通过学习所有已知的攻击,确保您了解安全技术的当前状态,并及时了解报告。确保没有发现新的攻击。

问题10:我的系统真的需要最高级别的安全性吗? 最后一个问题提出了一种不同的安全性思考方式。很容易陷入需要绝对最好,最健壮,最强大的安全性这一理念,但是事实是您可能不需要那么多。

例如,考虑一下电表示例“您是否真的在乎是否有人可以窃听并查看从电表发送的数据?

使用现有的仪表,任何人所要做的就是步行并看一下表盘,因此,如果网络版本的加密级别最高,则可能无关紧要。您最担心的是信息被正确收集并交付而没有被篡改。

在不重新定义综合安全性实现的情况下,可以使用成本更低的方法来实现该结果。在评估应用程序的安全性时,请考虑真正需要多少安全性―通过避免使用不需要的安全性,可以节省大量的硬件成本和开发时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/77543.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫实现(requests、BeautifulSoup和selenium)

Python爬虫实现(requests、BeautifulSoup和selenium) requests实现 Python requests 是一个常用的 HTTP 请求库,可以方便地向网站发送 HTTP 请求,并获取响应结果。 下载requests库 pip install requests 实例: # 导…

基于Android系统图书管理系统

摘要 随着移动终端使用率的快速增加,Android智能产品已日益成为越来越多的人们选择的移动终端产品。伴随着Android智能手机与平板电脑已经在我们生活大量的使用,越来越多的基于Android开发平台的应用也随之产生。 便捷的图书检索和借阅:用户可…

ACL(访问控制列表)

文章目录 一、ACL定义常见功能 二、基于ACL的包过滤定义包过滤的方向包过滤的工作流程注意事项 三、ACL分类四、常用命令 首先可以看下思维导图,以便更好的理解接下来的内容。 一、ACL 定义 ACL,也称为访问控制列表,是一种网络安全工具&…

【爬虫】8.1. 深度使用tesseract-OCR技术识别图形验证码

深度使用tesseract-OCR技术识别图形验证码 文章目录 深度使用tesseract-OCR技术识别图形验证码1. OCR技术2. 准备工作3. 简单作用了解3.1. 验证码图片爬取-screenshot_as_png3.2. 识别测试-image_to_string3.2.1. 正确识别3.2.2. 错误识别3.2.3. 灰度调节 3.3. 识别实战-使用im…

卫星地图-航拍影像-叠加配准套合(ArcGIS版)

卫星地图-航拍影像-叠加配准套合(ArcGIS版) 发布时间:2018-01-17 版权:BIGEMAP 第一步 工具准备 BIGEMAP地图下载器:Bigemap系列产品-GIS行业基础软件kml\shp 相关教程:CAD文件直接导入BIGEMAP进行套合配准(推荐&am…

TC测试自动化Shell脚本

在使用TC测试的发现手动进行丢包延迟抖动等场景的组合以及TC命令的切换效率很低,写了一个脚本可以提升效率,也可以根据自己的需求进行脚本更改! 使用方法: 1)运行sh脚本 2)输入TC想要限制的网卡名和服务器…

数字信封技术概论

数字信封技术是一种通过加密手段实现信息保密性和验证的技术,它在保护敏感信息传输过程中得到了广泛应用。本文将详细介绍数字信封技术的原理、实现和应用场景。 一、数字信封技术的原理 数字信封技术是一种将对称密钥通过非对称加密手段分发的方法。在数字信封中…

【Fiddler】mac m1 机器上使用 fiddler 抓取接口

mac m1 机器上使用 fiddler 抓取接口(非虚拟机模式) author: jwensh date:2023.09.12 文章目录 mac m1 机器上使用 fiddler 抓取接口(非虚拟机模式)1. 环境准备2. 进行配置3. 使用情况 1. 环境准备 想要抓取 mac 上浏览器的接口&a…

JAVA8接口使用问题

JAVA8接口使用问题 文章目录 JAVA8接口使用问题1、默认方法冲突问题(1)亲爹优先原则(2)左右为难 2、常量冲突问题 1、默认方法冲突问题 (1)亲爹优先原则 当一个类,既继承一个父类,…

C语言数组和指针笔试题(一)(一定要看)

目录 一维数组例题1例题2例题3例题4例题5例题6例题7例题8例题9例题10例题输出结果 字符数组例题1例题2例题3例题4例题5例题6例题7 一维数组 int a[] {1,2,3,4}; 1:printf("%d\n",sizeof(a)); 2:printf("%d\n",sizeof(a0)); 3:printf("%d\n",si…

如何在JavaScript中实现链式调用(chaining)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ JavaScript中的链式调用⭐ 示例⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴…

阿里云CDN架构接入WAF应用防火墙案例实践

文章目录 1.网站架构变化2.配置WAF应用防火墙2.1.配置网站接入WAF防火墙2.2.WAF防火墙生成CNAME地址2.3.配置WAF防火墙HTTPS证书2.4.WAF防火墙开启HTTP回源SLB 3.配置CDN加速器回源WAF防火墙4.将域名DNS解析指向CDN的域名5.测试网站是否能正常访问6.模拟攻击观察WAF的作用7.解除…

docker从零部署jenkins保姆级教程(下)

上一篇文章,我们完成了以下工作。 1)、docker部署jenkins 2)、建立第一个jenkins job 3)、通过jenkins job自动编译构建我们的github项目 上面所做的3个工作,其实都是为了这一篇文章打基础,不管是部署docker还是部署jenkins,我们最…

crAPI靶场学习记录

靶场搭建 [靶场下载地址](我fork了一份) docker安装,笔者是用的wsldocker. [lab0:**初始账户 **] 1. 注册一个账户,邮箱为[APIqq.com],密码为Admin123 1. 登陆后访问对应IP的8025端口,接收邮件获取车辆信息。 [lab1:**访问其它用户…

Altium Designer如何查看制定了哪些快捷键?

随着时代高速发展,Altium Designer(AD)、Allegro、Pads等是全球主流的三大EDA软件,因此越来越多工程师被要求学习这些软件,在使用EDA软件设计PCB过程时,熟悉和合理配置快捷键是提高工作效率的关键之一&…

flink的物理DataFlow图及Slot处理槽任务分配

背景 在flink中,有几个比较重要的概念,逻辑DataFlow图,物理DataFlow图以及处理槽执行任务,本文就来讲解下这几个概念 概念详解 假设有以下代码:数据源和统计单词算子的并行度是2,数据汇算子的并行度是1&…

Vue3 Element-Plus 主题切换方案

1. .html 文件中&#xff0c;设置 <html> 标签的 “data-theme” 属性 2. 单独创建主题的样式文件 .css/.scss &#xff0c;并导入 3. 样式文件中创建不同主题对象 4. 定义不同主题中的样式变量 注意&#xff1a;左右两个主题的变量名一样&#xff0c;值不同 5. 页面样式…

C++之智能指针shared_ptr死锁问题(二百)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

畅玩HarmonyOS 4,趣味心情主题实况框攻略请收藏

看了HarmonyOS 4网友种草和媒体测评&#xff0c;早就跃跃欲试了&#xff0c;近期终于迎来HarmonyOS 4正式版&#xff0c;赶紧拿起我的华为P60升级体验了下&#xff0c;简直不要太丝滑、太好玩&#xff01;其中&#xff0c;最让我眼前一亮的是趣味心情主题与全新的实况窗&#x…