查看原文
其他

社会工程之信息收集

计算机与网络安全 计算机与网络安全 2022-06-01

一次性进群,长期免费索取教程,没有付费教程。

教程列表见微信公众号底部菜单

进微信群回复公众号:微信群;QQ群:16004488


微信公众号:计算机与网络安全

ID:Computer-network

怎样收集信息?


社会工程人员收集信息可以利用的资源有哪些?


如何利用收集到的信息进一步描述目标?


如何对这些信息进行定位、存储及分类,才能够使之最易于使用?


为了完成适当而有效的信息收集工作,这些只是需要解决的问题中的一小部分。在多如牛毛的社交网站上,人们可以轻易地与其所选的人分享自己生活的方方面面,这使潜在的破坏性信息比以往任何时候都多。本文通过社会工程实例讲解信息收集的原则和应用,以及人们发布在网上的信息对于其个人和企业安全有何破坏性的影响。


一、收集信息


收集信息就如同盖房子一般。如果想从房顶盖起,肯定是必败无疑。一栋坚固的房子必定是在打下坚实的地基后,从地面往上盖的。收集信息时不要总想着怎么组织和运用这些数据,创建一个文件或信息收集服务来收集信息才是当务之急。


事实上,有很多工具可以帮助我们收集和运用这些数据。在渗透测试和社会工程审计中,我使用Linux BackTrack发行版,BackTrack是专为这一目的而设计的。BackTrack和大部分Linux发行版一样,是免费、开源的,也许它最大的优点便是集成了300多款安全审计工具。


BackTrack中的工具也是开源和免费的。特别吸引人的一点在于这些工具的质量都很高,其中很多都能与同类商业软件媲美,甚至是有所超越。这其中就有两个特别适用于信息收集和存储的工具,一个是Dradis,另一个为BasKet。接下来将分别简要介绍这两款工具。


(一)使用BasKet


BasKet从功能上看有点像记事本,但是比记事本要强大得多。这款软件现你可以到http://basket.kde.org/网站上免费下载。该网站有详细的介绍,教你如何安装。这款软件易于使用,界面也并不复杂。


如下图所示,界面很简单,很容易上手。在屏幕左侧单击鼠标右键,选择“New BasKet”,会添加一个新的“BasKet”,用以保存数据。


信息收集阶段,使用BasKet轻松组织收集到的数据

BasKet新建好以后,便可以往里面复制/粘贴数据,添加屏幕截图,甚至可以添加OpenOffice办公软件或者其他类型的图表数据。


添加屏幕截图的方式有好几种,最简便的方法是复制图片,在新“BasKet”中单击鼠标右键,选择“粘贴”。如上图所示,添加图片的操作简单、快捷,同时可以通过输入、粘贴等各种方式为图片添加文字备注。


在通常的安全审计中,BasKet组织和展示数据的方式是它的优势之一。我通常为不同类型的数据建立不同的BasKet,例如域名查询信息、社交媒体信息等。然后,使用谷歌地图或谷歌地球获取目标客户的建筑和设施图片,保存到BasKet中。信息收集完成后,快速提取和使用这些信息也很简单。下图展示了一个接近完工的BasKet,其中有很多有用的信息和标签。


如下图所示,使用BasKet来存储和组织信息很简单。我尽可能多地往里面存放信息,因为再小的信息也可能是有用的。我收集的信息包括目标客户的网站内容、域名查询信息、社交网络、图片、员工联系方式、简历、论坛、爱好等一切可能与目标公司相关的信息。


包括很多有价值信息的几近完整的BasKet截图

信息收集完成之后,直接单击“BasKet”菜单,然后单击“Export”,将整个BasKet导出为HTML网页文件。这对生成报告和共享信息非常有用。


对于一名社会工程人员来说,接下来要详细讨论的数据收集是每次行动的核心。然而,如果信息不能得到及时的重现和运用,将会毫无价值。BasKet及其类似工具使得信息收集和使用工作更加简单。一旦你尝试使用,便会爱不释手。


(二)使用Dradis


尽管BasKet是款非常好用的工具,但是如果要收集的信息很多,或者需要一组人共同完成信息收集、存储和调用操作,那么就需要一款能够供多用户共享数据的工具——Dradis。根据Dradis工具开发者的描述,Dradis是可以提供信息中央存储的独立Web应用,可以统一管理需要收集的信息。


和BasKet一样,Dradis也是一款免费的开源工具,你可以在http://dradisframework.org/网站上免费下载。Dradis可以安装于Linux、Windows和Mac等不同操作系统,http://dradisframework.org/install.html网页上有详细的安装和配置说明。


Dradis安装并设置好以后,就可以浏览你分配的本地主机和端口,或者使用标准端口号3004。只要打开浏览器,在地址栏中输入http://localhost:3004/即可登录使用。


登录进去以后的欢迎界面如下图所示。注意左上角的添加分支(Add Branch)按钮,添加分支以后就可以像BasKet一样添加信息,如备注、图片等,甚至可以导入笔记数据。


Dradis简洁而易用的界面

Dradis和BasKet只是用来收集和存储数据的两款小工具,二者的网站上都有很好的设置说明和使用介绍。


不论操作系统是Mac、Windows还是Linux,你都能找到相对应的工具。重要的是工具用起来顺手,并能处理大规模数据。


基于上面提到的因素,我建议社会工程人员放弃使用Windows或Mac操作系统自带的记事本和文本编辑器。它们无法满足你对于数据格式和相关区域高亮显示的需求。上图显示的是我使用的Dradis服务器端,有一部分我专门用来保存电话交谈记录。这个功能很好用,可以记录我根据所收集的信息产生的想法。


这些工具表明了社会工程人员是怎样利用收集到的信息的。利用信息的第一步便是要像社会工程人员一样思考。


(三)像社会工程人员一样思考


拥有几百兆的图片和数据固然很好,但是当你回过头来浏览这些信息时,如何能够保证最大限度地挑出有用的信息呢?


当然,你可以打开浏览器,随机输入冗长的词语进行关键词搜索,这样做可以找到某种形式的信息,其中一些甚至是有用的。然而,在肚子很饿的情况下,你才不会跑到厨房,不管三七二十一地往锅里随便扔食材,然后就开始翻炒呢。计划、准备并考虑各种会影响菜肴好坏的因素才可能烹饪出佳肴。同理,社会工程人员也要做好计划和安排,想好将要收集的信息和收集的方式才可能成功。


信息收集的关键一步是要转换自己的思维方式。在信息大爆炸的世界,我们必须改变平常的思维方式,学会质疑一切,看到信息时就按照社会工程人员的思维方式来思考。利用网络等方式进行搜索的方式要改变,对于网页上返回的信息,也要学会从社会工程的角度去思考、审视。无意中听到的谈话、论坛上看似无聊的帖子,抑或是一袋垃圾,都应该以不同的方式来对待。每当发现目标人物使用多个社交网站时,便将它们之间的联系和信息数据收集起来综合分析,争取得到完整的目标人员档案。


举个例子来说,有一次我要去一个地方办事,便租了一辆车。我和同事将行李统统装到了后备箱。我们刚要上车,就发现后座上有一小袋垃圾。同事说:“如今的服务真差,我们付钱租车,他们至少应该将车子打扫干净吧。”


诚然,大家都希望车子里是干干净净的,同伴想把它扔到旁边的垃圾桶里,我阻止了他,说道:“让我看看那个袋子。”我打开袋子,拨开里面的快餐纸袋以后,映入眼帘的物品让我大吃一惊——里面是半张撕碎的支票。我赶紧倒空袋子,从里面找到一张银行收据还有另外半张支票。这是一张面值几千美元的支票,虽然被撕开了,但撕得不是很碎,仅撕成了四大块,然后被扔到装有快餐纸袋的垃圾袋中。将这几片拼接到一起,可以看到这张支票的所有者的姓名、公司名称、地址、电话号码、银行账号及银行流水单号。再加上这张银行收据,我可以清楚地知道他的存款数字。他应该感到庆幸,我不是心存歹念的人,要不然只要再多几步,我就可以从他的账号中窃取存款。


这个故事向我们展示了人们是如何看待自己的重要信息的。这个家伙在我之前租了这辆车,他可能以为将支票撕碎扔掉就安全了,或者说至少当时他是这样认为的。


二、信息源


信息存在多种不同的来源。虽然下面的内容不能覆盖每一种来源,但是也列出了收集信息的主要途径。


(一)从网站上收集信息


公司或者个人网站是信息的重要来源。优秀社会工程人员的第一步就是尽可能多地从公司或者个人网站上收集信息。在这些网站上花费一些时间是值得的,可以帮助你清晰地了解对象的基本情况:


  • 他们做什么

  • 他们提供的产品和服务

  • 地理位置

  • 招聘信息

  • 联系电话

  • 执行官和董事会成员的简介

  • 支持论坛

  • 电子邮件命名规则

  • 可能用于密码分析的特殊字符或短语


看别人的个人网站是件非常有意思的事情,因为上面的内容涉及他们生活的方方面面:孩子、房子、工作等。这些信息应该分类存储,因为它们常会用于日后的攻击。


同一个企业的员工往往会登录相同的论坛,有着类似的兴趣,甚至会上相同的几个社交网站。如果你在网上找到一名员工的信息,很有可能他的好几个同事也在其中。收集这些数据,可以更加清楚地分析这家公司以及它的员工。很多员工会在社交网站上用标签的形式展示自己的职位,这可以令社会工程人员勾勒出公司某个部门的规模以及组织架构。


1、搜索引擎


谷歌中记录了很多你认为已经删除的数据,就如同大型数据库一般。只要设定好查询方式,就能得到你想要的信息。


有人总结出了一系列用来查询公司信息的语法。例如,在谷歌搜索框中输入site: microsoft.com filetype:pdf,就能得到microsoft.com网站上的所有PDF文档列表。


熟知搜索语法可以帮助你找到和目标相关的信息,这对信息收集来说很重要。我习惯于使用语法(类似于filetype:pdf)来检索PDF、DOC、XLS和TXT文件。当然,员工留在服务器上的DAT和CFG文件以及其他数据库和配置文件等也是值得收集的信息。


www.googleguide.com/advanced_operators.html上列出了各种操作符以及详细使用方法。懂得谷歌提供的各种操作符可以帮助你创造出属于自己的搜索语法。然后利用谷歌来查找数据就变得轻松了。


2、Whois域名信息查询


Whois能提供域名数据库查询服务。Whois数据库中有很多有价值的信息,有些时候甚至包括网站管理员的完整联系方式。


使用Linux命令行工具或者登录www.whois.net这样的网站,都可以查询到域名的注册信息,包括联系人、电子邮件地址、电话号码,甚至DNS服务器的IP地址。


域名注册信息可以很好地帮助你了解目标公司,特别是他们的服务器。这些都可以用于信息的进一步收集,或者发动攻击。


3、公共服务器


企业对外的公共服务器往往会提供网站所没有的很多信息,比如服务器的操作系统、安装的应用程序和IP地址,这些信息可以大致反映企业的信息服务架构。了解平台和应用信息之后,便可以和域名信息组合在一起,在公开技术论坛上进一步搜索相关的配置信息。


IP地址可以说明服务器是在本地还是从服务器提供商处租赁的;通过域名解析记录可以看出服务器的名称、功能,以及IP地址分布。


在一次审计的过程中,通过使用Matelgo搜索网页,我找到了一个对外的网站服务器,上面有几百份文档,其中包含项目数据、客户和文档作者信息。这些信息的泄露,对于公司来说是致命的。


值得一提的是,端口扫描(使用诸如NMAP或者其他端口扫描工具去定位公共服务器的开放端口、软件版本和操作系统类型等)在有些地区是违法的。


2003年6月,以色列人艾维·米兹拉希(Avi Mizrahi)因涉嫌未授权访问计算机系统被当地警方提起公诉。当时,他只是对摩萨德网站(Mossad)进行了端口扫描。8个月后,艾维被无罪释放。法官的意见是非恶意的端口扫描不应被禁止(www.law.co.il/media/computer-law/mizrachi_en.pdf)。


1999年12月,斯考特·莫尔顿(Scott Moulton)被联邦调查局以违背佐治亚州《计算机系统防护法》和美国《计算机欺诈与滥用法》为由实施逮捕。当时,他所在的IT服务公司与佐治亚州的切罗基县有着长期的合作关系,一直为911安全中心提供维护和升级的服务(www.securityfocus.com/news/126)。


作为工作的一部分,有人对服务器进行例行端口扫描时,扫描到另外一台属于另一家IT公司的网站服务器。这件事情直接导致其被起诉,到了2000年,法官以未对互联网完整性和可用性造成破坏为由,撤销了对他的诉讼。


2007年到2008年间,英国、法国和德国都通过了相关的法律,认为创建、发布和拥有能够导致他人入侵计算机的工具都是违法行为,端口扫描工具也在其中。


当然,如果是收费的信息安全审计,这些都应在合同中描述清楚。对社会工程人员来说,应该熟知当地法律,避免做出违法行为,这非常重要。


4、社交媒体


很多公司最近开始热衷于在社交网站上做推广和营销。社交网站的营销成本低廉,又有大量的潜在消费群体。这里提供了来自于企业的另外一股信息流:活动安排、新产品发布、新闻报道以及一些能与当前热点事件挂上钩的文章,等等。


社交网络正在逐步显示它们的作用。每当一个站点成名,便会涌现一系列采用类似技术的站点。人们的生活和行踪被晒在了网上。我们将深入讨论这一话题,你将发现社交网络作为信息源的神奇之处。


5、个人网站 / 博客等


像博客、维基、网络视频等个人网站不仅会提供目标公司的信息,还会透漏这些信息上传者的个人观点和信息。在博客上对企业满腹牢骚的员工会和那些持有类似观点的人相聊甚欢。不管以什么样的方式,人们总会在网上张贴大量的数据信息,任何人都可以阅读。


举个例子。有一个网站——www.icanstalku.com。不同于它的域名,这个网站并不是鼓励人们去跟踪别人,它跟踪的是那些毫无防范意识的用户。它遍历网站,寻找那些蠢到用自己的智能手机拍摄照片并上传的家伙。很多人都没意识到智能手机拍摄的照片会隐藏GPS信息。你上传这些照片的同时,也泄露了自己的拍摄位置信息。


位置信息的泄露是社交网站令人不放心的因素之一。在上传照片的同时,你的位置信息可能在你毫不知情的情况下被泄露了。


不同种类的信息可以帮助你全面地了解目标。人们喜欢在网上分享自己的地理位置、和谁在一起以及正在做的事情等。很多APP]能绑定人们的银行账号,然后向好友推送你的每笔消费信息,包括从哪里购买、花费多少等。含有地理位置信息的照片,以及用来分享个人照片、故事和其他相关信息的社交网站,是社会工程人员特别喜欢的信息源。只需片刻功夫,目标人物的住址、工作、照片、兴趣等信息就呈现在眼前了。


社交网站成为最佳信息源的另一个原因是可以匿名伪装。如果目标人物是一个刚离婚的中年男子,平时热衷于更新个人信息,那么你就可以假扮成一名希望结交新朋友的年轻女士。很多时候,人们在被拍马屁时,会泄露很多重要信息。结合伪装的技术,再加上人们通常认为自己见到、读到的就是真实信息这一安全漏洞,你便很容易得手。


6、公开报告


公开数据可能来自目标企业内部或者外部,包括季度报告、政府报告、分析报告及公开交易公司的收入信息等。


还有一些类似的有偿查询网站都提供查询服务,价格从每次1美元到49美元包月不等。通过搜索引擎,可以免费查到很多有用的数据,但一些财务明细数据和个人信息就得通过这种合法的付费形式有偿获得。最令人震惊的是,有些公司甚至会向客户提供个人的社会保险号(Social Security Number)。


(二)运用观察的力量


虽然观察并不能称为社会工程工具,但是简单的观察却能给你带来关于目标的不少信息。目标企业员工使用钥匙、门禁卡(射频识别卡)还是其他方式进入办公大楼?有没有指定的吸烟区?垃圾桶有没有上锁?办公大楼有外置摄像头吗?供电系统或空调机组等外围设备的维修公司是哪家?这些信息都可以给社会工程人员的入侵提供可能。


上面仅仅是通过观察可以得出答案的几个问题而已。花上一段时间观察目标,并用隐藏式摄像机录制下来,然后回去慢慢研究和分析,你会学到很多知识并且你的信息量也会暴增。


(三)垃圾堆里找信息


难以相信在垃圾堆里能找出让我们获利丰厚的信息,就像难以想象我们为什么要去乐呵呵地翻垃圾一样。人们经常会扔掉发票、通知、信件、光盘、电脑、U盘以及其他种类繁多的设备和报告,我们可以从中收集到特别多的信息。正如前面提到的,如果人们连价值数百万的艺术品都会扔掉,那么只要认为某物是垃圾,人们都会不假思索地直接扔掉。


有时,公司认为直接将重要文件扔掉会不安全,于是便用碎纸机碎掉再扔,然而一些碎纸颗粒度不高的碎纸机粉碎过的文件还是能轻易拼回去的。如下图所示。


粗线条单向粉碎过的文件依然有些文字可读

这张图展示的是粉碎后的一些文件,有些字还是可以被整体辨认的。这种情况下,只要肯花时间耐心地用胶带黏一下(如下图所示),便能将部分文件拼接回去,从而得到破坏性极强的信息。


只要肯花时间且有耐心,文档是能拼接回去的

不过,使用双向粉碎机进行销毁,就会粉碎得相当细,几乎不可能再拼接起来,如下图所示。


很难想象粉碎前它是纸币

很多公司付费将已经粉碎了的文件交给专业公司焚烧。也有一些公司直接将粉碎完毕的文件丢给第三方处理,之后就不管不问了。你大概也能猜到,这样会令入侵者有机可乘。社会工程人员只要找到提供该服务的厂商,就可以轻而易举地冒充成过去收“垃圾”(粉碎过的文件)的工作人员。无论如何,翻找垃圾箱是一种快速收集所需信息的方法。不过,翻垃圾箱时一定要记住以下几点。


穿质量好的鞋子或靴子。没有比跳进垃圾堆,然后被钉子戳到脚更令人抓狂的事了。确保你的鞋子合脚且鞋带系紧了,并能保护脚不为利器所伤。


穿深颜色的衣服。这点不需要过多的解释。你肯定会穿那些丢掉也不会心疼的衣服,而且深色的衣服不容易被发现。


带一个手电筒。


拿到了赶紧溜。除非你是在偏僻到不可能被抓到的地方,否则最好是拿走一些垃圾袋,到其他地方去翻找。


翻找垃圾桶几乎总能找到一些非常有用的信息。只是有的时候,社会工程人员不需要去翻垃圾桶就能得到这些信息。加拿大反恐部队计划建造一栋新的办公大楼,然而这栋大楼的一些规划蓝图被当做垃圾扔掉了,甚至都没有经过粉碎。蓝图中包括监控摄像头的安装位置、围栏及其他绝密信息。还好,发现这一图纸的人没有恶意,否则后果不堪设想。


这些故事只是用来展示很多“愚蠢至极”行为中的一种,但是从社会工程人员的角度来看,翻垃圾桶确实是最好的一种信息收集方式。


(四)运用分析软件


Common User Passwords Profiler(“常用用户密码探查器”,缩写为CUPP)和Who’s Your Daddy (“谁是你爸爸”,缩写为WYD)是两款常用的密码分析工具,社会工程人员可利用它们分析出企业或个人可能使用的密码。


WYD这样的工具可以将个人或者公司网站上的信息收集起来,根据网站上涉及的词语来创建可能的密码列表。人们通常会使用文字、姓名或者日期作为密码。这种类型的软件能够轻而易举地生成密码列表。


像Paterva制作的Maltego工具,简直就是信息收集者梦寐以求的。这款工具本身就可以帮助社会工程人员完成基于网页的被动信息收集和查询工作,不需要借用其他任何平台或工具。


之后,Maltego可以存储这些数据并在屏幕上用图形化的方式展现,以用于报告、导出或其他用途。这些对于分析公司的信息相当有用。


记住,收集数据的目的是了解目标企业及其员工。一旦社会工程人员收集到足够多的数据,如何最充分地利用这些数据信息来操纵目标便会了然于胸。应该将目标公司作为一个整体来分析,了解里面的员工大致参加哪些俱乐部、他们的兴趣爱好或者加入的社团名称。他们会不会向特定的慈善机构捐款?或者他们的孩子都就读于同一所学校吗?这些信息对于深入分析都很有帮助。


清晰明了的分析不仅可以帮助社会工程人员很好地伪装,而且还可以让他们知晓要询问哪些问题,什么时候适合打电话及哪天适合当面交流等,还有会令攻击变得更加容易的很多其他线索。


逻辑上,无论使用何种方法收集信息,首先浮现在你脑海中的问题可能都是:既然知道收集信息的地点、方式以及分类、存储并显示此信息的方法,那么如何使用搜集到的信息呢?


作为一名社会工程人员,信息收集完成后,必须开始规划如何攻击。为此,首先要建立模型,列出信息使用攻略。交流模型的建立便是最佳的开始方式之一。


三、交流模型


交流是将信息从一个实体传送到另一个实体的过程。交流需要至少二者间的互动,可以视为一个双向的过程,这里发生着信息的交换、思维的碰撞、情感的互动,或者想法上的共识。


这个概念和社会工程的定义非常相似,只是这里假定参与交流的人已经有了一个共识,而达成共识是社会工程人员和他人交流的目的。交流可以理解为这样一个过程:信息经过打包,由发送者通过传输媒介送达接收者,接收者解密收到的信息并给发送者送去反馈。所有的交流形式都需要有三个条件:发送者、信息和接收者。社会工程人员理解交流的原理对于构建合适的交流模型异常重要。对于社会工程人员,建立交流模型将帮助确定最好的传送和反馈方法,以及最合适的传输内容。


交流可以采用多种不同的形式。有听觉方式,比如演讲、歌曲和说话的音调,还有非口头方式,比如肢体语言、手语、辅助语言、触摸和眼神交流。


不论使用何种交流方式,对于接收者来说,信息的内容及其传达方式都会有确切的效果。


理解最基本的规则对于为“目标”建立交流模型很重要。一些规则不可以被打破,比如交流总是有一个发送者和一个接收者。同时,每个人的实际情况都会因经验和观念的不同而有所不同。


基于个人的现实情况,人们对事情的感知、体验和阐释总是会有所差异。正因为这样,人们对同一事件的看法会不尽相同。如果你有兄弟姐妹,一个简单的练习就可以证明这一点。问他们对于一件事情,尤其是一个情感事件的解释或记忆,你会发现他们对这件事情的阐释和你的记忆是完全不同的。


每一个人都有身体和精神的私密空间。很多因素会影响你决定是否要允许他人靠近或进入这个空间。无论在何种场合,你和别人交流时,都是在尝试闯入他们的私密空间。社会工程人员的交流是尝试将他人带入其空间,从而了解他人的状况。有效的沟通是试图把所有的参与者带入彼此的精神空间。只要有互动,就会发生这种带入,只是这太普通了,一般人通常不会注意到这点。


人际交流会传送两个层次的信息:语言的和非语言的。


交流经常包括一个文字或语言部分,不管它是以口头、书面还是其他文字形式呈现。通常也会有一个非语言的部分——面部表情、肢体语言,或者情感、字体等一些非语言信息。


暂且不论每一种类型的暗示(语言或非语言)的数量,交流的信息包被传送给接收者,然后接收者根据其自身的情况进行过滤。他将根据其实际情况形成一个概念,然后根据这个概念来解释这个信息包。当接收者解释信息时,便开始整理它的意思,即使那个意思并不是发送者的本意。发送者只能通过接收者给的反馈信息包,确定对方是接受还是拒绝了这个原始信息包,从而得知其信息包是否以既定的方式被接收。


这里所说的信息包是指某种沟通方式,包括言语、信件或发送的电子邮件等。接收者收到信息时,就会去阐释它。许多因素会影响最终被阐释出来的结果,如情绪的好坏、喜怒哀乐等。所有这些因素和改变接收者认知的其他暗示都将有助于他阐释该信息。


社会工程人员的目的是利用这些语言和非语言的暗示,改变目标的感知,从而达到想要的效果。


下面包含更多的基本交流规则:


  • 不要理所当然地认为接收者和你的情况完全一样;

  • 不要理所当然地认为接收者将按照你的方式阐释信息;

  • 交流不是一个绝对的、一成不变的事情;

  • 如果有多人参与交流,应始终假设每个人的情况各不相同。


知道这些规则可以极大地提高你和他人交流的效率。这很好,但是交流和建立模型有什么关系?或者说,这又和社会工程有何关系呢?


(一)交流模型及其根源


正如前面所说,交流的基本含义是发送一个信息包给既定接收者。这些信息也许来自多个信息源,比如视觉、听觉、触觉、味觉和语言。这个信息包随后被接收方处理,用于描绘出对方“所说的意思”。这种评估方法就是所谓的通信过程。通信过程最早是在1947年由社会科学家克劳德·香农(Claude Shannon)和沃伦·韦弗(Warren Weaver)提出的。当时他们发明了香农-韦弗(Shannon-Weaver)模型,也被称为“鼻祖模型”。


根据维基百科的定义,香农-韦弗模型“包含了信息源、信息、发送器、信号、信道、噪声、接收器、信息目的地、误差概率、编码、解码、信息率和信道容量等概念”。


香农和韦弗用图像定义这种模型,如下图所示。

香农-韦弗的“鼻祖模型”

在这样一个简单的模型(也被称为传递模型)中,信息或内容从发送者那里以某种形式发送到目的地或接收者那里。通信这一基本概念只是将通信视为发送和接收信息的一种方式。该模型的优势在于简单、通用和可量化。


香农和韦弗构建这个模型的基础如下。


  • 一个创造信息的信息源

  • 一个把信息编码为信号的发送方

  • 一个适合传送信号的信道

  • 一个从信号中解码(重构)出信息的接收方

  • 一个信息发送的目的地


通过这一理论,他们总结出通信中存在的3个层面的问题。


  • 技术问题——信息传送的准确性如何?

  • 语义问题——信息表达的精确性如何?

  • 效率问题——接收到的信息对行为影响的有效性如何?(社会工程过程中这最

  • 后一点很重要,必须牢记。社会工程人员的目的就是创造出一个自己想要的行为。)


差不多15年以后,大卫·贝罗(David Berlo)扩充了香农-韦弗的线性通信模型,发明出发送者-信息-信道-接收者(SMCR)通信模型。SMCR将模型分解成几个清晰的部分,如下图所示。


贝罗模型

可以认为通信是信息传播的过程,该过程由3个层次的规则控制。


  • 符号和标识的形式属性

  • 符号/表情及其使用者之间的关系

  • 符号和标识间的联系及其含义


因此,可以进一步地将通信定义为社交,即至少两个对象使用一系列共同的符号和规则进行互动。


2008年,另一位研究员D. C. 巴尔芒(D. C. Balmund)将自己的研究与行业先驱的成果结合起来,形成了通信的事务模型,如下图所示。


改进的新通信模型

在他的模型中,可以看到信道和信息可以有多种形式,不仅是图片中所示的口头语言。信息可以有书面、视频或音频等形式,接收者可以是一人或多人,反馈也可以有多种形式。


将这些成果结合起来进行研究有助于社会工程人员制定出一个稳健的通信/交流模型。不仅是社会工程人员,每个人都可以从中获益。学习如何制订交流计划可以加强你和他人(例如配偶、孩子、上司或下属)之间的交流。


社会工程人员必须是交流的大师,必须能够有效地进入且留在一个人私密的精神空间,并保证不冒犯目标或令目标反感。制定、实现和实践有效的交流模型是成功的关键。那么,接下来我们就学着制定这样一个交流模型。


(二)制定交流模型


既然已知晓交流模型的关键要素,请以社会工程人员的视角来看待这些要素。

  • 信息源:社会工程人员就是要传递的信息或交流的源。

  • 信道:就是传达方式。

  • 信息:向接收者传达的内容。

  • 接收方:即目标。

  • 反馈:当有效地将信息传达出去之后,你希望对方给予的回应。

如何有效地使用这些要素呢?运用交流模型的第一步是带着目的动手实践,首先从社会工程中上演的经典剧情开始。


编写一个网络钓鱼邮件,尝试让25~50个雇员在工作时间访问一个嵌有恶意代码的非商业网站,以达到入侵其公司网络的目的。


登门拜访,伪装成一个前来面试的人员,装作不小心将咖啡洒在了简历上,并说服前台工作人员允许你用USB存储器插入到电脑里重新打印一份。


在制定交流策略时,你可能会发现反向使用模型大有裨益。


反馈:你期望得到什么样的回应?期望的回应是,接收邮件的大部分雇员都点击它,这是理想状况。当然,只有少数甚至一个目标人物点击你也会感到高兴,但是你的目的,即期望的反馈是让大部分目标人物上当。


接收方:这就是信息收集技巧派上用场的地方。你需要知道目标人物的全部信息。他们喜欢运动吗?他们中大多数是男性还是女性?他们是当地俱乐部的会员吗?休息的时候他们做些什么呢?他们成家了吗?他们是否年轻?这些问题的答案有助于社会工程人员决定传达什么类型的信息。


信息:如果目标人物主要是25~40岁的男性,并且有几个人是足球或篮球联赛的球迷,那么目标人物就可能会点击运动、女人或者是赛事相关的链接。制定邮件的内容是很重要的,但也要仔细考虑语法、拼写及标点符号等。根据以往的经验,拼写不规范是网络钓鱼邮件露馅的主要原因之一。


如果收到的邮件内容是“点击这里,输入你的密码来验证尔的账户设定”,那么内容不正规就是其致命的问题。邮件必须拼写规范并且能够吸引目标人物的注意。即使目的相同,根据目标人物的性别、年龄或其他因素的不同,内容也应有所变化。如果目标主要是女性,发送同样的邮件就很可能会失败。


信道:这个因素的答案很简单,因为你已经知道是用邮件作为传输方式。


信息源:同样,这个因素你也无需费神,因为作为一名社会工程人员,你就是信息源。你的可信度取决于你作为一名社会工程人员的技术水平。


四、交流模型的力量


交流模型是一种很强大的工具,每个社会工程人员都必须掌握。交流模型中最困难的部分是确保收集到的信息是可靠的。


计划和模型准备不充分都将会导致失败。练习交流模型的一个好办法是写下一个操纵熟人(丈夫、妻子、父母、孩子、老板或者朋友)的模型,让他们按照你的想法和希望来行动。


设定目标,但不要怀有恶意,例如,使某人同意改变度假地点,或者说服同伴去你喜欢而他讨厌的餐馆吃饭,或是允许你买一件你通常不会去买的东西。不管你的目标是什么,将5个交流要素写出来,看看在具有书面计划的时候,交流的情形如何。你会发现在目标清晰的情况下,能更好地检验社会工程的交流方法,也更容易实现目标。依次列出如下的5点要素,并逐个填写好,然后在实施过程中将其关联起来。


  • 信息源

  • 信息

  • 信道

  • 接收方

  • 反馈


交流模型能引出许多非常有价值的信息,没有它,社会工程人员的大多数行动都会失败。就像前面提到的,信息收集是社会工程的关键,但是如果只精通收集信息,却不知如何运用信息,那么终不过是白忙一场。


学习成为一名信息收集大师,然后与交流模型相结合予以实践。这只是个开始,但是它能改变你作为社会工程人员及在日常生活中与他人交流的方式。不过,要构建交流模型中的可靠信息,还有更多知识等待我们去挖掘。

微信公众号:计算机与网络安全

ID:Computer-network

【推荐书籍】

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存