点击标题下「蓝色微信名」可快速关注 本篇继续安全系列之介绍,继续学习linux安全!,上期学习了android系统构建介绍,下期将会了解用户空间之安全。 作为最广为人知的开源项目之一,Linux 已经被证明是一个安全,可信和稳定的软件,全世界数千人对它进行研究,攻击和打补丁。 不出所料,Linux 内核是 Android 操作系统的基础[3]。 Android 不仅依赖于 Linux 的进程,内存和文件系统管理,它也是 Android 安全架构中最重要的组件之一。 在 Android 中,Linux 内核负责配置应用沙盒,以及规范一些权限。 此图显示了 Android 安全体系结构的更详细的概述。我们将在本文中参考它来解释这个操作系统的特性。 在 Linux 内核层配置应用沙箱的过程如下。 1 ... 2 #ifndef LINUX_ANDROID_AID_H 3 #define LINUX_ANDROID_AID_H 4 5 /* AIDs that the kernel
只要服务器收到这个“有魔力的字符串”,就知道客户端在 TLS 上想要的是 HTTP/2 协议,而不是其他别的协议,后面就会都使用 HTTP/2 的数据格式。 二进制帧 头部数据压缩之后,HTTP/2 就要把报文拆成二进制的帧准备发送。 报头很小,只有 9 字节: 长度: 默认上限是 2^14,最大是 2^24, 也就是说 HTTP/2 的帧通常不超过 16K,最大是 16M 帧类型: 10种 数据帧: HEADERS 帧和 DATA HTTP/2 的流有哪些特点呢? 流状态转换 HTTP/2 的流也有一个状态转换图 (简化): 总结 HTTP/2 必须先发送一个“连接前言”字符串,然后才能建立正式连接; HTTP/2 废除了起始行,统一使用头字段,在两端维护字段“
):为了安全起见,文件头有两个,通常包含完全相同的数据。 文件头包含以下信息: H:2,block:2,blockSize:1000,chunk:7,created:1441235ef73,format:1,version:7,fletcher:3044e6cc 的存储内核了,这个还是比较简单,容易掌握和扩展的。 说明一点:有些朋友有疑问,为什么 DawnSql 选择 h2 的存储内核,而不是去重新做一个?这里主要是为了高用性!h2 作为成熟的数据库存储内核,已经在实际的项目中应用了多年,它是经得起考验的。 如果新做存储内核,可能会给使用者带来高可用性上面的顾虑,所以我们再三权衡后选择更稳定可用性更高的方案。当然随着 DawnSql 的发展和根据企业方的要求,我们也可以对其进行修改和重构!
一、安全机制研究概述在当今网络安全形势日益严峻的背景下,操作系统内核的安全性直接关系到整个IT基础设施的安全防线。 openEuler作为面向企业级应用的自主创新操作系统,在内核安全方面投入了大量研发资源,构建了多层次、立体化的安全防护体系。 本篇文章系统梳理openEuler内核的安全机制,涵盖内存保护、访问控制、漏洞防护、安全审计等多个维度。 二、openEuler内核安全架构解析2.1安全机制概览openEuler内核的安全机制可以分为以下几个层次:安全层次核心技术防护能力性能影响内存安全KASLR/KPTI防地址泄露<5%访问控制SELinux /SMAP防内核代码执行<1%所有场景StackCanary防栈溢出2-3%所有场景SELinux强制访问控制5-8%高安全需求Audit安全审计2-5%合规要求dm-crypt磁盘加密10-15%数据保护性能影响评估
这也导致了Android内核在安全侧有部分不同于Linux内核,侧重点也存在不同。 在操作系统级别,Android平台不仅提供Linux内核的安全功能,而且还提供安全的进程间通信 (IPC)机制,以便在不同进程中运行的应用之间安全通信。 要为内核启用ShadowCallStack,请将下面这行代码添加到内核配置文件: CONFIG_SHADOW_CALL_STACK=y 九、总结 除以上内核安全特性外,Android提供了一些关键的安全功能 ,其中包括: 基于用户的权限模式 进程隔离 实现安全IPC的可扩展机制 移除内核中不必要的和可能不安全的部分 我们也可以看到,上述很多功能都是基于LLVM编译器来实现,在现实工作中,LLVM也不只是作为一个 内核在集成Linux内核主线版本的优势下,再发展适合自身生态的内核安全方案,在庞大数量设备的基础上,既是挑战,也是机遇,期待Android能给出完美的答案。
,禁用或清除EDR的回调和监控机制,从而绕过安全检测。 反病毒软件或内存分析工具 此代码也可以用于安全领域,例如反病毒引擎或内存分析工具,用于从特定进程中提取敏感信息。 ,能够实时检测、响应和记录终端的安全事件。 这种方法避免了直接读取内核内存,同时通过哈希隐藏了敏感的函数名和模块名 各EDR特征 必要函数 IsEDRHash IsEDRHash 的基本原理是通过对驱动程序名称(DriverName)的哈希值或名称前缀匹配来检测特定的安全防护软件驱动程序 与内置的已知安全驱动程序的哈希列表( AVDriverHashes)逐一比较。
在上章-制作文件系统,并使内核成功启动jffs2文件系统了 本章主要内容如下: 1)使内核支持yaffs2文件系统 2)裁剪内核 3)制作内核补丁 ---- 1.首先获取yaffs2源码(参考git命令使用详解 ,将nameserver地址改为: 114.114.114.114 2.将yaffs2源码来配置到内核里(使内核支持yaffs2) vi /work/nfs_root/yaffs2/README-linux 参考上图: /*给内核打补丁*/ cd /work/nfs_root/yaffs2/ . 因为mtd的kernel分区只有2M大,而实际内核有2.37MB,所以需要裁剪到小于2M(或者修改mtd分区值) 5.1首先裁剪内核里无关的CPU/单板文件 1)通过vi .config,然后搜索2440 如下图所示,内核启动时,看到初始化了PS2鼠标驱动 ?
现在大多数,涉及到存储内核的文章或者讲义,要么是一堆原理,要么就是玩具版本例子,根本无法应用到实际的工程上面去,就像马保国的闪电五连鞭一样。 我们选择 h2 的一个重要原因就是,学习完后,可以直接应用到工程上。行不行直接在擂台上比一下就知道了。 需要注意的是,pageSplitSize的值必须是2的幂次方。 图片 4、MVMap 查询的过程 图片 说明一点:有些朋友有疑问,为什么 DawnSQL 选择 h2 的存储内核,而不是去重新做一个?这里主要是为了高用性! h2 作为成熟的数据库存储内核,已经在实际的项目中应用了多年,它是经得起考验的。如果新做存储内核,可能会给使用者带来高可用性上面的顾虑,所以我们再三权衡后选择更稳定可用性更高的方案。
声明:本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全。 ? ? 具体操作如下: 01 查询系统补丁更新情况 在经过常规手法web渗透或者钓鱼等操作获得基本权限(用户权限,或者服务权限)之后,最常用的方法就是windows系统的内核提权。
Windows内核安全:从架构根基到攻防博弈的全景透视内核是操作系统的心脏,也是攻击者与防御者的终极战场。 当恶意代码获得内核态执行权限,它便不再受任何用户层安全策略的约束——防火墙形同虚设,杀毒软件无能为力。理解Windows内核安全,不是选修课,而是每个安全从业者的必修课。 它驻留在内核中,负责执行对象的安全访问检查、管理用户特权、生成安全审计消息。 工作机制系统启动时,PG会记录内核关键区域的"原始样貌"(代码段、IDT、GDT、SSDT、关键API等),存入一个约2-4KB的加密结构体——Context。 3.2 内存管理:从"避免OOM"到"高效利用"64位内核将内存管理从"节省"转向"最大化利用率":页表结构:采用4级页表(PXE→PPE→PDE→PTE),支持2MB/1GB大页分配,减少TLB未命中内存压缩
时间戳可以让内核接受这样的“异常”的数据包。这里须要将其关掉。 这个设置决定了内核放弃连接之前发送SYN+ACK 包的数量。 net.ipv4.tcp_syn_retries = 1 在内核放弃建立连接之前发送SYN 包的数量。 net.ipv4.tcp_fin_timeout = 1 假设套接字由本端要求关闭,这个參数决定了它保持在FIN-WAIT-2 状态的时间。 对端能够出错并永远不关闭连接。甚至意外当机。 2.2 内核的通常值是180 秒。即使你的机器是一个轻载的WEB server。也有由于大量的死套接字而内存溢出的风险,FIN- WAIT-2 的危急性比FIN-WAIT-1 要小。 缺省是2 小时。
Linux内核v4.12的安全特性发布日期:2017年7月10日 分类:Chrome OS, Debian, 内核, 安全, Ubuntu, Ubuntu-Server 作者:kees @ 凌晨1: 24上一篇:v4.11以下是Linux内核上周发布的v4.12版本中一些有趣安全特性的快速总结:x86只读与固定位置GDT通过内核内存基地址随机化,攻击者仍可通过"sgdt"指令获取每CPU基地址,因为该指令会暴露每 LSM结构只读化James Morris利用__ro_after_init使LSM(Linux安全模块)结构在启动后变为只读。这消除了它们作为攻击者理想目标的风险。 由于内核各处都会调用这些钩子,这曾是攻击者劫持内核执行的首选方法。(类似目标过去是系统调用表,但早已设为只读。) 27)、逆向工程(15)、安全(130)、Ubuntu(179)、Ubuntu服务器(109)、车辆(2)、漏洞(12)、Web(14)搜索:链接: Outflux #fediverse归档: (
关于kconfig-hardened-check kconfig-hardened-check是一款功能强大的安全检测工具,可以帮助广大研究人员检测Linux内核中的安全增强选项。 Linux内核中提供了很多安全增强选项,其中有很多选项在主要的Linux发行版系统中都默认不会开启。因此,我们如果想要让自己的系统变得更加安全的话,我们则需要手动开启这些安全增强选项。 但是,谁都不想手动去检查这些配置选项,因此kconfig-hardened-check便应运而生,它可以自动帮我们检查自己Linux系统内核中的相关安全增强选项。 在检查的过程中,kconfig-hardened-check.py 将根据下列参考配置来进行检查: 1、KSPP推荐设置; 2、CLIP操作系统内核配置; 3、最新公开的grsecurity修复方案; 4、SECURITY_LOCKDOWN_LSM修复方案; 5、Linux内核维护团队的直接反馈; 除此之外,我们还创建了一份Linux内核防御图,它是安全强化特性和相应漏洞类或攻击技术之间关系的图形表示
SELinux:安全增强型Linux内核模块介绍========================SELinux,全称Security-Enhanced Linux,是一种在Linux内核中实现的安全策略 什么是SELinux--------SELinux是一种基于安全策略(Security Policy)的访问控制机制,通过在Linux内核中添加安全模块,实现更为严格的资源访问控制。 SELinux的核心思想是将系统资源(如文件、目录、网络端口等)与用户(或其他安全实体)关联起来,根据预先定义的安全策略,限制用户对系统资源的访问。 MLS(Multi-Level Security):SELinux支持多级安全(MLS)策略,这种策略允许多个安全级别不同的用户共享相同的系统资源。 总结--SELinux作为一款安全增强型Linux内核模块,为Linux系统的安全性提供了强有力的保障。
目标: 分析make menuconfig内核配置过程 在上1小结中(内核编译试验)讲到了3种不同的配置: (1)通过make menuconfig 直接从头到尾配置.config文件 (2) 通过make 命令在默认的配置上进行自动修改.config文件 (3)使用厂家提供的配置config_ok文件覆盖.config文件 所以,所有的配置结果都是配置.config文件 1 在linux下通过vi指令查看.config内核配置文件 如上图所示:就是一堆配置项: CONFIG_XXX=y/CONFIG_XXX=m/ CONFIG_XXX=n =y:表示编进内核 =m:表示编译成模块,提供动态加载 =n:表示不参与编译 输入grep (2)在C源码里通过判断autoconf.h的宏DM9000 arch/arm/plat-s3c24xx/common-smdk.c:46:#if defined(CONFIG_DM9000) || defined 使用) 2.通过子目录Makefile得出: 如果auto.conf中CONFIG_xxx=y,对应的源码文件会被Makefile编译进内核; 如果auto.conf中CONFIG_xxx=m,对应的源码文件会被
i2c-tools的相关命令常用于linux系统读写i2c设备寄存器的在线调试。 /utils/i2c-tools/ 一、i2cdetect 1、命令 root@linaro-alip:/# i2cdetect Error: No i2c-bus specified! Usage: i2cdetect [-y] [-a] [-q|-r] I2CBUS [FIRST LAST] i2cdetect -F I2CBUS i2cdetect -l ## 列出i2c总线 root@linaro-alip:/# i2cdetect -l i2c-0 i2c rk3x-i2c I2C adapter i2c-1 i2c rk3x-i2c I2C adapter i2c-9 i2c
,还包含了丰富的中间层组件(文件系统、KV存储、设备框架等),具备低功耗能力、连接能力(IoT通信协议支持、AT框架、云端连接等)、安全能力等;此外,物联网RTOS不仅是一个软件(平台)产品,也是一个扩芯片平台的硬件产品 从已有的内核测试用例可以看到,仅仅RTOS内核本身就包含了非常多的功能项,自动化测试有助于在新老平台上快速实现内核功能的覆盖测试与回归测试,保证其功能正常与完整,事半功倍。 本文主要内容提要: TencentOS tiny内核功能 TencentOS tiny内核测试 C语言单元测试框架greatest TencentOS tiny内核自动化测试 内核测试用例集 MDK硬件平台实战 MDK硬件模拟器仿真 2 TencentOS tiny内核功能 TencentOS tiny内核具有RTOS的典型特征,提供了可抢占式调度机制,满足多任务、实时性等需求,针对相同优先级的任务调度,提供了时间片轮转的 master/doc/5.TencentOS-tiny-SDK文档.md 杰杰mcuTencentOS tiny深度源码分析(1)——task 杰杰mcuTencentOS tiny深度源码分析(2)
目标: 分析make menuconfig内核配置过程 在上1小结中(内核编译试验)讲到了3种不同的配置: (1)通过make menuconfig 直接从头到尾配置.config文件 (2) 通过make 命令在默认的配置上进行自动修改.config文件 (3)使用厂家提供的配置config_ok文件覆盖.config文件 所以,所有的配置结果都是配置.config文件 1 在linux下通过vi指令查看.config内核配置文件 如上图所示:就是一堆配置项: CONFIG_XXX=y/CONFIG_XXX=m/ CONFIG_XXX=n =y:表示编进内核 =m:表示编译成模块,提供动态加载 =n:表示不参与编译 输入grep (2)在C源码里通过判断autoconf.h的宏DM9000 arch/arm/plat-s3c24xx/common-smdk.c:46:#if defined(CONFIG_DM9000) || defined 使用) 2.通过子目录Makefile得出: 如果auto.conf中CONFIG_xxx=y,对应的源码文件会被Makefile编译进内核; 如果auto.conf中CONFIG_xxx=m,对应的源码文件会被
方便国内使用,不卸载内核 wget -N --no-check-certificate "https://github.000060000.xyz/tcpx.sh" && chmod +x tcpx.sh /tcpx.sh 卸载内核 wget -N --no-check-certificate "https://github.000060000.xyz/tcp.sh" && chmod +x tcp.sh /tcp.sh 使用步骤1,升级内核 2,安装加速软件 3,优化配置 Centos7 若升级内核安装锐速失败,请尝试下列脚本 bash <(wget -qO- https://github.com/Aniverse bbr内核更新为5.5/5.4 bbrplus降级到4.14.129 debian和ubuntu各版本安装问题和我无关 不支持32位系统 锐速内核稍微更新 去掉魔改版 增加xanmod 5.5.1版本 xanmod 只添加了centos7,8 debian9,10 5.5内核支持cake队列 5.4未测试 测试版本,建议先用不卸载内核版本测试,然后再用正常版本 不卸载内核表示不会去卸载现有的内核
2、其他配置 net.core.netdev_max_backlog = 400000 #该参数决定了,网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。 net.ipv4.tcp_fin_timeout = 10 #表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。 缺省是2小时,改为30分钟。 net.ipv4.tcp_syn_retries = 1 #在内核放弃建立连接之前发送SYN包的数量。 #从安全性角度出发,建议你关闭该功能。