安全软件许可证使用审核日志

Way*_*yne 3 c# security audit cracking

伙计们,

我们有一个有趣的技术挑战.如何编写一个跟踪软件使用情况的安全审计文件,以便许可证费用可以根据使用情况进行,从而使那些使用它的人更容易负担得起.

具体来说,TickZoom为对冲基金出售alpha代交易平台,目前每月需要2000美元才能获得许可,包括支持(将很快增加到两倍以上).这对机构来说很好,但对个人来说太贵了.个人经常要求更低的价格换取使用软件赚取的利润的百分比,直到他们能够支付固定费用为止.

我们喜欢这个提议.但我们需要一种可靠的方法来审核平台上实际产生的利润,以及通过删除或覆盖审计文件来阻止用户"游戏"它的方法,从而报告收益低于实际收益.

此应用程序是用C#编写的,系统的这一部分是混淆的,至少使解密代码变得困难.

另一个要求是针对每次发生的交易写入文件,以便在用户认为总费用存在差异的情况下允许更深入的审核.这样,个人贸易利润可以与经纪人的陈述进行比较.

当然,假设文件将被加密.

但任何关于如何使其"防篡改"的想法?特别是针对简单的删除尝试?

我的第一个猜测是让软件始终需要一个预先存在的审计文件,否则它将拒绝运行.

然后,当我们交付软件时,它会打包一个"空"审计文件,但事实上,它有某种防篡改验证.

用户可能试图"篡改"文件的下一个显而易见的技术是让某人简单地备份原始的"空"文件,然后用它来覆盖审计文件,从而欺骗系统认为这是一个新的开始.

也许这可以通过包含某种"最后更新时间戳"和到期时间来解决.

此外,欢迎完全不同的解决方案想法.在这种情况下,我们可能会被迫添加"电话回家"功能,以便交易记录到我们的中央服务器.但这似乎是不利的,并可能在关键任务应用程序中增加另一个失败点.一般来说,他们非常不喜欢"手机之家"功能,原因很明显.

真诚的,Waynek

Eri*_*ert 5

您的问题陈述是:

  • 我们不信任客户; 客户可能是敌对的.
  • 我们希望客户向我们发送我们可以信任的数据.

这个问题没有解决办法.你不妨说"我想找两个人,一个名叫鲍勃,一个名叫比尔,这样鲍勃比比尔和比比比鲍勃高一英尺高".你不会找到两个拥有该房产的人.

你绝对肯定不能相信任何来自你不拥有的机器的东西,这些机器可能是敌对客户所拥有的.我的建议是不要浪费你宝贵的时间来解决一个不可能的问题; 花时间制作你所拥有并信任的服务器,对抗敌对客户.

  • 因此,在我的脑海中,良好的复制保护的相同原则适用于这一挑战.一个关键原则是:绝大多数客户将诚实和合作.因此,你必须平衡使得难以劝阻作弊者,同时不使保护机制如此痛苦,以至于你拒绝诚实的顾客. (2认同)