最新消息:非无江海志,潇洒送日月

系统安全

对进程和线程的理解,他们的区别是什么?

江海志 1年前 (2023-08-30) 2299浏览 0评论

首先来一句概括的总论:进程和线程都是一个时间段的描述,是CPU工作时间段的描述。是运行中的程序指令的一种描述,这需要与程序中的代码区别开来。 另外注意这里我说的进程线程概念,和编程语言中的API接口对应的进程/线程是有差异的。 下面细说背景:CPU+RAM+各种资源(比如显卡,光驱,键盘,GPS, 等等外设)构成我们的电脑,但是电脑的运行,实际就是...

N-gram语言模型简单介绍与理解教程

江海志 6年前 (2018-08-22) 3343浏览 0评论

考虑一个语音识别系统,假设用户说了这么一句话:“I have a gun”,因为发音的相似,该语音识别系统发现如下几句话都是可能的候选:1、I have a gun. 2、I have a gull. 3、I have a gub. 那么问题来了,到底哪一个是正确答案呢? 一般的解决方法是采用统计的方法。即比较上面的1、2和3这三句话哪一句在英语中出现的概率最高,哪句概率最高就...

关于泊松分布的理解

江海志 7年前 (2018-03-16) 5379浏览 0评论

首先必须由二项分布引出: 如果做一件事情成功的概率是 p 的话,那么独立尝试做这件事情 n 次,成功次数的分布就符合二项分布。展开来说,在做的 n 次中,成功次数有可能是 0 次、1 次 …… n次。成功 i 次的概率是: ( n 中选出 i 项的组合数) * p ^ i * (1-p)^ (n-i) 以上公式很容易推导,用一点概率学最基本的知识就够了。因为每一特定事件成功的概...

GPG的生成随机数的原理思考

江海志 7年前 (2018-03-14) 3262浏览 0评论

“随机数”不等于“随便产生的数”。 用于密码学的“真随机数”必须满足其分布为平均分布(uniform random distribution)这个要求。而这个,在技术实现上是很难的,采样、启动噪声源都是导致随机bit产生的速度远远慢于“随便弄个数”的原因。 “伪随机”(pseudorandom)的字面意思是说,“看起来像真随机”。 学界已经有很多怎么把...

stack frame栈帧简介

stack frame栈帧简介

江海志 7年前 (2018-03-13) 5192浏览 0评论

0x01 栈帧是什么 “IA32 programs make use of the program stack to support procedure calls”. “IA32程序使用程序栈帧来支持子程序调用”(出自CSAPP,即《深入理解计算机系统》) 个人理解,栈帧就是内存的一段数据,在内存栈区域,对子程序的数据进行一个临时保存。 什么是栈? 栈和堆类似,都是操作系统中...

程序或-内存区域分配(五个段)

程序或-内存区域分配(五个段)

江海志 7年前 (2018-03-13) 3513浏览 0评论

一. 在学习之前我们先看看ELF文件。 ELF分为三种类型:.o 可重定位文件(relocalble file),可执行文件以及共享库(shared library),三种格式基本上从结构上是一样的,只是具体到每一个结构不同。下面我们就从整体上看看这3种格式从文件内容上存储的方式,spec上有张图是比较经典的:如上图: 其实从文件存储的格式来说,上面的两种view实际上是一样...

ELF文件格式解析

ELF文件格式解析

江海志 7年前 (2018-03-13) 4037浏览 0评论

1. ELF文件简介 首先,你需要知道的是所谓对象文件(Object files)有三个种类: 可重定位的对象文件(Relocatable file) 这是由汇编器汇编生成的 .o 文件。后面的链接器(link editor)拿一个或一些 Relocatable object files 作为输入,经链接处理后,生成一个可执行的对象文件 (Executable file) 或...

动态链接库中的.symtab和.dynsym

江海志 7年前 (2018-03-13) 3025浏览 0评论

shared library (.so) “Program Library Howto-Shared Libraries“是很好的材料, 下面的内容多是据此整理的. 定义: Shared libraries are libraries that are loaded by programs when they start. 使用shared librar...

英特尔SGX侧信道攻击 (side-channel attacks) 综述

英特尔SGX侧信道攻击 (side-channel attacks) 综述

江海志 7年前 (2018-03-03) 6010浏览 0评论

Intel SGX 技术是一种新的基于硬件的可信计算技术。该技术通过CPU的安全扩展,对用户空间运行环境(enclave)提供机密性和完整性保护。即使是攻击者获得OS,hypervisor,BIOS 和SMM 等权限,也无法直接攻击enclave。因此,攻击者不得不通过侧信道的攻击方法来间接获取数据(比如隐私数据,加密密钥等等)。得益于enclave 的强安全假设和工作模型,攻...

Intel SGX 新技术学习研究资料总结

江海志 7年前 (2018-03-03) 5021浏览 0评论

SGX是Intel开发的新的处理器技术,可以在计算平台上提供一个可信的空间,保障用户关键代码和数据的机密性和完整性,从SGX提出后,其吸引了一批系统和网络安全的研究者,NCCGroup的博客对SGX方面的资料进行了一个初步的总结,对研究者学习SGX技术具有很好的引导作用。这里主要根据该博文对SGX进行简单的整理。 目前并没有基于SGX的产品出现,不过学术界已经给出了一些应用来说...