有轮廓仪的负载和静态代码分析器在那里为C#组件。

只是不知道是否有任何方法,以防止被分析,因为它确实让我感到有点紧张,被剥夺的时候。

我已经找遍了互联网和计算器。似乎没有为我的奇迹。

我已经得到了仅仅是一些更吓人的标题像这样的(对不起,新用户不能发布超链接,请谷歌他们):

“装配操作和C#/ VB.NET代码注入”

“如何注入托管.NET组件(DLL)到另一个过程”

只是我太担心还是什么?

BTW,用C#,我们正在建设一个新的winform的客户提供银行的客户做在线交易。难道我们不应该在WinForm的方式做到这一点,还是应该使用一些其他语言如德尔福,C ++?目前,我们已与C ++ Builder中内置一个WinForm客户端。

有帮助吗?

解决方案

几乎任何应用可以被“分析和注入”。有些比别人多。这就是为什么你永远不要相信用户的输入。你完全验证用户对服务器端的请求,并确保你不容易受到缓冲区溢出,SQL注入等攻击向量。

混淆器可以使.NET组件难以分析。使用安全密钥,以强命名程序集可以使它更难改变你的代码。但是,像在数字世界中的一切,有人会利用漏洞,让你周围放置任何保护措施到位。

其他提示

如果通过分析你的意思是有人反编译的代码,并看着它,那么Dotfucstor附带VS Pro和上面是一个简单的(免费)工具,以帮助在这里。有一个更全面的功能(但支付)的版本,可以做更多。

要防止有人篡改你的部署assmebliles,使用强名称的。

哪里有意愿,有办法,无论是托管代码或本机汇编。关键是要保持在服务器端中的重要信息和保持的那个控制。

您需要决定对你试图保护的是什么的第一件事情? 混淆器都只是为了保护“秘密武器”的算法是有用的,但攻击者可以简单地提取代码,并把它作为黑盒。在案件99%是混淆器的浪费金钱。 如果攻击者物理访问有没有什么可以做的。

如果最终用户使用管理权限运行,那么他们就可以附加一个调试器,并修改你的代码,包括目标帐户的详细信息。我的银行卡的芯片在我的本地银行友好给了我一个芯片和管脚的读者,我要进入目标帐户,它哈希的最后n个数字/加密;然后我进入从设备的代码转换成可在银行的最终检查以及银行的Web应用程序。这减轻“中间人”攻击型...

安全,才可能在系统中,你的物理控制访问,甚则不能保证,仅仅是可以实现的。你必须承担的任何代码不执行一个系统可以控制能够而且将会受到影响。正如罗兰肖说,对于金融机构的最好的办法是某种物理令牌的,有效地增加了一个独特的离线组件,攻击者从感染的系统运行事先已知的时间不能(容易)的所有交易。即使是这样,你应该知道的事实,如果用户的计算机受到攻击,他记录在他从该点向前安全令牌直到会话结束时,攻击者可以自由地执行任何操作的用户有权限,但至少在这种情况下,用户更可能注意到欺诈活动。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top