自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李老板的移动安全杂货铺

Android安全技术分享

  • 博客(84)
  • 资源 (43)
  • 收藏
  • 关注

原创 Linux内核实现AES加密

需要注意的是,上述代码只是一个简单的示例,实际上在内核中实现加密模块需要更多的细节和安全性考虑。#define PLAINTEXT_SIZE 16 // 明文长度为16字节。#define KEY_SIZE 16 // AES密钥长度为16字节。// 创建加密算法句柄。// 分配密文缓冲区。// 创建加解密请求。// 设置加解密请求。

2023-12-14 22:51:42 1035

原创 Linux内核密钥环

在此示例中,`keyring_example_init()`函数创建了一个名为`my_keyring`的密钥环,并将其存储在指针`my_key`中。例如,`keyctl_instantiate_key()`用于创建密钥,`keyctl_search()`用于根据指定条件搜索密钥,`keyctl_unlink()`用于删除密钥等。在密钥环中,密钥通过一个哈希表进行管理。当需要使用密钥时,应用程序通过调用`search_keyring()`函数从密钥环中搜索密钥,并将找到的密钥返回给应用程序使用。

2023-12-14 20:58:47 874

原创 ARM SMMU简介

SMMU可以根据映射表中的设置,将外设的DMA请求限制在特定的虚拟地址空间范围内,防止外设越界访问或无限制地修改内核或其他应用程序的数据。Context可以看作是一个独立的地址空间,用于隔离外设的访问权限。总结起来,ARM SMMU能够根据配置的映射表,为外设、硬件加速器和虚拟机等提供内存隔离保护,防止未经授权的内存访问和数据修改,从而提升系统的安全性和稳定性。通过以上配置,ARM SMMU可以实现处理器与外设之间的内存映射和安全隔离,确保每个外设只能访问其所需的内存,提高系统的安全性和性能。

2023-12-13 21:58:27 1017

原创 ARM MMU简介

ARM MMU和TZC-400是两个不同的组件,其中ARM MMU是ARM处理器内核的一部分,用于实现虚拟内存管理和内存保护机制,而TZC-400则是ARM提供的一个外设,用于提供可配置的内存保护和安全性功能。在基于ARM的Linux系统中,ELF文件的只读数据段(read-only data segment)的只读属性是在内核加载ELF文件到内存时进行设置的。它们分别负责处理器内核和外设设备的内存管理和保护。ARM MMU可以将不同的进程或线程的虚拟地址映射到不同的物理地址空间,实现进程间的内存隔离。

2023-12-13 21:53:29 910

原创 ARM TZC-400原理及配置方式

TrustZone是ARM提供的一种安全技术,通过在处理器上创建两个不同的安全区域(Secure Zone和Non-Secure Zone)来提供硬件级别的安全隔离。TZC-400是针对TrustZone的一个集中式安全域管理器(Security Domain Controller),它负责管理和保护TrustZone中的安全和非安全资源之间的安全隔离。TZC-400可以根据安全策略对处理器的内存映射进行配置,以划分安全区域和非安全区域,并定义安全区域的访问权限。

2023-12-13 21:07:13 696

原创 ARM BTI安全特性使用效果示例

然后,在`Protect`函数中,我们使用`bti`指令来插入BTI保护。在这个示例中,`vulnerable_func`函数中的汇编代码使用`pop {pc}`指令,该指令从堆栈中弹出一个值,并将其作为程序计数器(PC)的值,从而可以将执行流转移到攻击者控制的代码段,从而进行恶意操作。在这个示例中,我们首先使用`__attribute__((used, naked, section(".text.bti")))`指令定义了一个`Protect`函数,并将其放置在`.text.bti`节中。

2023-12-13 20:59:40 722

原创 ARM NEON加速介绍及使用示例

在 Linux 内核中,ARM NEON 驱动提供了对 NEON 寄存器和指令的支持,以便在内核中利用 NEON 进行高性能的数据处理。例如,可以使用 <asm/neon.h> 头文件来引用 NEON 寄存器和数据类型,并使用 NEON 相关的函数和宏来执行特定的 NEON 操作。NEON 驱动通过内核编译器选项和内核源代码中的向量化宏等方式,提供了对 NEON 指令的编译器优化支持。确保内核配置中启用了ARM NEON的支持,以便内核代码可以直接使用NEON寄存器和指令。// 使用通用的数据处理方法。

2023-12-12 21:09:32 1001

原创 Linux内核加解密框架介绍

加密框架是Linux内核加密API的核心组成部分,它为内核中的加密操作提供了通用的接口和管理机制。通过使用这些加解密API,应用程序可以通过调用相应的系统调用,直接在内核中进行加解密操作。加密API还提供了范围和散列函数的接口,用于处理分散的数据和计算散列值。使用此API可以获得一个用于RSA公钥加密和解密操作的公钥对象,以便进行加密和解密操作。使用此API可以获得一个用于RSA私钥加密和解密操作的私钥对象,以便进行加密和解密操作。使用此API可以将加密的数据使用RSA私钥进行解密。

2023-12-12 20:53:37 2161

原创 Autosar CAN通信模块介绍(含代码示例)

CAN接口模块,作为上层应用程序与CAN驱动之间的中间层。它提供一组API函数,使上层应用程序能够通过CAN接口与底层的CAN驱动进行通信(发送和接收CAN消息)。CAN驱动模块,负责CAN硬件的初始化和配置。它与底层的CAN控制器驱动进行交互,通过提供一组API函数实现CAN硬件的初始化、启动、停止以及其他配置操作。CAN状态管理模块,用于管理CAN通信状态。CAN通讯模块与CAN控制器进行交互,设置通讯速率、过滤器和其他参数,确保与CAN总线的正常通信。

2023-12-11 20:13:27 973

原创 Autosar加解密与密钥管理模块介绍

请注意,上述示例代码是根据AUTOSAR Cryptographic Service Interface规范进行简化的示例,实际的实现可能会受到具体平台和厂商的限制和要求。AUTOSAR加解密算法模块是AUTOSAR架构中的一部分,负责实现各种加解密算法,用于数据保护、身份认证、数据完整性验证等安全功能。该模块提供了标准化的接口和算法实现,方便在不同的软件系统中进行集成和使用。它提供了对密钥的创建、存储、更新和删除的功能,以及对密钥的安全访问和权限管理的支持。// 创建密钥管理模块上下文。

2023-12-11 12:14:10 1055

原创 Autosar基础安全架构简介

AUTOSAR基础安全架构(BSW Security)是AUTOSAR标准中的一个模块,旨在提供用于保护汽车电子系统的基本安全功能和服务。基础安全架构包括访问控制、身份认证、加密、数字签名、密钥管理等关键安全功能。以上示例展示了在使用AUTOSAR基础安全架构时如何进行身份认证、数据加解密和安全通信的过程。负责安全生命周期的管理和安全需求的定义。它协调安全策略、安全需求和安全方案,并与其他AUTOSAR模块进行交互,确保安全性的全面管理。该模块提供了安全的数据传输和安全的通信通道,以防止数据被篡改或窃取。

2023-12-10 17:17:37 890

原创 APN在车联网中的应用简介

通过APN连接,远程诊断与监控车辆的状况,实时获取车辆数据,进行故障诊断和维护。只有经过验证的设备和用户才能接入到APN网络中,提高了数据和通信的安全性。通过APN连接,车辆制造商可以远程监控和管理车辆的性能和状态,如车速、油耗、里程等。APN可以提供实时的安全监控和报警功能,可以及时检测和响应潜在的安全威胁。通过APN连接,车辆可以获取实时的交通信息和导航指引,以避免拥堵和选择最佳路线。通过APN连接,车辆乘客可以访问互联网服务,如在线音乐、视频、社交媒体等,提供更丰富的娱乐和信息体验。

2023-12-10 16:57:49 1551

原创 车载网关CAN报文过滤规则

这段代码演示了一个简单的函数`convert_ethernet_to_can()`,它接收一个以太网数据包,从中提取UDS数据负载,并根据需求构建CAN数据负载。{"can_id": 0x123, "can_mask": 0xFFF}, # 只接收CAN ID为0x123的报文。{"can_id": 0x456, "can_mask": 0xFFF}, # 只接收CAN ID为0x456的报文。"can_payload": "<CAN数据负载>", # CAN数据负载。

2023-12-10 13:16:47 577

原创 车载网关安全技术简介(含代码示例)

车载网关通过自身的内部网络模块,如Wi-Fi、蓝牙、4G/5G等,与车辆外部网络进行连接。它充当了车辆内部网络和车辆与外界网络之间的桥梁,实现了车辆信息的传输和互联网服务的接入。ACL可以根据事先设定的规则,限制访问车辆内部网络的用户或设备,提高车辆网络的安全性。防火墙可以根据设定的安全策略,过滤和拦截恶意的网络请求,保护车辆网络的安全。这样,车载网关根据ACL规则进行访问控制,确保只有经过授权的设备可以访问车辆内部网络资源,从而提高车载网关的安全性。// 默认不允许访问。

2023-12-10 12:49:16 800

原创 ECU安全学习网站和书籍介绍

另外,安全软件开发和漏洞管理实践也是重要的,以优化ECU的安全性。ECU是现代汽车中的关键组件,它负责监控和控制车辆各种系统的运行,如发动机、制动、转向等。Hack In The Box(HITB)是一个安全技术会议,其中的演讲和研讨会涵盖了广泛的安全领域,包括ECU安全。Black Hat是一个著名的安全技术会议,其中的ECU Hacking Village提供了与ECU安全相关的讲座、工作坊和实践体验。它详细解释了如何分析和破解基于ECU的软件和系统,使学习者能够理解ECU的内部工作原理和安全机制。

2023-12-09 16:58:08 801

原创 ECU面临的风险介绍(含案例)

这个漏洞的原理是攻击者通过拦截和复制车辆的无线讯号,从而获得了车辆的钥匙Fob(远程钥匙)的副本,从而可以非法进入并启动车辆。他们通过对宝马、宝马Mini Cooper、梅赛德斯奔驰和国内制造商等车型的ECU进行研究,发现了信号的漏洞,使得攻击者可以利用无线电信号通过车辆的遥控钥匙和ECU之间建立通信,并窃取车辆的加密密钥。这一漏洞引发了广泛的关注和忧虑,并迫使汽车制造商加强对车辆物理访问安全性的关注。然后,攻击者通过分析与钥匙的通信,获取加密密钥,并将其用于解密和伪造车辆的信号,实现对车辆的非授权访问。

2023-12-09 16:47:49 504

原创 风控反欺诈安全学习路标

掌握常见的反欺诈工具和平台,如Blacklisting、Whitelisting、Rules Engine和Machine Learning-based Fraud Detection Systems。- 学习反欺诈技术的原理和常见方法,包括行为分析、设备指纹识别、IP地理位置分析和网络连接分析等。- 学习数据分析和数据挖掘的基本原理和技术,包括数据清洗、特征工程、模型选择和评估等。- 学习机器学习和统计模型的基础知识,包括监督学习和无监督学习、回归模型和分类模型等。6. 安全合规和合作伙伴管理。

2023-12-08 21:04:17 875

原创 IOS安全学习路标

了解常见的iOS应用安全漏洞,如信息泄露(例如内存泄露和日志泄露)、越狱检测和代码注入,并学习如何进行安全编码和应用审计。- 学习应用签名和证书的原理,以及如何使用Xcode和iOS Provisioning Portal进行应用开发和签名。以上学习路线图仅供参考,iOS安全领域的知识和技术不断演进和更新,建议持续学习和保持对最新安全漏洞和攻击技术的跟踪。- 熟悉iOS应用的启动过程,包括应用生命周期、应用的主线程和多线程开发等。- 深入了解iOS应用的沙盒机制,包括数据隔离和应用权限。

2023-12-08 20:58:15 482

原创 车联网安全学习路标

首先,你需要全面了解汽车和物联网的基础知识,包括汽车电子体系结构、车载通信技术(如CAN、LIN、FlexRay、Ethernet)以及物联网的架构和通信协议(如MQTT、CoAP)。学习汽车网络安全的基本概念和技术,包括汽车网络攻击表面、入侵检测和预防、网络隔离和安全网关、防护措施(如硬件防火墙、网络隧道、加密通信)等。了解相关的法规和标准,如ISO 26262(汽车功能安全)和ISO 21434(汽车网络安全),以及行业最佳实践和安全认证。1. 汽车和物联网基础知识。6. 车联网平台安全。

2023-12-08 20:53:39 1127

原创 IOT安全学习路标

深入了解IoT云端平台的安全机制和风险管理,包括身份和访问管理、数据隐私和加密、漏洞管理等。学习云安全服务和工具,如侦测和响应、威胁情报和分析等。学习关于物联网通信和网络安全的基础知识,包括加密和认证技术、安全协议(如HTTPS、MQTT)、远程访问和管理的安全性、网络隔离和防火墙等。了解IoT设备的硬件安全特性和保护措施,包括芯片级安全和物理隔离技术、硬件根信任和安全启动、硬件密钥存储和加密等。首先,你需要建立坚实的物联网基础知识,包括IoT的架构和组件,传感器和设备的连接和通信技术,云端和边缘计算等。

2023-12-08 20:49:54 571

原创 嵌入式安全学习路标

深入了解嵌入式设备的通信和网络安全,包括加密和认证协议、防火墙和入侵检测系统、安全协议和远程管理等。学习如何进行安全测试和审计,包括黑盒测试、白盒测试和灰盒测试等。首先,你需要建立坚实的嵌入式系统基础知识,包括嵌入式系统的构成和特点,微处理器架构,实时操作系统(RTOS)的原理和应用等。了解如何保护嵌入式设备的知识产权和软件版权,学习反逆向工程的技术和方法,如代码混淆、加密和数字签名等。学习关于物理安全的基础知识,并了解如何对嵌入式设备进行物理攻击和防护,如侧信道攻击、硬件破解等。6. 安全测试和审计。

2023-12-08 20:47:03 705

原创 ARM安全学习路标

学习关于栈和堆保护的技术,包括栈溢出检测、堆溢出检测和防护、缓冲区溢出防护等。研究学习安全操作系统,如OP-TEE(Open Platform TEE)和Trustonic TEE等,了解TEE的架构、安全服务和应用开发。首先,你需要全面了解ARM架构的基础知识,包括指令集和寄存器的特点,处理器模式和特权级的切换机制,内存管理单元(MMU)和保护域等。学习如何进行漏洞分析和安全评估,使用静态和动态分析工具,检测和利用ARM平台上的安全漏洞。了解安全政策制定和实施,以及如何设计和实施安全的ARM系统。

2023-12-08 20:43:50 764

原创 Android安全学习路标

深入了解Android的用户认证和应用授权机制,包括Android权限模型、权限管理和授权框架的机制和最佳实践。跟踪Android安全领域的最新趋势和发展,学习新的安全工具、技术和解决方案,保持对Android安全领域的持续学习和进一步的专业发展。学习如何分析和反制Android恶意软件和攻击,包括恶意软件的行为分析、静态和动态分析技术、恶意代码检测和防御等。学习安全事件响应的最佳实践和紧急处理措施。学习如何进行Android应用和系统的安全测试和评估,包括渗透测试、代码审查、安全评估工具的使用等。

2023-12-08 20:40:17 463

原创 Linux安全学习路标

不断保持学习和更新,关注最新的安全威胁、漏洞和技术趋势,参与安全社区和活动,与其他安全专业人员进行交流和合作,这样你将能够不断提升自己并成为一名资深的Linux安全专家。学习关于网络和通信安全的基础知识,包括TCP/IP协议栈、网络攻击类型、防火墙配置、网络策略和访问控制等。学习如何管理和应用系统安全补丁,了解常见的漏洞扫描和漏洞管理工具,以及如何对系统进行实时监测和安全审计。学习使用工具和技术监测系统的安全事件和入侵尝试,以及如何设置入侵防御系统、日志分析和事件响应。6. 安全检测和入侵防护。

2023-12-08 20:33:49 705

原创 setuid 的风险及开发过程中的避免方式

如果攻击者能够访问被设置setuid标志的可执行文件,并且成功地利用了其中的漏洞,攻击者可以以拥有该文件所有者的权限运行恶意代码。这意味着,即使普通用户运行了该文件,它仍能以文件所有者的权限来执行,以执行特权操作。通过这样的设置,我们可以避免使用setuid产生DAC权限问题,并确保应用程序仅具有必要的最低权限来访问网络接口。这样做可以提高应用程序的安全性。如果执行的程序存在漏洞或被恶意利用,攻击者可以使用被setuid特权所包含的权限来滥用操作系统资源,例如修改系统配置、删除文件或者访问私有数据。

2023-12-08 20:02:24 556

原创 useradd 在Linux原生应用开发过程中的简单应用

useradd还会添加用户到适当的用户组,并创建一个新的家目录。通过这样的设置,只有属于任务管理组的用户(例如 "taskmanager" 用户)才能读取和修改 "tasks.txt" 文件,其他用户无法访问该文件,确保了对任务数据的访问控制。总之,useradd命令通过修改/etc/passwd和/etc/shadow文件以及分配唯一的UID和GID来创建新用户,并设置相关的属性和权限。最后,useradd会将新用户的信息写入/etc/passwd文件,同时将密码信息写入/etc/shadow文件。

2023-12-08 19:56:40 680

原创 chmod 在Linux原生应用开发过程中的简单应用

在Linux系统中,每个文件或目录都有一个表示其权限的数字值,即用三个八进制数字来表示文件或目录的访问权限。具体的权限值分别为"读"(Read,读取文件的权限)、"写"(Write,修改文件的权限)和"执行"(Execute,执行文件或访问目录的权限)。当使用chmod命令来修改文件或目录的权限时,它实际上会按照指定的权限值重新设置文件或目录的ACL。通过这样的设置,我们确保只有应用程序能够读取和修改"users.txt"文件中的敏感信息,其他用户无法访问该文件,从而保护用户的隐私和安全。

2023-12-08 19:52:46 436

原创 Linux DAC权限的简单应用

这意味着只有文件的属主 "admin" 可以读取和写入 "data.txt",属组 "data_group" 的成员 "manager" 只能读取 "data.txt",而其他用户 "employee" 则无法进行任何操作。在该例子中,第一个字符 "-" 表示这是一个文件,接下来的三个字符 "rw-" 表示属主的权限,紧接着的三个字符 "r--" 表示属组的权限,最后的三个字符 "---" 表示其他用户的权限。- 用户2:名为 "manager",属于文件的属组 "data_group"。

2023-12-08 19:41:51 788

原创 ARM虚拟化与车联网安全应用

例如,称为Virtualization Enhanced TrustZone(vTZ)的扩展可以提供物理内存隔离和虚拟机之间的内存隔离,防止虚拟机访问其他虚拟机的内存。Hypervisor负责模拟和虚拟化物理设备的功能,使得虚拟机实例可以访问和使用虚拟化的设备。通过虚拟化技术实现不同的安全级别隔离,可以将关键的安全功能,如车辆控制系统,与其他非关键系统进行隔离,提升整体系统的安全性和防护能力。不同的操作系统和应用程序可以在不同的虚拟机实例上运行,相互之间进行隔离和资源分配,避免资源冲突和干扰。

2023-12-07 22:27:54 550

原创 PKCS#11及其在车联网中的应用

PKCS#11,全称为Public Key Cryptography Standard #11,是一种密码学标准,定义了一个通用的API(应用程序接口)来访问安全设备,如硬件安全模块(HSM)和智能卡。通过PKCS#11的API,车辆可以使用硬件安全模块(HSM)来进行密钥管理和密码学操作,确保通信数据的保密性和完整性。PKCS#11可以用于保护车辆的固件升级过程的安全性。需要注意的是,PKCS#11在车联网中的应用需要结合具体的系统架构和安全需求进行设计和实现,并考虑到相关标准和规范的要求。

2023-12-07 22:09:58 659

原创 车联网通信安全之DDS

在智能驾驶应用中,可能涉及多个车辆、传感器节点、控制单元等,DDS可以轻松支持分布式通信,方便实现车辆间的协同和信息共享。在智能驾驶场景下,车辆需要快速地进行数据交换,包括车辆状态、传感器数据、位置信息等,以实现协同操作和智能决策。DDS提供可靠的数据传输和通信机制,确保数据的完整性和准确性。在智能驾驶中,数据的准确性和可靠性对于安全和决策至关重要,DDS的可靠通信机制可以确保数据的可靠传输。DDS可以用于车辆之间和车辆与云端之间的实时数据传输,包括车辆状态、传感器数据、位置信息等。

2023-12-07 21:46:28 515

原创 ARM Cortex-M安全之MPU介绍

其中第一个区域从0x00000000到0x00007FFF,权限被设置为读写,第二个区域从0x20000000到0x20001FFF,权限被设置为只读。不同型号的Cortex-M处理器可能具有不同的MPU配置选项,例如区域数量、最大区域大小和权限掩码位数等。MPU允许开发人员对不同的内存区域分配不同的权限,从而提供对系统代码和数据的保护。MPU可以将整个内存划分为多个区域,并为每个区域分配不同的权限。这样,开发人员可以将敏感的代码和数据放置在一个受保护的区域中,并为其分配只读、只执行或完全禁止访问等权限。

2023-12-07 21:09:18 1049

原创 gcc安全特性之变量初始化检查

在使用未初始化的变量时,无法确保它的值是有效的,这可能导致不可预测的程序行为。变量初始化检查特性通过在编译过程中静态分析源代码来检测未初始化的变量,并在发现未初始化变量时发出警告。- 提高代码可读性和可维护性:强制变量在使用之前进行初始化,可以使代码更清晰和易于理解,减少由于未初始化变量带来的混淆。- 提前发现未初始化的变量:通过静态分析,可以在编译时发现潜在的未初始化变量,避免在运行时出现未定义的行为。GCC的变量初始化检查特性旨在减少未初始化变量对程序行为和安全性的潜在影响。

2023-12-07 20:29:53 513

原创 gcc安全特性之FORTIFY_SOURCE

FORTIFY_SOURCE在检测到潜在的安全问题时,会触发异常处理机制。在没有启用FORTIFY_SOURCE的情况下,如果输入的字符串超过了`buffer`数组的大小,`strcpy`函数将会发生缓冲区溢出,导致内存越界访问。- 格式化字符串检查:在使用格式化字符串函数(如printf,sprintf)时,会检查格式字符串的参数是否与格式化字符串中的占位符匹配。通过这些优化,FORTIFY_SOURCE可以减少代码中的安全漏洞风险,并在编译阶段帮助开发人员捕捉潜在的安全问题,从而提高程序的安全性。

2023-12-07 20:21:15 1839

原创 Android各版本引入的重要安全机制介绍

Restricted Access to Non-SDK Interfaces(限制对非SDK接口的访问):限制了应用访问非公开API的权限,以提高应用的安全性和稳定性。- Background Execution Limits(后台执行限制):对于不在前台运行的应用,有限制执行后台任务的能力,以提高系统资源的利用效率。- Scoped Storage(作用域存储):限制了应用直接访问共享存储空间的权限,提高了用户数据的安全性和隐私性。本文简单列举Android各个版本引入的一些主要安全机制。

2023-12-05 22:28:15 656

原创 ARM64安全特性之SMAP

SMAP的主要原理是通过设置特殊的访问权限位(AP位)来限制特权模式下的内存访问。SMAP通过将特权模式下的AP位设置为只读或禁止访问,可以防止特权软件访问受保护的内存区域。总的来说,ARM64 SMAP主要用于限制特权模式下的内存访问,而PAN用于防止特权模式下的空指针解引用。对于EL0级别的访问,AP位控制传统的访问权限(读、写、执行),而对于EL1级别的访问,AP位表示SMAP访问权限。- SMAP:SMAP通过设置特殊的访问权限位(AP位)来限制特权模式下的内存访问。

2023-12-05 21:57:50 737

原创 ARM64安全特性之CET

IBT可以防止攻击者利用常见的控制流劫持漏洞,如ROP(Return-Oriented Programming)攻击、JOP(Jump-Oriented Programming)攻击和COP(Call-Oriented Programming)攻击等。这样,当程序执行期间发生控制流劫持时,劫持者将向不同的目标地址跳转,导致签名比特发生不匹配,从而触发异常。- 在编译器级别,可以使用CET相关的编译器选项来生成支持BTB的代码。例如,在使用GCC编译器时,可以使用"-mcet"选项来启用CET。

2023-12-05 21:48:47 924

原创 ARM64安全特性之MTE

MTE使用内存标签来追踪和保护内存操作,以帮助检测和防御缓冲区溢出、使用-after-free等内存相关的安全漏洞。在代码中,开发者需要对需要进行内存标记的区域进行明确的标记。在需要使用带有标签的内存的地方,开发者需要读取和验证内存标记。在使用带有标记的内存时,需要使用相应的内存访问指令来读取和验证标签。在编写具体的程序时,开发者可以根据自己的需求和使用情况使用这些示例代码,并根据需要添加额外的错误处理和防御措施。通过使用MTE,开发者可以更有效地检测和防御内存相关的安全漏洞,提高系统的安全性和可靠性。

2023-12-05 21:36:49 1251

原创 Linux 5.15安全特性之ARM64 PAC

1. 硬件支持:ARM64架构中引入了一系列新的指令,如指针加密指令(PACIA、PACIB、PACDA、PACDB)和指针验证指令(AUTIA、AUTIA1716、AUTIB、AUTIB1716、AUTDA、AUTDA1716、AUTDB、AUTDB1716),用来处理指针的加密和验证。需要注意的是,AKey签名机制只是PAC机制中的一种验证方法,ARM64还有其他的签名和验证机制,如BKey签名机制和VA签名。ARM64 PAC机制的引入旨在提高系统的安全性,防止针对指针的缓冲区溢出和代码注入攻击。

2023-12-05 21:11:30 1578

原创 Linux 5.15安全特性之landlock

这个示例代码使用了系统调用函数`syscall`,并通过`SYS_landlock_create_ruleset`、`SYS_landlock_add_rule`和`SYS_landlock_restrict_self`指定了Landlock规则,创建了一个Landlock域,并将当前进程限制在该域中。Landlock是一个在Linux内核中实现的安全模型,它允许进程在较低的特权级别下运行,并限制其对内核和系统资源的访问。在配置Landlock后,测试和调试程序,确保权限控制正常工作,并遵循定义的规则。

2023-12-05 20:33:01 1419

scratchv3.29.1 for mac

scratch少儿编程软件v3.29.1 mac正版软件,免费使用。软件包含大量的少儿编程教材和案例,操作简单,容易上手,是很好的编程入门和少儿逻辑思维能力训练的图形化工具。该版本针对mac os,一键安装,无需注册码,终身免费使用。

2024-01-14

Prophet Hacker Android Hacking Blog Book

2014年精选android攻防博客文章上百篇

2022-05-06

hacking wifi on windows

hacking wifi on windows E文版

2022-05-06

Introduction to Embedded Linux Security

嵌入式Linux系统安全介绍资料

2022-05-05

improving embedded linux security with yocto

基于yocto的嵌入式linux系统安全学习资料

2022-05-05

Design Implementation and Evaluation of a Vehicular HSM

设计、实现和评估面向车机的硬件安全模块

2022-05-05

Secure boot in embedded Linux systems

嵌入式Linux系统实现安全启动的研究资料

2022-05-05

Overview of Secure Boot With Microsemi SmartFusion2 FPGAs

在Microsemi SmartFusion2 FPGAs上实现安全启动的研究资料

2022-05-05

seboot-on-stm32.pdf

在stm32上实现安全启动的研究资料

2022-05-05

SecureBoot-SecureSoftwareUpdates.

《SecureBoot-SecureSoftwareUpdates》演讲PPT

2022-05-05

Core Policy Management Infrastructure for SELinux

《Core Policy Management Infrastructure for SELinux》演讲PPT

2022-05-05

Securing Android-Powered Mobile Devices Using SELinux

SEAndroid 移植过程的介绍。 本文档包含了SELinux集成到Android的过程中所解决的一些问题,包括: 1. Android本身不支持SELinux; 2. Android没有加载策略的手段; 3. 没有为Android定制的策略库; 4. 为Dalvik进程配置SELinux策略比较困难; 之后介绍了将SELinux移植到Android的详细步骤。阅读该文档读者会有如下收获: 1. 深入了解SEAndroid与SELinux的差异; 2. 在嵌入式系统上移植SELinux的开发者可以参考本文的思路和步骤 。

2022-05-05

LUKS1 On-Disk Format Specification Version 1.2.3

1. Linux磁盘加解密实现必读文档。 2. Linux磁盘加解密的内核实现为dm-crypt,用户层接口依据LUKS标准实现,因此在Linux上实现磁盘加解密需要了解LUKS标准接口。 3. LUKS1 是“Linux 统一密钥设置”的缩写。它最初的开发是为了解决用户因更改用户空间而获得加密设置以及忘记命令行参数而产生的不愉快。此更改的结果是无法访问的加密存储。发生这种情况的原因是,读取、处理和设置加密密钥的方式不规范,如果用户不走运,他会升级到用户空间工具的不兼容版本,需要大量知识才能与旧加密一起使用卷。 4. LUKS 的发明是为了标准化密钥设置 。

2022-05-05

LUKS2 On-Disk Format Specification version 1.1.0, 2022-01-10

在Linux上实现磁盘加密的必读文档。 LUKS2 是用于磁盘加密管理的 Linux 统一密钥设置的第二个版本。它是 LUKS1 [1, 2] 格式的后续版本,扩展了磁盘格式的功能并消除了一些已知问题和限制。 LUKS1 的大部分基本概念仍然保留在 Clemens Fruhwirth 在硬盘加密新方法 [2] 中的设计。LUKS 在磁盘的专用区域提供通用密钥存储,能够使用多个密码1 来解锁存储的密钥。 LUKS2 扩展了这一概念,以更灵活的方式存储元数据、冗余信息以在元数据区域损坏的情况下提供恢复,以及存储外部管理的元数据以与其他工具集成的接口。 虽然 LUKS2 的实现旨在与基于 Linux 的 dm-crypt [3] 磁盘加密一起使用,但它是一种通用格式。

2022-05-05

NAND Flash Data Recovery Cookbook (Flash数据恢复教材)

Flash数据恢复教材,内容包括: 1. 深入介绍Flash原理 2. Flash存储访问 3. 物理内存提取技术 4. 创建虚拟镜像 5. 镜像内容重建 本教程作者深耕数据恢复领域数年,拥有丰富的数据恢复经验。通过阅读本教材,读者可以深入探索Flash存储的原理,以及从Flash存储中恢复数据的过程。

2022-05-05

DDS Security version1.1

DDS安全规范文档,包括身份验证的定制实现,访问控制的实现、消息加密的实现、消息验证的实现、数字签名的实现、日志记录和数据标记的实现等。重点介绍了DDS安全插件机制,包括 • 身份验证服务插件 • AccessControl 服务插件 • 加密服务插件 • 日志服务插件 等等,该文档是OMG官方文档,推荐学习。

2022-05-05

The DDS Tutorial (DDS教材)

英文版DDS教程,内容覆盖DDS的Topic、Domain、Partitions机制,以及DDS读写数据的实现方式,可以作为DDS的入门教材。

2022-05-05

KeeLoq算法原理与应用

本文档详细介绍了KeeLoq算法原理与实现、KeeLoq的应用以及针对KeeLoq的攻击技术,是研究KeeLoq与入门遥控车钥匙安全算法的必读文档。

2022-01-29

KEELOQ Code Hopping Encoder

本文档包含了HCS301的详细原理介绍。Microchip Technology Inc. 的 HCS301 是一种跳码编码器,专为安全的远程无钥匙进入 (RKE) 系统而设计。 HCS301采用KEELOQ跳码技术,安全性高、封装外形小、成本低,是单向遥控无钥匙进入系统和门禁系统的完美解决方案。 HCS301 是远程无钥匙进入 (RKE) 的理想选择,主流应用包括: • 汽车 RKE 系统 • 汽车报警系统 • 汽车防盗器 • 大门和车库门开启器 • 身份令牌 • 防盗报警系统

2022-01-29

Building a high-performance, programmable secure coprocessor

安全协处理器通过提供安全岛来实现安全的分布式应用程序,应用程序可以在其中执行和记录状态,不受攻击者的直接物理访问的观察和干扰。但是,为了使这些协处理器有效工作,此类应用程序的参与者必须能够验证他们正在与真实、未篡改的设备上的真实程序进行交互。此外,支持通用计算并将作为商业产品制造和分发的安全协处理器必须提供这些核心保护区和身份验证特性,同时还要应对许多其他挑战,包括: Ø 应用程序、操作系统、底层安全管理都可能来自不同的、相互怀疑的参与者; Ø 配置和维护必须在恶劣的环境中进行,同时尽量减少对操作的干扰; Ø 设备必须能够从复杂软件中不可避免出现的漏洞中恢复; Ø 物理安全性规定设备本身永远不能被打开和检查; Ø 不断发展的加密要求要求硬件加速器由可重新加载的卡上软件支持 本文总结了我们为解决这些问题而开发的硬件、软件和密码体系结构。

2022-01-29

车载网络的安全问题及基于区块链的增强对策

区块链是一个安全的框架,可以抵抗数据修改。它具有去中心化、透明性和开源(即,向公众开放)、自治、不可变和匿名的特点。我们考虑分层(或混合)区块链,即公共区块链和私有区块链的组合,因此当这些车辆以分散方式移动时,可以在自动驾驶汽车内安全地处理信息。在记录车载网络中发生的内部车辆日志、事件等时,我们会为每辆车考虑一个私有区块链。公共区块链被考虑用于记录每辆车的私有区块链的特定哈希信息,以及车辆周围发生的交通事件。道路事件信息(车辆间通信、事故事件等)存储在公共区块链中,用于与相邻车辆共享。

2022-01-29

CAN转以太网通信实现

本文提出了一种解决方案,将虚拟汽车 ECU 的 CAN 通信通道映射到 Xen 管理程序的现有半虚拟化以太网驱动程序。

2022-01-29

Mobile Secure Data protection using eMMC RPMB Partition

这篇论文介绍了使用eMMC RPMB分区存储5G模块/modem模块敏感数据的实现,包含了软硬件架构以及加解密流程。

2022-01-29

Kernel Self-Protection Project

KSPP 项目介绍,该项目专注于上游 Linux 内核,保护内核免受攻击(例如数组边界检查),而不是由内核保护来自攻击的用户空间(例如命名空间),以此来加强内核本身的抗攻击能力。

2022-01-28

Secure Boot From A to Z

基于i.MX6集成芯片的嵌入式linux系统安全启动实现,包括: 1)信任根的实现 2)可信启动链的实现 3)签名验签的实现细节 4)dm-verity的使能细节 做嵌入式linux系统安全启动的同学可以参考下

2022-01-28

车辆安全网关系统上的路由方法研究(韩文)

本文提出了一个基于车辆安全网关系统的路由方法,研究车辆网关技术的同学可以参考参考。

2022-01-28

FlexRay/以太网网关和车载网络安全机制的设计(英文)

本文结合嵌入式系统的发展条件和车联网领域的安全性,提出了一种FlexRay/Ethernet网关。所提出的方法在现场可编程门阵列(FPGA)系统上实现,以评估运行时间并分析安全机制的开销。对于一对一映射逻辑,FlexRay 到以太网路径和以太网到 FlexRay 路径的执行时间是恒定的,分别为 4.67 µs 和 6.71 µs。特别是,网络安全可以集成为网关的扩展,具有低延迟和低功耗。

2022-01-28

考虑车载以太网骨干效率的车联网(IoV)接入网关设计(英文)

在本文中,我们提出了一个 IoV 访问网关来控制传入 IVN 的数据流量,在 IVN 和 IoV 所在的网络环境中,骨干网和输出到 IoV 的数据流量是集成的。计算机模拟用于评估所提出系统的性能,并且所提出的系统在累积平均传输延迟方面表现出更好的性能。

2022-01-28

车载网络安全:攻击与对策(外文版)

最近发生的一些攻击案例表明,尽管汽车网络看起来很孤立,但实际上它们可以很容易地被黑客攻击;如果攻击者有办法访问内部网络,我们却没有有效的安全解决方案来阻止攻击者破坏汽车的功能,这将对车辆用户产生严重的影响。 文本基于如上问题,提出一个用于汽车以太网、基于 MACsec 的安全系统,为大家建设安全的车内网络提供思路。

2022-01-28

tamarin-prover入门级介绍

学习tamarin的必读文档之一,建议在阅读tamarin用户手册之前先阅读该文档。该文档为tamarin-prover的入门级介绍文档,可以快速了解tamarin的用途、使用方式与效果。

2022-01-26

网络安全协议形式化分析验证工具Tamarin的用户手册

近期国内外很多安全研究人员使用Tamarin对一些经典安全协议进行分析,并发现了经典协议的漏洞,其中包括TLS核5G通信协议,以及最近火爆流行的ECU安全通信协议SecOC。 本文档为Tamarin用户手册,是学习Tamarin的最佳文档,内容包括: 工具介绍 安装方式介绍 入门案例讲解 消息加解密的表示方式 案例研究 相关工具链 等等。

2022-01-26

自动驾驶安全研究.rar

本文档就针对自动驾驶技术的攻击面、威胁模型以及这些未来技术的安全性进行了全面的介绍和阐述。为读者提供有关自动驾驶汽车的不同级别,当前威胁模型,安全体系结构以及我们如何努力确保无人驾驶革命的见解。

2019-11-01

智能外设入侵汽车网络解密.rar

《智能外设入侵汽车网络解密》是安恒安全研究院海特实验室关于入侵网络的一个分享。

2019-10-15

网联汽车安全.rar

该文档360度介绍⽹网联汽⻋车安全,文档作者著有多部安全经典著作

2019-10-14

360度介绍⽹网联汽⻋车安全.rar

该文档360度介绍⽹网联汽⻋车安全,文档作者著有多部安全经典著作

2019-10-14

特斯拉安全研究.rar

目录 1. 2016 与 2017 特斯拉攻击的攻击链异同 2. 2017 彩蛋的背后 3. 总结

2019-10-11

特斯拉安全漏洞的发现过程.rar

本文档详细介绍了科恩安全实验室发现特斯拉安全漏洞的过程。

2019-10-03

特斯拉网关的逆向揭秘.rar

《特斯拉网关的逆向揭秘》揭露了逆向特斯拉网关的过程

2019-09-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除