做信息安全需要什麼水平的編程基礎?

需不需要比較牛的碼代碼能力?如果編程不行,對於想從業的人員有什麼建議?提高編程基礎還是往協議標準等其他發展?


-

附:知道創宇招聘技能表http://blog.knownsec.com/Knownsec_RD_Checklist/v2.1.html

-


信息安全的領域非常大,看你去做什麼工作。

審核代碼,行為分析的也有,安全架構,物理安全的也有。目前國內似乎網路安全比較火一些。


這麼說,如果針對信息安全這個方向來說,相對軟體工程,web開發,app開發來說,確實代碼量很少。。。但是,重點是:信息安全編程很難!信息安全編程很難!信息安全編程很難!重要的事情說三遍!!!!

—————————————————————————

許多人都認為網路工程、信息安全、軟體測試這些專業對編碼要求低點。大錯特錯,別的不說,就拿網路工程編程來說,隨便一個socket套接字編程或者libpcap數據包捕獲遠比那些其他的比如asp,jsp那些要難很多(難也就算了,關鍵這些東西為了保證運行效率,都還是用C/C++寫的,其他平台也有,但是效率跟不上,網路編程是一個需要在很短時間內處理很大數據量的編程,效率低了肯定不行)。

——————————————————————————

網路安全編程難在什麼地方呢?我就舉網路安全下面的幾個分支為例子來說說。

1.網路協議分析,這個對於協議審計來說算是基礎的,網路協議分析編程涉及到數據包捕獲(一般是bpf過濾器篩選,用libpcap來捕獲數據包)、TCP/IP協議棧分析(不要以為是丟進去套兩個函數就完事,它需要將數據包分類,然後還原出來為可讀的東西)、如果在傳輸層以上的話還需要涉及到TCP流重組,UDP會話重組方面的東西。。。我想我不說你也應該這個碼量有多少(真不多,但是難度真大)

2.寫poc,因為好多攻擊操作最後落實到的都是內存,所以有些東西都要用彙編去把它逆向還原出來,然後觀察內存使用,然後寫出對應的poc,這樣的話對編碼要求是低點,但是許多都是調用系統級API和鉤子hook才能解決的,而且寫壞了後果你懂的。。。

—————————————————————————

所以說網路安全的編程論碼量真的不多,但是拿出來,真的比說用cocos2d做個遊戲什麼的難的多的多,因為你必須要對操作系統有個很深層次的認知,並且還要了解一定的底層知識,你才能編出代碼來

重要的事情再說一次:網路安全不需要程序員,分析比重遠遠大於編碼!!!


信息安全方面的工程師需要有基本的代碼閱讀能力(幫助你審計代碼)。

同時為了提高你自己本身的工作效率能力,你需要擁有自己寫自動化腳本的能力雖然不需要你寫大程序。

但是提高自己效率的能力還是需要有的。熟練使用兩門基本語言(python非常適合信息安全人員學習)。學無止境;把學習當作自己的樂趣是最好的


這個我來回答你吧,雖然我真的做安全才不到幾個月。以前完全就是個腳本小子,現在在努力學各種前端知識。如果你只想做安全服務,那麼ok,你弄弄工具就可以,然後學點python,簡單的編程可以實現你雙手的解放。但是如果你做的是滲透,恭喜你,編程是很重要的,腳本小子是沒什麼出路的。那個知道創於的技能表,看看,能實現就實現幾個吧,打死我都不信,除了厲害的那幾個,他媽的他們全會的有幾個?逼格相當高。


這個很寬泛的,主要看你具體做什麼部分了。

信息安全的概念也是很廣的,有的人在做網路安全,有的人在做滲透測試,有的是做應用審核,每個要求的技能都不一樣。比如做應用審核(Application Review)的不懂軟體開發,看不懂代碼就肯定不行。如果主要負責防火牆設置這種工作的,也就不需要寫代碼了啊。滲透測試(Penetration Test)一般涉及很多方面,各方面知識都需要。

所以很難說不懂編程就不能做信息安全工程師,因為信息安全不只是代碼打交道


信息安全領域太大了,不同崗位對編碼能力的要求不同,但總得來說閱讀代碼的能力應該是必備的。

如果編程不行,自己又確實喜歡編程工作,那就好好學吧;

如果不喜歡編程,可以往理論研究、測試工作發展


個人感覺信安類的工作相比寫代碼的能力,讀代碼和debug的能力應該會更重要,對OS啊架構啊包括編譯器的細節啊都要熟悉,但這並不意味著寫代碼的能力就得飛起,主要還是細心還有基礎知識要牢固吧...

補充:我不是信安專業的,上過密碼學而已,只是區區一名碼農啦...


還是看往什麼方向發展,很多事情是水到渠成的,很多這行業出色的人都是學數學的,並不一定專門學過編程,但基礎到了編程實現不難。如果純走理論研究的路線的,還真不一定編程~~


至少要有熟練閱讀代碼的能力


Anyone that tells you that you dont need to program (or at least have a strong background in programming) to be a security engineer either is lying to you or doesnt want you to get past the entry level.

任何人告訴你安全工程師不需要編程或只需要編程基礎的人都只是在逗你玩- Andy Manoske-How does one become a hacker?

我竊以為做安全工程師要比碼農們更需要了解語言背後的機制


推薦閱讀:

幾維安全分享2017上半年:2227起安全事件泄露60億條數據
「安全開發教學」github泄露掃描系統開發
保存在瀏覽器里的密碼,很可能被黑客給竊取了
網友發布違法文檔被拘留
幾維安全提醒勒索病毒又來襲 網路安全行業或迎機遇

TAG:網路安全 | 信息安全 |