网络安全和增删改查

news/2025/3/13 13:27:07/文章来源:https://www.cnblogs.com/k4n5ha0/p/18769713

说一件有意思的事情,我当时选择职业方向的时候其实有另外一个选择,就是选择成为一个DBA,最近在学习大模型的时候我突然出现了啊哈时间,发现过去所学的知识出现了令人惊讶的串联,与大家分享。

 

一、大模型对软件研发的影响

  通过与多位前后端开发同事的聊天得知:大模型写代码不仅方便还能避免代码中的一些常见错误。

  我当时观看了一下同事的操作后,猜测5年后低级程序员估计就没饭吃了。结果同事直接回了一句:不用5年,3年就差不多了。

  仔细想一想,编写的程序本质就是对用户的业务需求转化成了对包括结构化或非机构化数据等各类数据的增删改查。

  如果说汇编是技术视角下最底层的语言,那么增删改查的sql就是业务视角下最底层的语言。

二、从应用安全想到的

  我是做应用安全的,我最看好的技术就是rasp技术,核心原因是rasp对api函数进行出入参校验和上下文行为校验。相比较waf只能对流量校验输入输出,waf不仅仅颗粒度较粗而且无法获取应用行为数据,所以rasp是我很长一段时间的学习对象。

  在学习rasp的时候我首先关注的就是sql注入漏洞,因为rasp可以直接获取到各种api解析后的sql内容,所以rasp能无视掉很多针对waf设计的绕过手段。参照我以前的文章 使用阿里 Druid 实现应用级waf  我当时就感受到正则就是一种模型,能够拟合一些sql注入但也会拟合到一些正常业务数据而产生误报,也会因为不够拟合导致一些变异的sql语句产生绕过。而语义分析则是更好的模型,语义分析把外部输入进行ast语法树解析,通过对语法树进行检索可以更好的发现恶意攻击。

  那如果说sql漏洞涉及到应用与外部环境的交互,那么反序列化漏洞则是我认为的内生型漏洞。内生型漏洞有一个很大的特点就是应用除了和攻击者做交互外,应用不需要与硬盘、数据库、ui等外部数据做过多交互。有天晚上我骑车回家时思索到:一个java应用也可以看作是一个数据库,因为对外部输入不够严格,外部攻击者可以输入有害的数据,而有害数据的语义可以让应用本身执行有害的java代码。

  我们来看看漏洞的定义:漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。如果把访问看成是sql查询,破坏看成是增删改,再联想到反序列化是注入java、sqli是注入sql、xss是注入js、利用越权删除php的sqli防护文件再sqli后上传webshell。。。那么就可以推断出:一套系统中的每个程序实例都是一个“数据库”,攻击者利用漏洞的底层逻辑是:利用“数据库”的缺陷对“数据库”进行增删改查。

三、各类防护产品的原理想到的

  sqli防护:对输入sql进行Parse后得到ast语法树(数据库),再对语法树进行检索以判断是否存在恶意行为。

  xss防护:同样对输入进行Parse后得到语法树(一般都是一个json对象也是一个数据库),然后判断渲染结果是否存在恶意行为。

  静态杀毒:对PE文件或ELF等文件格式进行Parse后得到一个数据库后进行特征码匹配,因为文件格式复杂也往往是不同文件节匹配到不同规则后记不同分数,达到一个分值判定为恶意文件。

  动态查杀(edr):不论是主动防御或者异常行为分析,都是通过搜集系统指定时间段的综合行为形成一个“数据库”,通过对该数据库进行进行检索以匹配历史搜集到的恶意样本。这个搜集再处理过程就是极为类似于Parse,它将行为数据结构化为行为指纹,通过匹配历史恶意行为指纹即可发现隐藏较深的变形样本,动态查杀对比静态查杀的优势类似于rasp对比waf。

四、总结

  网安这一行和大数据工程师其实差别不是太大,都是通过对数据的搜集形成一套数据库,之后不断的检索和升级把恶意阻挡住。

  仔细想想,我们做人也好做事也罢,不也是如此:-)

  希望本文能激发大家对网络安全甚至世界本质解构的欲望,当你可以参考历史而看到事物的发展的脉络从而把握事物的本质,就可以轻而易举的举一反三。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/898131.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ThinkPHP8核心源码分析

将从入口文件index.php的第一行代码开始一直讲解到整个流程的最后一行代码会使你不在停留对框架表面的二次业务开发,而是更深入的理解框架的实现原理,技术将更上一层楼 网易云课堂视频地址: https://study.163.com/course/introduction/1213817857.htm 全套资料

包含最后一个周期所有字符减去此行下面所有行最后一个周期的所有字符

合集 - LeetCode 题集(10)1.LeetCode题集-1- 两数之和2024-08-312.LeetCode题集-2 - 两数相加2024-09-053.LeetCode题集-3 - 无重复字符的最长子串2024-09-094.4 - 寻找两个有序数组的中位数,图文并茂,六种解法,万字讲解2024-09-165.LeetCode题集-5 - 最长回文子串(一)202…

网页开发(2)**动态导航栏“

设计一个导航栏,使其具有两个动态功能:• 能够随着页面滚动而保持在界面上• 能够对鼠标悬停进行反应 首先在html文件中用容器和标签写一个导航栏: <div class="navigationBar" id="navigationBar"><span class="maintext0"><…

信创政策解读及其对行业的影响

信创,即信息技术应用创新产业,旨在实现信息技术领域的自主可控,保障国家信息安全。随着全球科技竞争的日益激烈,信创产业的发展愈发受到重视。信创政策作为推动这一产业发展的关键力量,其出台与实施对行业产生了深远影响。深入解读信创政策,并分析其对行业的具体影响,对…

信创替代成本蓝皮书:5类典型项目的工具迁移费用测算

信创产业浪潮下,项目管理工具迁移全攻略 在信息技术应用创新(信创)产业蓬勃发展的当下,各行各 业都在加速推进国产化替代进程。项目管理作为企业运营与发展的核心环节,其工具的迁移与转型成为了众多企业关注的焦点。今天,让我们一同深入探讨项目管理工具迁移的要点、挑战…

PostgreSQL集簇搭建

PostgreSQL集簇搭建 实验目的熟悉 postgresql.conf/pg_hba.conf 等核心配置文件 理解initdb、pg_ctl、psql等命令的作用 理解数据库实例与服务端口之间的关系实验环境 Ubuntu1604 VirtualBox虚拟机软件 实验步骤 安装最新版本 PostgreSQL 添加官方源 sudo sh -c echo "deb…

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列

合集 - LeetCode 题集(10)1.LeetCode题集-1- 两数之和2024-08-312.LeetCode题集-2 - 两数相加2024-09-053.LeetCode题集-3 - 无重复字符的最长子串2024-09-094.4 - 寻找两个有序数组的中位数,图文并茂,六种解法,万字讲解2024-09-165.LeetCode题集-5 - 最长回文子串(一)202…

day27 作业-通配符

今日作业要求 1.通配符和特殊符号篇整理所学通配符、特殊符号的符号表格 有哪些符号、以及作用 符号的具体用法2.正则表达式篇预习正则表达式,记录 正则符号、符号作用参照表今日练习题 1.笔记作业 1.参考老师提供的脑图大纲,做好自己的脑图笔记,包括符号有哪些符号的作用符…

高密度SNP芯片-代加工/激光/芯片/flowcell/河南/郑州/芯晨微纳

SNP芯片(Single Nucleotide Polymorphism Chip)是一种高通量基因分型技术,用于快速检测基因组中单核苷酸多态性(SNP)位点。通过预先设计的探针阵列,SNP芯片能够同时分析数十万至上百万个SNP位点,广泛应用于疾病关联研究、群体遗传学、药物基因组学和精准医学等领域。一、…

在mybatis中的sql别名为rs会报错问题,有没有大佬能解释一下

同事今天早上发现了bug,这段sql在navicat中正常运行,但是项目跑起来就会报错 SELECTs.security_id AS securityId,s.security_name AS securityName,s.ding_talk_id AS userId,rs.year_num AS yearNum,rs.shift_month_day AS shiftMonthDay,sh.id AS shiftId,sh.shift_name A…

网络虚拟存储 Iscsi实现方案

网络虚拟存储,通过Iscsi协议可以实现本地挂载磁盘,扩展本机设备存储。 Iscsi有以下实现方案,简单介绍下: 1.Powershell 脚本 PowerShell 提供了一些 cmdlet,比如 Get-iSCSITarget 和 New-iSCSISession,用于管理 iSCSI 会话。 PowerShell实现有比较完善的文档:简介 - Tra…

17.8K star!完美超越宝塔的产品,像呼吸一样部署应用,这款开源神器绝了!

Dokploy是一个强大的开源平台,旨在简化全栈 Web 应用的开发和部署。通过其直观的界面和丰富的功能,开发者可以在几分钟内构建和部署复杂的应用程序。Dokploy 提供了灵活的架构和多样的功能,适合各种规模的项目。嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质…