乐趣区

关于编程语言:搞安全开发都是用什么编程语言

很多小伙伴都在微信上问我:搞平安开发,到底开发个啥,都是用什么编程语言?

明天就来具体说说这个话题,我打算从平安公司研发的产品这个角度来切入,看看都有哪些产品,以及都用到哪些语言。

平安公司的产品研发,次要是上面这些货色,上面别离来说一下。

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,就是平安开发畛域的三大支流技术栈了。

最初限于见识无限,可能列举的不全面,欢送大家补充。

喜爱的敌人能够点赞关注一波,我在这里筹备了一份 平安开发 的材料

须要的敌人能够点击下方传送门自取

【平安开发材料】

退出移动版