关于安全学习的阶段性浅薄思考

简介: 关于安全学习的阶段性浅薄思考

前言

哈哈,其实一直都是在对前辈们的文章进行copy记录学习。自己倒是一直没有输出什么有用的,主要是自己还没什么技术的积累与沉淀,不知为不知,免得写了一些不确定的东西反而是误己误人。

不过最近又安排去做了点硬件方面的学习,也是关于安全相关的,于是乎想来也还是接触了蛮多的。想来还是应该自己来阶段性的回溯一下安全相关的东西,展示一下我关于安全的一些浅薄的认识以及看法,经过思考决定将内容分为两个部分:安全涉及到的领域以及安全涉及的知识。

内容不知道能写多少,哈哈,随意写,持续学习。

安全涉及的知识

涉及到安全,其实最容易联想到的就是加密算法,因此密码学肯定是要有所了解的,其次对于一些开源的库如Open ssl等。

其次就是一些对于这些算法逻辑的实现,如一些通信协议等,这里的通信协议,包含了通信的,以及互联网的交换协议。

最后就是具体的业务知识,必须你这个安全是针对什么的内容,版本保护那你肯定需要了解一下widewine、playready、drm等;加密通信,那你肯定要知道一下wifi的wap、zigbee、BLE这些无线通信的传输安全;安全启动那肯定要对系统的CoT(信任链)设计有所了解;系统安全的话那你肯定逃不掉的Linux的安全相关以及安全系统如OPTEE等。

当然这还是冰山一角,这个就是接触的业务,然后慢慢的积累的过程。

但是重点是通用的东西,是一定有的,一个产品与另外一个产品肯定会有公用的基座部分,不过可能你接触不到是真的,因为一个产品很大,需要很多的兄弟姐妹一起协同,那些在和业务层面靠得近就可能对基座的东西了解较为少,人的精力毕竟是有限的。

那么哪些方面可能是比较公用的呢?

  • 1、业务中的公用东西:密码学相关知识
  • 2、接近系统的东西:Linux操作系统、
  • 3、接近硬件的东西:ARM架构、RISCV架构
  • 4、硬件模块:RPMB内存、OTP、TRNG等硬件模块

第四点这些就是一些需要积累的小模块。

所以在这个阶段的我最终整理归纳的点有五个方面:

  • 0、业务本身:业务本身
  • 1、业务中的公用东西:密码学相关知识
  • 2、接近系统的东西:Linux操作系统、
  • 3、接近硬件的东西:ARM架构、RISCV架构
  • 4、硬件模块:RPMB内存、OTP、TRNG等硬件模块

多了一个业务本身,只有对业务本身你有了足够的认识,你才知道为什么要对其进行一些安全的保护,以及在哪里进行安全保护,以及实现这些保护会对下一级提出什么需求。

下面再来看看安全涉及的领域。

安全涉及的领域

为什么要了解这些呢?我觉得如果不是安全的朋友,也可以了解一下。我觉得随着数字大爆炸,安全肯定是一个大有需要的地方,像国外的很多的业务在安全方面的要求都很高。但是国内的很多场景对这些还是处于不算是重视的场景,像物联网、车联网、工业网这些,都是很需要的。像是人民的素质提高,版权意识的提高;个人数据的传输存储,这些都是肯定需要考虑到安全的。

那么安全分类的方式蛮多的,其实我拿着我的资料更好进行分类,但是一是懒惰,二是想着这样的回想来写东西会让我脑子有种动的感觉。

可以根据领域来分,但是我这里还是采用垂直的方式来分,以一种覆盖范围更通用的方式来分:软件安全与硬件安全

1、硬件安全

硬件一直被视为支持整个计算机系统的可信平台,是负责运行从软件层传递指令的抽象层。

硬件的安全很重要,只是很多的时候采用了软件进行防护,毕竟我脑子里想到的攻击都是都是黑客和渗透都是软件层面的,但是因为发展,现在硬件也开始暴露一些安全的风险问题。

硬件的安全即是对于自身的保护,也是对于软件的支持。

  • 1、硬件木马,硬件木马会攻击硬件本身,自身的安全问题
  • 2、防止芯片使用的是盗版;保证使用的三方IP是正版的;以及芯片是否有后门;还有这些芯片核被别人copy了。
  • 3、是不是有一些新的器件(非常规的CMOS)从某些方面来保护芯片安全
  • 4、为软件安全提供更底层的保护与功能支撑,比如咱们知道的TrsutZone

第四点是软件设计人员需要考虑学习了解的,前面几点是芯片设计人员需要考虑的。

2、软件安全

软件是很复杂的框架,这里为了避免混了,我们还是首先分层来描述,然后再拆点场景面来分一下。

  • 0、固件层(ATF,这里为了ATF专门加了一个固件层,编的,哈哈,ATF蛮有意思也很重要)
  • 1、驱动层(学会怎么写驱动,然后会对一些安全涉及到硬件写驱动,比如OTP、加密模块这些)
  • 2、系统层(这里我觉得首先知道Linux的相关:Linux本身的安全技术(地址随机化KASLR、签名、CFI、harden usercopy、内核符号表隐藏HKSP,应用沙盒,文件系统权限,Root权限);内存安全(MTE内存标记扩展、XOM只执行内存、零初始化内存);SELinux(Security Enhanced Linux (SELinux));三星的RKP(“Real-time Kernel Protection”);安全操作系统(OTTEE、Trusty、Itrustee等);)
  • 3、应用层(应用本身代码混淆、进程保护、签名机制、防止逆向、权限控制等)

下面再从场景的方面来看一下:

  • 1、安全待机、升级
  • 2、安全启动(信任链)
  • 3、安全存储

其实任何一个方面拆开就是一大堆的知识,想要全数了解,是需要花费时间的,更别提在工作中你的工作内容怎么可能是自己安排的呢?哈哈哈,现实情况如此。

以上就是这个阶段的浅薄认识,可能我自己去翻书以及翻看我曾经的blog,做归一的整理会总结的更全面和详细。不过这样才是我浅薄的真实反馈,这个阶段的浅薄认识就表达到这里。

记录在这个26岁刚刚开始的某一天,希望不要停下脚步,在这个方面有更多的了解。感恩前辈们的优秀资料,踩在巨人的肩膀上学习。

外面下雨了~~~好适合睡觉。

目录
相关文章
|
网络协议 应用服务中间件 Apache
阶段性实验汇总
5、6号机连通网络后查看是否已经获取到ip
99 0
|
敏捷开发 项目管理
Scrum团队的学习和持续改进-Sprint回顾会的协同效应
​ Sprint回顾会的主要目的是促进Scrum团队的学习和持续改进。在每个Sprint结束后,团队聚集在一起进行回顾,以达到以下目标:
|
9月前
|
芯片
2023年的技术总结和工作反思
一、回顾2023年 回顾自己的2023年,还是发生了很多的变化。在大学毕业,就来到了芯翼参加工作,在这里也遇到了很多的前辈和小伙伴,收获工作的同时也收获了友情。但是,随着公司发展战略的变化,公司的人员架构也变额很多,对于我们刚毕业的大学生也变得越来越不友好,其实我也清楚这就是社会的发展现状。 其实,这不是我最终产生离职想法的结果,最终让我决定离职的是公司新来的人事主管十分的不理解我们,总是处处针对我们,这对于专心搞技术研发的我们来说,无疑是一个定时炸弹,让我们觉得自己的工作没有意义,甚至是没有成绩和结果,总是挂在嘴边的KPI考核也是越来越严格,总是觉得刚毕业的大学生的能力不行之类的,话说谁
102 1
|
2月前
|
监控 数据可视化 项目管理
关键路径法在项目管理中的实践:从理论到落地的全过程
使用关键路径法(CPM),为你的项目梳理清晰的“优先级”与“全局策略”。
166 2
关键路径法在项目管理中的实践:从理论到落地的全过程
|
4月前
TO B产品经理:每个阶段的学习与提升之路
对于TO B产品经理来说,每个阶段都是一次学习和提升的机会。从建立基础到深化专业知识,再到提升战略眼光和持续创新与学习,每一步都需要付出努力和汗水。但正是这样的不断学习和提升,让TO B产品经理能够在竞争激烈的市场中脱颖而出,成为企业和商业世界之间的优秀桥梁。
|
Cloud Native Go
面试中的自我激励:如何展示你的内在驱动力
面试中的自我激励:如何展示你的内在驱动力
126 0
|
存储 安全 Java
阶段性总结问题整理
阶段性总结问题整理
阶段性总结问题整理
|
测试技术 UED
复盘归因,提高交付质量的秘诀
这个阶段包括原型图、PRD文档、交互设计、技术方案、测试用例等几项重要产出物,当然他们有一定的前后依赖关系。
复盘归因,提高交付质量的秘诀
|
监控 算法 安全
运筹优化学习22:新项目研发项目进度制定与优化研究(一)
运筹优化学习22:新项目研发项目进度制定与优化研究
运筹优化学习22:新项目研发项目进度制定与优化研究(一)
|
监控 项目管理 决策智能
运筹优化学习22:新项目研发项目进度制定与优化研究(三)
运筹优化学习22:新项目研发项目进度制定与优化研究
运筹优化学习22:新项目研发项目进度制定与优化研究(三)