大创项目进度(从第十周开始)

之前是打算每周写一篇博客的,结果发现这些知识都连不到一起去,有点难受,还是先零散记着,等到以后觉得形成体系了,再去整理博客吧。

第十周

  1. 了解了Java语言中关于xml的DOM API

  2. 拉取了论文作者的镜像,并使用了作者提供的reuse进行了复现

    1. 云服务器好像没法进行可视化的操作,有点头大

    2. 复现结果好像不太妙

      image-20200424200938881

  3. 补充了一些Linux的基本操作

    1. docker的使用
    2. apt-get updateapt-get upgrade的区别 apt-get update与upgrade的区别
  4. 继续阅读论文,发现一大堆不懂的东西

    1. ASM bytecode-manipulation是啥
    2. javaagent又是啥
  5. 需要掌握的技术

    1. 代码编译技术
      1. 基于源代码的编译
      2. 基于字节码的编译
    2. 对代码进行插桩
      1. 增加一些代码,记录一些语句(变量使用前的checker之类的东西)

第十一周

自己的进度

  1. 论文阅读完成第一篇
  2. 收拾了自己的电脑,并发现了WSL
    1. 学习WSL的安装与应用
    2. 安装成功,并安装了Windows Terminal 进行优化
    3. 成功安装了zsh以及oh-my-zsh进行了一定程度上的优化
  3. 给自己又挖了几个坑,打了好几篇论文

小组进度

skip了

第十二周

  1. 新增加了3篇需要阅读的论文,内容是关于数学的一些模型
  2. 找到了阅读代码的入口
    1. 要根据程序的执行顺序找
    2. 介个代码从脚本那里找,别从maven插件那里看

第十三周

期末来了…

第十四周

  1. 继续阅读论文,买了一本《概率论基础教程》打算自学一手
  2. 开会过程中讲到,我们本科生目前的状态是储备知识、开拓眼界
  3. 目前项目的大体方向还没有确定,好像老师还在纠结是做generate还是做mutation

目前已经确定的

建立两个概率模型

  • 从GitHub上爬取JavaScript相关的数据,这一部分还可以抓取一些其他类型的数据,比如XML类型的
  • 从Mozilla上爬取JavaScript的历史数据,根据已有的问题去构建一个概率模型

后期经过比较之后确定这两个概率模型对最终fuzz结果的影响权重

好像是遇到的问题

目前关于黑盒fuzz的相关研究太多,研究已经深入,容易装车,很难凭借这些人手做出一些成果

所以现在需要去设计一个策略去从PUT中抓取数据(插桩?),然后最后结果做出一个灰盒或者是白盒

第十五周

上周完工

  1. 对前两周读的模糊测试综述的论文回看了一遍,写了一个总结笔记 https://uniqsy.github.io/2020/05/22/%E6%A8%A1%E7%B3%8A%E6%B5%8B%E8%AF%95%E8%B0%83%E6%9F%A5%E7%BB%BC%E8%BF%B0%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/
  2. 学习了如何使用ESLint但是因为自己对JavaScript了解太少,还没来得及做一个demo试试,但是已经把学到的查到的东西写了一份笔记 https://uniqsy.github.io/2020/05/25/ESlint%E8%B0%83%E7%A0%94%E5%AD%A6%E4%B9%A0%E4%BD%BF%E7%94%A8/
  3. 在循序渐进学JavaScript,一边看一边整理了一个笔记,https://uniqsy.github.io/2020/05/26/JavaScript%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/,本来打算今天上午做个demo试试,结果上午有点事耽误了,准备等会开完会试试
  4. 去看了看funfuzz工具包,在自己电脑上进行了一些布置,准备试一试,但是现在卡壳了,具体步骤也做了一份笔记,希望大佬能指点一下 https://uniqsy.github.io/2020/05/28/funfuzz%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/

第十六周

上周工作

夏亦凡

  1. 看了amutation的论文
  2. 安装了idea的一个插件 antlr-test

其他大一的

  1. 看了一下language-model的几篇论文

学长