信息安全技術的學習路徑和方法

我從2013年帶隊參加高職的信息安全管理與評估技能大賽開始接觸信息安全,2015年在北京郵電大學信息安全中心訪學一年,2016年下半年訪學結束回校,開始專心帶隊參加各種比賽,2018年開始參與CTF比賽,一路走來,至今也有幾個年頭了。本文主要針對有志於學習信息安全技術的同窗,談談個人一些見解和建議。
當今時代,信息技術正在深入改變着整我的類社會,在信息技術中,我認爲有幾個最重要的發展方向:人工智能、大數據、雲計算、物聯網、信息安全。上至國家層面,這是國家在大力倡導和推進的核心產業,下至大學招生,這些都是近幾年最熱門的綠牌專業。在麥克斯發佈的針對2017和2018屆大學畢業生的就業薪資調查報告中,信息安全專業更是連續2年位居排行榜首位
信息安全技術的學習路徑和方法
信息安全技術的學習路徑和方法
這點從我以前幾屆已經畢業的學生身上也能夠獲得印證。他們大都在北京工做,月薪也基本都在10K以上。因此學習信息安全,就業前景廣,薪資待遇高,這點是毋庸置疑的。
但其實咱們能夠再深刻思考一下。爲何信息安全專業的待遇最高呢?這固然是由於這方面的人才比較短缺。那爲何人才會短缺呢?我認爲最主要的緣由,就是信息安全技術的學習難度很是大,涉及的知識面特別廣,想學好信息安全真的是不容易。sql

學習信息安全的必備能力

做爲一名常年帶隊參加比賽的指導教師,我目前最頭疼的問題就是如何選拔出優秀隊員。每一年新生入學我都會作大量宣傳,也有很多同窗想加入咱們的團隊,好比在今年的2019級新生中就招募了近100名同窗。但兵貴在精而不在多,這些同窗最終大多數是會被淘汰的。
對於這批新加入的同窗,我首先提出了三點要求,也就是要具有三個方面的能力:
自學能力
自控能力
代碼編寫能力

這三個能力我就不展開說明了,總之你能夠在心裏自我審視一下,若是你不具有這三個能力,那仍是別在這方面浪費時間了。
對於自信這方面沒問題的同窗,接下來我安排了一個入門學習路徑,主要是分爲三關:安全

第一關,Linux

Linux系統如今過重要了,若是不會使用Linux,那麼不只僅沒法學習信息安全,其它諸如人工智能、大數據、雲計算、物聯網等也都沒法學習,Linux是在這些專業領域繼續學習所必需要具有的基礎。可是Linux的學習曲線很是陡峭,尤爲對於初學者很不友好,由於在學習初期必需要記憶大量的命令。因此Linux被我放在入門第一關,若是過不了這關,那麼就及早收手,另尋其它適合本身的學習方向。但若是能過了這關,即便最終在其它關卡被卡住了,沒法繼續學習信息安全,但這也給本身增長了一項很是重要的技能,之後要學習人工智能等領域也會比較輕鬆。
另外話又說回來,Linux其實也沒那麼難學,必需要掌握的常規命令也就50個左右,在入門階段,咱們沒必要深刻學習,只要能掌握一些基礎知識就好。具體來說,我準備了50幾講課程(每講時長10幾分鐘),只要學完這些課程並經過考覈,那麼Linux這入門第一關就算過了。這些課程是:
瞭解並安裝Linux系統(17講):
https://edu.51cto.com/sd/64978
Linux文件和目錄管理(29講):
https://edu.51cto.com/sd/8b646
Linux用戶和權限管理(前15講):
https://edu.51cto.com/sd/36ff3
在這一關的最後,我還將結合Kali和Metasploit來介紹一些比較基礎的緩衝區溢出漏洞。總之,可否記住並靈活使用Linux的經常使用命令是這關的核心。ide

第二關,Python

凡是參加過CTF比賽的同窗都知道,若是不會Python,那麼在比賽中是步履維艱,但若是可以精通Python,則會如虎添翼。
Python的精髓固然是它那豐富多彩的庫,但我認爲,掌握Python的一些核心語法知識也一樣重要,對列表、字符串這些對象的經常使用處理函數和方法,以及各類推導式和異常處理等,這些都是Python的獨門絕技。優雅、簡單、明確,我在學習Python的過程當中,就經常對它那用短短一行代碼所能實現的強大功能而拍案叫絕。另外,Python目前實在是太火熱了,同Linux同樣,掌握了Python,即便最終學不成安全,那麼對本身學習其它領域也一樣會頗有幫助。
網上Python的教程很是多,做爲初學者,必定注意不要選錯課程。有的Python課程是針對人工智能方向,有的是針對大數據方向,雖然都是Python,但學習的內容差異會很是大。咱們要學習的Python,固然是針對信息安全方向。個人思路是結合信息編碼和古典密碼學的部份內容來說Python的基礎知識,具體也是有50幾講課程,其中第一套課程已經發布,第二套課程正在錄製編輯中:
Python基本語法(16講)
https://edu.51cto.com/sd/53aa7函數

第三關,Web安全

信息安全所涵蓋的領域太多了,若是讓我選一個最重要的領域,那麼目前來說,毫無疑問是Web安全(固然未來頗有多是二進制和逆向)。
在針對信息安全的招聘崗位中,最多的一類就是ShenTou測試工程師,這就是典型的Web安全方向,這個崗位的典型任職要求:
信息安全技術的學習路徑和方法工具

固然做爲入門階段,咱們沒有必要也不可能掌握這麼多內容,這一關我要求只要能掌握基本的SQL注入便可。
首先,要可以針對PHP+Mysql進行手工注入。
其次,要可以使用SQLMAP工具進行注入。
最後,要可以從PHP代碼審計的角度來對SQL注入進行防護。

這關主要須要學習的課程是:
Web安全入門, https://edu.51cto.com/sd/45eb5
PHP代碼審計(由於不可抗拒的緣由,這套課程目前已被下架,回頭我會調整內容,從新錄製新的課程)。學習

若是能最終經過這三關,那麼就能夠正式加入咱們的安全團隊,同時你也具有了進一步學習信息安全的基本素質。接下來再如何學習,就能夠結合我的興趣來選擇一個適合本身的主攻方向。
至於學習方法,我認爲主要有兩種:測試

1. SRC挖洞(實戰型)

SRC,也就是漏洞響應平臺。這種學習方式屬於實戰型,就是在網上挖掘各個網站的漏洞,而後寫成一篇詳細的報告提交給SRC平臺,這樣既能夠提升本身的技術,同時還能夠得到不菲的獎勵。但我不建議在校大學生採用這種學習方式,由於hacker和白帽只在一念之間,若是不當心越過了法律的紅線,那可就得不償失了。大數據

2.CTF比賽(理論型)

CTF,也就是奪旗賽,這是目前信息安全領域最流行的比賽形式,也是我認爲最適合大學生的學習方式。這種學習方式主要就是作題,可是比賽題目幾乎涉及了計算機的全部領域,因此參加CTF比賽能夠極大拓寬本身的知識面。
信息安全技術的學習路徑和方法網站

針對CTF比賽,目前我已經發布了3套入門課程:
HTTP協議,https://edu.51cto.com/sd/0ad83
字符編碼,https://edu.51cto.com/sd/53206
PHP函數漏洞,https://edu.51cto.com/sd/74a09
固然CTF比賽的難度很是大,尤爲對於高職的學生,想要在一些全國性的重大比賽中拿到好成績,機率幾乎爲零。但比賽只是促進咱們學習的一種方式,成績倒在其次。另外,機會永遠都是給有準備的人,只要自身能力到了,說不定何時就能夠抓到機遇。
以上就是我的的一點淺見,歡迎你們提出不一樣意見,很樂意與各位進行交流。編碼

相關文章
相關標籤/搜索