我有一个由几台 Windows 10 机器组成的小型网络(均受 BitDefender 2020 Total Security 保护),其中一台充当带有 Firebird 数据库的服务器。
一段时间以来,数据库正在恶化——在一些随机记录中,一些字段的值发生了变化。我用全新的 Windows 10 安装和防病毒软件将服务器机器完全更改为全新的,数据库是从 GBK 存档重新创建的。主机仔细检查了 RAM 错误(使用 MemTest86)和 SSD 错误(CrystalDiskInfo 和 ADATA SSD ToolBox)——一切都 100% 正常。
除了服务器被黑客入侵之外,我没有任何怀疑,但看起来所谓的恶意软件/病毒必须在数据库中移动(甚至是打包的 GBK 存档),因为只有 GBK 文件被移动到新机器(在经过验证的 pendrive 上)。
病毒是否有可能存储在数据库中(例如以存储过程等形式),并与GBK存档一起传输?如果是这样,如何检测并从数据库中删除它?
(Firebird 数据库以单个 FDB 文件的形式存储,被 BitDefender 扫描没有任何结果)
由于 Firebird 必须专门安装在机器上,并且不像其他软件(例如浏览器或文字处理器)那样广泛使用,因此一般恶意软件不太可能以 SQL DBMS 为目标来存储代码,尽管对于目标来说并非完全不可能攻击高价值网站。
更有可能的是,糟糕的代码或恶化的 SSD(或 HHD)导致了这个问题。例如,不适当的记录或表锁定可能允许同时事务使数据库处于未定义状态。我的经验是 Firebird 是一个非常可靠的数据库,占用空间非常小,但是对于任何数据库,都必须注意解决多用户事务冲突。