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

最新发布

汇编中的分支与循环
编程开发

汇编中的分支与循环

江海志 3周前 (04-03) 63浏览 0评论

在高级语言程序设计中,我们不仅要求程序能够顺序执行,还要求其能够执行不同分支,或者重复执行某些操作。在汇编语言中,同样具有相同的能力,可以由相应的指令来控制程序的执行流程。因为毕竟高级语言都是汇编实现的,只是不直观而已。 转移 无条件转移为JMP,类似c语言中的 goto。在c语言中,goto是不推荐使用的,会使程序难以控制和理解,但在汇编中,没有相应的if 和 while语句...

什么是回调函数(callback function),它有什么作用?
编程开发

什么是回调函数(callback function),它有什么作用?

江海志 3周前 (04-02) 62浏览 0评论

编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程序员会给自己写的库留下一些接口,即API(application programming interface,应用编程接口),以供应用程序员使用。...

详细分析HTTPS 原理以及为什么要这么做
网络安全

详细分析HTTPS 原理以及为什么要这么做

江海志 3周前 (03-31) 73浏览 0评论

前言 HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并不是一个新鲜协议,Google 很早就开始启用了,初衷是为了保证数据安全。 近两年,Google、Baidu、Facebook 等这样的互联网巨头,不谋而合地开始大力推行 HTTPS, 国内外的大型互联网公司很多也都已经启用了全...

系统安全

关于泊松分布的理解

江海志 1个月前 (03-16) 148浏览 0评论

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

系统安全

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

江海志 1个月前 (03-14) 136浏览 0评论

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

stack frame栈帧简介
系统安全

stack frame栈帧简介

江海志 1个月前 (03-13) 148浏览 0评论

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

程序或-内存区域分配(五个段)
系统安全

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

江海志 1个月前 (03-13) 144浏览 0评论

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

ELF文件格式解析
系统安全

ELF文件格式解析

江海志 1个月前 (03-13) 151浏览 0评论

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

系统安全

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

江海志 1个月前 (03-13) 133浏览 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) 综述

江海志 2个月前 (03-03) 232浏览 0评论

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

系统安全

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

江海志 2个月前 (03-03) 162浏览 0评论

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

HTTP/2之服务器推送(Server Push)实例分析
网络安全

HTTP/2之服务器推送(Server Push)实例分析

江海志 2个月前 (03-02) 156浏览 0评论

HTTP/1.X出色地满足互联网的普遍访问需求,但随着互联网的不断发展,其性能越来越成为瓶颈。IETF在2015年发布了HTTP/2标准, 着重于提高HTTP的访问体验, HTTP2优势主要包括: 二进制传输、头部压缩、多路复用和服务器推送(Server Push)。 截止目前, 大部分CDN厂商已经宣布支持HTTP/2,然而”支持”大多省略了服务器推送(ServerPush)...