CN107679412B - 一种拦截数据库访问数据的方法以及装置 - Google Patents
一种拦截数据库访问数据的方法以及装置 Download PDFInfo
- Publication number
- CN107679412B CN107679412B CN201710833914.XA CN201710833914A CN107679412B CN 107679412 B CN107679412 B CN 107679412B CN 201710833914 A CN201710833914 A CN 201710833914A CN 107679412 B CN107679412 B CN 107679412B
- Authority
- CN
- China
- Prior art keywords
- socket
- vfs
- pointer
- read
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Abstract
本发明提供一种拦截数据库访问数据的方法,生成一socket接口并开启,所述socket接口中包括VFS方法;从系统内核中找到第一个socket文件;从该socket文件中获取VFS方法的指针;将所述socket文件中获取VFS方法的指针进行修改为所述socket接口中的VFS方法的指针;socket接口中的VFS方法对数据库访问数据进行拦截;本发明还提供一种拦截数据库访问数据的装置,使得在拦截数据库访问数据的同时不影响数据库本身运行效率。
Description
技术领域
本发明涉及一种拦截数据库访问数据的方法以及装置。
背景技术
数据库访问监控是指对数据库的任何操作,包括增,删,改操作的监控,抵御数据库外部和内部的数据泄露威胁,通过对监控数据的分析,对可以操作发出警报或者终止可疑操作。
目前数据库软件种类繁多,既有免费的,也有需要付费购买的,免费的数据库往往没有数据库监控,需要付费的数据库软件的开发商也有提供数据库监控服务,但是数据库软件开发商提供的数据库监控服务是运行在数据库中的,其运行会严重影响数据库本身的运行效率,并且无法实时提供报警。
发明内容
本发明要解决的技术问题,在于提供一种拦截数据库访问数据的方法以及装置,使得在拦截数据库访问数据的同时不影响数据库本身运行效率。
本发明之一是这样实现的:一种拦截数据库访问数据的方法,包括如下步骤:
步骤1、生成一socket接口并开启,所述socket接口中包括VFS方法;
步骤2、从系统内核中找到第一个socket文件;
步骤3、从该socket文件中获取VFS方法的指针;
步骤4、将所述socket文件中获取VFS方法的指针进行修改为所述socket接口中的VFS方法的指针;
步骤5、socket接口中的VFS方法对数据库访问数据进行拦截。
进一步地,所述步骤5进一步具体为:通过IOCTL指令,使得socket接口中的VFS方法对数据库访问数据进行拦截。
本发明之二是这样实现的:一种拦截数据库访问数据的装置,包括如下步骤:
生成模块,生成一socket接口并开启,所述socket接口中包括VFS方法;
查找模块,从系统内核中找到第一个socket文件;
获取模块,从该socket文件中获取VFS方法的指针;
修改模块,将所述socket文件中获取VFS方法的指针进行修改为所述socket接口中的VFS方法的指针;
拦截模块,socket接口中的VFS方法对数据库访问数据进行拦截。
进一步地,所述拦截模块进一步具体为:通过IOCTL指令,使得socket接口中的VFS方法对数据库访问数据进行拦截。
本发明具有如下优点:本发明一种拦截数据库访问数据的方法以及装置,可以支持多种平台(类似与Unix的操作系统),多种数据库,并且能够将截取监控出的数据交给其他服务器进行处理,经过对数据的分析,提供告警等更多的处理手段,并且本身不会对数据库本身性能产生影响。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
图2为本发明具体实施方式的示意图。
具体实施方式
如图1所示,本发明拦截数据库访问数据的方法,包括如下步骤:
步骤1、生成一socket接口并开启,所述socket接口中包括VFS方法;
步骤2、从系统内核中找到第一个socket文件;
步骤3、从该socket文件中获取VFS方法的指针;
步骤4、将所述socket文件中获取VFS方法的指针进行修改为所述socket接口中的VFS方法的指针;
步骤5、通过IOCTL指令,使得socket接口中的VFS方法对数据库访问数据进行拦截。
本发明拦截数据库访问数据的装置,包括如下步骤:
生成模块,生成一socket接口并开启,所述socket接口中包括VFS方法;
查找模块,从系统内核中找到第一个socket文件;
获取模块,从该socket文件中获取VFS方法的指针;
修改模块,将所述socket文件中获取VFS方法的指针进行修改为所述socket接口中的VFS方法的指针;
拦截模块,socket接口中的VFS方法对数据库访问数据进行拦截。
进一步地,所述拦截模块进一步具体为:通过IOCTL指令,使得socket接口中的VFS方法对数据库访问数据进行拦截。
本发明一种具体实施方式
如图2所示,数据库安装在某个操作系统上,以UNIX为例,UNIX使用VFS(VirtualFile System),也就是虚拟文件系统,虚拟文件系统让客户端对数据库的所有访问操作都经由open()/read()/write()/close()这四个systemcall(系统调用),不论是网络远程访问还是本机客户端访问,这样如果能够拦截监控这些system call(系统调用)的数据,就能够监控所有对数据库的访问的数据。Sino_module(系统中的一个模块):放到kernel(操作系统内核)内部的kernel module(操作系统内核模块),负责VFS方法的拦截
sino_user_app:user mode上的一个程序,负责调用sino_module以及开启socket
Sino_user_app开启sino_module
Sino_user_app生成一个socket并开启它
sino_user_app经由IOCTL指令对sino_module下拦截指令
Sino_module这时候是在sino_user_app的空间(指sino module被用户空间的程序调用,所以和用户空间程序是在同一空间),因为呼叫了IOCTL,这时候可以找当前的sino_user_app开启的所有文件,找第一个socket file
这个socket file会有相关的VFS方法指针,这时可以替换成我们自己提供的方法指针(例如:用user_read()来替换原来的系统调用read(),在读取数据库时,调用user_read()函数,其中将数据库处理的内容保存到用户空间,然后在调用系统的read()函数),因而替换socket原本的VFS方法。
返回sino_user_app,这时所有的socket的VFS方法都被替换,数据会经由sino_module内定义的VFS,再调用VFS原本的方法。
首先将系统的函数替换成我们自己的函数,然后在在我们的函数中调用系统的函数。在我们的函数中可以将用户处理数据保存下了,这样就截留了数据。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (2)
1.一种拦截数据库访问数据的方法,其特征在于:包括如下步骤:
步骤1、生成一socket接口并开启,所述socket接口中包括VFS方法;
步骤2、从系统内核中找到第一个socket文件;
步骤3、从该socket文件中获取VFS方法的指针;
步骤4、将所述socket文件中获取VFS方法的指针进行修改为所述socket接口中的VFS方法的指针;
步骤5、通过IOCTL指令,使得socket接口中的VFS方法对数据库访问数据进行拦截;
所述socket接口中的VFS方法的指针为:用user_read()来替换原来的系统调用read(),在读取数据库时,调用user_read()函数,其中将数据库处理的内容保存到用户空间,然后在调用系统的read()函数。
2.一种拦截数据库访问数据的装置,其特征在于:包括如下步骤:
生成模块,生成一socket接口并开启,所述socket接口中包括VFS方法;
查找模块,从系统内核中找到第一个socket文件;
获取模块,从该socket文件中获取VFS方法的指针;
修改模块,将所述socket文件中获取VFS方法的指针进行修改为所述socket接口中的VFS方法的指针;
拦截模块,通过IOCTL指令,使得socket接口中的VFS方法对数据库访问数据进行拦截;
所述socket接口中的VFS方法的指针为:用user_read()来替换原来的系统调用read(),在读取数据库时,调用user_read()函数,其中将数据库处理的内容保存到用户空间,然后在调用系统的read()函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710833914.XA CN107679412B (zh) | 2017-09-15 | 2017-09-15 | 一种拦截数据库访问数据的方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710833914.XA CN107679412B (zh) | 2017-09-15 | 2017-09-15 | 一种拦截数据库访问数据的方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107679412A CN107679412A (zh) | 2018-02-09 |
CN107679412B true CN107679412B (zh) | 2021-05-18 |
Family
ID=61136377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710833914.XA Active CN107679412B (zh) | 2017-09-15 | 2017-09-15 | 一种拦截数据库访问数据的方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107679412B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262787B (zh) * | 2019-06-21 | 2022-12-13 | 北京搜房科技发展有限公司 | 语句替换方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216850A (zh) * | 2008-01-11 | 2008-07-09 | 清华大学 | 文件系统访问记录的动态采集方法 |
CN102662870A (zh) * | 2012-03-20 | 2012-09-12 | 武汉噢易科技有限公司 | 基于vfs层拦截读写请求的安卓操作系统保护方法 |
CN102722500A (zh) * | 2011-03-31 | 2012-10-10 | 中国电信股份有限公司 | 一种虚拟文件系统及其实现方法 |
CN103020527A (zh) * | 2012-12-21 | 2013-04-03 | 北京奇虎科技有限公司 | 主动拦截恶意程序的方法、装置、系统 |
CN106778208A (zh) * | 2016-12-01 | 2017-05-31 | 深圳Tcl新技术有限公司 | 应用程序的访问处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080154986A1 (en) * | 2006-12-22 | 2008-06-26 | Storage Technology Corporation | System and Method for Compression of Data Objects in a Data Storage System |
US9002970B2 (en) * | 2012-07-12 | 2015-04-07 | International Business Machines Corporation | Remote direct memory access socket aggregation |
CN106161517B (zh) * | 2015-03-31 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 通过云文件系统实现云存储接入的方法和装置 |
-
2017
- 2017-09-15 CN CN201710833914.XA patent/CN107679412B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216850A (zh) * | 2008-01-11 | 2008-07-09 | 清华大学 | 文件系统访问记录的动态采集方法 |
CN102722500A (zh) * | 2011-03-31 | 2012-10-10 | 中国电信股份有限公司 | 一种虚拟文件系统及其实现方法 |
CN102662870A (zh) * | 2012-03-20 | 2012-09-12 | 武汉噢易科技有限公司 | 基于vfs层拦截读写请求的安卓操作系统保护方法 |
CN103020527A (zh) * | 2012-12-21 | 2013-04-03 | 北京奇虎科技有限公司 | 主动拦截恶意程序的方法、装置、系统 |
CN106778208A (zh) * | 2016-12-01 | 2017-05-31 | 深圳Tcl新技术有限公司 | 应用程序的访问处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107679412A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108133139B (zh) | 一种基于多运行环境行为比对的安卓恶意应用检测系统 | |
US10552610B1 (en) | Adaptive virtual machine snapshot update framework for malware behavioral analysis | |
US8875296B2 (en) | Methods and systems for providing a framework to test the security of computing system over a network | |
US9875353B2 (en) | Log information generation apparatus and recording medium, and log information extraction apparatus and recording medium | |
EP3227819B1 (en) | Security information and event management | |
CA2990405A1 (en) | Monitoring of applications isolated in containers | |
EP3213193B1 (en) | Monitoring and correlating a binary process in a distributed business transaction | |
AU2017206284A1 (en) | Tracing system operations across remote procedure linkages to identify request originators | |
US20150161390A1 (en) | Fast and accurate identification of message-based api calls in application binaries | |
US11178160B2 (en) | Detecting and mitigating leaked cloud authorization keys | |
WO2019075994A1 (zh) | 一种iOS端Mock数据的方法、存储介质、设备及系统 | |
WO2021189257A1 (zh) | 恶意进程的检测方法、装置、电子设备及存储介质 | |
US10007562B2 (en) | Business transaction context for call graph | |
CN110737891A (zh) | 一种主机入侵检测方法和装置 | |
CN111813774B (zh) | 一种基于sysdig系统监控获取溯源信息的方法 | |
CN107679412B (zh) | 一种拦截数据库访问数据的方法以及装置 | |
CN111324510A (zh) | 日志处理方法、装置及电子设备 | |
CN111371783B (zh) | 一种sql注入攻击检测方法、装置、设备和存储介质 | |
CN112953896A (zh) | 日志报文的回放方法及装置 | |
CN114462030A (zh) | 隐私政策的处理、取证方法、装置、设备及存储介质 | |
US11930019B2 (en) | Methods and systems for fast-paced dynamic malware analysis | |
US10681048B1 (en) | Systems and methods for intercepting WebView traffic | |
CN115174192A (zh) | 应用安全防护方法及装置、电子设备和存储介质 | |
CN113378180A (zh) | 漏洞检测方法、装置、计算机设备及可读存储介质 | |
CN106850701B (zh) | 一种移动终端分享隔离方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 350000 21 / F, building 5, f District, Fuzhou Software Park, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province Applicant after: FUJIAN SINOREGAL SOFTWARE Co.,Ltd. Address before: Floor 20-21, building 5, area F, Fuzhou Software Park, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province 350000 Applicant before: FUJIAN SINOREGAL SOFTWARE Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |