自然语言处理(NLP)助力解决社会工程攻击问题

安全 自然语言处理
社会工程是一个非常普遍却鲜有解决方案的威胁类型。现在,两位研究人员正试图通过一种新型工具来降低攻击者的成功率,该工具旨在利用自然语言处理(NLP)来检测问题和命令,并确定它们是否为恶意的。

这一新型工具并非试图基于主题行或URL来检测社会工程攻击,而是通过对文本进行语义分析以确定恶意意图。

社会工程是一个非常普遍却鲜有解决方案的威胁类型。现在,两位研究人员正试图通过一种新型工具来降低攻击者的成功率,该工具旨在利用自然语言处理(NLP)来检测问题和命令,并确定它们是否为恶意的。

自然语言处理(NLP)

这两位研究人员分别是,来自加州大学欧文分校的教授Ian Harris,以及Lootcore公司首席顾问Marcel Carlsson。他们在经过多年的共同研究和讨论后,决定付诸行动打击社会工程攻击。

他们认为,社会工程攻击成功率如此之高的原因在于,它一直是任何信息安全冲突中最薄弱的环节。人类具备善良的天性,面对寻求帮助的人他们通常愿意提供帮助。当然,恶意行为者可以利用或操纵这种善意来让你提供信息,进而实施恶意行为。

目前可以说,除了电子邮件网络钓鱼检测之外,在阻止社会工程攻击的迅速崛起和成功方面几乎没有取得任何进展。对于防御者而言,防御这种类型的攻击变得越来越难;另一方面,攻击者却越来越善于学习目标,发送看似合法的电子邮件,并能够整合外部技术以使其网络钓鱼活动变得更为强大。

许多公司认为,新技术就是解决这一切的答案,并开始盲目地追求如何防止攻击,而不是如何检测和响应攻击行为。目前,许多关于社会工程检测的研究都是依赖于“将与电子邮件相关的元数据分析作为攻击向量”,包括标题信息和嵌入式链接等。

Carlsson和Harris两位研究人员则决定采用不同的方法,专注于消息中的自然语言文本。他们没有尝试基于主题行或URL来检测社会工程攻击,而是构建了一个工具来对文本进行语义分析以确定其是否为恶意的。

此外,Harris的研究还集中于硬件设计和测试上,他正在使用自然语言处理来设计硬件组件,因为他意识到这种方式对于防御社会工程攻击具有一定的作用。经过一段时间的研究和测试后,Harris发现,理解社会工程攻击最好的方法其实是理解句子,理解文本本身。

通过关注文本本身,这种策略可用于检测以非电子邮件攻击媒介为主的社会工程攻击,包括短信应用程序和聊天平台等。借助语音识别工具,它还可用于扫描通过电话或亲自进行的攻击。

[[235716]]

运行原理

想要确保社会工程攻击成功,威胁行为者要么必须提出一个答案非常私密的问题,要么必须命令目标执行一个非法操作。而两位研究人员的方法就是能够检测电子邮件中的问题或命令。它会对请求私密数据的问题,和/或请求执行安全操作的私人命令进行标注。

在将问题归类为“私密”( private)的过程中,他们的工具不需要知道问题的答案,而是可以通过语句中使用的主要动词和宾语来对其整体含义进行评估。例如,“发送金钱”的命令就可以总结为动词+对象(宾语)——“发送+金钱”的形式。

将电子邮件中检测到的“动词+宾语”组合,与已知的用于描述禁止动作的“动宾”黑名单进行比较,就可以得出命令是否为恶意的。Harris和Carlsson还随机选择了一些网络钓鱼电子邮件,进行识别训练,同时,他们还考虑到了每个单词的同义词,以最大限度避免出现误归类的情况。

在解释为什么“动宾”组合对需要通过网络钓鱼电子邮件中获取黑名单时,研究人员表示,开展此类工作的部分困难就是获取示例攻击。为了确保检测精准度,研究人员已经使用了超过187,000个网络钓鱼和非网络钓鱼电子邮件来测试他们的方法。

展望未来,该团队计划将他们的桌面工具扩展到电子邮件和聊天客户端,以扫描社会工程攻击。他们还希望能够扩大自己的技术,以完善对高度个性化攻击的检测。

网络钓鱼电子邮件通常是采用“广撒网”的方式,其文本内容对每个人都是通用的,不具备针对性和个人化特征。而真正个性化且危害更深的攻击,可能是某人正在通过电话来交谈关于你的事情,电话那头的威胁行为者可以根据具体谈话内容调整自己的对话内容。这种攻击显然更难以检测和识别。

据悉,这两位研究人员将在2018黑帽大会(Black Hat 2018)上演示他们用于检测社会工程攻击的方法,并发布该工具,以便与会者可以对该工具进行测试。

【本文是51CTO专栏作者“”李少鹏“”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】

戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2021-05-17 09:00:00

自然语言人工智能技术

2021-05-18 07:15:37

Python

2024-04-24 11:38:46

语言模型NLP人工智能

2023-08-04 10:18:15

2020-11-12 18:57:14

摘要PythonNLP

2021-06-01 12:46:26

人工智能机器人 机器学习

2022-03-29 09:58:15

自然语言处理人工智能技术

2021-05-13 07:17:13

Snownlp自然语言处理库

2021-02-22 11:38:59

深度学习人工智能机器学习

2017-06-29 13:02:54

大数据自然语言NLP

2020-04-16 10:32:38

自然语言人工智能AI

2024-12-06 12:19:43

自然语言NLP人工智能

2017-11-14 19:19:07

人工智能自然语言处理百度

2020-04-24 10:53:08

自然语言处理NLP是人工智能

2024-02-05 14:18:07

自然语言处理

2018-10-19 08:48:22

自然语言NLP开源工具

2017-08-23 09:36:21

2017-10-19 17:05:58

深度学习自然语言

2018-05-29 18:28:08

自然语言开源开发

2023-12-05 15:09:57

PythonNLP
点赞
收藏

51CTO技术栈公众号