搞信息安全需要什麼基礎。?
大一快結束了,在acm待了一年,演算法一般般,想要搞信息安全(最初也是想搞,但是沒有環境和基礎),但是學長都建議我不要急,把基礎打好,大二快結束或者大三再搞,但是我還想考研。時間上有點緊。如果打基礎的話需要那些信息安全方面的知識儲備,請各路大神指點!
先回答你的知識儲備吧。
Web:PHP、JS、Python、HTML、SQL、協議
二進位:C/C++、彙編、操作系統
密碼學:離散、數論、計算理論
這些都是知識儲備,然後你還得看一些漏洞分析的文章。因為安全跟傳統CS不同的地方就是,研究對象實際上是一樣,研究方法不一樣。這個研究方法行內話叫做「思路」,需要有人給你指點思路,你才能玩得來。
你要是懶得找,看雜誌是不錯的方式,比如這個:http://bobao.360.cn/download/book/security-geek-2017-q1.pdf
早期的《黑X》,然後是《安全參考》、《書安》,最後是《安全客》。
大家都是先從一個方向弄,弄熟了再想其它的。
然後是時間安排。初等計算機科學的核心課,也就是比較基礎又比較重要的課,正常進度下兩年應該夠了,也就是說你至少能在大三開始搞。(如果你大學之前接觸過一些,可能更快。)但是你要考研,從大三下學期開始應該就無力弄別的事情了,還是從現在開始搞更好一些。
最後是方式方法,你 ACM 刷多少道題,CTF就得刷多少道。並且如果你的 ACM 成績不是很好,你還得加倍努力。
以上。
興趣決定一切:)
如果你的興趣在安全方向,不需要什麼基礎,找個入門點,看下去,自然就知道需要什麼;
如果興趣不在這,只是為了搞而搞,也不需要什麼基礎,因為看了也沒什麼意義:)
CTF是消遣,但不是入門安全應走的路,容易走偏。
安全分的方向還是蠻多的
網路安全 / 系統安全 / 信息安全 / Web安全 / 二進位....
# 網路安全
你要保護網路拓撲內的的硬體、軟體及其系統中的數據安全 , 讓整個網路系統連續可靠正常地運行,網路服務不能中斷.
涉及常見的比如 : TCP洪水攻擊(SYN Flood)與防範 / ARP攻擊與防範 .... /
就這一方面來說 , 計算機網路基礎知識 包括 OSI七層模型 TCP/IP協議 肯定是要會的 ,
各種路由協議 ( EIGRP OSPF...) / (路由)交換原理.....肯定是要懂的
可以從思科的 CCNA 方面的書籍 , 來讓自己了解整個網路到底是怎麼運行起來的 ..
# 信息安全
信息安全本身包括的範圍就太大了 , 我們要保證 信息 在資料庫中 / 在傳輸過程中的 信息的保密性、真實性、完整性.....
你要學
資料庫 (語言/ 原理 )
防火牆與入侵檢測
網路數據傳輸協議 ( 什麼TCP / UDP / HTTP / ...)
密碼學........
還有很多其他的...
# Web安全
淺顯的說 , Web安全就具體到了 " 客戶端(瀏覽器) - Web伺服器 " 這個層面的攻擊與防禦 ,
Web常見語言是肯定要掌握的 :
前端有 HTML / JavaScript ....
後端有 PHP(與資料庫的連接) ASP SQL( MySQL / Oracle / SQLserver...) ..
一點密碼學...
瀏覽器是怎麼與客戶端進行信息交換的 ? 數據傳輸協議是什麼(HTTP..)?
# 系統安全 / 二進位什麼的 :
..彙編
..(操作系統)Linux
肯定都是基礎
...
總結 :
不管是什麼技術領域的大牛, 沒有一個是苦大仇深地生啃出來的 , 讓自己當前所做的事情變成 你所感興趣的, 能帶給你愉悅的 , 這不僅是一種技巧 , 更是一種高智(情)商的表現 .
所以 : Web安全比較好玩 , 也容易上手 , 很快就能看到自己努力的成果 , 是入手的最佳方向 .
Web安全學深了 自然而然地就會涉及到
網路這些底層的協議 , 各種應用密碼學 ....是一個循序漸進的過程 .
但是如果你一上來就啃那些什麼
彙編..逆向..操作系統...理論密碼學...數論(?)..離散(?)...
九成九肯定堅持不下去..
恩..........酒醬.
覺得有用就點個讚唄 : (。???)ノ゛ (●"?"●)??
彙編 網路協議 操作系統 加解密相關
我大一也打了一個多學期的ACM,然後自學過一些編程語言,逆向,腳本等等,那個時候我以為這些都是為以後的信息安全打基礎。可是當我入門ctf後我發現要想搞安全,最好就是儘快開始搞,我在大一和大二上學期所學的其實對於信安(現在我所接觸到的)並沒有很大作用,我是Web方向的。
現在才開始打ctf感覺時間不是很夠,所以如果樓主想搞信安,儘快開始吧
搞ctf就行。。。既然想搞信息安全玩acm對你沒有大的幫助
然後就看你對什麼感興趣
ctf的 逆向 取證 pwn web 密碼 隱寫 這些技能各有特色 選擇喜歡的開始
你要打基礎 把這些從零開始慢慢學就是在打基礎
還有別聽你那些學長說的。。。
信安知識多而雜 過了黃金學習時期到時候學什麼都慢 台灣那邊高中生就有打ctf的 全美高中生還有一個wargame 所以題主好好考慮吧你學長說的對,把現在的課程學好是最重要的。學有餘力的情況下,可以玩玩Metasploit。
莫等閑,白了少年頭,空悲切!
我建議你大學都打基礎,基礎不夠,學什麼都吃力,等考研再學這個方向也不晚
推薦閱讀:
※「AVL 旋轉」存在的目的是什麼?儘管有 logN 的時間複雜度,樹的 hierarchy 豈不全亂了?
※類似Graphviz的工具是如何實現自動排版的?
※《暖暖環遊世界》的衣服搭配評價體系是怎麼樣的?
※RSA做密鑰協商(密鑰交換)時,是否可以防範中間人攻擊?
※新浪微博中,每一條微博被「閱讀」的數量是如何計算的?