网络安全学什么

news2025/1/19 8:25:43

由于我之前写了不少网络安全技术相关的故事文章,不少读者朋友知道我是从事网络安全相关的工作,于是经常有人在微信里问我:

我刚入门网络安全,该怎么学?要学哪些东西?有哪些方向?怎么选?

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

常读我文章的朋友知道,我的文章基本以故事为载体的技术输出为主,很少去谈到职场、面试这些方面的内容。主要是考虑到现在大家的压力已经很大,节奏很快,公众号上是让大家放松的地方,尽量写一些轻快的内容。不过随着越来越多的人问我上面这些问题,今天就专门写一篇来摆一摆这个龙门阵。

近几年,随着网络安全被列为国家安全战略的一部分,这个曾经细分的领域发展提速了不少,除了一些传统安全厂商以外,一些互联网大厂也都纷纷加码了在这一块的投入,随之而来的吸引了越来越多的新鲜血液不断涌入。

网络安全分支

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

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

  • 安全研发

  • 安全研究:二进制方向

  • 安全研究:网络渗透方向

下面逐一说明一下。

安全研发

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

  • 与安全业务关系不大的研发岗位

  • 与安全业务紧密相关的研发岗位

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

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

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

  • 做安全产品开发,做防

  • 做安全工具开发,做攻

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

  • 防火墙、IDS、IPS

  • WAF(Web网站应用防火墙)

  • 数据库网关

  • NTA(网络流量分析)

  • SIEM(安全事件分析中心、态势感知)

  • 大数据安全分析

  • EDR(终端设备上的安全软件)

  • DLP(数据泄漏防护)

  • 杀毒软件

  • 安全检测沙箱

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

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

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

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

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

二进制安全

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

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

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

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

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

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

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

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

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

网络渗透

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

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

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

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

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

安全服务,俗称乙方,这是最主要的一个方向,为甲方公司提供安全能力支持,如渗透测试,产品安全检测等。

安全能力建设,俗称甲方,国内稍微有点规模的公司都有自己的SRC(安全应急响应中心),也就是有自己的安全团队。

国家队:你懂的

学习路线

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

首先别想分方向,先打好基础!

第一步:计算机基础

这第一步,其实跟网络安全关系都不太大,而是进入IT领域的任何一个人都要掌握的基础能力。下面五大课程,是大学老师当年教给我们不管你是什么技术方向最好都好好学的技术,如今看来,仍然不过时:

  • 计算机网络

  • 计算机组成原理

  • 操作系统

  • 算法与数据结构

  • 数据库

这每一门课程其实都内有乾坤,基本都不能做到一次学习就能掌握,而是伴随每个人的职业生涯,不同的技术阶段都会有不一样的认识和感受。

具体学起来建议参考敏捷开发,不断迭代:有一个粗略的认识->有了进一步的认识->彻底掌握->温故而知新。不用纠缠于把一门课程全部学完学懂才进入下一门课程。

第二步:编程能力

有了上面的一些基本功后,这个时候就需要动手,来写点代码,锤炼一下编程的功底。

下面三项,是安全行业的从业者都最好能掌握的语言:

  • Shell脚本

掌握常用的Linux命令,能编写简单的Shell脚本,处理一些简单的事务。

  • C语言(C++可选)

C语言没有复杂的特性,是现代编程语言的祖师爷,适合编写底层软件,还能帮助你理解内存、算法、操作系统等计算机知识,建议学一下。

  • Python

C语言帮助你理解底层,Python则助你编写网络、爬虫、数据处理、图像处理等功能性的软件。是程序员,尤其是黑客们非常钟爱的编程语言,不得不学。

第三步:安全初体验

有了前面两步的打底,是时候接触一些网络安全的技术了,刚刚开始这个阶段,仍然不要把自己圈起来只学某一个方向的技术。这个阶段,我的建议是:但当涉猎,见往事耳。

网络协议攻击、Web服务攻击、浏览器安全、漏洞攻击、逆向破解、工具开发都去接触一下,知道这是做什么的,在这个过程中去发现自己的兴趣,让自己对网络安全各种领域的技术都有一个初步的认识。

第四步:分方向

在第三步中,慢慢发现自己的兴趣点,是喜欢做各种工具的开发,还是喜欢攻破网站,还是痴迷于主机电脑的攻击···

这个时候就可以思考自己后面的方向,然后精力开始聚焦在这个方向上,通过上面思维导图中各自方向的技术去持续深耕,成为某一个领域的大拿。

学习方法

上面介绍了技术分类和学习路线,这里来谈一下学习方法

  • 看书学习,这是最最基础的

  • 实际动手,开发路线需要多写代码,阅读优秀开源代码,二进制路线多分析样本,编写EXP等等,渗透测试多拿网站练手(合法方式)等

  • 打CTF,多参与一些网络安全比赛,接近实战的环境下锻炼动手能力

  • 混圈子,多混一些安全大牛出没的社群、社区、论坛,掌握行业信息,了解最新技术变化趋势(高清版思维导图有)

总结

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

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

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

个人搜集整理学习路线及笔记icon-default.png?t=N3I4https://mp.weixin.qq.com/s/KQx_eIwdjCj3QdErxKb7ZQ

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/532463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

卷麻了,可别再为难软件测试人了

前言 有不少技术友在测试群里讨论,近期的面试越来越难了,要背的八股文越来越多了,考察得越来越细,越来越底层,明摆着就是想让我们徒手造航母嘛!实在是太为难我们这些测试工程师了。 这不,为了帮大家节约时…

最“拼爹妈”的美国大学TOP10,什么是Legacy 录取?

Legacy的直译是遗产的意思,父母和大学的关系,就像家庭的遗产一样,可以传递给孩子一代(有时候,亲哥哥,亲姐姐也会被算作是 legacy)。有的大学祖父母如果是校友,也会算作 legacy。再远…

Docker部署配置Gitlab

Docker部署配置Gitlab 1 参考文档2 Gitlab相关介绍2.1 Gitlab2.2 Git和SVN的区别2.3 Git、Gitlab、GitHub的简单区别 3 搭建Gitlab仓库3.1 拉取镜像3.2 启动容器 4 修改配置文件并配置邮箱4.1 开放linux端口4.2 设置IP、端口4.3 配置邮箱4.4 让配置生效 5 管理员登录Gitlab6 创…

【输变电线路 JL-8C/12反时限电流继电器 报警信号、切除故障 JOSEF约瑟】

系列型号 JL-8C/11反时限电流继电器; JL-8C/12反时限电流继电器; JL-8C/12X反时限电流继电器; JL-8C/21-1反时限电流继电器; JL-8C/21-2反时限电流继电器; JL-8C/21-3反时限电流继电器; JL-8C/21-4反…

在线域名批量查询工具-在什么网站可以挖到老域名

怎么能挖掘到好域名 挖掘到好域名对于网站的建设和SEO排名是非常重要的,因为好的域名可以提高网站的置信度,增加自然引荐的数量,并且可以在搜索引擎排名中获得优势。下面介绍一些优秀的老域名挖掘方法,以及一种常用、免费的老域名…

verflow属性的常用值详解

什么是overflow 在CSS中,overflow是“溢出”的意思,该属性规定当内容溢出元素框时发生的事情,设置内容是否会被修剪,溢出部分是否会被隐藏;例如当属性值设置为“visible”则内容不会被修剪,为“hidden”则内…

PVT(Pyramid Vision Transformer)学习记录

引言与启发 自从ViT之后,关于vision transformer的研究呈井喷式爆发,从思路上分主要沿着两大个方向,一是提升ViT在图像分类的效果;二就是将ViT应用在其它图像任务中,比如分割和检测任务上,这里介绍的PVT&a…

【云原生】k8s 如何运行 Container?

文章目录 引语1、什么是 Pod1.1 简介1.2 Pod 怎样管理多个容器?1.3 如何使用 Pod? 2、Pod 基本操作2.1 查看 Pod2.2 创建 Pod2.3 删除 pod2.4 进入 Pod 中容器2.5 查看 Pod 日志2.6 查看 Pod 的描述信息 3、Pod 运行多个容器3.1 创建 Pod3.2 查看指定容器…

浅谈编译器对构造函数和拷贝构造的优化

一、前言 ①我们先看一段程序&#xff0c;传值传参和传引用传参 #include <iostream> using namespace std;class D { public:D(int a0)//构造:_a(a){cout << "D(int a0)" << endl;}D(const D& d)//拷贝{_a d._a;cout << "D(con…

域名到期时间查询网站-免费版的翼龙老域名挖掘

批量域名过期查询软件 随着互联网的不断发展&#xff0c;域名越来越重要&#xff0c;特别是对于那些热爱SEO优化的网站管理员来说&#xff0c;域名的重要性无法忽视。而对于那些热衷于SEO优化的用户来说&#xff0c;域名过期查询可能是一个必不可少的工具&#xff0c;它可以用…

数据结构初阶--链表OJⅡ

目录 前言相交链表思路分析代码实现 环形链表思路分析代码实现 环形链表Ⅱ思路分析代码实现 复制带随机指针的链表思路分析代码实现 前言 本篇文章承接上篇博客&#xff0c;继续对部分经典链表OJ题进行讲解 相交链表 先来看题目描述 思路分析 这道题我们还是首先来判断一…

蓝牙耳机怎么挑选?小编分享2023畅销蓝牙耳机排行榜

蓝牙耳机怎么挑选&#xff1f;蓝牙、音质、续航、佩戴是蓝牙耳机选购时最重要的四大维度&#xff0c;这几年随着技术的成熟体验有了很大改善&#xff0c;但挑选的时候仍然要仔细对比&#xff0c;不然容易踩雷。小编根据销量整理了蓝牙耳机排行榜&#xff0c;一起看看最受消费者…

水务行业数智化招标采购系统建设解决方案

水务行业数智化采购解决方案 国家“十四五”规划和2035年远景目标纲要&#xff1a;提升产业链供应链现代化水平。加快数字化发展&#xff0c;推动产业数字化&#xff0c;数字产业化&#xff0c;以数字化转型整体驱动生产方式、生活方式和治理方式变革。利用数字技术重构价值链…

kafka-Producer Sender 源码分析

说明 本文基于 kafka 2.7 编写。author blog.jellyfishmix.com / JellyfishMIX - githubLICENSE GPL-2.0 Sender 类属性 public class Sender implements Runnable {private final Logger log;/*** Sender 具体用的是 KafkaClient 接口的实现类 NetworkClient, 为 Sender 提…

【算法】经典背包问题

作者&#xff1a;指针不指南吗 专栏&#xff1a;算法篇 &#x1f43e;或许会很慢&#xff0c;但是不可以停下来&#x1f43e; 文章目录 引入Dp1.01背包2.完全背包3.多重背包4.分组背包 acwing 背包问题——学习笔记 01背包、完全背包、多重背包、分组背包 引入Dp Dp问题&#…

[SUCTF 2018]GetShell

有个文件上传&#xff0c;给了部分源码 if($contentsfile_get_contents($_FILES["file"]["tmp_name"])){$datasubstr($contents,5);foreach ($black_char as $b) {if (stripos($data, $b) ! false){die("illegal char");}} } 可以知道有…

黑白照片如何变彩色?黑白照变彩色的秘诀分享。​

黑白照片如何变彩色&#xff1f;将黑白照片变成彩色可以给照片增添生动的视觉效果和真实感&#xff0c;使得人物、场景更加具体形象&#xff0c;让人们更容易与之产生共鸣和情感联系&#xff0c;此外&#xff0c;通过给黑白老照片添加颜色&#xff0c;还可以打破时间和空间的限…

社区分享|JumpServer引领我走向开源天地

编者注&#xff1a;以下内容基于山东青岛的JumpServer社区用户JonnyJ的社区分享整理而成。 “接触到JumpServer之后&#xff0c;我从一个开源受益者逐渐成长为开源的贡献者。其实我们每个人都可以成为开源贡献者&#xff0c;不局限于软件产品&#xff0c;哪怕只是你的一段共享…

K8S集群+kubeadm+flannel+docker+harbor实例

目录 第一章.环境准备 1.1.部署架构图 1.2.节点要求 1.3.部署软件 1.4.修改主机名 1.5.所有节点修改hosts文件 1.6.关闭防火墙规则&#xff0c;关闭selinux&#xff0c;关闭swap交换 1.7.调整内核参数 第二章.部署K8S集群 2.1.所有节点安装docker 2.2.所有节点安装ku…