9月安全笔记
daliy hacking这些笔记是我决定从海思内转至 RO0T lab之后学习的一些笔记, 暂时更新一下
9.2
读高通pac的白皮书
观看侯捷老师的C++内存管理session1
9.8
新书到了ebpf 云原生安全, 对ebpf一直很感兴趣, 之前学过一段时间, 最近再看一看,但是第一章倒是主要只讲了一些云原生安全的general的知识, 也就是docker的引入扩大了攻击面, 看到的一些话还是很有意思, 安全左移, 防护右移
继续看高通 pac 白皮书和论文pac man, pac和MTE 都很有意思, 算是最近arm架构为了抵御内存破坏漏洞引入的新机制, 看完 bypass pac之后可以再看看MTE的一些bypass, keep hacking
找了篇综述,感觉将的还是挺好的
还收集到了一些资料,明天看下https://hardenedlinux.github.io/gnu/toolchains/security/2017/06/13/ARM_PA.html (编译器实现相关)
https://justinyan.me/post/4129 (这个问题也很有意思,为 ...
Blocksec 课程笔记
BlockSec 区块链安全课程学习笔记还没写完, 最近没空搞, 先传一下先说下我的backgroud哈, 我对web3的生态和基础设施都有一定了解, 在near生态参与开发过DeFi项目和数据索引项目, 因此可能课程中比较基础的知识会直接略过, 本文是在学习BlockSec的一些学习笔记, 里面也会有一些课上内容的拓展研究, 多图预警!!!
第一节 账号与交易原来用Hardhat已经算是老古董了, 记得之前在Aurora上开发空投项目的时候还是用的Hardhat来着, 得试试新框架了
这个phalcon fork还挺有意思的, 可以从主网某个区块高度fork出一条当测试链, 不知道效率咋样, 之前在near上开发的时候做测试确实很麻烦的, 创建各种账户地址之后, 需要去结点里取合约状态再patch进去, 尤其测试复杂应用的时候需要填好几个和合约, near的普通rpc结点拉取状态还有大小限制, 超过limit就得去archive结点取, archive结点资源又很紧张…不知道现在解决了没
搜索一下eth fork test, 可以发现刚刚提到的foundry的forge也有类似的 ...
my dark 2023
My dark 2023想了下很久没有写博客了, 最近看到推特上都在总结自己的2023, 于是决定动笔决定记录一下自己的灰色的2023
1-5月1-5月划分一个阶段是因为这段时间是我最后的学生时光(当然小概率后面会读phd), 由于疫情的原因早早的回了家, 在家里交掉了论文初稿后忐忑的等待盲审抽取结果, 不过好在还是没有抽到, 让我的毕业压力小了很多, 1-4月其实还是在忙找工作的事情, 当时手上已经签约了趋势科技所以其实压力也不是很大, 当时寒假每天都去图书馆学ebpf 和 k8s, 每天过的充实而开心.
唯一没那么开心的就是作为“华孝子”却拒绝掉了华子的性格测评澄清, 好在1月光速被捞重新面试之后3月初开了奖, 也得以去了心心念念的华子, 回头看看这四个月里在家的时候反而技术得到了进步与提升, 去了学校之后忙于毕业的事情基本上技术处于荒废阶段, 不过好在最后也是顺利毕业, 结束了自己的求学生涯.
4月18日毕业之后回家基本上都在陪癌症晚期的爷爷, 我的爷爷是全世界最爱我的人, 却在今年五一前夕因为恶性黑色素瘤癌症晚期扩散至全身后去世, 这件事情对我的打击很大, 我的爷爷也是第 ...
Falco全解析(一)
Falco全解析(一)Falco能做什么Falco主要通过系统调用去加固和监视系统
解析来自内核的系统调用
强大的规则引擎判断系统调用是否安全
当发现非法系统调用时发出警告
Falco架构
从最底层开始介绍,Falco最底层是由LSM和ebpf驱动的一个monitor,他会捕捉全部的系统调用并且传输至引擎中判断,引擎也就是libsinsp和libscap,最后引擎使用GRPC或者其他通信方式发送出去,算是比较常规的架构(内核获取信息+用户态引擎判断+网络传输结果)
我对这部分ebpf的代码比较感兴趣,内核部分的代码在这里可以找到,同时引擎的代码也在这个仓库中,有意思的一点是现在sysdig的内核探针也是用的是Falco的,然而Falco是捐赠给CNCF的开源项目
使用Falco有直接可以运行的binary文件,因此可以直接执行falco,也可以使用官方提供的Falco Docker镜像运行,官方更推荐使用特权模式运行:12345678910docker pull falcosecurity/falco-driver-loader:latestdocker run --rm -i - ...
寒假学习笔记
Daily Hacking1.11
看了一集脱壳王,主要讲了编译AOSP8.0的一些注意点
k8s: Pod产生的原因是因为容器之间的超亲密关系,解决成组调度的问题,以及容器设计模式这一重要概念,为了避免容器之间的依赖关系,使用Infra容器创建namespace.
在使用minikube进行实验的过程中,尽管使用minikube启动了一个pod,但是使用docker ps -a查看发现只有一个kicbase容器在运行,这是docker in docker吗,docker in docker的namespace之间的层级关系又是什么样子的呢,之前文章中有提到会有隐患,会有什么样的隐患呢
每日一道LeetCode题目
1.12
整了一下论文评阅书,送明审
LeetCode每日一题
继续学习k8s,主要学projected volume,里面的serect(加密信息,保存在etcd中)、configmap(配置信息,通常为k-v对)、downloader api(用户获取pod相关信息,但是只能获取pre-set的),使用kubectl describe pod指令可以获取到Po ...
Unpack && Objection学习笔记
一些零零散散的学习笔记
Objection源码分析由于这部分分析是因为我想要使用objection的get Instance功能,我希望可以查找到目前heap中所有的DexClassLoader实例,因为实例中会有dex file的路径。
先简单说一下objection的原理,objection的所有功能都是依靠一个agent.js实现的,通过将agent注入到目标进程中,使用rpc的方式调用agent中的对应函数
通过阅读objection的wiki,想要在外部调用objection的命令的话可以通过rpc的方法,但是似乎不够优雅,并且只能使用限制的api。
https://github.com/sensepost/objection/blob/master/agent/src/rpc/android.ts
以脱样本为例(针对自定义class loader样本需要进行特殊处理):
12345com.car.cloth on (google: 10) [usb] # android heap search instances dalvik.system.DexClassLoaderCl ...
跨链论文-IOTJ2021
A cross-chain trusted reputation scheme for a shared charging platform based on blockchain解决的三个问题
1) It is difficult to verify the authenticity of information. When calculating reputation of the multi-chain charging model, C2T smart contract needs to call the information on different blockchains. Due to different consensus mechanisms adopted by different blockchains, the authenticity of the information cannot be mutually verified.这里是跨链数据真实性的问题
2) It is difficult to verify the real-time of inform ...
NEAR subgraph tutorial
Building Production-Ready Subgraphs on NEARIf you’re building your DApps on NEAR and are interested to adopt The Graph technology to empower the frontend and analytics of your project, this tutorial is exactly for you.
Let’s get started!!! :rocket:
Background
1. Introduction to Events on NEAR
NEP-297 Event Standard
Event Standards for FT and NFT
2. Implement Events in NEAR Smart Contracts
Events in NEAR Standard Contracts
Define Events for Your Contract
Emit Events in Your Contract
Now the Ev ...
The Graph开发心得(NEAR)
使用TheGraph开发链上数据索引的一些总结映射部分
变量命名的坑:这个问题主要出在GraphQL上,graph在查询数据时,对于多条数据查询需要将查询的entity变成复数形式,所以在命名entity时最好需要避开结尾是s,es等情况。
数据类型映射的问题:The Graph中的基础类型如下图,可以通过定义entity以及entity Array的形式得到任何复杂类型,文档中对于Int类型占用32个字节的说法存疑,BigDecimal可以保存浮点数,并且精度很高
数据运算:对于Int,BigInt,BigDecimal等数据,graph已经完成了对这些数据类型的运算符的重载,具体支持的计算类型如下:
1234567891011121314export declare namespace bigInt { function plus(x: BigInt, y: BigInt): BigInt // + function minus(x: BigInt, y: BigInt): BigInt // - function times(x: BigInt, y ...
Be a full stack hacker
Make a dreamFull Stack争取在未来的日子里成为一个全栈开发者