软件源码泄露的取证方法主要包括以下几种:
法院申请证据保全或行政投诉现场执法取证
原告可以通过侵权者发布的招聘信息、招投标信息或其他公开信息初步确定具体的单位主体存在使用盗版软件的侵权行为后,向人民法院申请诉前证据保全,或者直接向各地版权执法机构投诉举报,由有权机关进驻现场进行证据保全。对于安装于PC端的工具、工业软件等,一般采用这种方式。
公证或录屏取证
权利人可以使用在线录屏或公证的方式对服务器端的软件进行过程取证。通过在线访问目标服务器,利用权利人软件的特有标识及软件返回值等来固定证据,并将访问的结果文件及取证过程录屏保存。线上取证同时将证据包的hash值上传至区块链进行交易,以证明证据自固定之时起未被篡改。
网页取证或目录取证工具在线取证
网页取证工具可以将网页的源代码、图片、网页内容等保全为电子证据。常用的工具有百度取证、保全网、云电取证等,这些工具提供源代码级的网页取证服务,广泛应用于服务器端软件的维权案件。
敏感文件扫描和备份文件分析
攻击者可能会通过枚举常见备份文件名来获得对应的路径,并得到关键代码,从而进行源代码的审计。常见的备份文件包括文本备份文件和整站源码备份文件,这些文件的后缀名可能为 .rar、.zip、.7z、.tar.gz、.bak、.swp、.txt、.sql 等。
Git泄露取证
如果软件项目使用了Git进行版本控制,攻击者可能会通过泄露的.git文件夹下的文件来重建还原工程源代码。可以使用专门的工具如GitHack来进行这种取证。
代码比对和创作背景分析
要证明源代码侵权,需明确源代码的独特性和其在软件或系统中的核心地位。通过对比侵权方与被侵权方的源代码,分析代码的结构、语句顺序、函数调用等细节,并结合代码的创作背景和思路,判断是否构成侵权。
日志记录和监控
对源代码的访问和操作进行详细的日志记录,监控和审计所有访问行为,便于及时发现和响应异常行为。
物理和网络隔离
将开发环境与外部网络物理隔离,使用专用的开发网络,禁止外部设备如U盘、移动硬盘连接到开发环境,从物理层面切断潜在的泄露途径。
安全传输协议
在源代码传输过程中,使用HTTPS、SFTP等安全的传输协议,对数据进行加密,防止在传输过程中被截获和篡改。
权限管理和代码审查
严格控制源代码的访问权限,确保只有授权人员才能访问和修改源代码。在代码合并到主分支之前,实行代码审查流程,以确保代码的质量并减少潜在的安全漏洞。
第三方审计工具
使用第三方软件审计工具,这些工具通常具备自动化的检测和报告功能,能够快速识别出未经授权的软件使用情况。
综合以上方法,软件源码泄露的取证需要综合考虑多种技术和法律手段,以确保取证的准确性和有效性。在实际操作中,建议权利人根据具体情况选择合适的取证方法,并在必要时寻求专业律师的帮助。