
安全技术专栏
文章平均质量分 83
操作系统/网络安全相关的技术, 如: 注入/hook/加密等
内核程序员kevin
我是一名程序员, 专注于Linux应用程序与内核模块开发,喜欢研究各种技术。目前担任某数据安全企业架构师, 在安全软件研发和架构领域深耕近15年。
我希望能帮助更多的程序员成长。
欢迎关注我,让我们一起探讨技术,共同进步。
展开
-
基于Linux内核模块的USB设备访问控制系统-开发教程
本文详细介绍了基于Linux内核模块的USB设备访问控制系统的开发教程。首先,文章阐述了项目背景与意义,指出USB设备带来的安全隐患如数据泄露和病毒传播,并强调了通过内核级别的访问控制来降低这些风险的重要性。接着,描述了系统的设计目标、功能以及应用场景,包括企业安全管理、个人电脑防护等。在架构设计部分,深入讲解了内核模块的设计细节,特别是如何使用Hook技术拦截USB请求(`usb_submit_urb`函数),以及用户空间与内核空间之间的通信机制。原创 2025-02-11 09:08:30 · 1017 阅读 · 0 评论 -
Linux Kernel ARM64架构中, 如何突破内存只读的限制-remap方案
如何突破内存只读的限制, 使用`phys_to_page()`获取指定地址所在的`page`, 使用`vmap()`将`page`重新映射为可写原创 2023-03-01 19:13:51 · 601 阅读 · 0 评论 -
Linux Kernel ARM64架构中, 如何突破内存只读的限制-pte方案
方案1 将原来只读的内存地址, 重新映射到一个可写的页面。方案2 获取内存地址所在的pte, 修改pte属性为可写。原创 2023-02-25 20:37:25 · 855 阅读 · 1 评论 -
深入解析LD_PRELOAD注入动态库.so的原理
本文介绍了`LD_PRELOAD`和`/etc/ld.so.preload`在Linux系统中用于动态库注入的原理及应用。`LD_PRELOAD`允许用户指定共享库来覆盖程序默认库,适用于函数Hook、调试与性能分析等场景;而`/etc/ld.so.preload`则为系统级配置,影响所有程序。当程序启动时,动态链接器会优先加载`LD_PRELOAD`或`/etc/ld.so.preload`指定的库,进而覆盖原有库函数。原创 2025-01-07 09:15:00 · 1353 阅读 · 0 评论 -
理解并使用Linux 内核中的 Tracepoint
本文探讨Linux内核中的Tracepoint机制,旨在为内核调试与性能分析提供一种高效、灵活且低侵入性的方法。相较于传统的printk手段,Tracepoint克服了日志噪音大、性能开销高及修改源代码的不便等问题。它作为一种轻量级跟踪解决方案,在不影响系统正常业务逻辑的前提下,允许开发者和系统管理员动态地开启或关闭跟踪功能,收集精确的时间戳和上下文信息,有效减少对系统性能的影响,并更好地定位复杂问题。原创 2024-12-19 09:24:08 · 1452 阅读 · 2 评论 -
Linux网络数据包透明加解密
本文探讨了在Linux系统中实现TCP数据包透明加解密的两种方案:应用层加密和内核层加密。应用层加密通过`LD_PRELOAD`加载自定义动态库,拦截并重写`send`和`recv`函数来加密传输的数据,内核层加密则是在内核态挂钩tcp_sendmsg和tcp_recvmsg函数,在数据进入或离开网络层时进行加解密操作原创 2024-12-16 09:14:35 · 1025 阅读 · 0 评论 -
网络准入控制(NAC)与802.1X原理简介
网络准入控制(NAC)是一种重要的网络安全技术,负责验证设备和用户的身份、检查设备健康状况,并动态分配访问权限,确保只有符合安全策略的设备可以接入网络。NAC的关键角色包括终端设备、NAC服务器、认证服务器、接入设备和管理平台,各自分工明确,协同工作。原创 2024-12-05 19:30:00 · 2032 阅读 · 0 评论 -
Linux中的注入与Hook技术详解
本文详细介绍了Linux中的注入与Hook技术。注入是指将代码或共享库植入目标进程,以影响其执行流程,常见方式包括使用LD_PRELOAD环境变量、ptrace系统调用等。Hook则是通过在程序的关键节点插入自定义逻辑来改变行为,实现方式有函数劫持、内联Hook及修改PLT/GOT表等。原创 2024-12-04 09:15:00 · 2383 阅读 · 0 评论