只要平时对安全领域感兴趣的读者肯定都听过spectre&Meltdown侧信道攻击,今天简单介绍一下这种攻击的原理( https://www.bilibili.com/video/av18144159?spm_id_from=333.788.b_765f64657363.1 这里有详细的视频介绍,墙裂推荐). 1.CPU顺序执行指令 众所周知,程序是由一条条指令顺序排列构成的,老的cpu也是逐行执行指令:随着cpu的技术发展(著名的摩尔定律),cpu执行指令的速度越来越快,和内存读写速度的差距越…
前面介绍了row hammer,理论上很完美,实际操作的时候会面临很尴尬的问题:内存存储数据最小的单位是cell(就是个电容,充电是1,放电是0),无数个横着的cell组成row,无数个竖着的cell组成colume:数个row和colume组成bank,多个bank组成chip,然后是rank,接着是dimm.channel,总的逻辑包含顺序是:channel->dimm->rank->chip->bak->row/colume->cell:怎么把物理地址映射到具体的…
今天介绍raw hammer攻击的原理:这次有点“标题党”了.事实上,raw hammer是基于DRAM内存的攻击:所以理论上,只要是用了DRAM内存的设备,不论是什么cpu(intel.amd,或则x86.arm架构),也不论是什么操作系统(windows.linux.ios.arm等),都可能受到攻击:常见的raw hanmmer攻击效果: 提权+宕机,却无需利用软件层面的任何漏洞 打破进程间隔离.user-kernel隔离.VM间隔离以及VM-VMM间隔离,对内存地址的内容进行读+写,却无…
上面一篇介绍了spectre&meltdown基本原理和简单的demo方案,今天继续学习一下该漏洞发现团队原始的POC:https://spectreattack.com/spectre.pdf 1.先展示一下运行结果,便于有个直观的认识:从打印的结果来看,成功猜测出了secret字符串的内容: 2.下面详细解读代码 (1)整个漏洞利用核心的两个函数:rdtscp和clflush都在这两个头文件里申明了: #ifdef _MSC_VER #include <intrin.h> /* f…
前面简单介绍了row hammer攻击的原理和方法,为了更好理解这种底层硬件类攻击,今天介绍一下cpu的cache mapping: 众所周知,cpu从内存读数据,最开始用的是虚拟地址,需要通过分页机制,将虚拟地址转换成物理地址,然后从物理地址(默认是DRAM,俗称内存条)读数据:但内存条速度和cpu相差近百倍,由此诞生了L1\L2\L3 cache:cpu取数据时,会先从各个层级的cache去找,没有的再从内存取:那么问题来了,L3 cache里面有set.slice.line等模块将整个ca…
第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法 原文地址:http://bristolcrypto.blogspot.com/2015/08/52-things-number-45-describe-some-basic.html 为了让这篇文章保持简单,我们将会我们将讨论所谓的"香草"RSA(在加密中不使用随机性),并强调少量潜在的侧通道攻击和对策. 让我们回顾一下简单的RSA加密方案. 密钥生成:选择一对秘密的素整数\(p\)和\(q\),然后计算模\(N = pq\…
第四十三个知识点:为AES描述一些基础的(可能无效)的对抗侧信道攻击的防御 原文地址:http://bristolcrypto.blogspot.com/2015/07/52-things-number-43-describe-some-basic.html 侧信道防御:为什么 对于一个现代的严肃的密码学方案,我们一般需要某种形式的安全证明.在AES中,我们认为如果攻击者不知道密钥,那么它就是一个随机排列.然而如果攻击者有侧信道信息,这可能不再安全.因此,我们能做什么防御它呢?理想的,我们可以创…
作者:backahasten 发表于小米安全中心微信公众号 0x00 前言 Unicorn可以模拟多种指令集的代码,在很多安全研究领域有很强大的作用,但是由于需要从头自己布置栈空间,代码段等虚拟执行环境,阻碍了他的使用,本文将会分析一个实例,并介绍Unicorn虚拟运行环境的构建. 本文的例子是一个白盒实现的DES算法,在riscrue的文章Unboxing the white box[1]中介绍了白盒攻击的类侧信道和类错误注入方法,并用这个程序作为例子.在riscure的代码中,由于pytho…
0x00 前言 随着物联网IOT的飞速发展,各类嵌入式设备, 路由器安全研究也越来越火. 但因为跟以往纯软件安全研究的要求不同, 这类研究往往需要结合相应的硬件知识. 很多朋友困惑如何开始, 甚至卡在了该选何种工具上. 因此汪汪将会在系列文章中分享一些实战案例和相应的工具使用. 希望能对嵌入式安全研究起到抛砖引玉作用. 在WINKHUB这个案例中我们将使用几款简单的入门工具如万用表; UART 转接头和导线等. 同时将介绍一种通过芯片阻断的方式, 获取系统ROOT权限的攻击方法. 这种方法是俗称…
做SCTF时碰到一个没看过的题型,比赛结束之后才知道是orw的一个玩法,测信道攻击.主要特点就是只给使用open,read,但是不给write,即无法把flag输出到终端.这里可以通过把flag读到栈上,再逐个爆破比较,来确定flag.原理和web的时间盲注类似. 下面给出一个UNCTF的测信道攻击的例题: 1 __int64 __fastcall main(__int64 a1, char **a2, char **a3) 2 { 3 unsigned int v3; // eax 4 __i…
ElasticSearch(五):Mapping和常见字段类型 学习课程链接<Elasticsearch核心技术与实战> 什么是Mapping Mapping类似数据库中的schema的定义,作用如下: 定义索引中的字段的名称: 定义字段的数据类型,例如字符串.数字.日期.布尔等: 对每个字段进行倒排索引的相关配置(Analyzed or Not Analyzed,Analyzer): Mapping 会把JSON文旦映射成Lucene所需要的扁平格式. 一个Mapping属于一个索引的Typ…
原文:Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_36697880/article/details/100660867 Elasticsearch的Mapping,定义了索引的结构,类似于关系型数据库的Schema.Elasticsearch的Setting定义中定义分片和副本数以及搜索的最…
一.Mapping介绍 在Elasticsearch中,Mapping是什么? mapping在Elasticsearch中的作用就是约束. 1.数据类型声明 它类似于静态语言中的数据类型声明,比如声明一个字段为String, 以后这个变量都只能存储String类型的数据.同样的, 一个number类型的mapping字段只能存储number类型的数据. 2.Mapping它定义了 Type 的属性. "_ttl": {"enabled": false} 表示 tt…
最近爆出来的 Intel CPU 的底层漏洞可谓是影响巨大,过去20年的电脑都可能会受影响.前几天 Raspberry Pi 的官方 Twitter(@Raspberry_Pi) 转推了这篇文章,通过简单的 Python 程序分析了各种硬件术语和漏洞攻击模式,内容简单易懂,看后神清气爽.今天抽空将其翻译,分享给大家.本人英语也不算太好,对着百度磕磕绊绊的翻译了出来,如有错误请多多包涵.--2018年1月8日 *原文地址:https://www.raspberrypi.org/blog/why-r…
一.背景: 1月4日,国外爆出了整个一代处理器都存在的灾难性漏洞:Meltdown和Spectre. 几乎影响了全球20年内所有cpu处理器:这两个漏洞可以使攻击者通过利用并行运行进程的方式来破坏处理器的特权内存,通俗的来说:攻击者能够窃取系统中任何数据. 目前,所有安全厂商都对这两个漏洞详细信息以及攻击方式进行复现和验证,但是讲解的都非常专业,难懂.所以我从网上搜寻了多个分析文章,结合个人简单理解,提取了如下一些内容,简单介绍下这次的漏洞: (由于本人对硬件技术了解有限以及目前爆出来的资料不是…
Meltdown攻击处理器A级漏洞MELTDOWN(熔毁)和SPECTRE(幽灵)分析报告AntiyLabs • 2018年01月05日 • 漏洞 • 阅读 1162一.概述安天应急处理中心在2018年1月4日,针对Google公司的Project Zero等安全团队披露出的英特尔等处理器芯片存在非常严重的安全漏洞,发布了A级漏洞风险通告,并提醒该漏洞演化为针对云和信息基础设施的A级网络安全灾难.相关漏洞利用了芯片硬件层面执行加速机制的实现缺陷实现侧信道攻击,可以间接通过CPU缓存读取系统内存数…
转自:http://www.wowotech.net/basic_subject/meltdown.html#6596 摘要(Abstract) The security of computer systems fundamentally relies on memory isolation, e.g., kernel address ranges are marked as non-accessible and are protected from user access. In this p…
1. 引言 2018年1月3日,Google Project Zero(GPZ)团队安全研究员Jann Horn在其团队博客中爆出CPU芯片的两组漏洞,分别是Meltdown与Spectre. Meltdown漏洞影响几乎所有的Intel CPU和部分ARM CPU,而Spectre则影响所有的Intel CPU和AMD CPU,以及主流的ARM CPU.从个人电脑.服务器.云计算机服务器到移动端的智能手机,都受到这两组硬件漏洞的影响.这必将是要在安全界乃至整个计算机界载入史册的重要日子,各种报…
Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束 北京时间12月12日晚,Intel在圣克拉拉举办了架构日活动.在五个小时的演讲中,Intel揭开了2021年CPU架构路线图.下一代核心显卡.图形业务的未来.全新3D封装技术,甚至部分2019年处理器新架构的面纱. 访问购买页面: 英特尔旗舰店 姗姗来迟的消费级CPU路线图 近一段时间以来,业界一直非常期待看到Intel未来的架构路线图,但自Skylake以来却一直处于犹抱琵琶半遮面的状态.最近几个月Intel简单公…
Bristol大学密码学博士生的五十二个知识点 这个系列,是Bristol大学的密码安全工作组为密码学和信息安全相关的博士准备了52个基本知识点. 原地址:http://bristolcrypto.blogspot.com/2014/10/52-things-number-1-different-types-of.html 对密码学基础是一个极好的总结. 每篇内容不多但是问题提出的极好.我翻译过来是随手之意. 计算机工程方面(E) Number 1 通用处理器,带指令扩展的通用处理器,专用处理器…
时序攻击属于侧信道攻击/旁路攻击(Side Channel Attack),侧信道攻击是指利用信道外的信息,比如加解密的速度/加解密时芯片引脚的电压/密文传输的流量和途径等进行攻击的方式,一个词形容就是“旁敲侧击”. 举一个最简单的计时攻击的例子,某个函数负责比较用户输入的密码和存放在系统内密码是否相同,如果该函数是从第一位开始比较,发现不同就立即返回,那么通过计算返回的速度就知道了大概是哪一位开始不同的,这样就实现了电影中经常出现的按位破解密码的场景.密码破解复杂度成千上万倍甚至百万千万倍的下…
在上一篇简单复习了AES的历史时间节点.产生背景.与DES的对比.算法框图(粗略)以及一些数学基础,如果不记得的话点击这里回顾.下面将介绍AES算法的细节. 下面给出AES算法的流程,图片来源:密码算法详解--AES. 通过上图可以知道,AES的加密算法主要可以概括为: ① 一个初始轮密钥加变换 ② Nr-1轮的标准轮变换 ③ 最后一轮的非标准轮变换 注意: ① 第一步和最后一步都用了轮密钥加,因为没有密钥参与的变换都是容易被攻破的. ② DES的IP和IP-1都没有密钥的参与. 8.1 轮变换…
第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗? 几个月前(回到3月份),您可能还记得我在这个系列的52件东西中发布了第23件(可以在这里找到).这篇文章的标题是"编写一个C程序来实现蒙哥马利算法",并包含了实现的一部分.在本文中,我们将研究这个实现,并了解它如何泄漏信息,从而对泄漏的情况有一个实际的了解. 在继续之前,我想提醒你一下我的上一篇文章,它研究了SPA和DPA攻击的区别.从那里你会记得,SPA攻击使用一个或很少的痕迹的发现趋势和工作模式(…
先理解一下题目:VoltJockey: Breaching TrustZone by Software-Controlled Voltage Manipulation over Multi-core Frequencies,这个漏洞打破了ARM下的TrustZone(可信执行环境),通过使用软件控制的电压来影响多核上的频率来达到目的,这个软件实际上就是DVFS(dynamic voltage and frequency scaling),后面会讲到.作者利用"骑士"漏洞从TrustZo…
超能课堂(186)CPU中的那些指令集都有什么用? https://www.expreview.com/68615.html 不明觉厉 开始的地方 第一大类:基础运算类x86.x86-64及EM64T等 第二大类:SIMD指令集,有SSE系列,AVX系列 多媒体应用 加解密运算 数据序列化 游戏 科学计算&人工智能 检测处理性能,跑分 第三大类:虚拟化指令集Intel,虚拟机应用 第四大类:安全类指令集,如加解密AES-IN指令集 第五大类:多线程应用,TSX事务同步扩展指令集 总结 本文约51…
原文 Node.js Interview Questions for 2017 什么是error-first callback? 如何避免无止境的callback? 什么是Promises? 用什么工具来保证代码的一致性风格? 为什么保持一致性风格很重要? When should you npm and when yarn? 什么是stub? 举个例子! 什么是test pyramid? 举个例子! 你喜欢哪个HTTP框架,为什么? 如何保护你的HTTP cookies 不遭受XSS攻击? 如何…
题目打包下载:https://yunpan.cn/ckyrKxHJDPAIN (提取码:bbaf) Web 1.签到(10) 扫码回复 hs_ctf拿flag, 套路题. flag_Xd{hSh_ctf:WelcomeTo2016XiDian&HumenHS} 2.打不过~(50) 打不过绕道走~ http://huashan.xdsec.cn/ctfhs00b.php 直接将submit按钮改成可点击,然后抓包,发现str值为OGM0MzU1NTc3MTdhMTQ4NTc4ZmQ4MjJhYW…
道哥的<白帽子讲web安全>有一章提到Padding Oracle Attack的攻击方式,据说这货在2011年的Pwnie Rewards上还被评为"最具价值的服务器漏洞". 抱着书看了半天,感觉也不是很理解,和密码学结合的比较紧,有一些理论的东西在里面.这里做个学习笔记,研究一下. 1. 相关阅读材料 https://github.com/GDSSecurity/PadBuster PadBuster - Automated script for performing…
这是我们的第二期NMAP备忘单(第一期在此).基本上,我们将讨论一些高级NMAP扫描的技术,我们将进行一个中间人攻击(MITM).现在,游戏开始了. TCP SYN扫描 SYN扫描是默认的且最流行的扫描选项是有一定原因的.它可以在不受防火墙限制的高速网络每秒扫描数千个端口 .同时也是相对不显眼的和隐蔽的,因为它永远不会完成TCP连接. 命令:NMAP -sS 目标 TCP连接扫描 当SYN扫描不可用的时候,TCP连接扫描是默认的TCP扫描类型.这是在用户不具有发送RAW数据包的特权的情况下.不是…
-u #注入点 -f #指纹判别数据库类型 -b #获取数据库版本信息 -p #指定可测试的参数(?page=1&id=2 -p "page,id") -D "" #指定数据库名 -T "" #指定表名 -C "" #指定字段 -s "" #保存注入过程到一个文件,还可中断,下次恢复在注入(保存:-s "xx.log" 恢复:-s "xx.log" –resu…