本发明实施例涉及php文件访问检测,尤其涉及一种php文件访问检测方法及装置。
背景技术:
1、敏感文件是指计算机或者网站上的配置文件、备份文件等记录主机或用户信息等敏感信息的文件。如果这些文件被窃取或篡改,将会对用户造成极大的损失,所以需要对访问敏感文件的行为进行监控和检测。
2、现有技术中多采用基于白名单防护的敏感文件访问控制机制,需要对应用程序和应用程序能够访问的敏感文件进行预先配置,等到应用程序访问文件时,需要检测配置项,判断应用程序是否具有该文件的访问权限。
3、而基于白名单防护的敏感文件访问控制机制高度依赖人工配置,无法做到实时检测,且对于访问文件比较多的应用程序,配置起来更加繁琐,当有应用程序访问文件时,需要检索大量配置,对应用程序的性能影响较大。
技术实现思路
1、基于现有技术的上述情况,本发明实施例的目的在于提供一种php文件访问检测方法及装置,基于挂钩(hook)技术,可以做到实时监控并检测敏感文件访问,检测方法更简单,且对php服务器的性能影响更小。
2、为达到上述目的,根据本发明的一个方面,提供了一种php文件访问检测方法,包括步骤:
3、获取php进程启动时的至少一个访问文件的函数;
4、对所述至少一个访问文件的函数进行挂钩;
5、在php进程的脚本执行时,获取当前php服务器文件的第一目录;
6、当所述脚本中执行所述至少一个访问文件的函数时,根据所述至少一个访问文件的函数的挂钩获取所要访问文件的绝对路径;
7、判断所要访问文件的绝对路径中是否包含第一目录,并根据判断结果判定所述脚本是否为涉及敏感文件访问的恶意访问请求。
8、进一步的,所述访问文件的函数包括fopen、fwrite、readfile和file_get_contents。
9、进一步的,所述第一目录包括待访问php服务器文件的根目录。
10、进一步的,判断所要访问文件的绝对路径中是否包含第一目录,并根据判断结果判定所述脚本是否为涉及敏感文件访问的恶意访问请求,包括:
11、若所要访问文件的绝对路径中包括第一目录,则该脚本为正常访问请求;
12、若所要访问文件的绝对路径中不包括第一目录,则该脚本为涉及敏感文件访问的恶意访问请求。
13、进一步的,所述敏感文件包括记录主机或者用户信息的文件。
14、根据本发明的另一个方面,提供了一种php文件访问检测装置,包括:
15、函数获取模块,用于获取php进程启动时的至少一个访问文件的函数;
16、挂钩模块,用于对所述至少一个访问文件的函数进行挂钩;
17、第一目录获取模块,用于在php进程的脚本执行时,获取当前文件的第一目录;
18、文件路径获取模块,用于当所述脚本中执行所述至少一个访问文件的函数时,根据所述至少一个访问文件的函数的挂钩获取所要访问文件的绝对路径;
19、检测模块,用于判断所要访问文件的绝对路径中是否包含第一目录,并根据判断结果判定所述脚本是否为涉及敏感文件访问的恶意访问请求。
20、进一步的,所述访问文件的函数包括fopen、fwrite、readfile和file_get_contents。
21、进一步的,所述第一目录包括待访问php服务器文件的根目录。
22、进一步的,所述检测模块,判断所要访问文件的绝对路径中是否包含第一目录,并根据判断结果判定所述脚本是否为涉及敏感文件访问的恶意访问请求,包括:
23、若所要访问文件的绝对路径中包括第一目录,则该脚本为正常访问请求;
24、若所要访问文件的绝对路径中不包括第一目录,则该脚本为涉及敏感文件访问的恶意访问请求。
25、进一步的,所述敏感文件包括记录主机或者用户信息的文件。
26、综上所述,本发明实施例提供了一种php文件访问检测方法及装置,所述方法包括步骤:获取php进程启动时的至少一个访问文件的函数;对所述至少一个访问文件的函数进行挂钩;在php进程的脚本执行时,获取当前php服务器文件的第一目录;当所述脚本中执行所述至少一个访问文件的函数时,根据所述至少一个访问文件的函数的挂钩获取所要访问文件的绝对路径;判断所要访问文件的绝对路径中是否包含第一目录,并根据判断结果判定所述脚本是否为涉及敏感文件访问的恶意访问请求。本发明实施例提供的技术方案,基于挂钩(hook)技术,可以实现在php进程的执行过程中,实时监控并检测敏感文件访问,检测方法更简单,且对php服务器的性能影响更小。
1.一种php文件访问检测方法,其特征在于,包括步骤:
2.根据权利要求1所述的方法,其特征在于,所述访问文件的函数包括fopen、fwrite、readfile和file_get_contents。
3.根据权利要求2所述的方法,其特征在于,所述第一目录包括待访问服务器文件的根目录。
4.根据权利要求3中所述的方法,其特征在于,判断所要访问文件的绝对路径中是否包含第一目录,并根据判断结果判定所述脚本是否为涉及敏感文件访问的恶意访问请求,包括:
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述敏感文件包括记录主机或者用户信息的文件。
6.一种php文件访问检测装置,其特征在于,包括:
7.根据权利要求6所述的装置,其特征在于,所述访问文件的函数包括fopen、fwrite、readfile和file_get_contents。
8.根据权利要求7所述的装置,其特征在于,所述第一目录包括待访问服务器文件的根目录。
9.根据权利要求8中所述的装置,其特征在于,所述检测模块,判断所要访问文件的绝对路径中是否包含第一目录,并根据判断结果判定所述脚本是否为涉及敏感文件访问的恶意访问请求,包括:
10.根据权利要求6-9中任意一项所述的装置,其特征在于,所述敏感文件包括记录主机或者用户信息的文件。