通过OS特定技术,将代码写入到目标进程并让其执行的技术。攻击者可以将一段恶意代码写到目标进程,这段代码可以加载其它可执行程序,进而实施hook,监控程序运行行为、获取敏感信息等。
对于金融客户端,可通过代码注入技术,将恶意代码注入到客户端中,窃取输入的登录账号、密码、支付密码,修改转账的目标账号、金额,窃取通讯数据等。
请教如何防止代码注入
54 个解决方案
#1
自已的程序hook Openprocess,发现句柄是你自己就返回异常
#2
大神,能具体说一下么,新手不太明白啊。。。
#3
好问题,坐等大牛解答
#4
#5
求大神解答
#6
#7
大神都在上班么。。。
#8
在这个论坛的基本都是上班一族吧!应该只有下班空闲时间才能看帖子。
#9
缺少人气啊,,来这里看看。。。
#10
#11
这个动作,会不会直接被杀毒软件给杀了?
#12
#13
#14
好像可以去看雪论坛潜水一周哦。一周后大概就有答案了。
#15
UP
#16
#17
#18
learning
#19
#20
#21
up
#22
好东西 收藏了
#23
这是黑客的做法啊。
#24
linux下应该也有类似Hook技术吧
#25
得坐牢的,哈哈
#26
这个有意思,Mark一个。
话说,这贴中怎么那么多被删除的回复?
话说,这贴中怎么那么多被删除的回复?
#27
#28
先逛逛学习学习
#29
进程注入没办法防止的。
至于通过注入获取用户帐号和密码,这个是可以防止的
重载密码控件,对密码进行n次md5 然后提交
这样黑客就是通过GetWindowText获取到了窗口内容也无法利用账号进行交易。
毕竟服务器是对密码原码进行n次md5后的内容进行校验的,这n是黑客没办法直接知道的
只能尝试,对于金融系统来说,尝试的次数是有限制的,一般是3次失败就直接锁定帐号。
网络传输可以采用加密,在账号登陆成功之间就建立加密连接,可以100%保证加密的安全,如果采用类似rsa认证,就是公司内部员工出卖协议文档,也没办法进行破解。
最终就是进程代码注入,被注入者是可以自己进行预防的,就是检查自身线程数量或线程句柄,正常情况下自身创建的线程可能是不固定的,但是完全可以采用一个简单的链表进行记录,发现非法线程,进程自身立马自锁并报警(,必要时可以主动自毁,然后发送错误报告),这样就可以保证金融软件客户端的自身安全。
至于什么hook openprocess的做法完全就是搞笑了,为了一个简单的安全功能去开发驱动技术没有必要(,我了解不通过驱动也可以hook系统dll,但是你没办法绕过杀毒软件不是!!!),所以做功能不要舍近求远的追求技术上的突破,毕竟用简单的办法把问题解决才是最有效的办法。
至于通过注入获取用户帐号和密码,这个是可以防止的
重载密码控件,对密码进行n次md5 然后提交
这样黑客就是通过GetWindowText获取到了窗口内容也无法利用账号进行交易。
毕竟服务器是对密码原码进行n次md5后的内容进行校验的,这n是黑客没办法直接知道的
只能尝试,对于金融系统来说,尝试的次数是有限制的,一般是3次失败就直接锁定帐号。
网络传输可以采用加密,在账号登陆成功之间就建立加密连接,可以100%保证加密的安全,如果采用类似rsa认证,就是公司内部员工出卖协议文档,也没办法进行破解。
最终就是进程代码注入,被注入者是可以自己进行预防的,就是检查自身线程数量或线程句柄,正常情况下自身创建的线程可能是不固定的,但是完全可以采用一个简单的链表进行记录,发现非法线程,进程自身立马自锁并报警(,必要时可以主动自毁,然后发送错误报告),这样就可以保证金融软件客户端的自身安全。
至于什么hook openprocess的做法完全就是搞笑了,为了一个简单的安全功能去开发驱动技术没有必要(,我了解不通过驱动也可以hook系统dll,但是你没办法绕过杀毒软件不是!!!),所以做功能不要舍近求远的追求技术上的突破,毕竟用简单的办法把问题解决才是最有效的办法。
#30
有2个方法:
1, 在3环写个钩子, hook 掉 OpenProcess函数, 觉得不保险再hook几个相关函数, 比如CreateRemoteThread(创建远程线程)
2,在0环做内核保护程序, 保护你的进程防止黑客打开
涉及的技术内容不少, 自己百度吧
1, 在3环写个钩子, hook 掉 OpenProcess函数, 觉得不保险再hook几个相关函数, 比如CreateRemoteThread(创建远程线程)
2,在0环做内核保护程序, 保护你的进程防止黑客打开
涉及的技术内容不少, 自己百度吧
#31
坐等大牛解答
#32
只要不是通过你的程序漏洞注入的,那即使用户发生了损失也和你无关.
而通过其他途径注入了,你一个普通应用程序也做不了什么.
或者你是想问怎么开发一个卡巴斯基?
而通过其他途径注入了,你一个普通应用程序也做不了什么.
或者你是想问怎么开发一个卡巴斯基?
#33
就是普通程序根本不用考虑注入的事呗?用户账号密码很容易就丢失了也跟开发无所谓呗?然后把错误归给用户操作环境不安全?
#34
#35
留着看看
#36
好像很厉害的样子
#37
你自己试过没,不要胡乱误导人。
“简单的安全功能”,安全功能很简单?
“密码控件重载”就获取不到密码了?服务器端对密码进行N次MD5是没错,问题是他这个是对最初的明文进行MD5的,你MD5再多次,明文都已经被截取了有什么用?
能在用户态拦截到密码的那都是裸奔程序,安全控件都是驱动级的,与拦截器对抗也是看双方在驱动级调用链上谁处于更底层谁获胜,谁先在驱动级获取到用户输入,谁就可以欺骗上层挂载的驱动
#38
哥们,做过G么?你这分析未免有点那个啥,客户端输入一个字符md5一次?还是n次?那后面输入的就不知道前面输入啥了,你不用数组保存?你保存的数组不会被窃取?人家子类化就把你全搞掉了。RSA?SSL?今年爆出来的ssl漏洞是啥?在建立ssl之前就弄个代理搞死如何?监控线程?我都不用线程咋监控?
未免把安全想得太简单了。做这么年内也没发现一个完全安全的方法实现一个软件
#39
关注一下,毕竟软件的安全是很重要的
#40
#41
正解,真正需要做到安全,恐怕需要避开字符密码这类技术或者从硬件入手了!
#42
看起来好厉害的样子...
#43
#44
矛与盾的关系,不能绝对防御,但是可以做一些暗装。猥琐的检测到之后做点什么。
#45
网络上没有绝对安全的东西,只有更安全的!!
#46
果然是好帖,引出一些大牛。没有绝对安全的技术,支付宝还承认有10万分之1的用户,发生过因为安卓客户端安全性问题导致钱被盗了。
#47
强..............
#48
学习下。。。
#49
关注,学习学习
#50
深奥。。应该可以入注的,只有大神才有解决方案
#1
自已的程序hook Openprocess,发现句柄是你自己就返回异常
#2
自已的程序hook Openprocess,发现句柄是你自己就返回异常
大神,能具体说一下么,新手不太明白啊。。。
#3
好问题,坐等大牛解答
#4
#5
自已的程序hook Openprocess,发现句柄是你自己就返回异常
求大神解答
#6
#7
大神都在上班么。。。
#8
在这个论坛的基本都是上班一族吧!应该只有下班空闲时间才能看帖子。
#9
缺少人气啊,,来这里看看。。。
#10
#11
这个动作,会不会直接被杀毒软件给杀了?
自已的程序hook Openprocess,发现句柄是你自己就返回异常
#12
#13
#14
好像可以去看雪论坛潜水一周哦。一周后大概就有答案了。
#15
UP
#16
#17
#18
learning
#19
#20
#21
up
#22
好东西 收藏了
#23
这是黑客的做法啊。
#24
linux下应该也有类似Hook技术吧
#25
得坐牢的,哈哈
#26
这个有意思,Mark一个。
话说,这贴中怎么那么多被删除的回复?
话说,这贴中怎么那么多被删除的回复?
#27
#28
先逛逛学习学习
#29
进程注入没办法防止的。
至于通过注入获取用户帐号和密码,这个是可以防止的
重载密码控件,对密码进行n次md5 然后提交
这样黑客就是通过GetWindowText获取到了窗口内容也无法利用账号进行交易。
毕竟服务器是对密码原码进行n次md5后的内容进行校验的,这n是黑客没办法直接知道的
只能尝试,对于金融系统来说,尝试的次数是有限制的,一般是3次失败就直接锁定帐号。
网络传输可以采用加密,在账号登陆成功之间就建立加密连接,可以100%保证加密的安全,如果采用类似rsa认证,就是公司内部员工出卖协议文档,也没办法进行破解。
最终就是进程代码注入,被注入者是可以自己进行预防的,就是检查自身线程数量或线程句柄,正常情况下自身创建的线程可能是不固定的,但是完全可以采用一个简单的链表进行记录,发现非法线程,进程自身立马自锁并报警(,必要时可以主动自毁,然后发送错误报告),这样就可以保证金融软件客户端的自身安全。
至于什么hook openprocess的做法完全就是搞笑了,为了一个简单的安全功能去开发驱动技术没有必要(,我了解不通过驱动也可以hook系统dll,但是你没办法绕过杀毒软件不是!!!),所以做功能不要舍近求远的追求技术上的突破,毕竟用简单的办法把问题解决才是最有效的办法。
至于通过注入获取用户帐号和密码,这个是可以防止的
重载密码控件,对密码进行n次md5 然后提交
这样黑客就是通过GetWindowText获取到了窗口内容也无法利用账号进行交易。
毕竟服务器是对密码原码进行n次md5后的内容进行校验的,这n是黑客没办法直接知道的
只能尝试,对于金融系统来说,尝试的次数是有限制的,一般是3次失败就直接锁定帐号。
网络传输可以采用加密,在账号登陆成功之间就建立加密连接,可以100%保证加密的安全,如果采用类似rsa认证,就是公司内部员工出卖协议文档,也没办法进行破解。
最终就是进程代码注入,被注入者是可以自己进行预防的,就是检查自身线程数量或线程句柄,正常情况下自身创建的线程可能是不固定的,但是完全可以采用一个简单的链表进行记录,发现非法线程,进程自身立马自锁并报警(,必要时可以主动自毁,然后发送错误报告),这样就可以保证金融软件客户端的自身安全。
至于什么hook openprocess的做法完全就是搞笑了,为了一个简单的安全功能去开发驱动技术没有必要(,我了解不通过驱动也可以hook系统dll,但是你没办法绕过杀毒软件不是!!!),所以做功能不要舍近求远的追求技术上的突破,毕竟用简单的办法把问题解决才是最有效的办法。
#30
有2个方法:
1, 在3环写个钩子, hook 掉 OpenProcess函数, 觉得不保险再hook几个相关函数, 比如CreateRemoteThread(创建远程线程)
2,在0环做内核保护程序, 保护你的进程防止黑客打开
涉及的技术内容不少, 自己百度吧
1, 在3环写个钩子, hook 掉 OpenProcess函数, 觉得不保险再hook几个相关函数, 比如CreateRemoteThread(创建远程线程)
2,在0环做内核保护程序, 保护你的进程防止黑客打开
涉及的技术内容不少, 自己百度吧
#31
坐等大牛解答
#32
只要不是通过你的程序漏洞注入的,那即使用户发生了损失也和你无关.
而通过其他途径注入了,你一个普通应用程序也做不了什么.
或者你是想问怎么开发一个卡巴斯基?
而通过其他途径注入了,你一个普通应用程序也做不了什么.
或者你是想问怎么开发一个卡巴斯基?
#33
只要不是通过你的程序漏洞注入的,那即使用户发生了损失也和你无关.
而通过其他途径注入了,你一个普通应用程序也做不了什么.
或者你是想问怎么开发一个卡巴斯基?
就是普通程序根本不用考虑注入的事呗?用户账号密码很容易就丢失了也跟开发无所谓呗?然后把错误归给用户操作环境不安全?
#34
#35
留着看看
#36
好像很厉害的样子
#37
进程注入没办法防止的。
至于通过注入获取用户帐号和密码,这个是可以防止的
重载密码控件,对密码进行n次md5 然后提交
这样黑客就是通过GetWindowText获取到了窗口内容也无法利用账号进行交易。
毕竟服务器是对密码原码进行n次md5后的内容进行校验的,这n是黑客没办法直接知道的
只能尝试,对于金融系统来说,尝试的次数是有限制的,一般是3次失败就直接锁定帐号。
网络传输可以采用加密,在账号登陆成功之间就建立加密连接,可以100%保证加密的安全,如果采用类似rsa认证,就是公司内部员工出卖协议文档,也没办法进行破解。
最终就是进程代码注入,被注入者是可以自己进行预防的,就是检查自身线程数量或线程句柄,正常情况下自身创建的线程可能是不固定的,但是完全可以采用一个简单的链表进行记录,发现非法线程,进程自身立马自锁并报警(,必要时可以主动自毁,然后发送错误报告),这样就可以保证金融软件客户端的自身安全。
至于什么hook openprocess的做法完全就是搞笑了,为了一个简单的安全功能去开发驱动技术没有必要(,我了解不通过驱动也可以hook系统dll,但是你没办法绕过杀毒软件不是!!!),所以做功能不要舍近求远的追求技术上的突破,毕竟用简单的办法把问题解决才是最有效的办法。
你自己试过没,不要胡乱误导人。
“简单的安全功能”,安全功能很简单?
“密码控件重载”就获取不到密码了?服务器端对密码进行N次MD5是没错,问题是他这个是对最初的明文进行MD5的,你MD5再多次,明文都已经被截取了有什么用?
能在用户态拦截到密码的那都是裸奔程序,安全控件都是驱动级的,与拦截器对抗也是看双方在驱动级调用链上谁处于更底层谁获胜,谁先在驱动级获取到用户输入,谁就可以欺骗上层挂载的驱动
#38
进程注入没办法防止的。
至于通过注入获取用户帐号和密码,这个是可以防止的
重载密码控件,对密码进行n次md5 然后提交
这样黑客就是通过GetWindowText获取到了窗口内容也无法利用账号进行交易。
毕竟服务器是对密码原码进行n次md5后的内容进行校验的,这n是黑客没办法直接知道的
只能尝试,对于金融系统来说,尝试的次数是有限制的,一般是3次失败就直接锁定帐号。
网络传输可以采用加密,在账号登陆成功之间就建立加密连接,可以100%保证加密的安全,如果采用类似rsa认证,就是公司内部员工出卖协议文档,也没办法进行破解。
最终就是进程代码注入,被注入者是可以自己进行预防的,就是检查自身线程数量或线程句柄,正常情况下自身创建的线程可能是不固定的,但是完全可以采用一个简单的链表进行记录,发现非法线程,进程自身立马自锁并报警(,必要时可以主动自毁,然后发送错误报告),这样就可以保证金融软件客户端的自身安全。
至于什么hook openprocess的做法完全就是搞笑了,为了一个简单的安全功能去开发驱动技术没有必要(,我了解不通过驱动也可以hook系统dll,但是你没办法绕过杀毒软件不是!!!),所以做功能不要舍近求远的追求技术上的突破,毕竟用简单的办法把问题解决才是最有效的办法。
哥们,做过G么?你这分析未免有点那个啥,客户端输入一个字符md5一次?还是n次?那后面输入的就不知道前面输入啥了,你不用数组保存?你保存的数组不会被窃取?人家子类化就把你全搞掉了。RSA?SSL?今年爆出来的ssl漏洞是啥?在建立ssl之前就弄个代理搞死如何?监控线程?我都不用线程咋监控?
未免把安全想得太简单了。做这么年内也没发现一个完全安全的方法实现一个软件
#39
关注一下,毕竟软件的安全是很重要的
#40
#41
进程注入没办法防止的。
至于通过注入获取用户帐号和密码,这个是可以防止的
重载密码控件,对密码进行n次md5 然后提交
这样黑客就是通过GetWindowText获取到了窗口内容也无法利用账号进行交易。
毕竟服务器是对密码原码进行n次md5后的内容进行校验的,这n是黑客没办法直接知道的
只能尝试,对于金融系统来说,尝试的次数是有限制的,一般是3次失败就直接锁定帐号。
网络传输可以采用加密,在账号登陆成功之间就建立加密连接,可以100%保证加密的安全,如果采用类似rsa认证,就是公司内部员工出卖协议文档,也没办法进行破解。
最终就是进程代码注入,被注入者是可以自己进行预防的,就是检查自身线程数量或线程句柄,正常情况下自身创建的线程可能是不固定的,但是完全可以采用一个简单的链表进行记录,发现非法线程,进程自身立马自锁并报警(,必要时可以主动自毁,然后发送错误报告),这样就可以保证金融软件客户端的自身安全。
至于什么hook openprocess的做法完全就是搞笑了,为了一个简单的安全功能去开发驱动技术没有必要(,我了解不通过驱动也可以hook系统dll,但是你没办法绕过杀毒软件不是!!!),所以做功能不要舍近求远的追求技术上的突破,毕竟用简单的办法把问题解决才是最有效的办法。
你自己试过没,不要胡乱误导人。
“简单的安全功能”,安全功能很简单?
“密码控件重载”就获取不到密码了?服务器端对密码进行N次MD5是没错,问题是他这个是对最初的明文进行MD5的,你MD5再多次,明文都已经被截取了有什么用?
能在用户态拦截到密码的那都是裸奔程序,安全控件都是驱动级的,与拦截器对抗也是看双方在驱动级调用链上谁处于更底层谁获胜,谁先在驱动级获取到用户输入,谁就可以欺骗上层挂载的驱动
正解,真正需要做到安全,恐怕需要避开字符密码这类技术或者从硬件入手了!
#42
看起来好厉害的样子...
#43
#44
矛与盾的关系,不能绝对防御,但是可以做一些暗装。猥琐的检测到之后做点什么。
#45
网络上没有绝对安全的东西,只有更安全的!!
#46
果然是好帖,引出一些大牛。没有绝对安全的技术,支付宝还承认有10万分之1的用户,发生过因为安卓客户端安全性问题导致钱被盗了。
#47
强..............
#48
学习下。。。
#49
关注,学习学习
#50
深奥。。应该可以入注的,只有大神才有解决方案