基于加密技术的非现场数据审计方法

作 者:

作者简介:
陈唯源,中国人民银行福州中心支行

原文出处:
中国内部审计

内容提要:

02


期刊代号:V3
分类名称:审计文摘
复印期号:2020 年 06 期

关 键 词:

字号:

      大数据审计环境下,审计人员需要调阅审计对象的数据进行分析,但部分审计数据较为敏感,将数据复制到审计人员计算机上存在一定的信息安全风险。对此,笔者结合审计实践,设计了一套加密流程,以非现场形式在审计对象的服务器或计算机上运行审计程序,得到审计结果。通过该流程,审计人员无须接触全部数据,可确保审计数据的安全性;审计对象无法篡改审计程序和结果,可确保审计结果的有效性。

      一、传统数据审计方法

      传统数据审计流程中,审计人员需要将审计对象的数据复制至审计人员计算机上进行分析。典型的调阅数据审计流程如下:首先,审计对象将数据提供给审计人员,复制到审计人员的计算机上;然后,审计人员在计算机上编写审计程序分析数据,得到审计结果。如图1所示。

      

      在上述流程中,审计对象提供的审计数据包括数据表等结构化数据及文本等非结构化数据;审计人员使用Excel等数据分析软件或Python等编程语言,编写审计程序分析数据,得到审计结果。目前,大部分审计均采用该流程,但该流程存在信息安全风险。以信息系统安全审计为例,审计人员调阅审计对象信息系统中的passwd或shadow口令文件,检查操作系统是否有弱口令,但该文件较敏感,导出分析存在口令泄露的风险。

      为确保数据安全性,避免上述数据泄露风险,一种思路是审计人员在审计对象提供的环境中编写审计程序分析数据,审计数据不脱离审计对象环境,如图2所示。目前人民银行对外部机构检查通常采取该方法,但该方法仍存在数据泄露风险,审计人员在审计对象服务器上编写程序时仍可查看和筛选全量的审计数据。

      

      二、基于加密技术的非现场数据审计方法

      (一)非现场数据审计方法

      为解决上述调阅数据审计和现场数据审计方法存在的数据安全问题,可以采用非现场数据审计方法,流程如下:首先,审计对象提交少量审计数据样本给审计人员;其次,审计人员根据样本数据编写审计程序,将审计程序交给审计对象,由审计对象在其服务器或计算机上运行得到审计结果;最后,审计对象将运行结果交回审计人员。如图3所示。

      

      通过该方法,审计人员无须复制或查看全量数据即可进行审计,能够确保数据的安全性。但该方法存在两个问题:一是审计程序可能被审计对象查看或篡改。审计对象若能查看程序,可以有针对性地修改审计数据使结果合规;审计对象若能篡改程序,可以令程序直接输出合规的结果。二是审计结果可能被审计对象篡改。

      (二)基于加密技术的非现场数据审计流程

      为解决上述问题,笔者设计了一套基于加密技术的非现场数据审计流程,以确保审计程序和结果不可被审计对象查看或篡改。该流程对审计程序和审计结果进行双重加密,步骤如下:首先,审计对象提交少量审计数据样本给审计人员;其次,审计人员根据样本数据编写审计程序并进行加密打包,并将加密打包的审计程序交给审计对象,由审计对象在其服务器或计算机上运行,得到加密的运行结果,并将运行结果交回审计人员;最后,审计人员使用解密程序对运行结果解密。审计结束后,审计人员可将解密程序提供给审计对象,由审计对象自行对审计结果解密,使审计对象确信取证的数据未包含全量或敏感数据。如图4所示。

      

      针对审计程序被查看或篡改问题,该方法对审计程序进行了加密打包;针对审计结果被篡改问题,该方法对审计结果进行了加密,确保不会被篡改。在审计结束后,审计人员还可将解密程序提供给审计对象进行解密,使审计对象确信未提取全量或敏感数据。

      (三)基于加密技术的非现场数据审计示例

      审计程序、程序加密打包及结果加密算法的选择较为灵活。审计程序可以使用C++、Java、Python等编程语言进行编写,适用于Windows、Linux等系统;加密打包可以使用对应编程语言的二进制程序打包及代码混淆工具,使程序内容无法被查看或篡改;审计结果的加密算法可以使用DES、AES、Blowfish等加密算法。

      以Windows操作系统的Python语言和AES加密算法为例。假设审计对象的审计数据文件为交易数据,如表1所示。

      

相关文章: