Programming 编程
写一组让计算机执行任务的指令的过程。
为什么 Security 需要编程
- 自动化重复任务 —— 一次扫描 500 个 IP 不能手动
- 写自定义工具 —— 现成工具不够时自己造
- 看懂 恶意软件 —— 逆向分析需要懂代码
- 写 PoC —— 演示漏洞的可利用性
- 写 IDS 规则 —— 部分 IDS 规则就是代码片段
- CI/CD 安全集成 —— 把安全扫描嵌进开发流程
- 看懂源代码漏洞 —— Code Review 是漏洞的主要发现途径
Security 行业最常用的语言
| 语言 | 用途 |
|---|---|
| Python | 最广用,写脚本/工具/PoC,几乎是 Security 的事实标准 |
| Bash / PowerShell | 系统管理、批处理日志 |
| Go | 现代工具开发(很多新 security 工具用 Go 写) |
| C / C++ | 底层、内核、逆向、漏洞利用 |
| JavaScript | Web 安全、浏览器自动化 |
| SQL | 见 sql |
| Assembly | 逆向工程、漏洞分析 |
| Rust | 现代化系统编程,内存安全 |
不同 Security 岗位的编程深度需求
- SOC Analyst —— Python 脚本水平够用
- Pen Tester —— Python + Bash + 一点 PowerShell
- Malware Analyst —— C / Assembly + 逆向工具
- Security Engineer —— 全栈,跟开发同等水平
- Red Team —— 各种语言都得碰
- Researcher —— 深入到底层,自己造工具
编程也是 Technical Skills 的核心
不写代码也能做 Security,但有代码能力的天花板高得多。会用 Wireshark 是工具用户,能写出 Wireshark 插件是工程师。