G1D21-作业-AttacKG&SVM&kg_book&偷懒哈哈哈

唔~咖啡泡出来好好看呀!

一、写作业

第一件事是将昨天读的NER综述补充到作业之中~大概30min
50分钟,补充完了思维导图和文档,明确了下一步论文的阅读方向——NER的综述/网安NER具体技术类文章(找找最新的叭)。

二、AttacKG

(一)重调代码

昨天代码跑起来啦,但是emm输出结果好奇怪hhh,本以为是源代码的bug,但看了哆啦a梦的blog,emm发现是自己的问题,再看看~预计1小时

1、重新装了coferee,不太管用

2、把图片放大看,好像没有那么荒凉,还是有字的

哈哈哈哈哈G1D21-作业-AttacKG&SVM&kg_book&偷懒哈哈哈_第1张图片
要被蠢死啦hhhh
G1D21-作业-AttacKG&SVM&kg_book&偷懒哈哈哈_第2张图片
不过这也太丑了叭~

(二)改字体大小(小改代码)

借着这个机会,熟悉一下这里面的代码~
1、在main.py找到对应画图函数
在这里插入图片描述
在这里插入图片描述

2、跳进attackGrapg_generatingG1D21-作业-AttacKG&SVM&kg_book&偷懒哈哈哈_第3张图片
3、改draw就好啦
G1D21-作业-AttacKG&SVM&kg_book&偷懒哈哈哈_第4张图片
4、文本太长了emm全都重叠了
G1D21-作业-AttacKG&SVM&kg_book&偷懒哈哈哈_第5张图片
5、主要问题在于label太长了,好丑,之后再调,把节点调大了一点
G1D21-作业-AttacKG&SVM&kg_book&偷懒哈哈哈_第6张图片
6、现在觉得git真香哦~

—1402下午场的AttacKG,

(三)梳理代码

1、先磨下刀,看看别人是怎么复现一篇论文的

(1)先看.py文件的结构,一般分为数据预处理、增强、训练、测试
(2)放小批量数据debug,弄清模块之间的顺序,每个模块的大致功能,不需要弄清楚细节
(3)画出流程图,理清每个模块之间的关系。
https://blog.csdn.net/weixin_45638136/article/details/123772812

tips:

(1)勤注释;输入、输出、功能,不熟练时加入输入输出维度

2、梳理.py结构

(1)惊奇地发现了一张图,比论文呢里的详细一点嘿嘿

(2)大致目录
preprocess是对报告的预处理
G1D21-作业-AttacKG&SVM&kg_book&偷懒哈哈哈_第7张图片

3、main.py

G1D21-作业-AttacKG&SVM&kg_book&偷懒哈哈哈_第8张图片
G1D21-作业-AttacKG&SVM&kg_book&偷懒哈哈哈_第9张图片


    running_mode = arguments.mode
    print(f"Running mode: {running_mode}")
    if running_mode == "iocProtection":
        # 什么是ioc_protection?
        #输入:报告;
        #功能:先使用"./ioc_regexPattern.json" 找到ioc,再用 "./ioc_replaceWord.json"将其换成对应类型(例如"DocumentFile": "document",),
        #不太明白换了有什么用
        #输出:replaced_text
        ioc_identifier = ioc_protection(report_text)
    elif running_mode == "nlpModelTraining":
        # NLP model training dataset's path, default 路径在../ AttacKG / NLP / Doccano / 20210813.json。好像找不到?
        # 输入:训练集路径,找不到数据hh,default="../AttacKG/data/cti/html/003495c4cb6041c52db4b9f7ead95f05.html
        #输出:训练好的模型./new_cti.model
        # 功能:指定训练数据集,进行训练,生成模型
        trainingSet_path = arguments.trainingSetPath
        parsingModel_training(trainingSet_path)
    elif running_mode == "reportParsing":
        # 输入:report_text
        # 输出:(iid, ioc)----doc为标记好的文本;iid为换好词的文本
        # 功能:分析report
        cti_doc = report_parsing(report_text)
    elif running_mode == "attackGraphGeneration":
        # 输入:报告文本,输出地址
        # 输出: 返回ag, ag = AttackGraph(doc, ioc_identifier=iid),
        # draw pdf-----ag.draw(output)
        # 生成json文件,大概是画的内容叭~ag.to_json_file(output + "_artifacts.json")
        # 功能:分析文本+画图啦
        attack_graph = attackGraph_generating(report_text, arguments.outputPath)
    elif running_mode == "techniqueTemplateGeneration":
        # 输入:输出路径
        #输出:
        # 需要仔细再看看
        techniqueTemplate_generating(output_path=arguments.outputPath)
    elif running_mode == "techniqueIdentification":
        # 输入:如下所示
        #输出:
        #功能:发现文本里的technique
        # 需要仔细看看
        attack_matcher = technique_identifying(report_text, picked_techniques, arguments.templatePath, arguments.outputPath)
    else:
        print("Unknown running mode!")

4、最后两个模块没时间好好看啦,要去跑步啦

1606

三、SVM&RF

今天要看看svm调参的问题&RF的原理~

(一)SVM

1、先跑一下~

2、其他笔记写电脑文档上啦

-------1357
上午写着写着被叫去吃饭啦~
简单试了一下核函数
还差一个多项式核没试~试一下,然后就继续去看KG的代码啦

3、没怎么调的情况下,还是高斯核是最好的

4、之后看下别人是怎么调svm的~ 动手试一试~

接着去看AttacKG啦

-----------1851
今天跑了6km欸,速度比昨天还快一点~运动完心情真的会好!磨磨唧唧看视频吃完饭后,没想到这么自觉开始学习emmmm要被自己感动哭了
看会图谱的书叭~明天晚上还有个讲座捏捏捏

四、KGBOOK

—2057
感觉晚上效率不高哇~不过适当休息也蛮好呀!轻松学习!
刚刚看了3.2知识建模和3.3知识抽取,主要讲的是相关工具。
我的重点放在工具实现的原理上,借此机会去了解,这些任务的工程化实现方法~

(一)知识建模(7步)

1、确定本体的领域和范围
2、考虑使用已有本体
3、列举本体中的关键项
4、确定类和类的结构
5、确定类的属性(对象属性、数据属性)
6、确定属性特点(数据属性的数据类型)
7、创建实例(实体)

五、RCE

(一)安装BURPSUITE

我感觉时间会静止在这个安装时刻
先下着叭~
去看看php漏洞视频叭~

emmm为什么56 这么长呀~还是休息叭hhh

(二)知识抽取

1、导入先验数据(labeled)
2、导入待抽取数据
3、文本预处理(token,词根还原,词性标注,ner,依存句法分析)
4、实体抽取(mention_text,doc_id,sentence_index,begin_index,end_index)
5、候选实体对生成
6、特征抽取
7、样本标注(远程监督&启发式)
8、因子图构建(好像就是个模型???用来生成关系的)

好啦好啦,总结完了,我去看看ctf了~

N、杂

(一)spacy

emm一笔都没写哦~

你可能感兴趣的:(APT&KG,算法)