Logo

site iconCoco413

一枚爱瞎折腾的极客,主要关注安全领域。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Coco413 RSS 预览

安全会议PDF读后随笔

2024-02-14 09:52:00

0x01 前言

    年底整理资料,发现很多收藏的文档都没有打开看过,虽然过去蛮久了,但我觉得还是值得一读,一方面整理过滤出自己关注的内容,另一方面给自己的收藏做一个交代。说起读材料还是挺喜欢做的一件事,小时候会去读字典,那时候每一页会有一个故事,就这样不知不觉也顺带把字典看了一遍;乌云挂了之后,也想把漏洞读一遍,就像乌云疯狗所说:“阅尽天下漏洞,心中自然无码”,每个事件型的漏洞都代表了一个场景、一个姿势,以及下面的评论也都蛮有意思,只可惜时间线拉的有点长,最终并没有坚持下来,看了几个类型漏洞后就结束了。因此这次读PDF一来趁热情高涨,速战速决,二来形成一个流程化,尽可能可持续,同时也把过程中比较有意思的tricks记录下。
    梳理了大约100G左右材料,还剩23G大杂烩过程中再慢慢整理了,这次精力主要在安全会议上,虽然说是读,但最多只牵强算是泛读,感兴趣的多看一会,可能用到的标记下,不感兴趣的直接略过。

    关于自动化流程,除了常规TODO外,很推荐DEVONthink 3工具,做本地文档检索、监控、管理都非常适合,比如你关注某个领域,那么构造好关键词,即可实现本地持续监控,一劳永逸。

0x02 内容篇

  • Tricks1:那些当年号称下一代的技术,现如今回头来看,貌似也并没有成为主流
  • Tricks2:当年一些明星产品&厂商,如摩拜单车、安全狗,随着收购的收购、落寞的落寞,也都慢慢退出了舞台
  • Tricks3:还想追忆下似水年华,可惜人人网找回密码的功能都不再提供了
  • Tricks4:乍一看以为水文,实则小丑是我自己,原来是flashsky早期创业的公司
  • Tricks5:嗯...不会讲故事的小编不是好黑客
  • Tricks6:熟悉的ID,忍不住还是笑出了声..
  • Tricks7:14天入门秘籍,查收一下..
  • Tricks8:说的好!
  • Tricks9:说的也好!
  • Tricks10:是这个道理!
  • Tricks11:JDSRC早期就已经把漏洞提炼成案例、经验,值得学习!
  • Tricks12:hack和dota还是挺像的,对于普通选手,把基础补刀发挥到极致就可以做到守正,至于出奇交给天分和运气吧!
  • Tricks13:赞同!hack是一种思维方式,是寻找极端、可能性、根据反馈不断Fuzz的思维方式,不仅仅是技术..
  • Tricks14:倍感熟悉的cloudeye,发现域名也都过了保护期
  • Tricks15:日本人写材料,配图还是很有民族特色的..
  • Tricks16:有意思的介绍
  • Tricks17:结合业务挖洞&总结业务场景可能的漏洞,是高效挖洞的一条捷径
  • Tricks18:工具溯源的本质我认为是检索能力,但大多产品,只是提供了检索方式,却忽略了检索内容的运营或直接把内容交给使用者自由发挥
  • Tricks19:学术派的文档风格普遍都挺简约&严谨
  • Tricks20:优秀的前辈大多都很善于总结,归纳出问题的本质,值得学习!
  • Tricks21:配图还是挺影响阅读兴趣的..

0x03 熟人篇

  • 看到不少圈内明星选手的分享,对大佬们的能力、涉及面有了全新的认识,如Kevin2600
  • 看到自己之前参加过的会议,虽过去多年,但议题内容、PPT风格还是能触起当时的回忆
  • 看到一些虽未曾蒙面,但ID很熟悉的分享者,可惜Goolge他们近一年的记录,大多都已不再活跃
  • 有过一面之缘,一起吃过饭、聊过技术的Imperva小伙伴,才知道原来很早就已叱咤风云了
  • 一直关注着的一个圈内大牛,当年分享还是代表天融信,而后代表360,最后去了奇安信,虽未曾认识,但此刻还是多了一份熟悉感
  • 看到不少神交多年的好友,大多已成家立业,时常朋友圈晒娃分享心得
  • 有的还是之前的同事,在认识他的时候,研究的领域和当年分享的内容截然不同,不禁感叹他技术涉猎面真广,也有一些分享者代表现在公司的小伙伴,有的已离职不知去处,有的还在公司,荣幸与其同行

0x04 最后总结

在浏览及梳理了近几十个G会议材料后,最直接有这几个感受:

  1. 安全圈分享明显变少了,或者说只在小圈子活跃了,也或者是自己关注的精力变弱了。
  2. Anything can be study!能够参加大会的材料,理论都有值得学习的地方,就算议题不关注或质量一般,也可以从PPT风格、组织逻辑、配图素材、标题命名、Slogen点睛等上找到启发点。
  3. 对ATT&CK价值有了更深的认识,无论研究漏洞、记录hacktricks、总结渗透经验,本质都是在构建自己的攻击框架,技术研究肯定会滞后,但技战术覆盖要点的归纳,是可以一通百通、长期受益的,也是查漏补缺复盘的一种很好方式。
  4. 技术可能会过时,但攻击思路&理念不会过时,上一次这么说的是k8gege,最近一次亲身感受是用CVE-2007-4559 getshell。
  5. 激情是触发器,可以拥有动力,但不一定可持续。长期作战的话,建立一个正向循环,且尽可能自动化的流程尤为重要
  6. 安全涉及面太广,做不到完美,聚焦在自己关注的分支上就好,其他的交给directory、search、automation。
  7. 和大模型一样,可能很难超越某些前辈,但在细分再细分的领域或某一类型的漏洞挖掘上做到极致,就是一枚结界师。
  8. 发现大多分享者包括我自己,更偏向对技术成果利用的描述,忽略发现过程、考虑原因、中间试错尝试等等,结合自身感受,可能是细节过多内容会臃肿、过程思考较琐碎难以文字化、有些试错只是运气、猜测并不成文等,但其实最有学习价值的就是这些过程细节,就像scz前辈所说,阅读一篇漏洞分析,要试着去思考文章背后的故事,为什么他能发现,利用链是如何被找到的,通过这个漏洞切入点是否能延伸找到更多同原理的漏洞等,尽可能对一枚漏洞发散的去理解。

MasterGo在线设计工具

2023-11-26 18:14:00

0x01 前言

最近接触到MasterGo这款在线设计工具,发现挺不错的。一方面类似Sketch,学习成本比较低,另一方面资源比较多,组件套用、协同配合上也比较方便,因此学习一番,便于更高效运用这款工具。


0x02 功能介绍

1、导入导出

  • 支持对Axure/Sketch等源文件导入
  • 支持将所有图层导出在一个PDF、一张图片或打包zip在一个目录方式导出
  • 支持导出Sketch格式本地存档

2、协同沟通

  • 通过点击他人头像,可以跟随协作组视角
  • 通过使用评论、校对、圈画的方式可以在线对设计调整/注意内容进行沟通,并可以@相关人员
  • 通过右上角分享功能,配置访问权限后,便于设计图实时查看

3、历史版本

  • 可以对历史版本进行恢复或创建副本
  • 默认自动30s保存历史版本,可以手工添加历史版本做标记

4、自动布局

  • 自适应元素布局,例如输入框和文字自适应,输入内容长短自动调节,避免来回调整

5、组件样式

  • 通过建立组件,高效使用重复元素;子组件即实例,是母组件的副本,继承母组件元素和结构,子组件修改样式不会影响母组件,但此时母组件样式将不同,如果需要被同步点击重置所有改动
  • 通过点击编辑组件按钮快速定位母组件
  • 组件适合布局复用,组件集适合在不同条件下布局选择复用
  • 创建组件,在名称中用/分隔,实现分层管理。

0x03 操作技巧

1、管理资源文件

参考团队资产管理方式,团队项目可以按照业务产线区分,文件可以按照功能模块或产品版本号分组,便于内容直观查看与管理。同时可以对每个文件设置封面,以及对文件内容以层级树方式管理版本,便于内容查看与方案复用。

2、汇总组件模板库

  • 统一设计规范,如颜色、特效、文字、布局、图标、组件等风格
  • 常用高频组件或样式,如威胁等级/高危色、详情页字体
  • 常用demo复制数据,如漏洞类型、漏洞详情
  • 常见场景设计模板/思路,如扫描任务、分析图表

3、常用快捷键


四、参考链接

MasterGo资源社区
MasterGo帮助中心

ELK单机调优方案

2022-08-25 19:46:00

0x01 背景前言

最近分析一批恶意样本数据,考虑到数据量以及开箱即用的图表分析,所以决定把数据放在ES上,用Kibana来分析。因为是自己在用,所以只要能快速跑起来,撑的住小几T数据的秒级查询、分析即可。综合速度、便捷性等方面,工作流大致如下:写streaming_bulk,存es、分词ik_max_word、检索kibana、迁移elasticdump/logstash。这个过程没啥高深技术卷入其中,更多只是从众多功能项中,筛选出满足需求,适合单机快速运转的小方案,记上一笔,方便日后用到节省时间。


0x02 环境篇

⚠️ 由于软硬件选用、性能调优出发点是个人单机,线上环境可能并不适合。

1、环境部署

基本环境部署没什么好说的,跟着网上步骤走一遍即可,软件用的是ELK 7.10.1,主环境安装在windows上,同时为了方便调试本地也拉了个docker测试环境;硬件上4核CPU(性能高建议8核~16核)、HDD+SSD、24G内存(性能高建议64G)。推荐两个部署源:

https://github.com/deviantony/docker-elk
https://mirrors.huaweicloud.com/elasticsearch/

2、性能调优

  • JVM优化

根据官方给出的建议,JVM配置为机器一半的内存,不超过32G,且Xms和Xmx值尽可能保持一致。

config/jvm.options
-Xms12g
-Xmx12g
  • 系统优化(Linux)
# 关闭交换分区,防止内存置换降低性能。 将/etc/fstab 文件中包含swap的行注释掉
sed -i '/swap/s/^/#/' /etc/fstab
swapoff -a

# 单用户可以打开的最大文件数量,可以设置为官方推荐的65536或更大些
echo "* - nofile 655360" >> /etc/security/limits.conf

# 单用户线程数调大
echo "* - nproc 131072" >> /etc/security/limits.conf

# 单进程可以使用的最大map内存区域数量
echo "vm.max_map_count = 655360" >> /etc/sysctl.conf

# 修改立即生效
sysctl -p
  • 索引优化

    • 分片副本:自己用单节点分片建议3个以内,每个分片30GB左右,1个副本,具体根据实际使用调节,目前保持 Elasticsearch7.0 的默认1个分片、1个副本。
    • 数据结构:避免使用动态生成的Mapping,手动构造Mapping。
    • 减少字段:对于较多不需要检索的字段,建议用MySQL等其他数据库组合的方式做联合存储。
  • 写入优化

Elasticsearch近实时的本质是:最快1s写入的数据可以被查询到。 如果refresh_interval设置为1s,势必会产生大量的segment,检索性能会受到影响。 所以非实时的场景可以调大,设置为30s,甚至-1。即:在写入过程中修改刷新时间和副本数来提升写入的速度,等到写入结束后再修改回去。

GET /ASM_Assets/_settings


PUT /ASM_Assets/_settings
{
    "index" : {
        "refresh_interval" : "-1",
        "number_of_replicas": 0
    }
}

同时用buk或streaming_bulk批量写的方式,目前主要用的streaming_bulk基本能够达到数据录入的时间、文档的要求。根据不同场景、侧重需求情况,可以参考py-elasticsearch的stream_bulk、parallel_bulk、bulk性能对比作者给出的测试结果选择适合的批量写入的方式。


0x03 操作篇

1、常用REST API

  • 创建索引
PUT index_two
{
    "mappings":
    {
        "properties":
        {
            "name":
            {
                "type": "keyword"
            }
        }
    },
    "settings":
    {
        "index":
        {
            "number_of_shards": 1,
            "number_of_replicas": 2
        }
    }
}
  • 删除索引
# 删除索引数据,保留结构
POST index_one/_delete_by_query
{
  "query": { 
    "match_all": {
    }
  }
}

# 删除索引
DELETE /index_one,index_two
  • 查看索引
# 查看A开头索引
GET /_cat/indices/A*?v

# 查看索引状态
GET  /_cat/indices/ASM_ips

# 查看索引设置
GET /ASM_ips/_settings

# 查看索引mapping
GET /ASM_ips/_mapping

2、常用检索语法

  • KQL
# 查询response字段中包含200的文档对象
response:200

# 模糊查询response字段中包含200的文档对象
response:*200或者response:200*

# 不区分大小精确查询某字符串
message:"hello world yes"

# 不区分大小无序查询包含其中某个字符串
message:hello world

# 关系查询
(name:jane and addr:beijing) or job:teacher
response:(200 or 404)
not response:200
response:(200 and not yes)
@timestamp < "2021"

# 查询所有包含response字段的文档对象。
response:*

# 查询搜索列machine开头,字段内容包含hello的数据记录
machine*:hello
  • Lucene
# 返回结果中需要有http_host字段
_exists_:http_host 

# 不能含有http_host字段   
_missing_:http_host   

# 通配符模糊匹配
kiba?a, el*search

# 范围匹配
sip:["172.24.20.110" TO "172.24.20.140"]
date:{"now-6h" TO "now"}

3、数据迁移导入/导出

  • 数据批量录入(elasticsearch-py)
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# @Author   : Coco413
# @Summary  : Batch import source data to elasticsearch
# @Usage    : python3 import_es.py

try:
    import simplejson as json
except ImportError:
    import json
from elasticsearch import Elasticsearch, helpers
from datetime import datetime
import csv

ES = Elasticsearch(
    hosts=[{"host": "127.0.0.1", "port": "9200"}],
    http_auth=("xxx", "xxxx"),
    retry_on_timeout=True,
    max_retries=10)

def importdata_TXT(filename="ips.txt", index_name="xxx", count=0, all="N/A"):
    with open(filename, "r", encoding="utf8") as fr:
        for line in fr:
            count += 1
            pass # <根据自身需求,处理文本结构至base>
            temp = {
                "_op_type": 'index',
                "_index": index_name,
                "_source": base
            }
            print("[{}/{}]{}".format(count, all, temp))
            yield temp

def importdata_CSV(filename="domains.csv", index_name="xxx", count=0, all="215612"):
    with open(filename, "r", encoding="utf8") as fr:
        for row in csv.DictReader(fr):
            count+=1
            pass # <根据自身需求,处理文本结构至base>
            temp = {
                "_op_type": 'index',
                "_index": index_name,
                "_source": base
            }
            print("[{}/{}]{}".format(count, all, temp))
            yield temp

def importdata_JSON(filename="ioc.json", index_name="xxx", count=0, all="N/A"):
    with open(filename, "r", encoding='utf-8') as fr:
        for line in fp:
            count+=1
            pass # <根据自身需求,处理文本结构至base>
            temp = {
                "_op_type": 'index',
                "_index": index_name,
                "_source": base
            }
            print("[{}/{}]{}".format(count, all, temp))
            yield temp

for ok, response in helpers.streaming_bulk(client=ES, max_retries=5, chunk_size=5000, actions=importdata_TXT()):
    if not ok:
        print(response)
  • 少量数据导出(elasticdump)
elasticdump --input=http://xxx:[email protected]:9200/ASM_Assets --output=./my_index_mapping.json --type=mapping

elasticdump --input=http://xxx:[email protected]:9200/ASM_Assets --output=./my_index_data.json --timeout=10 --sizeFile=1gb --type=data

elasticdump --input=http://xxx:[email protected]:9200/ASM_Assets --output=$ | gzip > ./my_index_data.json.gz --timeout=10 --type=data

elasticdump --input=./my_index_data.json.gz --output=http://xxx:[email protected]:9200/ASM_Assets --type=data
  • 大量数据导出(logstash)
input {
    elasticsearch {
        hosts => ["127.0.0.1:9200"]
        user => "xxxx"
        password => "xxx"
        index => "*"
        # query => '{ "query": { "query_string": { "query": "*" } } }'
        docinfo => true
        size => 5000
        # schedule => "0 * * * *"
    }
}
output {
    file {
        path => "./1.json"
        # path => "./test-%{+YYYY-MM-dd HH:mm:ss}.txt"
    }
    stdout {
        codec => json_lines #console输出, 可以注释stdout部分
    }
}

0x04 参考引用

ES优化-精华总结 | 智能后端和架构

Elastic Stack 实战手册-藏经阁-阿里云开发者社区

阿里云Elasticsearch 最佳实践 - Alibaba Cloud

如何设计 mapping - Elastic 中文社区

Mapping | Elasticsearch Guide 7.10

我的知识管理方式

2022-05-22 23:43:00

0x01 前言

在这个信息过载的时代,我既是一名知识汲取的受益者,同时也是知识反噬的焦虑者。作为一名信息安全从业者,需要具有大量的阅读和碎片知识的积累,来帮助自己完善知识体系、提升对安全认知的见解。在这个成长的过程中,同时也会伴随着反噬、焦虑,比如自己的精力和意志时常产生矛盾互相打架,收藏的paper、想做的 ideas 积压的越来越多,生活和技术分配的时间失去了平衡等等,导致陷入在信息洪流和知识焦虑中难以自拔。

之前有一段时间,我大部分信息来源渠道,甚至娱乐相关的APP几乎都被技术相关话题所淹没,我被自己困在了自己勾勒的信息茧房中,抛开技术仿佛就是一只小白懵懵糟糟,唯一换来的可能就是朋友的调侃只要发给我的paper,好像都被我提前看过了,而得到的那一丝丝“奇怪的自豪感”。

无休止的奔跑、野蛮的阅读、仅靠意志力和信息洪流正面刚,诚然量变会产生质变能够带来不少帮助,并且这种“野蛮”、“痛”的过程我一直也认为是很有必要的,只是在经历过后,需要能够把自己拽出来,进而更好更有效率的学习沉淀。当下不敢说摆脱了知识焦虑的困扰,自己偶尔也还是会出现焦虑,“禁闭”个一两天和自己作对下,但相比之前好了很多,同时在这个过程中也有了一些自己的感悟,拿出来和大家一起交流,共同捍卫我们的信息流。

0x02 为无休止的奔跑,按下暂停键

无休止的奔跑,会让信息积压的更多,既给自己增添焦虑感,也不利于内容吸收。因此需要阶段性的按下暂停键,回顾整理沉淀,降低知识的焦虑感。如何降低知识焦虑感?我有如下这几个小 tips 和大家分享:

1、减少Inbox收集入口,不再随意使用收藏功能

之前零碎信息管理上有个明显的问题,就是入口过多,多个信息渠道收藏、转发,甚至有时候图一时方便直接截图或粘贴备忘录,导致回顾整理起来非常耗费精力。因此开始缩减入口,减少在不同渠道平台上使用收藏功能,把过滤后的信息入口,统一都放入在 Cubox 进行回顾。

2、减少交叉信息的获取,不因错过文章而焦虑

之前会有因为担心“单节点故障”漏掉了某些信息内容,所以在不同信息渠道上交叉重复订阅相同的信息源,导致阅读时候产生不少重复的内容。但其实这样意义并不大,更多只是增重了重复过滤的精力,并且有了这种“冗余机制”,在浏览的时候也会不自觉产生出一定惰性和依赖性,阅读也不够有耐心。

所以重复交叉订阅没有太多必要,就像个人知识管理体系系列 - 捕蛇者说里所说:

当第一次遇到一篇文章的时候可以不用打开,当第二次又出现在你眼前的时候再去阅读,真正重要的东西是会出现第二遍的。

乍一听鸡汤味十足,但细细想来还是挺有道理,即使信息源只保留一个,重要的内容比如某个漏洞爆发还是自然而然可以通过朋友圈、工作群等方式获取到,及时性固然重要,但重复筛选所耗费的精力也应当被呵护。因此我逐渐清理了一些没必要的群、公共号以及其他重复信息源,仅保留方便日常和较为关注的信息源做交叉订阅,把生活和技术的信息界限感划分的更清晰些,既不影响信息获取,同时也释放了一定精力跳出来,回归到生活。

3、精力有限,唯有聚焦胜于一切

之前有段时间,总想着把积压的内容一个个 check 掉,但却不断陷入在收藏-消化、再收藏-再消化的恶性循环中,归根到源头还是不够聚焦、导致信息过滤失败,处理太多“有益但无意义”的信息流,分散了精力。所以在过滤信息的时候应当更加谨慎一些,评估自己是否能够做到稍后阅读,从而适当舍弃掉一些信息流,聚焦在自己的分支上,避免被大量都是有益的信息所干扰到。比如收藏某篇文章的时候,可以问问自己是因为确实需要还是惯性收藏?最近是否有时间去研究?是否能解决当下某个问题?如果不收藏今后找不到吗?等等问题,然后给自己一个过滤信息的答案。

4、放平心态,接纳焦虑

如何放平心态,去看待知识焦虑,我的理解就是把它当做一个件在正常不过的事情,因为这种焦虑不仅仅我们会产生,很多其他人也都有遇到过,它只是这个信息时代的一个现象,而非问题,因此只要放平心态去接纳这种现象,找到适合自己的工作流就好,当工作学习的时候就进入这个框架好好工作,非工作的时候跳就出来好好享受生活。这里摘录了几条大佬们的语录:

  • Project ZeroGoogle P0安全团队 - Blog

    • The More You Know, The More You Know You Don’t Know
  • ringzero猪猪侠ringzero的个人主页 - 微博

    • 在这样一个信息爆炸的互联网时代,唯一不缺的是信息和内容,非常奇缺的是能够筛选掉无效信息的东西。
    • 获取知识与应用知识的街接点在思考。搜索引擎可以提供海量资源,令知识获取变得比以往任何时候都容易,却几乎没办法帮助大家真正学会如何思考并且应用这些知识。
    • 我理解的世界是一个由「信息」维系的世界,人的知识结构、世界观、经验等均由不同信息组成。人与人的差别在于掌握「信息的多少及信息质量的高低」。当你能够自由便捷地获取信息,你就拥有更多改变的机会,让自己快速成长。
  • 不爱吃鱼的蓝鲸也许生活本该碎片化:聊聊 flomo 这款工具如何改变我的生活 - 少数派

    • 从每天清晨开始,我们就与来自未来的新讯息邂逅了。在手机上接收天南海北的信息,在电脑前搜集包罗万象的新意。可能是一篇文章,一条新闻,一封邮件。这些碎片随着信息的浪潮蜂拥而至,有用或是无用,构建起了我们的生活片段。不论是学习还是工作,一切都在慢慢推进,但并不始终都来的整齐划一。生活,或许本就是碎片化的。有时我们应该换位思考,接收这种碎片化,才能更好地关注信息的价值。
    • 规整,在当时的我看来,才是信息的本体。只有让它们整齐划一地出现在我的记录中,我才会觉得安心。

通过这些语录不难看出,大家都面临过相类似的困扰,也都在不断探索寻找适合自己的信息相处方式,所以对于知识焦虑,要能从心态上平静的接纳这一现象。

0x03 优化适合自己的工作流

知识管理工作流简单来说即:从信息输入到输出的过程中,挑选顺手的工具连贯而形成一套信息管理使用流程。知识管理这类工具有很多,比如Flomo、Zotero、Obsidian、Notion等都是很好的工具,是否适合自己,需要在尝试过程中发现问题解决问题。以下是我在这个过程中挑选的一些工具,并形成适合我自己的简易工作流。流程、工具选用因人而异,仅供参考:

1、输入篇

RSS信息聚合

在RSS订阅工具上我主要使用Inoreader,在订阅一些国外Feed上速度能够更快一些,不过由于 RSS 会存在一定信息延迟,所以部分源会配合上 Distill 添加页面监控提醒。在RSS内容筛选管理上我大致有如下这几个小习惯:

  • 定期融合行业内优质订阅源

关注行业内一些综合订阅源更新动态,定期去重、合并、筛检做融合补充。目前主要关注zhengjim/Chinese-Security-RSSr0eXpeR/Security_RSSHan0nly/SecurityRSSzer0yu/CyberSecurityRSS这几个仓库,如果也有类似需求的小伙伴,在处理opml文件时,注意这几个小tips:(1)同订阅源,不同协议,例如http://www.example.com/rss.xmlhttps://www.example.com/rss.xml(2)同订阅源,URL路径格式,例如http://www.example.com/rss.xmlhttp://www.example.com/rss.xml/ (3)同订阅源,多订阅地址,例如http://www.example.com/rss.xmlhttp://api.example.com/rss.xml (4)同订阅源,不同烧制方式,例如同一个站点可能会出现有的用Feed43、有的用RssHub烧制。

  • 分拣独立出高质量订阅源

比较关注的、高质量订阅源独立在一个目录,便于忙的时候优先取舍浏览。

  • 分拣独立出每天更新较多及聚合后的订阅源

一些每天更新频繁的比如 HackerNews、Freebuf 或者本身就是聚合的站点比如unsafe、doonsec等独立出来,避免积压过多,影响其他源信息查看。

Github开源项目

Github是我比较高频的信息获取渠道,由于之前顺手 Fork 积压了不少仓库,管理起来比较麻烦,并且事后也基本都没有再看过、查找也不方便,所以 GitHub 更多只是用来项目浏览和仓库更新提醒,不做收藏。遇到感兴趣的项目打标签放到 Cubox 或者直接整理到 DEVONthink Awesome-Security,方便需要的时候能快速找到某个项目或某类项目集。

草稿灵感记录

对于闪现灵感、草稿随笔这类只言片语主要用备忘录、Procreate。备忘录记录会比较随意,放飞的写写画画,然后定期再去清理。

文档书籍阅读

在文档阅读流程上,我主要采用 iCloud云盘 + DEVONthink方式,需要看哪些文件通过 iCloud 云盘同步,看完后再归档到本地目录,替换新的文件到云盘。交替同步一方面不会有太多的阅读压力,另一方面也避免大量文件同步耗时、占用空间。

在文档阅读设备上,习惯用iPad看文档,周末打着dota,嚼着脆司令,再来口冰阔乐,读秒时刷刷PDF,一大乐事。

在技术类文档管理上,习惯重标签轻分类,即所有的文档都放在一个目录下,通过命名方式 + 标签进行管理,同时用标签自带的颜色区分属性大类,如红队、蓝队。

2、中转篇

稍后阅读Cubox

信息筛选过滤后,交由 Cubox 标记分类,作为统一的信息中转入口,承载稍后阅读和整理归档的中抠作用。

内容编辑Typora

由于 DEVONthink 自带的编辑器不好用,所以内容编辑使用 Typora 或者飞书在线文档代替。

3、输出篇

输出SecNavi

SecNavi是我一个在持续更新的安全站点导航,主要是为了简化一部分浏览器书签、方便平时资料查找,发现不错的网站就补充添加进去。

输出DEVONthink

DEVONthink总的来说是一款 ALL-IN-ONE 的信息管理工具,既可以 RSS 订阅、稍后阅读,也可以文件管理、全文检索等,同时也有比较方便的同步方案,基本贯穿了输入到输出整个工作流。

从内心来说我是希望有这么一款全方位覆盖工作流 ALL-IN-ONE 的工具,但深入使用下来并不适合我,在细节、方便程度、功能覆盖上等都不够顺畅。不过DEVONthink在文件管理上非常方便,并且其标签能够和 Finder 系统标签完全同步保持一致,因此我使用 DEVONthink 主要是用于管理输出的笔记、文档等,同步Finder&iCloud归档备份。

4、番外篇

TODO日程助手

工作流除了对输入&输出管理外,日程安排也尤为重要,目前我主要使用 Things 3 来管理工作流任务、生活琐事、重要提醒等。

PDA数字助手

工作流除了软件外,硬件设备也必不可少,我日常主力MBP,闲暇外出iPad,配合飞书的在线文档 + iCloud云盘,能够方便流畅的内容编辑&文档阅读。

0x04 结语

适合的工作流、良好的心态,能够帮助我们更从容的面对,每天扑面而来的信息流。除此之外,还应当不断提升独立思考、信息检索的能力,反哺工作流的输入与输出,进而去完善知识体系,让自己对事物的认知理解能更趋势于准确且全面。

以上就是我的知识管理方式,希望能给你带来一些帮助。

0x05 参考文献

个人知识管理体系系列 - 捕蛇者说

如何学习这么多的安全文章(理论篇) - aerfa21

有用和无用 - tombkeeper

我的效率系统三原则 - 少数派

不要追求完美的自己 - 少数派

与信息舒适共处:我的信息极简管理实践 - 少数派

也许生活本该碎片化:聊聊 flomo 这款工具如何改变我的生活 - 少数派

东西我都装好了 | 「古方」新用:用「5S」法则重塑你的收纳整理逻辑 - 少数派

让安全产品摆烂的十五条建议

2022-03-06 18:28:00

看到一篇笔风挺意思的文章让安全团队快速倒闭的十条建议,模仿也写了几条关于安全产品的忠告建议,行之是否有效,也请自行甄别尝试,过程所产生的一切风险责任由践行者承担~~

1、不必重视安全产品运营,交由客户自由发挥
2、不必量化指标自证产品能力,看不见的价值无需呈现
3、无需在意产品使用“安全感”,尽管强迫用户适应你的想法
4、不必方法论定战略做规划,直接一把搜就开干
5、无需明确产品定位,尽量发散尽善尽美
6、不必深入了解安全,对着标书抄抄改改即可
7、不必落地解决方案、场景流程,只要功能具备,其他依赖使用者水平就好
8、不必提高核心竞争力,产品同质化是常态
9、不必倾听一线声音,他们使用很流畅
10、不必客观展示全貌数据,片面断节数据不影响分析
11、不必透明指标定义、研判机制,懂的人自然懂
12、功能流程不必闭环,细节交互逻辑无需在意
13、尽管把故障运维压力交由研发,不必为其考虑自动化
14、不必管控产品演示质量,无需考虑演示标准化
15、不必考虑安全产品质量,安全产品自然安全