自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

围城

本人博客于2020年7月28日自https://www.jianshu.com/u/18d537fe97ee搬迁到CSDN

  • 博客(33)
  • 收藏
  • 关注

原创 GAN的学习 - 训练过程(冻结判别器)

20200823 -0. 引言在前一篇文章《GAN的学习》中简单介绍了构造GAN的过程,包括如何构造生成器和判别器,如何训练GAN等,但是其中存在一个问题,就是在训练过程中怎么保证判别器不更新权值。下面针对这部分进行具体的描述。1. 整体的流程...

2020-08-23 09:52:55 11602

原创 GAN的学习 - 基础知识了解

20200818 -引言最近看到了一些论文,是GAN在密码生成(PassGAN)、DGA检测(DeepDGA)这些论文,所以希望深入了解一下GAN的内容。之前的时候,只是直到GAN是什么东西,通过训练两个神经网络,然后相互促进来实现检测的目标,不过没有深入了解过。这里根据刚刚阅读的一篇文章[1]来记录下学习的内容。大部分内容是文章[1]的原始内容,加上自己的理解。GAN的结构不管是什么网站,只要一介绍GAN就会告诉你:**GAN由两个部分组成,一个部分是生成器,一个部分是判别器。**那么具体,他们

2020-08-19 08:45:05 2352

原创 LSTM生成文本(字符级别)

20200817 -引言在网上看到过一些利用深度学习来生成文本的文章,不管生成宋词也好,生成小说也好,各种各样,都是利用深度学习的模型来生成新的东西。之前的时候,我也一直觉得,他们这种生成方式,应该就是记忆性的东西,他并没有真正的从语义的角度上理解这个文章。当然,我自己也是才疏学浅,本身就不是专门搞这种东西的人。本篇文章中,记录一下我在网上看到的一篇利用LSTM生成文本的文章。需要注意的几个点是1)训练过程中,输入的是什么2)根据输出,预测的又是什么3)最后输出的内容是否可读,又是否有意义,是否

2020-08-17 21:09:38 1452

原创 大规模数据的PCA降维

20200810 -0. 引言最近在做的文本可视化的内容,文本处理的方法是利用sklearn的CountVer+Tf-idf,这样处理数据之后,一方面数据的维度比较高,另一方面呢,本身这部分数据量也比较大。如果直接使用sklearn的pca进行降维,会很慢,而且pca也没有n_jobs来支持多线程工作。不过,我看到spark中已经支持的pca了,所以希望通过spark来实现这部分内容。1. spark的PCA算法1.1 官方使用示例>>> from pyspark.ml.lina

2020-08-10 16:41:52 1780

原创 charactor级别处理字符串及2vec

20200810 -引言本篇文章来记录一些自然语言中处理字符或者字符串的一些方法。(本人非专业人士,主要就是从网上顺着思路来弄一些东西,参考时请结合自己的实际情况)gram处理在一些其他的博客中,大多数都是针对句子或者文章进行分析,其分析的单位是一个单词,这也是word2vec的主要工作。但是,我这里的一个需求是,对DGA域名进行分析,这里面没有单词的概念。这里记录几个关于这部分内容的处理方式。也就是说,我处理的应该是字符级别的n-gram内容。定义要处理的内容是字符串的数组,每个元素都是"goo

2020-08-10 10:40:19 1071

原创 DGA - 研究内容整理

20200809 -引言DGA算法是一种生成域名的算法:以时间或者一些特定字符串作为种子,然后利用一定的算法(例如加密算法),来生成随机域名的方式。恶意软件的制作者通过这种方式来迷惑安全工作者,传统的恶意软件利用硬编码的方式将CC域名保存在程序中,安全工作者可以对这部分域名进行封堵实现截断通信的过程。在DGA算法的帮助下,恶意程序会发出大量DNS请求(包含DGA生成的域名),而制作者利用同样的算法和同样的种子生成同样的列表,从中挑选任意个在DNS厂商进行注册,以此躲避封堵。而针对DGA的研究,可以有

2020-08-09 16:14:06 1792

原创 spark进行大数据量的爆破计算任务(分布式)

20200806 -1. 引言在编程过程中,遇到这样一个问题,给定一个范围,需要通过对这个范围的内容数值进行运算来返回结果。说白了,就是进行爆破。但是这个数据量太大了,0-0xffffffff,可以想象这个数据量有多大。一开始的时候我在想使用python的多线程/多进程来完成这个工作,但是我记得python有一个全局锁,并不是真正意义上的多线程(这部分知识需要回顾一下)。所以,我就考虑使用spark或者hadoop来进行这部分运算来实现。2. spark的分段式计算2.1 问题描述平时的时候,使用

2020-08-06 16:55:29 1425 1

原创 Mirai环境搭建

20200805 -引言关于Mirai的环境搭建,我记得能搜到很多结果。不过我当时并没有想要启动mirai的所有功能。毕竟其实他的代码也有缺陷,现在想扫出来结果也有点难了。后面可能还是需要这些功能来辅助扫描结果,其他功能还是要开启。这里先记录一个别人的搭建步骤,后面再来记录我自己的。[1]他人环境搭建在这个环境的部署过程中,需要下载很多东西,包括各种乱七八糟的东西,还有交叉编译的环境,为了获得CNC的服务器,还要有go的启动环境。我个人觉得,还是弄一个docker的环境更好。参考文章[1] Mi

2020-08-05 14:15:03 3278

原创 Docker设置固定IP

docker设置固定ip地址

2020-08-30 21:35:18 547

原创 (深度学习)密码生成 - 三篇文章的阅读

20200828 -0. 引言之前的关注过利用深度学习来进行密码生成的内容,但是没有进行具体记录。今天正好把之前的文章给记录以下。主要是阅读了三篇文章,其中两篇是针对DeepPass那篇论文来进行讲解,大致上传达了论文的思路,没有进行深度的剖析,后续的时候我会深入阅读这篇论文来进行记录(其实已经阅读完了,只不过当时将重心放在了GAN的学习上,没有放在这个功能上),另外一篇是利用LSTM进行密码的猜解)。文章列表:(1)PassGAN: A Deep Learning Approach to Pas

2020-08-28 20:33:27 998

原创 恶意软件检测 - 论文《lazy-binding control flow graph and deep learning》阅读

20200828 -0. 引言本篇文章介绍《Auto-detection of sophisticated malware using lazy-binding control flow graph and deep learning》的阅读过程,因为本身对CFG的内容比较感兴趣,所以在此记录。1. 论文概要本篇论文发表于Elsevier2018年Computers & Security,从论文名字来看是一篇利用CFG和深度学习来进行恶意软件检测的内容。摘要(经过自己阅读后凝练):当前反病毒

2020-08-28 10:39:04 1004

原创 对抗样本 - 提高机器学习模型的性能

20200827 -0. 引言今天编写文章《DGA生成与检测 - 论文《DeepDGA: Adversarially-Tuned Domain Generation and Detection》阅读》时,那篇论文最后的实验中提到了增强机器学习模型的内容,顺着这个思路在谷歌上进行了简单的搜索,找到了两篇材料,本篇文章就对这两篇文章的内容进行简单的记录。1. 简介(1)Protecting the protector: Hardening machine learning defenses agains

2020-08-27 21:48:20 993

原创 DGA生成与检测 - 论文《DeepDGA: Adversarially-Tuned Domain Generation and Detection》阅读

202008270. 引言DGA检测在网络安全中非常重要,通过检测DGA能够及时发现恶意软件;本博客中针对DGA检测的内容进行了简单的整理,见《DGA - 研究内容整理》。本身对GAN应用于安全领域有着极大的兴趣,所以本篇文章对使用GAN进行DGA域名的论文《DeepDGA: Adversarially-Tuned Domain Generation and Detection》进行记录。1. 论文简单概要本篇论文发表于2016年,内容并不算多,总计10页PDF,但是个人觉得,有些地方读起来比较晦涩

2020-08-27 21:05:50 1588 3

原创 AI安全 - 华为白皮书《AI Security White Paper》

20200825 -0. 引言(本人非专业认识,仅仅是阅读后的一点理解)本篇文章是基于阅读华为的白皮书《AI Security White Paper》之后的一些记录。关于白皮书的下载可以通过谷歌搜索得到。这本白皮书中的内容,跟之前了解到的AI安全的讲解有些不一样,个人感觉应该是切入的视角不一样。之前的一些文章或者白皮书,都从攻击者是否对模型了解分为白盒、灰盒等类别,这里并没有按照这种分类方法,而是直接攻击类别的角度。本篇文章将记录白皮书的核心内容,并阐述一些自己的理解。1. AI与安全AI与

2020-08-26 10:04:21 2225

原创 GAN的学习 - 实际的训练过程

20200824 -0. 引言前面的文章中,了解了GAN的基础知识,同时介绍了实际代码(如何利用GAN来生成MNIST的数据),前面两篇文章中,进行了具体的基础知识铺垫,但是我在实际的训练过程中,也感受到了GAN训练不稳定。本篇文章从这个角度来入手,来讲讲训练过程。前文回顾:1. GAN的训练过程1.1 GAN如何训练在前文中提到GAN是通过训练两个神经来实现生成模型,其中两个模型分别是生成器模型和判别器模型。在训练过程中,判别器将尽可能提高识别真数据和假数据的能力,而生成器将尽可能生成真的数据

2020-08-24 21:10:09 10758 2

原创 Docker部署FTP服务器

20200820 -引言之前的时候下载东西,得到一些别的服务器上下载,然后再拉回来,平时都是使用sz直接下载,不过这次发现不行,因为sz命令不支持4G以上的数据;然后使用scp的话,传输速度还特别慢,所以想搭建一个FTP服务器来进行下载。感觉这个需求还是挺多的,这里记录一下。Docker部署本次部署都是参考了文章[1]。1) 拉取镜像docker pull stilliard/pure-ftpd:hardened2)启动镜像docker run --rm -d --name ftpd_se

2020-08-20 20:42:43 811

原创 LSTM文本生成(单词级别)

20200818 -引言前面文章中,介绍了字符级别的文本生成《LSTM生成文本(字符级别),在字符级别的生成过程中,利用滑动窗口的形式来持续生成文本。本文中介绍看到的另外一篇基于单词的生成形式。LSTM文本生成本篇文章中,主要参考了kaggle上的一篇文章[1],在模型中,使用了embedding层,然后输入其实是句子。但是感觉他的代码部分并不是非常友好,也可能是我对模型的使用有些忘记了。数据预处理def generate_padded_sequences(input_sequences):

2020-08-18 11:33:43 1319 2

原创 python解析命令行参数

20200816 -引言python自带了命令行解析的库argparse,利用这个就能达到不错的效果。基础使用前期学习中,主要参考了文章[1],使用过程中,主要涉及两个方面,定位参数,以及可变参数。当前只使用一个定位参数。初始化import argparseparser = argparse.ArgumentParser()parser.add_argument("file", help = "input file name")args = parser.parse_args()prin

2020-08-16 10:23:01 754

原创 python输出带有颜色的内容

20200816 -主要参考了文章[1],不使用第三方库。我当时的需求只需要将字体变色,比如输出[ Error ] 其中Error为红色。def error_print(output): print("[\033[31mError\033[0m] " + output)参考[1]Python通过2种方法输出带颜色字体...

2020-08-16 09:48:37 763

原创 IVRE扫描框架的docker部署

20200816 -0. 引言之前的时候,想弄一个类似shodan、fofa一样的扫描框架,然后在google上进行搜索,找到了ivre这个框架。但是在部署过程中,稍微有些不一致,这里记录一下。本着方便的原则,这里利用docker来进行部署。1. IVRE的docker化部署1.1 IVREIVRE是一款开源的扫描框架,其通过namp或其他扫描工具生成相应的结果,利用WEB界面对结果进行展示,并可以实现过滤,同时能够进行一些分析。其支持主动扫描,也支持被动监视。Web界面的结果就是将nmap的

2020-08-16 09:44:38 924

原创 ROC曲线与混淆矩阵的绘制

20200813 -引言ROC曲线的绘制过程混淆矩阵的绘制问题1. ROC曲线的绘制ROC曲线的绘制绘制需要分类器能够返回相应的分类概率值。from sklearn.metrics import roc_curvens_fpr, ns_tpr, _ = roc_curve(testy, ns_probs)完整代码来自[1]。[4]中说明了如何修改风格来使ROC曲线更好看。对于多分类情况下的roc曲线,有两种方法可以处理,分别对应函数的两种参数,具体实现可以看看[2]。2. 混淆矩

2020-08-13 22:29:36 3577

原创 sklearn库使用问题汇总

20200813 -引言打印分类报告问题1. 打印分类报告在分类过程结束之后,需要反馈分类效果,使用的函数是classification_report[1]。函数的全部分信息如下sklearn.metrics.classification_report(y_true, y_pred, *, labels=None, target_names=None, sample_weight=None, digits=2, output_dict=False, zero_division='warn')

2020-08-13 22:15:54 786

原创 matplotlib绘图问题

20200813 -引言这里记录以下关于绘图过程中,使用matplotlib时遇到的一些问题。风格控制问题1. 风格控制文章[1]中列举了一些风格控制的方式,不过这部分我一直没关注过,一直都是使用的默认风格。一次使用过程中,在修改风格之后,希望还原最开始的风格,可以使用下面的命令。matplotlib.rcdefaults()参考文章[1]matplotlib–修改样式...

2020-08-13 22:09:32 1573

原创 深度学习的基础知识与问题汇总

20200813 -引言这里记录一下深度学习使用过程中的一些细节的地方。多分类时预测过程最近发现了一个比较不错的网站[2],记录了很多关于kera的基础内容,有时间可以好好看看。问题1. 多分类时对于二分类时,最后一层只需要一个神经元,也就是Dense(1)即可;而多分类问题时,需要Dense(classes)。同时,还需要注意,使用的损失函数,二分类是‘binary_crossentropy’,而分类时需要采用’categorical_crossentropy’。另外需要注意的问题

2020-08-13 22:04:18 915

原创 seaborn - 画图的一些问题

20200808 -

2020-08-08 19:59:56 785

原创 pandas及numpy - 常用操作

20200808 -这里主要记录一些关于pandas的基础操作,一些容易忘记,但偶尔会使用的操作。操作列表数据的读取数据切片数据的画图操作字符串操作修改数据删除列(行)数据显示不全(行)根据规则修改列数据将某列转换为时间索引1. 数据的读取如果有文件是已经按照分隔符分割好的,直接使用read_csv即可;几种特殊情况:默认使用,作为分隔符,想修改的话在sep参数中指定;默认第一行是列名,但如果没有的话,要指定(header = None,names = [‘a’,‘b’]

2020-08-08 19:47:22 1193

原创 自然语言处理 - 两篇文章的阅读

2020/08/07 -这部分内容是我之前在简书的草稿,没有完整整理,后续将进行完整整理。2020/06/17 -这两天在学习word2vec模型原理的时候,看到了两篇文章,一篇是关于使用word2vec进行情感分类,另一篇是通过tf-idf这种方式运用LDA或者直接kmeans进行主题分类。从这两篇文章中,相对与自然语言处理的模型来说, 我感觉,我学到的是更多的分析的过程和可视化的内容,这里扯远了,本片文章就是要写这个自然语言处理的过程。我就感觉,看完这两个文章,我好像学到了非常多的东西,但是我

2020-08-07 17:15:57 725

原创 Linux与Win32的srand/rand随机数函数

20200806 -问题引出在做一个逆向题的时候,通过F5把源码拿出来了,然后在linux下运行这个程序(平时习惯使用linux下进行编程),就是不对。这个函数的内部算法是利用srand设置种子,然后利用rand生成随机数函数。因为本身这个程序是win32程序,我也怀疑过是否是因为系统不同所导致的;但是因为环境受限,就没有考虑这个问题。尝试解决下午的时候,索性下载了一个vc6.0的程序,好几年没碰过这玩意了,也是因为一直在linux下编程的问题。然后同样的程序,出来的结果是不一样的。那么这就说明

2020-08-06 15:34:15 1203 1

原创 range函数参数较大大时占据大量内存

20200805 -引言编写一个编写的时候,发现内存逐步占用越来越大;脚本的目的是利用循环生成大量的数值,然后利用生分成的数值来执行某个函数,大致上的函数伪码就是下面这个:def some_compute(x): passmax_value = 0xfffffffffor i in range(max_value): some_compute(i)问题相关的函数并没有什么占用内存的情况,而且其占用的内存应该在函数结束之后也该清理了。所以占用内存的问题就在于range函数这里。之前我记得我

2020-08-06 15:04:23 1235

原创 iptables重定向自己主机发出的流量

20200805 -引言前几天有这样一个需求,在分析一个ELF样本(mirai变种)的时候,因为想看它的payload,但是因为他只有在成功收到raw socket扫描的回应之后,才会有后续的效果。为了达到这个目的,需要能够重定向本机的流量。解决方案运行ELF样本的环境是由docker运行的centos7容器,如果想使用iptables的话,必须给予一定的权限,所以启动容器的时的命令如下。docker run -it --privileged centos:7本次的需求是,将本机的所有流量打往

2020-08-05 14:52:07 1624

原创 64位Linux环境下编译32位程序

20200805 -引言原版的mirai病毒,通过交叉编译的过程可以生成多种架构的二进制文件;但是他并没有说明如何来配置这个环境;不过在文章[1]中,提到了如何进行交叉编译,先下载相应的二进制文件,然后在实现编译过程。不过,我这里的一个需要不用这么复杂,也是需要编译出来一个32位的ELF文件。问题介绍在逆向32位ELF文件过程中,希望能自己测试反编译出来的伪源码(IDA PRO F5得到),但是64位的程序很多都不匹配,所以需要编译32位的程序,命令参考文章[2]提供。gcc -m32 test.

2020-08-05 14:07:09 1119

原创 vim - 使用常用命令

20200801 -目录替换单词选中单词自动对齐从外界复制内容具体命令替换单词:s/vivian/sky/ 替换当前行第一个 vivian 为 sky     :s/vivian/sky/g 替换当前行所有 vivian 为 sky     :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky     :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky     n 为数

2020-08-01 22:32:06 642

原创 各类Linux常用命令记录

20200801 -概述查看文件类型查找大文件删除乱码文件(ls 无法显示文件名)具体命令查看文件类型file xxx在前端时间恶意软件的过程中经常使用这个命令。查看大文件find . -type f -size +800M删除乱码文件ls -i #查看文件inode信息find -inum 2222 -deletefind -inum 2236429 -exec rm -rf {}...

2020-08-01 22:14:34 703

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除