tantan的博客

Notes, ideas, and observations

单点故障,分布式增加冗余提高系统的可用性

  • 1 月: 开源投毒
  • 1-3 月: Rust 教材
  • 4-5 月: 加入误报消减团队, 投 ASE/ICSE 论文
  • 3,5-10 月: 相似代码片段但是有漏洞情况不同 自己搜索, 研究 PDG, Call Graph, LLVM Pass, 函数切片, 错过 FSE
  • 7-11 月: 参加 GLCC 开源活动,参与进了一直以来都很崇拜的 Kata Containers 项目
  • 8-12 月: 搞浦发银行的项目

LLVM is a Static Single Assignment (SSA) based representation that provides type safety, low-level operations, flexibility, and the capability of representing ‘all’ high-level languages cleanly

  • 实现一个 C-to-assembly compiler
  • 可以有 pre-processer
  • 不需要 linker, 生成二进制通过已有的 Assembler
  • 支持常用的 C99 语法
  • 需要有编译优化

1
2
3
4
5
6
7
8
9
#!/bin/sh
set -e

export CC=afl-clang-fast
export CXX=afl-clang-fast++

./configure --enable-shared=no --enable-static=yes
make -j 32

1
2
3
4
5
# Generate private key
openssl genrsa -des3 -out myCA.key 2048
# Generate root certificate
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 825 -out myCA.pem \
-subj "/C=CN/ST=Shanghai/L=Shanghai/O=/OU=/CN=My first CA"
0%