Author Archives: JeanLeo

OpenSSL与证书的那些事儿

    前面分析过加解密、证书与安全通信之间的关联关系(参考博文《漫谈从加解密到信任证书构成的安全通信》),现在换个角度来剖析证书的制作与其本质。我们先构建一个CA环境,生成CA密钥、制作CA证书请求、自签名等,然后通过自建的CA来签发用户证书。

准备工作

通过命令查询opens[……]

阅读全文

漫谈从加解密到信任证书构成的安全通信

加密(Encryption就是通过某种方法将可以被理解的数据信息隐藏起来并生成不可被理解的数据信息。可理解的数据信息通常称之为明文(Plain Text,而隐藏了明文的不可被理解的数据信息被称之为密文(Cipher。至于解密(Decryption,则恰好相反,它是将密文转变为明文的过程,将被隐藏的信息从不可被理解的数据信息中还原[……]

阅读全文

【Linux内存源码分析】vmalloc不连续内存管理(1)

伙伴管理算法初衷是解决外部碎片问题,而slab算法则是用于解决内部碎片问题,但是内存使用的得不合理终究会产生碎片。碎片问题产生后,申请大块连续内存将可能持续失败,但是实际上内存的空闲空间却是足够的。这时候就引入了不连续页面管理算法,即我们常用的vmalloc申请分配的内存空间,它主要是用于将不连续的页面,通过内存映射到连续的虚拟地址空间中,提供给申请者[……]

阅读全文

【Linux内存源码分析】内存泄漏检测kmemleak分析

kmemleak的工作原理很简单,主要是对kmalloc()vmalloc()kmem_cache_alloc()等接口分配的内存地址空间进行跟踪,通过对其地址、空间大小、分配调用栈等信息添加到PRIO搜索树中进行管理。当有匹配的内存释放操作时,将会把跟踪的信息从kmemleak管理中移除。

通过内存扫描(包括对保存的寄存器值),如果[……]

阅读全文

【Linux内存源码分析】内存破坏检测kmemcheck分析

kmemcheck和kmemleaklinux2.6.31版本开始对外提供的内核内存管理方面的两个检测工具,最初仅支持x86环境,时至今日已经能够支持arm环境了。其中kmemcheck主要是用于内核内存破坏检测,而kmemleak则是用于内核内存泄露检测。本文主要分析kmemcheck的实现,至于kmemleak下一篇文章再详细介绍。

[……]

阅读全文