uEFI

这才是代码签名管理的正确姿势,你Pick了吗?

限于喜欢 提交于 2020-04-06 20:51:36
代码签名机制是基于PKI技术的成熟机制,帮助开发者和最终用户建立安全信任的软件发布环境和使用环境,用来保护知识产权和信誉,确认软件开发商的身份,证明自签名后软件未被修改和纂改,精确区分合法应用程序和恶意软件,保障开发者代码和消费者软件内容的安全性。 然而在代码签名的实际应用中,存在着诸多安全管理问题和安全风险,极易造成重大财务损失以及品牌损害。(如:使用不当,保管不严等造成密钥泄露;管理不善等造成证书泄露……) 看到这些新闻,是否让你感到焦虑? ■ 2010年6月 赫赫有名的震网病毒盗用著名IT企业的数字签名进行伪装。 ■ 2013年4月,台湾FTP服务器中AMI Aptio UEFI BIOS源代码泄露,甚至包括AMI专用UEFI BIOS签名测试密钥 ■ 2015年9月,D-link意外泄露私有代码签名密钥,黑客可用该密钥对恶意软件进行签名,使它更容易执行攻击。 ■ 2015年,一家韩国移动软件开发商签名证书被盗,黑客用其签名一款暴力服务器消息块(SMB)扫描程序。 ■ 2018年11月 腾讯智慧安全御见威胁情报中心发现,一款拥有用合法数字签名的挖矿木马在Windows和安卓系统中悄然流行,中毒电脑和手机会运行门罗币挖矿程序。 ■ 2019年5月 三星SmartThings 敏感的源代码、证书和密钥一起泄露,包含了iOS和Android应用的私有证书。

CentOS8 kickstart UEFI

孤人 提交于 2020-04-03 20:55:22
批量部署 概述 什么是PXE 预启动执行环境(PXE)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系统等。 PXE原理 PXE是在没有软驱、硬盘、CD-ROM的情况下引导计算机的一种方式,也就是BIOS将使用PXE协议从网络引导。整个安装的过程是这样的:PXE网卡启动 => DHCP获得IP地址 => 从TFTP上下载 pxelinux.0、vmlinuz、initr.img 等 => 引导系统进入安装步骤 => 通过PEX linux 下载ks.cfg文件并跟据ks.cfg自动化安装系统 => 完成。 TFTP服务 TFTP是用来下载远程文件的最简单网络协议

UEFI Shell 下的程序设计

偶尔善良 提交于 2020-04-02 16:40:00
  今天简单介绍一些shell下的程序设计:   和其他的语言的程序设计有所区别,shell环境下的程序设计需要借助package(包)来完成。在edk2的目录下可以清楚的看到有很多package:比如ShellPkg、MdePkg、MdeModulePkg等等。每个Pkg里面包含的函数又有所区别,所以编写一般的简单的程序一般都会放在默认的编译的Pkg里面(特殊的除外)。   默认的编译的Pkg的路径在 edk2/Conf/target.txt 可以找到比如我使用的就是 “ ACTIVE_PLATFORM=EmulatorPkg/EmulatorPkg.dsc” 这个.txt文件里面还包括默认的编译器,编译模式,IA32还是X64等等,这其实是一个基础的配置文件。   shell下的可执行程序文件形式为 .efi 文件,编译生成它最少需要一个.inf 文件和一个.c 文件(也常被叫做工程文件和源文件)   应用程序模块常见的分三种,分别为标准的应用程序模块,shell应用程序模块,使用main函数的应用程序工程模块。(其中最后一种我没弄出来,它需要借助标准的C库中的stdio.h 尝试了一段时间并没有成功) 先说说标准的应用程序模块   首先是工程文件代码: [Defines] INF_VERSION=0x00010005 BASE_NAME=UefiMain /

高通MSM8998 ABL的调试

霸气de小男生 提交于 2020-03-25 10:22:01
3 月,跳不动了?>>> 高通在MSM8998上引入了UEFI,用来代替LK(Little Kernel)。高通UEFI由XBL和ABL两部分组成。XBL负责芯片驱动及充电等核心应用功能。ABL包括芯片无关的应用如fastboot。XBL核心是none-HLOS boot_image代码的一部分,属于高通私有代码。ABL则在开源Linux Android代码树里。LK的设备驱动都放在了XBL核心,Linux加载启动及fastboot等功能组件则作为独立的UEFI应用存在。有关UEFI、XBL及ABL的详细介绍,请参见高通文档《80_P2484_37_LINUX_ANDROID_UEFI_OVERVIEW.pdf》。 ABL的编译非常简单,依次执行命令source build/envsetup.sh、lunch 32、make aboot,即可在out目录下生成abl.elf。这次调试ABL主要碰到了两个问题,一是没有生成abl.elf,二是生成abl.elf后没有做签名。高通原生代码并不存在问题,是项目中修改了代码导致的。费了一番周折,最终成功编译出可正常工作的abl.elf。未签名的abl.elf大概98KB,签名后的abl.elf约108KB。需要注意的是,ABL在Android代码树下,而签名工具(secimage)在高通私有代码目录(vendor/qcom

AML工作原理快速调研

馋奶兔 提交于 2020-03-21 02:30:01
3 月,跳不动了?>>> 前两天邀请人做这个文档的Review: in nek:评审邀请:Linux内核软件架构基础 ,有读者告诉我我对AML的理解有误。我找我们做BIOS的兄弟确认了一把,把逻辑链放在这里。 先定义一下问题:ACPI是一种定义BIOS和OS之间接口的方法。和其他一些方法,比如Device Tree(简称DTS),不同,ACPI支持函数接口,也就是说,OS可以通过“调用”接口给出的函数实现功能。这种所谓的“调用”,有几种可能: BIOS中给定一个数据结构,整体描述了一个函数,这个函数本身就是CPU的本地汇编。BIOS把整个数据接口传递到OS管理的内存空间,OS直接调用这个空间中的函数。 BIOS中给定一个数据结构,整体描述了一个函数,这个函数本身就是CPU的本地汇编。这个数据结构留在BIOS控制的内存中,传递给OS一个指针,OS远程调用这个指令的地址,完成请求。 BIOS中实现了一个本地函数,然后把这个函数的位置和格式告知OS,OS通过一个统一的接口把函数的标识和请求的参数传递给BIOS,BIOS内部完成调用,然后把结果通知OS。 BIOS给定一个数据结构,整体描述了一个函数,用一种平台无关的格式标识,这个数据结构整体提供给OS,OS上有一个解释器,解释执行这个平台无关的格式,实现对功能的执行。 用图来表达,区别如下: 严格来说,前两个方案没有什么区别,内存这东西

uefi安装win7,deepin15双系统后grub没有windows选项

懵懂的女人 提交于 2020-03-20 10:08:35
本帖最后由 873792861 于 2015-12-23 16:17 编辑 如题,首先电脑是GPT+uefi的,电脑上安装有64位的win7。用U盘工具制造好驱动U盘后,在安装时选择 专家模式 ,选择预先分配好的分区挂载上 / 分区,home分区,并格式化,下方引导选择uefi.安装完重启后,grub菜单无windows选项。后来重装deepin选择 引导器 那个选项,选择设备就是整块硬盘,也是没有windows选项的。试过命令: sudo update-grub 还是没有windows选项。 我之前2014.3安装完是会识别出windows引导项。现在不行,是我的问题还是15 beta的问题呢? ----------------------------------------------------再度尝试--------------------------------------------------------- win7被我改回了win8.1,然后再安装deepin 15,选择 引导器 那个选项,直接进win8.1了,然后再次安装deepin 15,选择uefi,能进deepin了,但没有windows选项。 然后我去修改grub.cfg文件,添加以前ubuntu的备份中有关windows的: menuentry 'Windows Boot Manager (on

centos7 RAID磁盘阵列卡驱动安装图文教程

廉价感情. 提交于 2020-03-18 01:04:26
某厂面试归来,发现自己落伍了!>>> 解决方案 本方案可以支持 centos 7版本 UEFI模式 选择“Install CentOS Linux 7”,然后按“e”键。 选择添加“linux dd”,然后按“Ctrl+x”启动。 进入如下图。 虚拟光驱弹出系统镜像,根据服务器实际配置,插入驱动ISO,如下图输入“r”回车刷新,再输入“1”回车,可看到挂载的驱动镜像,输入“1”回车选择驱动,再输入“c”回车加载驱动。 虚拟光驱弹出驱动镜像,插入CentOS7系统ISO,如下图输入“r”回车刷新,再输入“c”回车。 参考UEFI模式,继续操作系统安装的后续操作。 Legacy模式 如下图选择“Install CentOS Linux7”,然后按“Tab”键添加linuxdd。 进入如下图所示界面。 虚拟光驱弹出系统镜像,根据服务器实际配置,插入驱动ISO,如下图输入“r”回车刷新,再输入“1”回车,可看到挂载的驱动镜像,输入“1”回车选择驱动,再输入“c”回车加载驱动。 虚拟光驱弹出系统镜像,根据服务器实际配置,插入驱动ISO,如下图输入“r”回车刷新,再输入“1”回车,可看到挂载的驱动镜像,输入“1”回车选择驱动,再输入“c”回车加载驱动。 参考Legacy模式,继续操作系统安装的后续操作。 来源: oschina 链接: https://my.oschina.net/u

GNU/Linux发行版推荐分区方案

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-14 18:15:21
Debian stable官方指南 挂载点 说明 大小 / /var /tmp 通常情况下,将 /tmp 放在它自己独立的分区 20-50MB /home /usr/local 如果您计划安装 Debian 发布版以外的程序 /var/mail 如果机器是一个邮件服务器 Fedora f31官方指南 挂载点 大小 说明 /boot 500MB 每一个内核大约需要20MB /(root) 10GB /home >10GB SWAP 根据情况RAM和是否需要休眠来定大小 BIOS Boot 1MB 使用BIOS固件,或者UEFI的BIOS兼容模式 EFI System 200MB 使用UEFI固件 /var/lib/mysql 如果你运行一个MySQL数据库 /var >3GB 内容经常变化,最好使用HDD /usr >10GB 如果/var和/usr和根目录不在同一分区,启动过程会变得复杂。 If /usr or /var is partitioned separately from the rest of the root volume, the boot process becomes much more complex because these directories contain boot-critical components. In some situations,

解决进不去BIOS或U盘启动,windows10如何关闭快速启动

大憨熊 提交于 2020-03-03 18:28:36
当电脑进不去BIOS或者U盘启动时,原因除了没点好启动键、没制作好启动盘以及没设置好U盘启动类型之外,这很可能是因为开启了windows快速启动的缘故。 windows 10如何关闭快速启动。快速启动可以加速我们开机的速度但是我们的一些应用一些设置我们不需要快速启动,那么我们该如何把他关闭呢? 工具/原料 windows 10 方法/步骤 我们首先右击左下角开始图标,或者按win+x 在弹出的常用菜单中我们选择“电源选项” 在“电源选项”中我们选择“选择电源按钮的功能” 我们或许会看到我们的快速启动是灰色的。我们该如何修改呢? 我们在设置中选择“更改当前不可用的设置” 这时候我们的“快速启动”我们就可以进行修改了。我们把前面的勾去掉。完成后我们选择“保存修改” 这样设置我们的快速启动功能就关闭了,这样我们的电脑开机速度就变慢了。如果我们要开启他,也是同样的方法就可以了。 本文部分内容借鉴自: https://jingyan.baidu.com/article/ca00d56c7a40e6e99febcf4f.html 来源: oschina 链接: https://my.oschina.net/u/3797187/blog/1813819

xxx.nvram是个什么文件?

安稳与你 提交于 2020-03-02 15:15:26
如果你有一台名叫centos7的VMware虚拟机,那么你就会在这台虚拟机的目录里看到一个名叫centos7.nvram的文件。 这个文件里记录的是虚拟机的BIOS或者UEFI信息,记载的是开机启动设备的顺序,硬盘、CPU、时钟时间等等之类的硬件信息。虚拟机虚拟的非常像,把原本是物理机器里的东西也整出一套来。 nvram,是non-volatile random access memory的缩写,即这里面的内容,在停电后,也不会消失,跟RAM还不太一样,跟硬盘差不多。计算机的内存,也称为RAM,停电后,内容就会消失,不能持久保存。而NVRAM,明显不同,断电后,内容仍然存在。 另一个很好的NVRAM例子是用flash memory做的U盘。不过,现在越来越多的U盘使用SSD来做存储介 来源: oschina 链接: https://my.oschina.net/u/589241/blog/3123612