-
很多小伙伴都在微信上问我:搞安全开发,到底开发个啥,都是用什么编程语言?
今天就来详细说说这个话题,我打算从安全公司研发的产品这个角度来切入,看看都有哪些产品,以及都用到哪些语言。
安全公司的产品研发,主要是下面这些东西,下面分别来说一下。
WAF(Web网站应用防火墙)
数据库网关
防火墙、IDS、IPS
NTA(网络流量分析)
SIEM(安全事件分析中心、态势感知、大数据安全分析)
EDR(终端设备上的安全软件)
DLP(数据泄漏防护)
UBA(用户行为分析)
杀毒软件
安全检测沙箱WAF WAF全称Web网站应用防火墙,是一种特殊的防火墙,专门用来保护Web应用安全的安全产品,主要防御SQL注入、XSS注入、CSRF、CC攻击之类的网络攻击。

这类产品一般有两个流派。一种是基于底层网络流量来做,一种是基于nginx/openresty这类上层WebServer来做。基于底层流量分析引擎的来做的,以 C/C++ 为主。
基于nginx/openresty引擎来做的,以C/C++ 和 Lua为主。

数据库网关 和WAF有点类似,但保护的目标不是Web应用,而是数据库。
毕竟,对于绝大多数互联网公司来说,WebServer和数据库是支撑他们业务中最重要的两个角色,所以守护好这两个东西是必须的!

数据库网关,主要负责防御对数据库的攻击,检测高危操作,数据安全备份等。用到的编程语言以C/C++ 和 Java为主。
现在云计算时代,很多公司的业务都放在了云端,这些云计算厂商相应的也都有推出自己的安全防护服务,WAF、数据库网关、DDOS云盾三大件是标准配置。

数据库网关,主要负责防御对数据库的攻击,检测高危操作,数据安全备份等。用到的编程语言以C/C++ 和 Java为主。
现在云计算时代,很多公司的业务都放在了云端,这些云计算厂商相应的也都有推出自己的安全防护服务,WAF、数据库网关、DDOS云盾三大件是标准配置。
杀毒软件 最常见的,普通人最能直接接触的应该就是安全软件了。

主要涉及到的技术有病毒木马分析、驱动开发,使用的编程语言主要是C、C++。
NTA、防火墙、IDS、IPS NTA就是网路流量分析的简称,IDS是入侵检测系统,IPS是入侵防御系统。

这类东西,主要是基于网络流量的安全检测和防御产品。涉及到网络抓包、抓包分析等东西。
一般来说,这类产品对性能要求特别高,因为通常需要处理非常大的流量数据,10Gbps的万兆网络流量分析是常规操作。
所以,这部分抓包、分析比较底层的引擎基本都是用 C/C++ 来开发。
SIEM SIEM全称
Security Information Event Management(安全信息事件管理中心),差不多就是很多公司中的大数据安全分析系统、态势感知系统之类的玩意儿。那些看起来各种高端大气狂拽炫酷的界面,基本上都是这种产品:

这是一个安全分析平台,通过汇集多方(网络流量、日志、威胁情报、沙箱检测等)产生的数据,并对这些数据进行关联分析,然后判断有没有安全风险,产生安全告警。SIEM,基本上很多公司都有,但真正做得好的不多,想要做好,除了数据源的高价值,对分析算法、算法模型都有非常高的要求,这方面的人才很难找。
这块偏重于业务层的分析工作,涉及各种处理,在我见到的各大公司产品中,主要是Java开发,毕竟Java背后的大数据生态是一大优势,对于数据挖掘,关联分析都是紧密相关的。
EDR 全称终端安全响应系统,是运行在终端设备上的一套软件。
其实跟我们常见的杀毒软件很像,除了具备基础的安全防御功能,保护主机免受攻击,还会将主机上发生的一些事情汇报到SIEM用于安全分析。
EDR和杀毒软件类似,也是用 C/C++ 开发。
UBA 全称用户行为分析,是基于EDR、NTA等产品的产生数据之上,用来分析用户行为的一套系统。
简单来说,这玩意根据收集到的员工的行为(电脑上的操作、上网数据等),可以分析出,这个用户是不是异常,有没有干什么坏事。

比如某个用户工作时间微信相关的IP产生的流量非常多,则很有可能判断这家伙上班经常群聊摸鱼~这套系统是一套纯后端系统,一般也是使用Java开发。
DLP 全称数据泄漏防护,也是运行在终端设备上的一套软件,当然也有一些不在终端而以网关形式存在。


不同于杀毒软件和EDR,DLP的主要作用是防止主机上的数据泄露。一般用在一些比较重要的单位中,员工电脑上的数据非常重要,用于防止窃密事件发生。主要涉及的技术是驱动开发技术,流量分析技术,用的编程语言也是C/C++。
安全检测沙箱 病毒木马和Exploit的分析,除了传统的基于特征和规则的静态分析引擎之外,动态分析技术是另一个重要的补充。而动态分析中,则主要是以沙箱分析为代表。

所谓沙箱,就是一个虚拟的执行环境,将待分析的目标丢进去,观察并记录其行为,从而判定其威胁程度。沙箱用到的技术主要有内核驱动开发、虚拟化技术、后端服务系统。
底层的分析引擎主要是C/C++开发,上层的安全分析主要是Python。
总结 以上就是安全行业常见的一些产品了。
编程语言上面呢,C/C++是主流,尤其是在终端侧的产品上,无一例外是C/C++。
在后端的安全系统方面,涉及到流量分析等对性能要求很高的场景,也一般是C/C++,若涉及数据关联分析,则Java比较多。
除此之外,有一些小型的后端服务也会采用Python进行开发。
基本上,C/C++、Java、Python,就是安全开发领域的三大主流技术栈了。
最后限于见识有限,可能列举的不全面,欢迎大家补充。
相关推荐
基于PLC的立体车库控制系统设计
本文介绍了基于西门子S7-1511-1PN PLC和KTP700 Basic PN HMI的立体堆垛式停车场自动化控制系统。系统通过PLC逻辑控制滑台运动,配合传感器实现车辆存取自动化,包含初始化、入库、出库和安全保护程序。程序采用模块化设计,分为安全互锁、动画显示、模式切换等六个功能模块,运用边沿触发、定时器和多级联锁确保安全。HMI界面提供模式切换、车位选择、状态显示和手动控制功能。该系统具有模块化、安全性和可扩展性特点,可应用于多车位立体停车场场景。
杀毒软件开发,原理、设计、编程实战
本文将向各位读者展示如何开发杀毒软件。 在很多人思维中,特别是IT从业者、程序员看来,杀毒软件及其开发技术历来是一个颇为神秘不可及的领域。在市面上和网络中的各种文章、书集中,也鲜有涉及此方面的开发资料。正因如此,使的杀毒软件业成了一个稀缺、高门槛的行业,相关技术也似乎是高度机密的资料、只掌握在极少数人手中。 本文将从杀毒软件开发方案、功能结构设计、界面设置、代码编写、实际应用等各方面,逐步展示...
【低空经济】低空无人机公共测试场与验证基地设计方案
公共测试场与验证基地是为低空无人机相关技术的研发、测试与应用提供一个系统性的平台。在无人机产业蓬勃发展的背景下,建设一个配备完善、功能齐全的公共测试场与验证基地显得尤为重要。该基地不仅可以作为无人机的测试和验证场地,还可以为相关企业、科研机构以及政府部门提供技术支持和服务。因此,为此基地的设计方案必须综合考虑功能性、安全性、灵活性与可持续性等多方面的因素。首先,公共测试场需划分为多个专用区域,以便满足不同类型无人机的测试需求。这包括低空飞行区域、紧急着陆区、操控模拟区和监测与数据采集区等。
【软件设计模式】组合模式应用
使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、视频文件VideoFile。绘制类图并编程模拟实现。AbstractFile接口 TextFile类 ImageFile类 VideoFile类 Folder类 Client客户端 运行结果:......
Qi标准无线充学习笔记
负载调制主要通过接收端向后散射调制计数使得功率信号改变,两者通过线圈的电压和电流的变化量来传输信号。下面是要求稳定电流的变化量不得超出8ma,判断稳定的时间至少要在150us稳定电压的变化量不得超出110mv,判断稳定的时间至少要在150us高低电流变化量至少需要15mA,判断稳定的时间至少要在100us,主线圈电流采样的时间是在半桥转换的1/4周期刻测量的高低电压变化量至少需要200mV,判断稳定的时间至少要在100us。
小红书私信接口与Hook技术实战:微信跳转卡片的合规与破解之道
本文深入探讨了小红书私信接口与Hook技术的实战应用,重点解析了微信跳转卡片的合规使用与破解方法。通过官方私信接口的合规玩法与Xposed框架的Hook技术对比,为开发者提供了技术选型指南和实战建议,帮助实现高效的用户跳转与转化。
搞安全开发都是用什么编程语言?(黑客入门)
搞安全开发都是用什么编程语言?(黑客入门)
Debezium系列之:使用指定值替代指定字段的值
Debezium系列之:使用指定值替代指定字段的值
网络安全领域最常用的十大开发语言,Python榜上有名!
网络安全领域最常用的十大开发语言,Python榜上有名!
使用 MATLAB/Simulink + Reinforcement Learning Toolbox 构建一个基于强化学习的永磁同步电机(PMSM)自适应控制仿真系统
随着人工智能(AI)技术的快速发展,强化学习(Reinforcement Learning, RL)在控制系统中的应用日益广泛。在电机控制领域,传统的PID控制虽然成熟稳定,但在面对非线性、时变、不确定负载等复杂工况时,其控制性能可能受限。而强化学习通过与环境的交互学习,能够实现在线自适应控制策略优化,显著提升系统的鲁棒性与响应速度。本教程将带你使用构建一个基于强化学习的永磁同步电机(PMSM)自适应控制仿真系统,实现从控制策略设计、环境建模、训练到仿真的全过程。当前转速(ω)
Android 13 RK3588 编译烧写实录全程
本文详细记录了RK3588主板在Android 13系统下的各项功能测试与编译过程。主要内容包括:1)网络功能测试(以太网、WiFi、蓝牙连接);2)外设接口测试(耳机、麦克风、USB、TF卡);3)硬件功能验证(RTC时钟、ADC采样、MIPI摄像头);4)系统设置(手势导航、开发者选项);5)Android 13 SDK编译环境搭建与源码获取方法。通过图文并茂的方式展示了各功能的配置方法、操作步骤和测试结果,为开发者提供了全面的参考指南。
网络安全用什么编程语言_网络安全的5种最佳编程语言
网络安全用什么编程语言 要成为网络安全专家,要取得成功,需要多种技能。 全方位的专业人员可以放心地实施和监视安全措施,以保护计算机系统免受攻击和未经授权的访问。 总部位于巴西的Python专家Henrique教人们如何使用该语言创建应用程序,他强调“除了紧跟网络安全领域的最新动态,您还需要熟悉各种编程语言。” 这里有5种最佳编程语言,可帮助您提高网络安全职业的学习能力。 1. ...
Open3D点云数据处理(二):读写点云,你真的会吗?
本文详细介绍了open3d加载点云、保存点云的方法,同时打印点云坐标、颜色、法向量等字段信息。
搞网络安全需要很高的代码水平吗?
入门网络安全不需要太高的代码水平,但是想要成为网络安全行业大佬的话,代码能力一定不能是三脚猫功夫。一名网络安全工程师一般都会精通一门编程语言,下面是网络安全工程师会用到的编程语言,建议题主可以一边学习网络安全技术,一边查漏补缺,弥补自己在编程上面的不足。
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
给想搞安全研发的同学提个醒!
以上就是安全行业常见的一些产品了。编程语言上面呢,C/C++是主流,尤其是在终端侧的产品上,无一例外是C/C++。在后端的安全系统方面,涉及到流量分析等对性能要求很高的场景,也一般是C/C++,若涉及数据关联分析,则Java比较多。除此之外,有一些小型的后端服务也会采用Python进行开发。基本上,C/C++、Java、Python,就是安全开发领域的三大主流技术栈了。最后限于见识有限,可能列举的不全面,欢迎大家补充。
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
网络安全使用什么编程语言?
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
网络安全用什么编程语言?
想要成为网络安全专家,想要取得成功,需要多种技能。全方位的专业人员可以放心的实施和监视安全措施,以保护计算机系统免受攻击和未经授权的访问。 除了紧跟网络安全领域的最新动态,还需要熟悉各种编程语言。有五种比较好的编程语言,可以帮助提高网络安全职业的学习能力。
我们为何需要更安全的系统编程语言?
编程语言数百种,哪种才是最安全的? 作者 | 微软安全响应中心 译者|弯月,责编|屠敏 出品 | 优快云(ID:优快云news) 以下为译文: 此前我们讨论过主动解决内存安全问题的必要性。显然仅通过工具和指导无法阻止这类漏洞。十多年来,内存安全问题与CVE(常见漏洞披露)的比例非常接近。我们认为,使用内存安全语言可以通过工具和培训无法实现的方式来缓解这种情况。 在这...
想开发一个安全软件,怎么搞?
为了帮助大家更好的学习网络安全,小编给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,所有资料共282G,朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓👉优快云大礼包🎁:全网最全《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)👈。
1266



被折叠的 条评论
为什么被折叠?



