当前位置: 首页 > news >正文

网络安全这条路到底该怎么走?

我之前就写过一篇文章专门解答了这个问题。但是还是有很多小伙伴并不清楚这条路该怎么走下去!

不同于Java、C/C++等后端开发岗位有非常明晰的学习路线,网路安全更多是靠自己摸索,要学的东西又杂又多,难成体系。

网络安全虽然是计算机众多方向中的一支,但这个方向中,还可以进一步细分诸多细分方向,不同的方向要学的东西差别还是挺大的,所以需要分开讨论。

网络安全分支

其实在网络安全这个概念之上,还有一个更大的概念:信息安全。我们不去探讨二者在学术划分上的区别,如无特殊说明,文中将其视为一个概念,我们来看下实际工作方向上,有哪些细分路线。

在这个圈子技术门类中,工作岗位主要有以下三个方向:

安全研发
安全研究:二进制方向
安全研究:网络渗透方向

下面逐一说明一下。

安全研发

安全行业的研发岗主要有两种分类:

与安全业务关系不大的研发岗位
与安全业务紧密相关的研发岗位

你可以把网络安全理解成电商行业、教育行业等其他行业一样,每个行业都有自己的软件研发,网络安全作为一个行业也不例外,不同的是这个行业的研发就是开发与网络安全业务相关的软件。

既然如此,那其他行业通用的岗位在安全行业也是存在的,前端、后端、大数据分析等等,也就是属于上面的第一个分类,与安全业务关系不大的类型。这里我们重点关注下第二种,与安全业务紧密相关的研发岗位。

这个分类下面又可以分为两个子类型:

做安全产品开发,做防
做安全工具开发,做攻

安全行业要研发的产品,主要(但不限于)有下面这些:

防火墙、IDS、IPS
WAF(Web网站应用防火墙)
数据库网关
NTA(网络流量分析)
SIEM(安全事件分析中心、态势感知)
大数据安全分析
EDR(终端设备上的安全软件)
DLP(数据泄漏防护)
杀毒软件
安全检测沙箱

总结一下,安全研发的产品大部分都是用于检测发现、抵御安全攻击用的,涉及终端侧(PC电脑、手机、网络设备等)、网络侧。

开发这些产品用到的技术主要以C/C++、Java、Python三大技术栈为主,也有少部分的GoLang、Rust。

安全研发岗位,相对其他两个方向,对网络安全技术的要求要低一些(只是相对,部分产品的研发对安全技能要求并不低),甚至我见过不少公司的研发对安全一无所知。在这种情况下,如果除了基本的开发功底以外,对网络安全技术有所了解,自然会是你面试这些岗位时的加分项。

安全研发岗位,除了通用开发技能的要求以外,可以重点关注一下下面这些技术:

上面列举的只是最直接相关的部分,还需要有了解更多安全技术才能更好的开发产品,继续往下看。

二进制安全

二进制安全方向,这是安全领域两大技术方向之一。

这个方向主要涉及到软件漏洞挖掘、逆向工程、病毒木马分析等工作,涉及操作系统内核分析、调试与反调试、反病毒等技术。因为经常都是与二进制的数据打交道,所以久而久之用二进制安全来统称这个方向。

这个方向的特点是:需要耐得住寂寞

比不上安全研发可以有实实在在的产品输出,也比不上网络渗透方向听起来的狂拽炫酷,这个方向更多时间是在默默的分析和研究。

以漏洞挖掘为例,光是学习五花八门的攻击手法就需要花不少的时间。在这个领域,为了研究一个问题,可能花费数月甚至数年时间,这绝非一般人能坚持下来的。不仅如此,不是勤奋就可以成功,更多还要靠天分。

像腾讯几大安全实验室的掌门人,业界知名的TK教主、吴石这些人物,他们已经深谙漏洞挖掘的奥义,并将这门绝技融会贯通,做个梦都能想到新的玩法。不过像这样的天才实在是少之又少,绝大多数人都无法企及。

如果说程序员是苦逼的话,那二进制安全研究就是苦逼Plus。

如果看了这些你还是有勇气进入这个领域,那下面这些东西是你需要学的:

 这个方向比起安全研发,不仅技术难度更大,提供这些岗位的公司也很少,且基本上分布于北上广深几个一线城市。

网络渗透

这个方向更符合于大部分人对“黑客”的认知,他们能够黑手机、黑电脑、黑网站、黑服务器、黑内网,万物皆可黑。

相比二进制安全方向,这个方向初期更容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。

不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就多了:

网络渗透的方向更偏向于“实战”,因此对技术在广度上有更高的要求,从网络硬件设备、网络通信协议、网络服务(web、邮件、文件、数据库等)、到操作系统、攻击手法等等都需要了解。更偏向于一个全能型的计算机专家,将各种技术融会贯通,以用于“实战”。

网络渗透方向的工作有下面几个方向:

安全服务,俗称乙方,这是最主要的一个方向,为甲方公司提供安全能力支持,如渗透测试,产品安全检测等。
安全能力建设,俗称甲方,国内稍微有点规模的公司都有自己的SRC(安全应急响应中心),也就是有自己的安全团队。
国家队:你懂的

学习路线

上面说完了三个大的技术方向后,下面来聊聊该怎么上路呢?下面说说我的看法。

 

第一阶段:基础操作入门,学习基础知识

入门的第一步是学习一些当下主流的安全工具课程并配套基础原理的书籍,一般来说这个过程在1个月左右比较合适。

在这个阶段,你已经对网络安全有了基本的了解。如果你学完了第一步,相信你已经在理论上明白了上面是sql注入,什么是xss攻击,对burp、msf、cs等安全工具也掌握了基础操作。这个时候最重要的就是开始打地基!

所谓的“打地基”其实就是系统化的学习计算机基础知识。而想要学习好网络安全,首先要具备5个基础知识模块:

1.操作系统

2.协议/网络

3.数据库

4.开发语言

5.常见漏洞原理

学习这些基础知识有什么用呢?

计算机各领域的知识水平决定你渗透水平的上限。

【1】比如:你编程水平高,那你在代码审计的时候就会比别人强,写出的漏洞利用工具就会比别人的好用;

【2】比如:你数据库知识水平高,那你在进行SQL注入攻击的时候,你就可以写出更多更好的SQL注入语句,能绕过别人绕不过的WAF;

【3】比如:你网络水平高,那你在内网渗透的时候就可以比别人更容易了解目标的网络架构,拿到一张网络拓扑就能自己在哪个部位,拿到以一个路由器的配置文件,就知道人家做了哪些路由;

【4】再比如你操作系统玩的好,你提权就更加强,你的信息收集效率就会更加高,你就可以高效筛选出想要得到的信息

第二阶段:实战操作

1.挖SRC

挖SRC的目的主要是讲技能落在实处,学习网络安全最大的幻觉就是觉得自己什么都懂了,但是到了真的挖漏洞的时候却一筹莫展,而SRC是一个非常好的技能应用机会。

2.从技术分享帖(漏洞挖掘类型)学习

观看学习近十年所有0day挖掘的帖,然后搭建环境,去复现漏洞,去思考学习笔者的挖洞思维,培养自己的渗透思维​​​​​

3.靶场练习

自己搭建靶场或者去免费的靶场网站练习,有条件的话可以去购买或者报靠谱的培训机构,一般就有配套的靶场练习

第三阶段:参加CTF比赛或者HVV行动

推荐:CTF比赛

CTF有三点:

【1】接近实战的机会。现在网络安全法很严格,不像之前大家能瞎搞

【2】题目紧跟技术前沿,而书籍很多落后了

【3】如果是大学生的话,以后对找工作也很有帮助

如果你想打CTF比赛,直接去看赛题,赛题看不懂,根据不懂的地方接着去看资料

推荐:HVV(护网)

HVV有四点:

【1】也能极大的锻炼你,提高自身的技术,最好是参加每年举行的HVV行动

【2】能认识许多圈内的大佬,扩大你的人脉

【3】HVV的工资也很高,所以参加的话也能让你赚到不少钱

【4】和CTF比赛一样如果是大学生的话,以后对找工作也很有帮助

四、学习资料的推荐

书单推荐:

计算机操作系统:

【1】编码:隐藏在计算机软硬件背后的语言

【2】深入理解操作系统

【3】深入理解windows操作系统

【4】Linux内核与实现

编程开发类:

【1】 Windows程序设计

【2】windwos核心变成

【3】Linux程序设计

【4】unix环境高级变成

【5】IOS变成

【6】第一行代码Android

【7】C程序语言设计

【8】C primer plus

【9】C和指针

【10】C专家编程

我下面也给大家整理了一些网络安全的资料,大家不想一个一个去找的话,可以参考一下这些资料哈

部分内容展示

视频教程

书籍资料

 

SRC资料包&HW护网行动

 

这份完整版的网安学习资料已经上传,朋友们如果需要可以微信扫描下方CSDN官方认证二维码或者点击下方链接免费领取【保证100%免费】 

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费领取icon-default.png?t=N3I4https://mp.weixin.qq.com/s/rB52cfWsdBq57z1eaftQaQ

 

总结

以上就是我对刚入行网络安全的朋友的一些个人的建议,最后有一点需要说明一下:

上面列举到的不同方向的技术不是严格意义独立的,相反,很多时候是相辅相成,需要结合起来,融会贯通。

每个人的认知是有限的,我也不例外。本文只是我的一家之言,建议大家多看一些人的总结和经验,横向对比,兼听则明,偏听则暗。

网络安全领域就像是一棵硕果累累的参天大树,底下站着无数观望者,他们都声称自己喜欢网络安全,想上树摘果,但面对时不时垂下来的藤枝,他们却踌躇不前,犹豫不决。

实际上,只要任意抓住一根藤枝,都能爬上这棵树。 大部分人缺的,就是这么一个开端。

相关文章:

网络安全这条路到底该怎么走?

我之前就写过一篇文章专门解答了这个问题。但是还是有很多小伙伴并不清楚这条路该怎么走下去! 不同于Java、C/C等后端开发岗位有非常明晰的学习路线,网路安全更多是靠自己摸索,要学的东西又杂又多,难成体系。 网络安全虽然是计算…...

【C++】位图(海量数据处理)

文章目录 抛出问题:引入位图位图解决 位图的概念位图的实现结构构造函数设置位清空位判断这个数是否存在反转位size与count打印函数 位图的应用 抛出问题:引入位图 问题:给40亿个不重复的无符号整数,没排序,给一个无符号整数,如何…...

外包干了五年,废了...

先说一下自己的情况。大专生,17年通过校招进入湖南某软件公司,干了接近5年的测试点点点,今年年上旬,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了五年的点工…...

请问你如何理解以下的歌词“unravel - TK from 凛冽时雨 (TK from 凛として時雨)为什么很多人说崖山海战以后无中国

目录 请问你如何理解以下的歌词“unravel - TK from 凛冽时雨 (TK from 凛として時雨) 为什么很多人说崖山海战以后无中国 请问你如何理解以下的歌词“unravel - TK from 凛冽时雨 (TK from 凛として時雨) 以下是我对《unravel - TK from 凛冽时雨》这首歌词的理解&#xff1…...

从8连挂到面面offer,我只用了一个月,面试25K测试岗血泪经验分享给你

直到如今,我才敢把这段经历分享出来,毕竟一个多月前,我是经历了面试八连挂的人。作为一只骄傲的软件测试工程师,恨不得找一块豆腐撞死。但是在闭关修炼了一个多月之后,重新出来面试,面试了五家公司&#xf…...

计算机操作系统(慕课版)第二章课后题答案

一、简答题 (1)什么是前趋图?试画出下面四条语句的前趋图. S1:axy; S2:bz1; S3:ca-b; S4:wc1; 答:前趋图(Precedence Graph)是一个有向无循环图,…...

【离散数学】置换群和伯恩赛德定理编程题

1:置换的轮换表示 给出一个置换,写出该置换的轮换表示。比如 (1 2 3 4 5 6 7 8 9) (3 1 6 2 9 7 8 4 5) 表示为(1 3 6 7 8 4 2)(5 9) 输入: 置换后的序列 输出: 不相杂的轮换乘积,每行表示一个轮换(轮换的起…...

【自然语言处理】 - 作业2: seq2seq模型机器翻译

课程链接: 清华大学驭风计划 代码仓库:Victor94-king/MachineLearning: MachineLearning basic introduction (github.com) 驭风计划是由清华大学老师教授的,其分为四门课,包括: 机器学习(张敏教授) , 深度学习(胡晓林教授), 计算…...

随身WIFI折腾日记(四)---拓展USB接口读取U盘内容

五、USB行为控制 随身WIFI对外交互的接口只有WIFI和USB接口。如果要想接入其他硬件设备,拓展USB接口至关重要,对于USB接口的控制,参考如下链接: openstick项目官方教程:控制usb行为 HandsomeMod/gc: A Simple Tool To Control Usb Gadget …...

【C++初阶】类与对象(中)之取地址及const取地址操作符重载(了解即可)

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…...

代驾公司如何管理司机

在这个几乎人人都能学车,人人都能开车的时代,代驾职业也越来越专业化和正规化。因此,想要成为一名优秀的代驾司机,一定得有过人之处,对于代驾公司来说,如何管理司机也是尤为的重要。 对于代驾公司来说&…...

面了一个5年经验的测试工程师,自动化都不会也敢喊了16k,我也是醉了····

在深圳这家金融公司也待了几年,被别人面试过也面试过别人,大大小小的事情也见识不少,今天又是团面的一天, 一百多个人都聚集在一起,因为公司最近在谈项目出来面试就2个人,无奈又被叫到面试房间。 整个过程…...

ChatGPT:你真的了解网络安全吗?浅谈攻击防御进行时之网络安全新定义

ChatGPT:你真的了解网络安全吗?浅谈网络安全攻击防御进行时 网络安全新定义总结 ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序,是人工智能技术驱动…...

LeetCode_DFS_困难_1377.T 秒后青蛙的位置

目录 1.题目2.思路3.代码实现(Java) 1.题目 给你一棵由 n 个顶点组成的无向树,顶点编号从 1 到 n。青蛙从 顶点 1 开始起跳。规则如下: 在一秒内,青蛙从它所在的当前顶点跳到另一个未访问过的顶点(如果它…...

第四十九天学习记录:C语言进阶:结构体

结构体 结构体的声明 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量 struct tag {member-list; }variable-list;问:C的new和C语言的结构体有什么异同? ChatAI答: C中的new是一个运算符&#xff…...

LeeCode [N字形变换]算法解析

关键字:数学归纳法 一、题目 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H N A P L S I I G Y I R …...

CPU性能提升:流水线

一条指令的执行一般要经过取指令,翻译指令,执行指令3个基本流程。CPU内部的电路分为不同的单元,取指但愿,译码单元,执行单元等。指令的执行也是按照流水线工序一步步执行的。如图2-34所示,我们假设每一个步…...

C语言指针初级

目录 一、什么是指针 二、指针和指针类型 三、野指针 1.野指针的成因: 2.如何规避野指针 四、指针运算 1.指针-整数 2. 指针之间的加减 五、二级指针 六、指针数组 一个男人,到底要走多少的路,才能成为一个真正的男人 本专栏适用于…...

C++的历史

C是一种广泛使用的编程语言。C于1983年由丹尼斯里奇(Dennis Ritchie)在贝尔实验室创造,它是C语言的扩展。C的设计初衷是为了提高代码的可重用性和可维护性。它允许开发人员使用面向对象编程(OOP)范例,这使得…...

保姆级别!!!--全网绝对教你会!!教你如何使用MQTTFX连接阿里云平台中的设备----下期告诉你如何创建!

本期需要下载的软件 MQttfx安装包,本人打包的-嵌入式文档类资源-CSDN文库 目录 第一步:建造阿里云设备 这个可以先忽略建造步骤,下期将提供步骤。 第二步:下载mqttfx软件 第三步:填写密钥信息进行连接 查看三元…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...