自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (5)
  • 收藏
  • 关注

原创 基于AI Agent探讨:安全领域下的AI应用范式

关于AI应用,通常都会聊准召。但在安全等模糊标准的场景下,事实上不存在准召的定义。因此,AI的目标应该是尽可能的“像人”。而想要评价有多“像人”,就先需要将人的工作数字化。而AI Agent是能够将数字化、自动化、智能化这几个转变过程相对顺畅衔接起来的一种框架

2024-02-14 09:52:45 2073 1

原创 “安全工程师”和“保险销售员”

张雪峰老师近期在直播中发表过这么一个观点:文科都是服务业。要我说,不仅文科是服务业,大部分理科干的也是服务业,不过服务的对象是老板们罢了。对于安全工程师来说,也需要摆正自己的心态,明白安全是业务发展起来之后的一种兜底保障。正如保险一样,既不能看低自身的价值,也不能喧宾夺主阻碍客户的发展。活的最好的安全工程师,一定是最懂业务的安全工程师。

2024-02-04 15:14:54 777

原创 人生百相,不过熵增熵减

讨论生命的话题通常比较宏大,这里仅引入一个小分支:生命为什么会不断进化?从生物学的角度,繁衍后代是生命的一个基本特征。因此有一种观点认为,生命进化的目的是为了更好的繁衍后代,传递自己的遗传信息。但这个观点从某些角度来看,会存在悖论:如果仅仅是为了传递遗传信息,那原核生物的无丝分裂,才是最高效的。几十分钟分裂一次,几小时就能产生数百万个后代。尽管成活率很低,但架不住量大。部分细菌的历史可以追溯到几十亿年前,而被称为地球霸主的恐龙,大抵也就存活了2亿年就灭绝了。几乎可以预想到,人类的存活时间会更短。

2024-02-04 15:14:35 879

原创 AI安全综述

AI安全这个话题,通常会引伸出来图像识别领域的对抗样本攻击。下面这张把“熊猫”变“猴子”的攻击样例应该都不陌生,包括很多照片/视频过人脸的演示也很多。对抗样本的研究领域已经具备了一定的成熟性,有一系列的理论来论述对抗样本的存在必然性等特征。从另一角度,也可以看成是通过对抗样本来研究模型的运算机理。但AI应用更成熟的搜广推等领域,就很少看到相关研究。我认为其原因在于,缺乏足够的攻击场景支撑。

2023-12-25 10:11:22 1939 1

原创 使用BERT分类的可解释性探索

最近尝试了使用BERT将告警信息当成一个文本去做分类,从分类的准召率上来看,还是取得了不错的效果(非结构化数据+强标签训练,BERT确实是一把大杀器)。但准召率并不是唯一追求的目标,在安全场景下,不仅仅需要模型告诉我们分类结果,还必须把这么分类的原因给输出出来,否则仍然无法给运营工作进行提效。因此,对BERT分类的可解释性上,进行了一番研究探索。但是结果并不理想。。。

2023-07-26 17:08:33 1576 1

原创 Copilot是GPT的理想应用模式吗?

你真的需要使用ChatGPT嘛?也许是长期从事安全行业,对于不确定性的东西会产生抵触。对我个人而言,精妙的规则体系在各方面都胜于所谓的模型。但不得不承认,即使是某个特定场景下,人的决策复杂度也足够高,很难用规则去完美契合。因此,在规则确定性和模型复杂性之间的平衡,是持续思考和探索的方向。(知识图谱看上去是个比较理想的解,但也会遇到知识量扩增,带来的维护复杂性等问题。GPT的出现,提供了一种全新的解决方案。但GPT本质上是一个低效的算法,因此并不会简单粗暴的替换掉既有的更高效的规则和算法。

2023-06-23 10:49:45 2221

原创 为什么是ChatGPT引发了AI浪潮?

Encoder-Decoder是NLP中的经典架构:Encoder对文本进行编码,输出Embedding;Decoder基于Embedding进行计算,完成各种任务,得到输出。示例如下:之所以会诞生这种架构,个人认为,是因为对文本进行特征工程,转化为机器可以处理的向量,是一件反人类的事情。因此,专门设计了Encoder来完成这个工作。2017年,Google提出了Transformer,在性能、结果、稳定性等多个方面都优于RNN模型,使得NLP领域进入了下一个阶段。

2023-05-13 14:47:54 4203 2

原创 安全运营场景下的语言模型应用

通过近期的研究和一些简单试验,会认为NLP模型是提升算法在安全领域下发挥潜力的方向。它使得机器看到的内容和人保持一致,而不在局限于人工编码带来的上限。同时,借助预训练得到的知识储备,快速完成目标任务的学习和适用。但试验过程中,也会遇到一些困难,比如:1)目前NLP模型的输入长度都相对受限制。而安全运营场景下,尤其是在接入SOAR之后,一起事件的关联信息是相当丰富的。而将事件文本化,本身就会降低信息传输的效率,很难将文本长度压缩到目标范围内。这个时候,要么事先剥除无用信息,要么把文本做分段输入。

2023-05-01 17:05:14 741

原创 安全运营场景下的机器学习算法应用

观测到一个有意思的现象:假设把安全划分为 基础安全 和 业务安全,PR类的议题中,会出现分级:基础安全领域,喜欢讲纵深防御,给出一个炫酷的架构图,然后各种技术关键字往上标;业务安全领域,喜欢讲算法,给出各类数据源,然后把各种算法模型往上标。这里面当然有很多原因,比如:搞基础安全的人通常是攻防出身,不擅长算法;业务安全的技术层面不深,所以出彩需要靠算法;等等等。但本次的主题,尝试从安全和算法的角度来展开,为什么基础安全和算法的结合,是一件相对困难的事情。以及个人最近在尝试研究的一些解决方向和思路。

2023-04-16 02:32:11 501

原创 ChatGPT研究分享:插件模式的利与弊

OpenAI近期公开了GPT-4,除了各方面性能的大幅度提升,最大的惊喜应该来自于插件模式的引入,GPT-4可以执行代码、搜索引擎、以及集成其他App的功能了。这无疑是对于AI后续应用模式的一次突破性的尝试,同时,也引发了业界对于AI的探讨。因此,本篇基于插件模式展开讨论。总体来说,插件模式的模型本身并没有革新,仍然保持着原有的局限性。而AI的安全性问题也仍然在探讨中,目前需要相信人大于AI。

2023-04-02 23:17:12 5373 1

原创 ChatGPT研究分析:GPT-4做了什么

上一版ChatGPT的主要挑战是,因为模型的训练量极大,很难去进行优化(ChatGPT是fine-tuning的模式)。然后再基于采样值,测算一下幂等函数的相关参数,下一轮就可以只进行少量训练,就去预测最终效果了。至于其他效果上的优化,OpenAI没有进一步解读原理,但整体应该还是基于“训练-奖励”的优化模型,去生成更针对性的奖励模型(比如增加法律、安全之类的奖励判断),以实现更优的效果。从结果来看,ChatGPT实现了,仅仅执行千分之一到万分之一的训练量,就可以大致预测模型的结果。

2023-03-15 21:09:40 10152 9

原创 ChatGPT研究分享:机器第一次开始理解人类世界

在AIGC年爆火之后,设计从业人员就开始担忧起自己的工作。同样,ChatGPT可预见的也会对很多行业带来冲击,比如教育。AI是否会最终取代人类的话题,似乎也从“遥不可及”,变得“忧心忡忡”。我认为,AI一定会取代部分人,但不会取代所有人,也不会凌驾于人类之上。正如工业时代的到来,取代了体力工作者;AI时代的到来,也会取代脑力工作者。而所谓的“专业”能力,往往会在这个浪潮下,被快速取代。(想想当年的“八级技工”,技术再厉害,也比不过新的机器。

2023-03-14 12:35:35 7008 10

原创 关于“对抗样本攻击”的思考

什么是“对抗样本攻击”各类图片攻击介绍白盒、黑盒为什么会存在“对抗样本攻击”因为样本空间是非常巨大的,尤其随着维度的增加,指数级增长。这种情况下,实际所能够使用的训练样本,远低于样本空间。这就类似于说,我告诉你1是好人,10是坏人,请确定大于多少是好人。而机器学习只能利用各种概率分布,去划定一个边界,可能是5。但事实上,4是不是坏人,6是不是好人,却并没有人能够告诉机器学习。而攻击者恰恰可以利用这个知识盲区,对机器学习发起攻击。在风控领域中,是否存在“对抗样本攻击”事实上,一直存在,黑产去压阈值

2021-02-13 16:19:07 1727 1

原创 安全模型和业务安全体系

网络安全和业务安全网络安全中,攻击者往往通过技术手段,以非正常的技术(XSS、Injection、Penestrating等),影响业务正常运行,窃取敏感数据。比如:某黑客通过SSRF进入内网,并在内网横向扩张,最终脱库成功。业务安全中,黑灰产基于非正常的资源(IP、手机号、身份信息等),通过正常的产品流程,获取利益,影响业务正常运营。比如:黑灰产通过大量手机号注册新号,获取企业新户奖励,最终...

2020-02-19 16:57:31 9724 1

翻译 检测Chrome headless的技巧

原文链接:https://antoinevastel.com/bot%20detection/2018/01/17/detect-chrome-headless-v2.html更新:我创建了一个库,可以通过浏览器指纹来检测脚本和爬虫。这个库仍然在开发过程中,不过你可以开始尝试使用了。代码已经在Github上了,目前,我在测试一个新的检测方法,欢迎来进行挑战,并给出反馈。之前我写了一个博...

2019-09-19 16:50:42 2841

原创 CentOS 6和CentOS 7的磁盘空间清理

收集整理了一些在CentOS 6或者CentOS 7服务器中,快速清理磁盘空间的方法:首先,必须先安装yum-utils工具组件:yum -y install yum-utils1. 删除日志文件find /var -name "*.log" \( \( -size +50M -mtime +7 \) -o -mtime +30 \) -exec truncate {} --size 0 ...

2019-09-19 11:32:18 3511

原创 安全领域中如何有效的使用机器学习

今天看到Gartner分析师Augusoto Barros的一个博文,感觉深有同感,借着讨论下我对于机器学习与安全结合的一些想法。下面是翻译的原文:想要了解乙方安全厂商是如何利用机器学习来进行威胁检测,有一个非常重要的观点必须了解。一般来说,机器学习是用来区分已知的行为,但是会存在可变的参数。什么意思呢?也就是说,大多数情况下,我们知道恶意行为是什么,但不知道它具体是一个什么样的形式。举个...

2019-03-01 19:16:30 1612

翻译 设计模式:Service Mesh

自动数十年前,分布式系统的概念诞生以来,工程师们越来越明白,利用分布式系统可以完成许多意想不到的功能。但是,分布式系统同样带来了许多新的问题。当分布式系统还未普及,相对比较简单的时候,工程师们通过最小化远程依赖来应对其带来的复杂度。解决分布式问题最简单的方式就是尽可能的避免它,即时会带来大量跨系统的重复逻辑和数据也在所不惜。但是工业化的进程推动着我们不断进步:从前只是几个大型的中央服务器,到现在成百

2018-02-09 16:16:50 1389 1

原创 MySQL优化浅析

场景简介最近在使用Storm做日志的分析处理。众所周知,Storm是流式的处理框架,也就是每次只能处理和看到一条日志。然而做分析的时候,不可避免的要进行一些统计操作,如统计一分钟内某个ip的访问频率或者某个uid的访问频率等。于是我就会在内存中(也就是某些特定的Bolt中),维护一个HashMap队列,用来存储之前一段时间的日志列表。这个做法在日志量较小,且统计时间较小的情况下是没有任何问题的。然而

2017-08-23 11:33:18 514

原创 CentOS 5下yum运行失败

公司服务器是CentOS 5的,最近在使用yum安装软件的时候报出了一下的异常Loaded plugins: fastestmirror, securityLoading mirror speeds from cached hostfileYumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid

2017-07-22 15:18:19 2906

翻译 关于Neo4j和Cypher批量更新和批量插入优化的5个建议

当通过程序向图形化数据库中写入大量数据的时候,你会希望它能够高效的处理。低效的方式下面这些方式不是十分有效: - 将值直接写入到语句中,而不是通过参数的方式 - 每一个更新都通过一个Transaction发送一个请求 - 通过一个Transaction发送大量的单个请求 - 生成一个巨大复杂的语句(几百行),然后通过一个Transaction进行提交 - 在一个Transaction中,发

2017-03-09 17:06:40 29079 4

翻译 Neo4j数据建模优化:双向关系

我们通常会将现实生活中的关系型数据,通过一定的方式,转化为图形化的结构存储起来。尽管图形化的结构相比于表结构更加直观,但也存在一些常见的误区。在这篇博文中,我们来讨论其中的一个容易让人混淆的概念:双向关系。单向关系在Neo4j中,所有的关系都必须有一个类型来进行区分,同时,也必须有一个方向。通常来说,关系的方向同样会包含一些信息。换句话来说,如果没有方向,一些关系的意义就会变得模糊。打个比方,下面的

2017-01-18 16:52:50 11301 1

翻译 Neo4j数据建模优化:标签 VS 索引

原文链接:http://graphaware.com/neo4j/2015/01/16/neo4j-graph-model-design-labels-versus-indexed-properties.html 在设计Neoj图形化数据库的时候,一个通常的问题是:如何处理带标记的数据。比如,标记用户是否活跃,标记博客是否发布,标记文章是否被阅读等。介绍在SQL中,通常会创建一个boolean

2017-01-17 17:16:12 6511 6

翻译 无痕渗透“INSERT INTO”型SQL注入

原文链接:http://www.mathyvanhoef.com/2011/10/exploiting-insert-into-sql-injections.html在某个寂静的深夜,你徘徊在一个网站中,其中包含一个可提交form,需要你输入一个昵称。你输入了一个单引号作为你的昵称,网站返回了一条异常信息:“You have an error in your SQL syntax”。机智的你很快明

2016-12-30 12:46:06 21048 1

翻译 HashMap、ConcurrentHashMap和SynchronizedMap – 哈希表在Java中的同步处理

原文链接:http://crunchify.com/hashmap-vs-concurrenthashmap-vs-synchronizedmap-how-a-hashmap-can-be-synchronized-in-java/在Java中,HashMap是一个非常有用的数据结构。几乎每一个Java应用都会使用到它。我之前的博文中有介绍过如何实现一个线程安全的缓存,在这个例子中,我就使用到了H

2016-05-19 16:10:25 13237

原创 Github的高阶命令集合

因为日常使用github经常会上stackoverflow搜索一些命令的使用,为了方便自己查询,在此总结出来。持续更新。。。在commit之前查看修改的内容 来源:http://stackoverflow.com/questions/4456532/how-can-i-see-what-has-changed-in-a-file-before-committing-to-git在commit之

2016-05-12 10:57:16 799

翻译 Android中基于RxJava的响应式编程

原文链接: https://www.ykode.com/2015/02/20/android-frp-rxjava-retrolambda.html在你的Android应用中,每一个UI控件都在不停的产生事件。而你所写的代码也正是用来处理这些事件的,例如用户点击按钮或者一个从后端返回的一个REST响应。通常情况下,我们会通过对应的事件Listener来捕获并处理这些事件,例如OnClickList

2016-04-29 14:53:11 6296

翻译 使用High Level Consumer连接Kafka

使用High Level Consumer连接Kafka。简述了java中High Level Consumer的原理,技巧和使用方法,示例完整,结构清晰。

2016-04-11 15:16:06 4257

原创 kaka-manager和kafka-offset-monitor的安装和使用

由于kafka本身不提供ui操作界面,操作起来只提供了有限的几个脚本,所以使用起来对其本身的运行状态无法感知。但是,kafka本身是和zookeeper相连的,而对应producer和consumer的状态保存也都是通过zookeeper完成的,因此,可以通过读取zookeeper中的信息来构建出kafka的状态。另外,kafka本身也提供了一个JMX服务端口,来供外界查询当前的状态。这样一个明显的

2016-03-25 18:10:37 11029 4

原创 KivyMD安装详解以及可能遇到的坑

项目地址:https://github.com/captainbupt/KivyMdDemo 项目简介:这是一个试用KivyMD写的demo。应老板需求,必须使用纯python代码完成,因此demo中不包含任何kivy language展示界面。Kivy是一个基于python的跨平台应用开发框架。它同时支持Linux, Windows, OS X, Android和iOS,并且能够识别大部分

2016-03-09 13:45:49 5701

原创 分布式日志分析系统构建实战(四)——Storm

介绍Storm是一个实时并行计算系统。对比与经典的hadoop,storm的优势就在于实时性。简单来说,hadoop可以用来对海量的数据进行批量的处理,但这些数据是静态的,处理过程中不会对新产生的数据进行处理。当处理完之后,hadoop进程就可以结束,并输出最终结果。而storm的进程会持续的运行,不存在一个终结状态。一旦有新的数据到来,storm就出对其进行处理,然后继续等待其他的数据。而我们可以

2016-02-15 18:29:50 3794

原创 分布式日志分析系统构建实战(三)——Kafka

介绍生产者-消费者模型是系统架构中最常用的一种模型了,它在对于降低耦合度方面有着极大的作用。而一条消息从生产者出发到被消费者接受的过程中,是由消息队列来管理的。而消息队列就是用来对消息进行存储和分配,在多个生产者和消费者同时工作时,还要考虑读写冲突等线程安全问题。所以说,消息队列对于生产者-消费者模型的稳定性和可靠性方面起着至关重要的作用。对于这样一种经典的模型,消息队列的开源框架自然不在少数,例如

2016-02-05 15:10:17 4422

原创 分布式日志分析系统构建实战(二)——ZooKeeper

在由kafka+storm搭建起来的日志分析系统中,ZooKeeper属于中流砥柱的作用。因此,在这里,先从实践的角度来介绍一下ZooKeeper以及相关的配置问题。介绍简而言之,ZooKeeper是用来为分布式系统提供一个统一的配置信息管理平台。在分布式系统的各个机器之间,都会有一些关键的节点信息需要暴露给其他机器,这样才能达到协作的效果。而使每个机器获取到相同的信息,这就是ZooKeeper的作

2016-02-02 12:08:44 1504

原创 分布式日志分析系统构建实战(一)——概述

日志分析日志分析是每个互联网公司业务流中不可缺少的一部分,从海量数据中,可以分析用户的行为,从而运用到智能预测或者异常检测当中去。相比与传统的大数据分析(如用户物品评分预测),日志分析具有这么几个特征:数据是动态的。传统的大数据分析,往往是基于已有的数据去进行处理,这些数据都是固定不变的。而对于日志分析,只要产品还在运营,日志就会源源不断的产生,很难去规定一个节点去进行静态的处理分析。因此,以ha

2016-02-01 17:45:07 5907

原创 git修复commit记录

最近使用git的时候,由于在开始的时候,没有恰当的设置user.name和user.email变量,导致push到git的commit记录无法被正确匹配到我的账户。由于发现的比较完,几十条commit记录都给白费了,看这contributes板上大片的空白,还是相当的不甘心的。不过还好,git官方给出了弥补措施。#!/bin/shgit filter-branch --env-fi

2016-01-28 12:15:24 29254 2

原创 pwnable.kr解题write up —— Toddler's Bottle(二)

网站地址:pwnable.kr 提供许多优质的ctf训练题,题目设计的都非常巧妙,适合思考。

2016-01-21 15:12:12 4588

原创 pwnable.kr解题write up —— Toddler's Bottle(一)

网站地址:pwnable.kr提供许多优质的ctf训练题,题目设计的都非常巧妙,适合思考。

2016-01-18 15:43:02 6758

原创 securityoverridehacking challenge 解题思路汇总——Realistic

进行了之前的各项练习之后,今天终于做到实战演练(Realistic)部分了。和前面相比,这部分最大的难度就在于,你并不知道攻击点在哪,攻击类型是什么。因此,必须从一个完整的网页中去一点点的寻找。当然,整个过程还是有一定的套路,以及常见可供入手的点。而在这部分训练中,都很好的模拟了出来。相信这对于实战的过程能够有很大的帮助。1   Realistic1.1  Realistic这题琢磨了

2015-10-26 10:48:01 954 1

原创 securityoverridehacking challenge 解题思路汇总——Programming

上一部分在steganography遇到了困难,直接跳过。于是就进入最拿手的programming部分了。这部分我是用python完成的,并且通过直接写入剪切板来提高提交速度。除了captcha的解析,其他基本都没什么难度。在这里我也不过多解释了,直接上代码,也没啥注释。6 Programming6.1 Basic String Manipulationimport sys,gtk

2015-10-02 11:58:09 676

原创 UltraPullToRefreshWithLoadMore (为UltraPullToRefresh添加上拉加载更多功能)

下拉刷新和上拉加载应该是当前手机应用中最普遍的一个操作了Android本身提供了一个下拉刷新库,在support-v4包中的SwipeRefreshLayout。但是这个库支持的效果比较单一,只能实现列表不动,刷新头部下拉滑出的效果。并且也没能提供上拉加载的功能。在项目初期的时候,也是因为调研不足,选择了比较经典的PullToRefresh库。然而这个库已经停止更新了,对新的控件(如Recycler

2015-09-26 10:31:26 8329 18

kafka-web-console-2.1.0-w2.zip

kafka-web-console-2.1.0打包好的资源,分包2/2

2016-03-29

kafka-web-console-2.1.0-w1.zip

kafka-web-console-2.1.0打包好的资源,分包1/2

2016-03-29

kafka-manager-1.3.0.7-m1.zip

kafka-manager-1.3.0.7打包好的资源,最高可支持kafka版本0.9.0.1,分卷1/2

2016-03-29

kafka-manager-1.3.0.7-m2.zip

kafka-manager-1.3.0.7打包好的资源,最高可支持kafka版本0.9.0.1,分卷2/2

2016-03-29

kafka-manager-1.3.0.7

kafka-manager-1.3.0.7打包好的资源,最高可支持kafka版本0.9.0.1,分卷1/2

2016-03-25

空空如也

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

TA关注的人

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