如何入門網絡安全_網絡安全自學

由于我之前寫了不少網絡安全技術相關的故事文章,不少讀者朋友知道我是從事網絡安全相關的工作,于是經常有人在微信里問我:

我剛入門網絡安全,該怎么學?要學哪些東西?有哪些方向?怎么選?

不同于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,多參與一些網絡安全比賽,接近實戰的環境下鍛煉動手能力
  • 混圈子,多混一些安全大牛出沒的社群、社區、論壇,掌握行業信息,了解最新技術變化趨勢(高清版思維導圖有)

總結

以上就是我對剛入行網絡安全的朋友的一些個人的建議,最后有一點需要說明一下:

上面列舉到的不同方向的技術不是嚴格意義獨立的,相反,很多時候是相輔相成,需要結合起來,融會貫通。

每個人的認知是有限的,我也不例外。本文只是我的一家之言,建議大家多看一些人的總結和經驗,橫向對比,兼聽則明,偏聽則暗。

最后

朋友們如果有需要全套網絡安全入門+進階學習資源包,可以點擊免費領取(如遇掃碼問題,可以在評論區留言領取哦)~

CSDN大禮包:《黑客&網絡安全入門&進階學習資源包》免費分享

在這里插入圖片描述

1.網安必備全套工具包和源碼

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2.視頻教程

網上雖然也有很多的學習資源,但基本上都殘缺不全的,這是我自己錄的網安視頻教程,路線圖上的每一個知識點,我都有配套的視頻講解。
在這里插入圖片描述

3.技術文檔和電子書

技術文檔也是我自己整理的,包括我參加護網行動、CTF和挖SRC漏洞的經驗和技術要點。
在這里插入圖片描述

網安方面的電子書我也收藏了200多本,基本上熱門的和經典的我都有,也可以共享。
在這里插入圖片描述

4.NISP、CISP等各種證書備考大禮包

在這里插入圖片描述

5.CTF項目實戰

學習網安技術最忌諱紙上談兵,而在項目實戰中,既能學習又能獲得報酬的CTF比賽無疑是最好的試金石!

在這里插入圖片描述

6.網安大廠面試題

這幾年整理的網安方面的面試題,如果你是要找網安方面的工作,它們絕對能幫你大忙。
在這里插入圖片描述
朋友們如果有需要全套網絡安全入門+進階學習資源包,可以點擊免費領取(如遇掃碼問題,可以在評論區留言領取哦)~

CSDN大禮包:《黑客&網絡安全入門&進階學習資源包》免費分享

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/210311.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/210311.shtml
英文地址,請注明出處:http://en.pswp.cn/news/210311.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

算法:合并兩個有序數組(雙指針)

時間復雜度 O(m n),空間復雜度 O(1) /*** param {number[]} nums1* param {number} m* param {number[]} nums2* param {number} n* return {void} Do not return anything, modify nums1 in-place instead.*/ var merge function(nums1,m,nums2,n) {let p1 m-1…

harmonyOS學習筆記之@Styles裝飾器與@Extend裝飾器

Styles裝飾器 定義組件重用樣式 自定義樣式函數使用裝飾器 可以定義在組件內或全局,內部優先級>外部,內部不需要function,外部需要function 定義在組件內的styles可以通過this訪問組件內部的常量和狀態變量,可以在styles里通過事件來改變狀態變量 弊端:只支持通用屬性和通用…

深度模型訓練時CPU或GPU的使用model.to(device)

一、使用device控制使用CPU還是GPU device torch.device("cuda:0" if torch.cuda.is_available() else "cpu") # 單GPU或者CPU.先判斷機器上是否存在GPU,沒有則使用CPU訓練 model model.to(device) data data.to(device)#或者在確定有GPU的…

解決 Cannot read properties of undefined (reading ‘getUserMedia‘) 報錯

[TOC](解決 Cannot read properties of undefined (reading ‘getUserMedia’) 報錯) 0. 背景 使用瀏覽器輸入語音時,瀏覽器的控制臺里面有下面錯誤信息。 Cannot read properties of undefined (reading getUserMedia)1. 解決方法 在瀏覽器中訪問 chrome://fla…

半導體材料

半導體材料 電子元器件百科 文章目錄 半導體材料前言一、半導體材料是什么二、半導體材料的類別三、半導體材料的應用實例四、半導體材料的作用原理總結前言 半導體材料具有獨特的電學性質,使其在電子器件和集成電路中有廣泛的應用。通過控制半導體材料中載流子的濃度和運動方…

數字化浪潮下,你的企業數字化轉型了嗎?

企業數字化轉型面臨的挑戰 技術轉型挑戰:數字化轉型涉及到各種新技術、新軟件和新硬件,需要企業有一定的技術實力和專業知識,并且需要不斷學習和適應變化。對于傳統企業來說,可能面臨技術門檻高、技術更新快等問題。組織結構轉型…

如何用flex布局設計登錄頁?

使用 Flex 布局設計登錄頁是一種簡單而靈活的方式&#xff0c;讓頁面在不同屏幕大小下都能有良好的布局。以下是一個簡單的例子&#xff0c;演示如何使用 Flex 布局設計登錄頁&#xff1a; HTML 結構&#xff1a; <!DOCTYPE html> <html lang"en"> <…

從Android源碼中生成系統簽名文件

從Android源碼中生成系統簽名文件 文章目錄 從Android源碼中生成系統簽名文件1、在linux中打開編譯android源碼目錄。2、cd到簽名文件位置3、生成 platform.pem文件4、生成 platform.p12 文件5、生成 最終的 platform.jks系統簽名文件6、把platform.jks 放到Studio 項目app 根目…

word中,文本框如何跨頁?

我們經常使用word編輯一些文檔&#xff0c;文檔中往往會有一些比較大的文本框&#xff0c;需要跨多頁&#xff0c;我們可以使用本文章中的方法&#xff0c;將文本框連接在一起&#xff0c;是的內容自動跨頁。 在文字中插入兩個文本框如下圖&#xff1a; 將內容放到第一個文本框…

ubuntu上搭建bazel編譯環境,構建Android APP

背景是github上下載的工程&#xff0c;說明僅支持bazel編譯&#xff0c;折騰了一天Android studio&#xff0c;失敗。 不得不嘗試單價bazel編譯環境&#xff0c;并不復雜&#xff0c;過程記錄如下 說明&#xff1a;ubuntu環境是20.04&#xff0c;pve虛擬機安裝 1.安裝jdk sudo…

Android audio環形緩沖隊列

1、背景 在學習audio的過程中&#xff0c;看到了大神zyuanyun的博客&#xff0c;在博客的結尾&#xff0c;大神留下了這些問題&#xff1a; 但是大神沒有出后續的博文來說明audio環形緩沖隊列的具體實現&#xff0c;這勾起了我強烈的好奇心。經過一段時間的走讀代碼&#xff…

樸素貝葉斯 樸素貝葉斯原理

樸素貝葉斯 樸素貝葉斯原理 判別模型和生成模型 監督學習方法又分生成方法 (Generative approach) 和判別方法 (Discriminative approach)所學到的模型分別稱為生成模型 (Generative Model) 和判別模型 (Discriminative Model)。 樸素貝葉斯原理 樸素貝葉斯法是典型的生成學習…

深度學習之全面了解網絡架構

在這篇文章中&#xff0c;我們將和大家探討“深度學習中的網絡架構”這個主題&#xff0c;解釋相關背景知識&#xff0c;并就一些問題進行解答。 我選擇的問題反映的是常見用法&#xff0c;而不是學術用例。我將概括介紹該主題&#xff0c;然后探討以下四個問題&#xff1a; …

Java的I/O演進之路

文章目錄 通信技術整體解決的問題1 I/O 模型基本說明2 I/O模型Java BIOJava NIOJava AIO 3 BIO、NIO、AIO 適用場景分析 通信技術整體解決的問題 局域網內的通信要求。多系統間的底層消息傳遞機制。高并發下&#xff0c;大數據量的通信場景需要。游戲行業。無論是手游服務端&a…

區塊鏈的可拓展性研究【04】分片

分片屬于layer1擴容 區塊鏈分片是一種技術實現&#xff0c;可以將區塊鏈網絡分成多個片段&#xff0c;每個片段負責處理一部分的交易數據。這種方法可以提高區塊鏈網絡的處理速度和吞吐量&#xff0c;降低交易確認時間和費用&#xff0c;同時也可以減輕節點運行負擔。 在傳統…

【出現模塊node_modules里面包找不到】

#pic_center R 1 R_1 R1? R 2 R^2 R2 目錄 一、出現的問題二、解決辦法三、其它可供參考 一、出現的問題 在本地運行 npm run docs:dev之后&#xff0c;出現 Error [ERR_MODULE_NOT_FOUND]: Cannot find package Z:\Blog\docs\node_modules\htmlparser2\ imported from Z:\Blo…

微信小程序base64與十六進制相互轉換(使用btoa、atob方法報undefined)

前言&#xff1a;搜到很多方法都用到了btoa()、atob()&#xff0c;這兩個屬于Window 對象&#xff0c;在瀏覽器端可以直接使用&#xff0c;但是在小程序里面使用會報undefined。看到uniapp和微信小程序官方文檔都提供了下面兩個api&#xff0c;就想著經過ArrayBuffer 對象轉換一…

入門Redis學習總結

記錄之前剛學習Redis 的筆記&#xff0c; 主要包括Redis的基本數據結構、Redis 發布訂閱機制、Redis 事務、Redis 服務器相關及采用Spring Boot 集成Redis 實現增刪改查基本功能 一&#xff1a;常用命令及數據結構 1.Redis 鍵(key) # 設置key和value 127.0.0.1:6379> set …

解釋AI決策,這10個強大的 Python 庫記得收藏!

本文整理了10個常用于可解釋AI的Python庫&#xff0c;方便我們更好的理解AI模型的決策。 什么是XAI&#xff1f; XAI&#xff08;Explainable AI&#xff09;的目標是為模型的行為和決策提供合理的解釋&#xff0c;這有助于增加信任、提供問責制和模型決策的透明度。XAI 不僅…

《深入淺出進階篇》洛谷P3197 越獄——集合

洛谷P3197 越獄 題目大意&#xff1a; 監獄有 n 個房間&#xff0c;每個房間關押一個犯人&#xff0c;有 m 種宗教&#xff0c;每個犯人會信仰其中一種。如果相鄰房間的犯人的宗教相同&#xff0c;就可能發生越獄&#xff0c;求有多少種狀態可能發生越獄。 答案對100,003 取模。…