被外包程序员植入了后门程序,触发后删除数据库但他们死不承认,该怎么办?

2019-03-18 16:53发布

情况一

1、保留现场:马上把服务器物理切断联网(最简单是拨网线),不对服务器作任何操作(就是啥也别动)。

2、报警

以我对it行业的了解,如果真有人敢用“删数据“这样恶劣的手段破坏,跟假疫苗害人子孙差不多了。

但是也不必过于担心,通常程序员对于数据备份是一种天然本能,对方极有可能做好了备份再删除的,这是一种习惯,剩下的就是如果让对方交出来了。

假如真没备份,也可以请数据恢复公司进行恢复,只是价格比较昂贵,但大多数都能恢复的,时间越短成功率越越高。

还有一点,无论对方用何种方法删除数据,都会留下蛛丝马迹,警方会有专业人员或委托第三方专业机构对服务器中的数据、文件、可执行程序、数据库可执行事务,过程等等分析,试图查出数据被删除的原因,理论上是不可能查不出原因的。

情况二


 关注

我认为是甲方没给尾款吧。不然这费力不讨好的事情谁做啊?我们公司也遇见过,有时候甲方客户喜欢玩文字游戏,要在合同里留一些对他们有利对开发公司不利的条款。比如之前我们给一家公司做小程序开发,私单,基于模板二开的8000块钱,服务器还是80块一个月的最低级服务器。功能确认之后,居然要求我先部署到他们的服务器,并且出服务器部署图,架构图,巴拉巴拉反正说了好几个东西出来,我忍辱负重给他们做了并且留了后门,但是最后就是50%的尾款我没拿到。然后我就启用后门了,这个肯定不会认的,我也不认为我做错了。还说要起诉我,反正我是等着他们起诉呢。。不过至今2个月过去了,还没收到消息。

情况三

以我多年的外包经验,你可能是遇到以下几种情况被删库了。

1.你找的外包公司应该是业务型的外包公司,公司没有技术好的程序员。

现在这样的外包公司太多了,我敢说目前国内百分之八十的外包公司都是没有程序员的,最多是前端套模版的技术员。

以现在外包行业,特别是网站建设这块各种低价竞争,大多外包公司根本没能力养好的技术员。我曾经一个人的开发速度比过五六人的外包团队,可见他们有多水。

所以大部分外包公司接单都是转包,比如从甲方收取10,最后到实际开发者手上可能不到两万。

你想想甲方的需求是十万块的,而开发者以两万的标准去开发,肯定效果是达不到的。

甲方肯定不满意,或提出修改意见,或要求退款,但开发者肯定不愿意继续给你改,因为他收费就这么多。

外包公司也不愿意继续加钱,然后就拖着,拖出纠纷来。开发者两万的报价应该只拿了几千块的定金,这时候能不火么?而且大多又没有签合同的,钱又拿不到了,所以只好删库。

你们现在的办法只能是给外包公司施加压力让恢复数据库,这我估计是行不通,他们根本就没这能力。

另外就是看源码里有没有实际开发的那个程序员的联系方式,把外包公司的尾款直接给他相信很快圆满帮你们解决所有问题。我以前作为个人开发者时也经常遇到这情况。

还有一定得起诉外包公司,不过估计成功性不高,你们公司肯定没有技术员,没留下任何证据。如果产品还没交接完毕,直接起诉对方没有达到合同要求。

外包公司大多是没什么诚信的,上忽悠甲方,下忽悠开发者。把甲方的要求分解弄简单低价转包。

如果只是用开源程序套套模版找外包公司还行,复杂的系统开发最好不要找,要找也得找了解,确实有技术团队的。反正报低价的基本不靠谱的,你想程序员多贵,工资都开不出的价格怎么能做好。一般也就是接来单子转包给兼职下班做了,兼职吗只要有钱赚就行了。

另外兼职各位程序员最好不要去接复杂的二手单,大多拿不到尾款的。

情况四

看你就是个菜鸟 ,谁让你只准备一套服务器?活该………

你要有两套源码,一套做备份,一套上线。

备份那套可以在项目交接后,给第三方机构,做后门检测,一般费用就几千块。如果发现恶意代码,可以起诉,并且要求赔偿。

另外你肯定有欠款,以我多年开发的经验。你没有欠款?我把我的特斯拉都吃了。

为啥有欠款?我估计因为资方要改需求引起的,作为劳方最不能忍受的就是改需求,这肯定要二次报价的,而资方却认为改这么点东西又要收钱?于是矛盾就来了,归根到底,资方自己对自己的项目都模糊不清,想当然,你这种人就看太多了。

还记得前一段时间新闻那个白痴的产品经理吗?居然要求程序员去开发一个APP,可以根据手机外壳而改变颜色,码农不揍死你才怪,同一个公司尚且如此,外包就更加不用谈了。

情况五

一,厘清责任,是外包的问题还是你们内部本身管理的问题。不是说外包删的,运维团队就没有责任的,这要看你们运维团队的构成和运作形式。

二,保留现场,责任厘清之前不要做任何操作。因为这可能导致二次伤害,而只要你操作并造成二次伤害了,则责任百分百在你!如果你操作成功恢复了,则责任不一定就在外包,这点请深刻体会!

三,责任明确后,保留现场的情况下做损坏评估,切记先有预案再动手,不要盲目的尝试。如果有条件尽量通过dd或者快照的方式,再造一个现场环境出来进行测试。

四,最后才是追究责任,法律程序和赔偿问题是最后才进行讨论的。

五,数据无价!有些数据一旦丢失仔也找不回来,尤其是关系型数据!重要的生产环境不要让非运维人员轻易用高权限帐户进行操作!

六,通过这次事件提高安全等级,要预算,要编制,把坏事转化成教训,以期在将来运维上能有实质性进步,从而成为一件好事!

七,运维有风险,一次就足够葬送职业生涯,要保守谨慎,不要把开发思维带到运维上,千万要警惕那些开发转运维的人员!!尽量使用专业的运维人员。

情况六

被删库了怎么办?

1、首先尝试找回数据,扯皮的事情后面再说。

数据库被破坏的程度,取决于外包恨你的深度。不同的破坏程度有不同的修复方法。如果是逻辑删除,比如删除了某些重要数据或者某几张表,可以通过闪回查询或者回收站找到被删除的数据;如果是物理删除,比如删除表空间或者直接格式化磁盘,那就必须通过备份恢复数据库。这里面的情况比较复杂,简单点说就是:题主必须尽早找一个懂数据库的人检查数据是否能恢复,能恢复到什么程度?

2、如果技术角度无法恢复数据,那就准备谈判吧

外包故意删除甲方的数据库,不外乎两个原因。第一,要挟甲方,催回款或者续保;第二,已经和甲方撕破脸,回款不要了,以后相忘于江湖。外包的老板如果够成熟,一般都不会彻底撕破脸皮,删库只是手段,拿到钱才是目的。他们在删库前肯定会备份数据,或者只是改一下表名。这种情况下,题主应该找领导和外包老板深入交流,达成某些共识,然后外包的工程师会告诉你他们用只可意会不可言传的方法找回了数据。

3、如果谈判破裂,那就准备追责吧。

如果谈判没有效果,那就要通过法律来解决了。从问题看,题主最关心的还是要追究外包方的责任。要从两个角度下手。第一,合同。强势的甲方都会设计对己方有利的合同,一般合同期和质保期内,只要出问题,乙方都要负责解决。第二,问题定位。通过技术手段定位故障源是外包开发的应用或者外包的终端。说实话,这方面我不怎么抱希望,从题主的问题可以看出,题主的单位应该没有采取有效的审计手段。那只能从监听日志和解析归档日志着手了,过程相当复杂,建议找个好的数据库工程师。

4、如果以上都没有效果,那就只能重建数据库了

如果任何手段都试过,实在拿外包公司没有办法,那就只能自己痛苦地重建数据库了。向外包公司要数据字典(对方有这个义务),收集原始数据,手工录入新建的数据库。如果业务流程都有纸质工单保留,可以发挥人多力量大、愚公移山的精神在应用端重新录入业务流程;如果没有保留纸质工单,那就到此为止了,后续数据丢失造成的损失需要通过行政来解决。

image.png