解释Notepad ++的DLL劫持是如何工作的

Esp*_*osa 2 security dll notepad++

Notepad ++承认这个DLL劫持漏洞:https: //wikileaks.org/ciav7p1/cms/page_26968090.html 我没有从描述中得到它是如何工作的.作为Notepad ++用户,我很担心,作为开发人员,我自己也很好奇.

这里有一个通用的DLL劫持解释 - 什么是dll劫持?.有点太笼统了.

这是否意味着为了有效利用此漏洞,攻击者必须首先控制我的PC,使用不同的攻击向量,将恶意版本SciLexer.dll(?)植入DLL搜索路径?

如果攻击者已经对我的PC有这样的权力,为什么他会打扰Notepad ++.为什么不去追求更多核心库甚至系统库?

我也没有在WikiLeak文本中得到这句话的含义:对于我的生活,我无法调用此函数[Scintilla_DirectFunction(..)].如果这是该DLL中唯一导出的函数,那么唯一一个由Notepad核心调用的函数,那怎么会被调用呢?这也意味着也不会调用恶意代码.

是否被SciLexer.dll实际检测到,被CIA或其他任何人攻击,或者只是被发现的可能性?

另外Notepad ++团队在最新版本7.3.3中,在发行说明中声称他们"修复了CIA Hacking Notepad ++问题".有什么想法他们能做到吗?

Rob*_*ert 5

DLL劫持攻击很简单:考虑包含许多文件的下载目录.

如果有人设法让你下载被操纵的SciLexer.dlldll,它很可能会被下载到你的下载目录中.下载后您不对文件执行任何操作,文件只保留在已下载的位置.

稍后你从网上的某个地方下载一个txt文件,这个文件也放在下载目录中.

如果现在打开资源管理器并双击下载的txt文件,则当前目录是下载目录.然后,dll劫持易受攻击的Notepad ++版本将搜索SciLexer.dll要加载到当前目录(现在是下载目录)的文件.因此,Notepad ++将加载SciLexer.dll您之前下载的操作.

关于修复,您可以查看修复该错误源代码更改.似乎Nodepad ++团队改变了这个dll的加载方式,另外他们还添加了一个证书检查SciLexer.dll.

  • 除了SciLexer.dll位于Notepad ++目录的同一目录之外,这是LoadLibrary的第一优先级,因此劫持并不是那么容易. (3认同)