开源情报之美国关键基础设施全方位调研
2019-10-29 09:00:17 Author: www.freebuf.com(查看原文) 阅读量:139 收藏

前言

本文是国外的一篇关于美国关键基础设施的开源情报研究的介绍,原文在这里可访问。我们也在知识星球(开源网络空间情报)上第一时间分享了这篇帖子。该文主要介绍了如何将开源情报应用于关键基础设施的侦察,如发电厂、污水厂或化学和工业设施。这项研究一共侦查了美国大约26000个暴露在外的设备。

开源情报

开源情报(OSINT)是一个广泛的领域,无论是否知道它,所有人都会在不知不觉中使用到它。你的所读所看会影响你的观点,基于这些你所收集的信息,你会相信你所相信的,并做出你的判断和决定。这些信息的来源可能是传统的大众媒体——电视、广播和报纸,也可能是互联网和其中包含的数据——网站、社交媒体、博客。

另一方面,开源情报还可以用于从定位照片拍摄地到追踪特定的个人等不同类型的调查。它还能与人类智能(HUMINT)、地理空间智能(GEOINT)、网络智能(CYBINT)等其他智能技术进行结合。利用照片中的或者威胁者留下的细微线索,人们可以收集大量信息,将它们拼凑起来,推测出全貌并得出最终结论。

此外,开源情报还能帮助网络犯罪机关追踪罪犯,并有助于情报机构了解真实世界和网络世界中的敌对者的能力。从乌克兰(Ukraine)、伊朗(Iran)和沙特Arabia(Saudi Arabia)的网络安全事件中,我们更能看出警惕国家关键基础设施的潜在安全威胁的重要性。一旦发生冲突,直接暴露在互联网上的设备可能会被攻击,并可能以不同的形式造成损害。

中央情报局(CIA)强调了五个主要的开源情报领域:

互联网——在这项研究中,我使用的不仅仅是网络上的信息,我还让工业控制系统(ICS)设备直接连接到互联网上;

传统大众媒体;

照片——主要来自社交媒体服务和其他来源,如谷歌街景,这些也被用于研究;

会议——人们分享想法和信息的地方;它还包括专业期刊和智库研究;

地理空间信息——包括地图和商业图像产品。它包括检查地理位置和追踪距离最近的可能与设备相连的建筑物。

在这项研究中,我使用开源情报来收集和可视化美国大约26,000个暴露的ICS设备的地理位置和技术信息。

关键基础设施

我们很难去界定什么是“关键基础设施”。一般而言,关键基础设施指的是对社会和国民经济至关重要的部门和资产,他们如果被破坏或丧失能力后将对国家安全、医疗、能源或水行业产生影响。因此,由国土安全部(DHS)划定的16个行业部门负责运营的每一栋建筑和财产都必须被视为关键的基础设施,并应实施适当的安全控制和机制。

我们举一个例子来更好地理解什么才是关键基础设施。比如购物中心附近的停车场对比发电厂:购物中心附近的停车场可以使用工业控制系统设备,但它不会被认为是关键基础设施;而任何一个发电厂,因为如果它遭到黑客攻击和破坏,可能会让许多人和企业失去能源,所以它会被视为关键基础设施。

国土安全部提到的16个关键的基础设施行业部门:

化学——包括化学设施、药剂制造或特殊/农用化学制品;

商业设施——体育馆、购物中心、赌场、游乐园、动物园或旅馆等聚集大量人群的地方;

通信——它提供不同关键基础设施之间的连接,包括无线、地面和卫星传输;

运输——它负责以各种方式将大量的人或货物运送到不同的地方。例如铁路或机场;

制造业——包括不同行业的制造业:初级金属、机械、电气设备和运输设备。制造业确保经济繁荣和国家的持续发展;

水坝——防范洪灾,并提供保水和控水服务;

国防工业基础——每一个制造、设计或传送军事武器的设施都被视为关键的基础设施,同样也包括承担军事武器的研究和开发的政府承包商行业。它是国防中最重要的部门之一,没有它就不可能动员、部署和维持军事行动;

应急部门——它是社会生活的核心。它包括执法和消防单位,市政工程和医疗急救服务。在应急部门运作的其他服务包括特警队、搜救队、融合中心、警犬分队和911呼叫中心;

能源——为城市和各行各业提供电力。如果没有稳定的能源供应,该国其他关键基础设施也可能面临危险。对每个人来说,稳定的能源供应在日常活动也是必要的;

金融——保险公司、存款机构和金融组织;

粮食和农业——它高度依赖能源、化学、废物和运输部门。它包括农场、餐馆和食品制造业;

政府设施——所有由国家拥有或租赁的建筑物。这个部门最关键的设施是军事设施、国家实验室、法院或大使馆。此外,门禁系统和闭路电视系统等网络设施也包括在这里。它还有教育设施这个特色分部门,其中包括学校和高等教育机构。负责保护储存设施和投票站等资产的选举基础设施也是政府设施部门的一个分部门;

医疗和公共卫生——它保护其他部门免受自然/人为灾害或传染病的侵扰;

信息技术——主要提供硬件、软件和信息技术,并与通信部门一起提供互联网服务;

核反应堆、物料及废物部门——它包括动力反应堆、研究及测试反应堆和核燃料循环设施;

供水和废水系统(水循环系统)——确保饮用水供应和废水处理。

美国宇航局在Unsplash上空拍摄的照片

开源情报和关键基础设施

了解开源情报的基本原理和关键基础设施部门之后,我们就可以将这两者结合起来,收集一个国家关键资产的情报。收集这些信息对于了解敌对者的网络潜力和弱点很重要,这是每一次发动网络攻击的第一步。

从关键基础设施获取的开源情报主要用于情报机构的间谍活动和战争期间的潜在扰乱计划,或者只是为了显示你自己的网络实力。犯罪团伙也有意于为了金钱利益损害一个国家的关键部门,通常他们会事先使用开源情报进行侦察,用这些来开发和出售用于关键基础设施的恶意软件或者交易被盗的凭证。另一种会盯上关键基础设施并利用开源情报对国家造成损害的组织是terrorists,他们的目标是削弱经济、降低公共道德并威胁国家安全。我将建设和管理关键基础设施的内部人员也算在这一群体内,因为他们具备已部署的基础设施的大量知识,他们可能不具备每一个关键基础设施的访问权限,但是他们了解像发电厂这样的关键基础设施使用的网络和技术。

从开源数据中,我们可以收集到大量关于关键基础设施建筑物的信息。如果能从实体监控、社交媒体照片、谷歌地图或街景中收集更多信息,我们也许能对特定建筑或城市进行精确的地理定位。

寻找关键基础设施的一个关键点的漏洞或入口点时,我们不应该忘记在那里工作的工作人员也是一个关键点。适当的侦察可以让你能够策反在那里工作的内部人员,安插自己的间谍,当然鱼叉式网络钓鱼也同样重要。

不过注意了,开源情报是在目标不知道自己正在被调查的情况下神不知鬼不觉地被动收集的。当然了,如果你掌握了关键基础设施设备的技术细节(详细信息),那么你就可以进行主动的数据搜集了,这些信息包括:

IP地址/主机名——扫描附近的资产或不常见的端口获得;

使用的技术——这使我们能够发现或研究它使用的一个特定系统的漏洞。例如,如果我们知道目标设施主要使用Niagara Fox,我们就不会花太多时间为Codesys产品寻找新的漏洞;

端口——设备上其他服务进程打开的端口可能为攻击者提供一个入口点。过时和脆弱的Apache服务器可以作为深入网络的跳板;

来自设备的响应——它提供了大量关于设备运行时的有用和详细的数据。它在一个设备运行的建筑物的真实位置的计算建立中也超级有用。因为在安装过程中,技术人员通常会在描述中写上街道、建筑、确切位置、电话号码或其他敏感信息。 

BACnet设备的示例字段:

供应商ID

供应商编号

对象标识符

硬件版本

应用软件版本

对象适配器名

型号名称

说明

位置

广播分配表

外来设备表 

暴露电话号码和位置的来自BACnet设备的响应示例 

Niagara Fox的示例字段:

Fox版本

主机名

主机地址

应用程序名称

应用程序版本

站名

虚拟机名称

虚拟机版本

操作系统名称

时区

主机ID

虚拟机UUID

品牌ID

Niagara Fox 设备的真实响应示例如下:

fox a 0 -1 fox hello\n{\nfox.version=s:1.0.1\nid=i:255149\nhostName=s:192.168.1.11\nhostAddress=s:192.168.1.11\napp.name=s:Station\napp.version=s:3.8.311\nvm.name=s:JavaHotSpot(TM) Embedded ClientVM\nvm.version=s:25.141-b06\nos.name=s:QNX\nos.version=s:6.5.0\nstation.name=s:Guadelupe_Jail\nlang=s:en\ntimeZone=s:America/Chicago;-21600000;3600000;02:00:00.000,wall,march,8,onor after,sunday,undefined;02:00:00.000,wall,november,1,on orafter,sunday,undefined\nhostId=s:Qnx-JVLN-0000–05A1–7B93\nvmUuid=s:11e98b97-b656–1c50–0000–00000000bafd\nbrandId=s:vykon\nsysInfo=o:bog 61[<bog version=”1.0″>\n<pm=”b=baja” t=”b:Facets” v=””/>\n</bog>\n]\nauthAgentTypeSpecs=s:fox:FoxUsernamePasswordAuthAgent\n};;\nfoxa 1 -1 fox rejected\n{\n};;\n

Jannes Glas在Unsplash拍摄的照片

收集数据

如前所述,本研究仅基于以被动方式收集的数据。我使用了Shodan和BinaryEdge两种服务,它们都允许用户在互联网上搜索联网设备,这其中也包括ICS设备。由于他们还有额外的过滤服务,所以你可以通过过滤找到你感兴趣的东西,或者将搜索范围缩小到特定的国家、产品或版本。

当然,这两个服务之间也有一些差别,与Shodan比起来,BinaryEdge提供了随时可用的查询来过滤所有可能的ICS设备,但是它不支持地理定位。所以如果要使用BinaryEdge的话,我们需要有自己的IP地理位置数据库,并将其用于收集的IP地址。虽然免费数据库定位不是很精确,但是目前可用的最佳免费数据库是Maxmind。与BinaryEdge不同的是,Shodan直接调用API获取设备的地理位置数据,不需要进行进一步的检查。不过Shodan要像BinaryEdge那样使用标签并列出每个ICS设备就必须要有“企业级”访问权限,但是权限的购买费用十分昂贵。

搜索到的设备列表与之前的研究相同:

Modbus

西门子 S7

Tridium

通用电气

BACnet

HART IP

欧姆龙

三菱电机

DNP3

EtherNet/IP

PCWorx

Red Lion

Codesys

IEC 60870–5–104

ProConOS 

要在美国主动侦测暴露的设备,我们需要扫描1,573,564,566个IP地址,并对它们进行分类、地理定位,并将它们的位置画在地图上。使用masscan或带有匹配响应的正则表达式的类似工具,我们也许能够匹配ICS设备的默认端口和它们返回的响应。完整的nmap正则表达式列表在这里

检测Niagara Fox设备的正则表达式如下:

match niagara-fox m|^fox a 0 -1 foxhello\n{\nfox.version=s:([\d.]+)\nid=i:\d+.*\napp.name=s:Station\napp.version=s:([\d.]+)\n|sp/Tridium Niagara/ v/$2/ i/fox version $1/ cpe:/a:tridium:niagara:$2/:

检测Allen-Bradley 管理服务器的正则表达式如下:

match http m|^HTTP/1.0 200 OK \r\nServer: A-BWWW/([\d.]+)\r\n.*<img src=\”/images/rockcolor.gif|s p/Allen-Bradley WWWhttpd/ v/$1/ i/Rockwell Automation Ethernet Processor http config/

除此之外,为了获得更多详细信息,我们需要使用Nmap Scripting Engine (NSE,Nmap脚本引擎)脚本。它们会发送恰当的payload(有效载荷),以便从设备获得需要的技术参数。

主动扫描不是隐秘的,它需要比被动收集付出更多的努力,但在我看来,它们两者得到的结果是非常相似的。  

Kamerka(一个用于构建交互式摄像头地图的开源python脚本工具)

Kamerka的第一个版本允许对给定位置的摄像头进行简单的可视化。因此,它显示的资产可能并不在企业的网络块中,但由于它在附近或在企业拥有的大楼中运行,因此仍看作属于他们。它还可以被用于间谍活动,如破解摄像头或在未经认证的情况下寻找摄像头。通过制作这个工具,我想突出在具有高军事或商业价值的建筑附近安装面向互联网的摄像头存在的安全问题。

当然,物联网世界包含的设备不仅仅是摄像头,因此Kamerka的第二版还能够操作打印机、消息查询遥测协议(Message Query Telemetry Protocol, MQTT)和实时流媒体协议(Real-TimeStreaming Protocol, RTSP)。所以如果没有适当的保护的话,这些设备都可能被滥用。此外,一些协议(如MQTT)经常在关键基础设施中用作智能传感器,处理来自设施的机密测量数据。       

在纽约发电厂运行的某工业物联网(IIoT)设备如下:

 在Kamerka的最新的版本中,你可以扫描一个国家的ICS设备,并将结果放到一个包含所有详细信息的地图中,包括某个特定 IP 地址的所有人信息。上次研究展示的是波兰和瑞士,而这次我要展示的是美国暴露的2.6万台设备。为了收集比平时更多的数据,我不得不稍微调整一下脚本,并将数据放入Elasticsearch中以便于管理。所有设备同时显示时,地图会变得模糊,但如果存储了信息,就可以根据具体的查询创建不同的地图。

Kamerka展示的包含美国1.5万个暴露设备的地图        

开放5900端口 (虚拟网络计算机)的设备: 

开放提供Red LionControls服务的789端口的设备:  

 数据统计

在我们开始地理定位和身份确认之前,我将提供一些统计数据。

受开源情报影响最严重的组织机构如下:

受开源情报影响最严重的城市:

开放的端口:

前5大工控系统端口:

1911

47808

4911

502

44818 

前5大其它端口:

80

443

8080

8443

22 

研究成果

如上文所示,许多设备的管理面板暴露在80、443或8080端口上。这样做的话,远程技术人员无需亲自到现场就可以方便地管理设备。但是从安全的角度来说,我们显然需要给设备添加一些安全防护。无论是ICS还是IoT设备,使用默认密码或弱密码是最常见和最不负责任的做法。

开源情报也包括阅读文档和系统指南,我们可以从中获得关于设备如何运作的信息,以及可以使用哪些特性来获得更多信息或完全访问权限。

Niagara装置的说明书 

已发布的已知默认认证信息的完整列表在这里

许多面板操作都在80或者8080这样不安全的端口上运行。

Niagara Fox的登录面板

Niagara Fox的登录面板

Omron的登录面板

Tracer的登录面板 

此外,您还可以从登录面板获得另一个有价值的提示。包括且不限于网站名字,组织或设备的图片。正因为如此,我们才有可能将搜索结果缩小到具体的某个品牌。

一些设备无需身份验证就能直接查找到它们暴露在外的网络配置、诊断信息、统计信息或设置。这是另一个指标,能够帮助我们得到正在运作的基础设施的全貌。 

如果有人建立了对网络的访问并寻找潜在的ICS设备,那么暴露的IP地址、子网掩码、网关地址或名称服务器等信息可能会派上用场。我多次发现使用外部DNS系统的设备,这为各种攻击打开了大门。

同样,在ICS设备上运行不带身份验证的虚拟网络计算机(VNC)也不是个好的主意。这是完全不应该发生的事情,这是一个明显的错误,或者是你对自己的基础设施缺乏了解。在不需要身份验证的情况下,访问并获得对设备的控制这件事对敌对者来说简直轻而易举。当然,我们不会就认为它会危及整个设施,但这对敌对者来说确实是一个良好的开端。因为所有VNC开放5900端口作为人机接口(HMI)运行。 

VNC并不是设备暴露的唯一方式。某个制造商的设备上的80端口在没有身份验证的情况下返回人机接口(HMI)。虽然有些网站需要登录以进行交互,但有的网站的登录操作并非必需步骤。   

也许你已经注意到了,确定连接情况和建筑物或设施的地理定位的另一个指标是人机接口。人机接口会暴露该设备的用途,因此我们很容易识别它是洗车还是污水处理厂的设备。屏幕上显示的技术和品牌也暴露给我们许多关于设备的规格和它可能如何使用的信息。 

地理定位

因为我们的攻击目标是关键的基础设施,所以我们需要排除没有战略意义的设备。例如,管理公园喷泉的设备,它可能会暴露出来,但损害它是无法获利,因此它对任何人来说都不是关键的基础设施。

那么问题就来了,我们怎样才能找到负责关键基础设施的设备和建筑呢? 第一种方法是使用计算生成的地图,检查名胜古迹附近的每个设备,如城市或政府大楼。第二种方法是使用逆向搜索,从设备中寻找工作站名称、描述或位置的蛛丝马迹。就像前面提到的那样,Niagara Fox和BACnet有时会暴露不该暴露的信息,包括街道名称、位置或设施名称。结合其他的指标的信息,你就可以找到符合信息描述的建筑物。虽然IP地理定位很难精确地指向确切的地点,但它可以准确地显示城市,有时还可以显示设备所在的街道。

为了证明我的说法,下面我举几个例子来说明我如何使用我收集到的信息找到一个对国家或城市有战略意义的建筑。

供水和废水系统(水循环系统)

你已经知道哪些行业部门应该受到特别的保护,其中之一就是供水和废水系统部门。一旦供水中断,饮用水将无法供应,给企业和社会造成问题。在第一个案例中,Niagara Fox设备的“station.name”字段中暴露了某个供水和废水系统部门设施的名称。

IP地理定位指向佛蒙特州(Vermont)伯灵顿(Burlington)夏街14号,它距离最近的污水处理厂1.5英里。

有了这些信息,下一步就可以通过网络扫描资产和寻找更多的信息准备进行物理监视和主动情报收集了。   

化学

当你管理很多站点时,你必须知道你连接的是什么。这个案例说明我们需要居安思危。当站点的位置被设备暴露出来的时候,即使没有准确的地理定位,也可以获得建筑物的位置。 

“Station.name”包含有关地点(PearlRiver->珠江)、州(NY->纽约)和组织名称(Pfizer->辉瑞)的信息。

从辉瑞的官方网站上,我们可以进一步了解到,这是辉瑞公司九个主要研发基地之一。

医疗

医院的设备往往都非常脆弱,服务中断可能会导致病人重新安排手术时间,或造成无法弥补的健康问题,包括死亡。这些设施应该实施特殊的安全控制,不应该允许远程连接。反面教材是皮埃蒙特(Piedmont)医院,由于医疗设备配置不当,这个医院的街道,城市和州等确切的位置是暴露的。

这也是一个检测地理定位能力的样本——我们已知设备的精确位置,就可以检验IP地理定位是否准确。 

在这种情况下,它离实际目的地西春街 2151号(2151 West Spring Street)有 3.5英里远。

有时候,你可以从官方网站看到大楼的内部结构。包括会议室、仓库和工厂操作在内的每个楼层和房间都可以被看到。这是另一个表明获得精确情报是可能的指标。你可以看到获得这个设施的内部情况是多么有价值。基于此,有人就能够连接到设备并造成严重破坏,但当然这也取决于设备的实际用途。 

能源

能源部门是非常具体的,因为它高度依赖其他部门,如制造业或政府设施。没有稳定的能源供应,社会和企业就无法正常运转。根据以往的网络攻击的针对目标来看,这是敌对势力最爱攻击的部门之一——我们可以看到乌克兰电网遭受攻击后,导致断电数小时,这可能使整个城市陷入瘫痪。

它常常发生在IP地理位置无法准确定位的时候——它只指向国家的中心。如果没有额外的指示器,就不可能找到位置。

“Station.name”清楚地提供了设备的名称(BaileyPowerPlant),可能还提供了设备的功能,“核心”(Core)。

在温斯顿-塞勒姆(Winston-Salem)有一个著名的发电厂,它最近刚刚翻修过,并举办了许多活动。 

制造业/国防工业基础

有许多政府承包商提供机密材料、制造设备或以其他方式与政府进行合作,如果他们的系统被暴露,可能会对国家安全造成威胁。

确定了地理位置之后,只要有公司的名称就可以找到设施了。

地理定位指向宾夕法尼亚州(Pennsylvania)的克拉克峰(ClarksSummit)。距离最近的洛克希德·马丁工厂(Lockheed Martin facility)也在11英里之外。

我们可以从洛克希德•马丁工厂的官方网站获得关于这个特别的设施及其作用的信息。 

为了将从谷歌地图搜索到的图片与真实的图片进行比较,我们可以访问洛克希德·马丁公司的官方网站并找到该建筑。 

我郑重声明,我向有关部门报告了上述调查结果,但没有得到任何答复。 

总结

即使对有经验的网络工程师来说,维护关键的基础设施和集成电路设备也不是一件容易的事情,失误总是会发生的。如果基础设施在建设时没有考虑到安全问题,那么它就会被暴露在网络攻击和间谍活动中,特别是当建设者又正好在某个关键部门工作的时候,这种设施就会变得非常脆弱。任何对这些设施的网络攻击都可能引发民愤、公司损失甚至人员伤亡,重要的是要记住,这些部门相互依赖,他们对每个人的日常生活都是必要的。我分析了为什么有这么多的ICS设备暴露在互联网上的四个原因:

有些设备是追踪威胁者的蜜罐——研究人员设置了模仿ICS基础设施的陷阱,以了解谁在追踪这些类型的设备,以及他们侦察和攻击时使用的战术、技术和程序(TTPs)。Conpot 就是一个ICS/SCADA蜜罐的例子;

技术人员偷懒——从事ICS设备安装的公司通常允许远程连接,这样就不需要在每次需要更改配置时都派技术人员到现场更改;

配置错误——每个人都会犯错,错误的防火墙设置可能是设备被暴露的罪魁祸首之一。但是重要的是要追踪这些错误并及时做适当的修补;

资金——它和前面的原因“偷懒”相关。如果每次都需要派遣技术人员到访工厂,每次到场都要额外付费。组织想要在每件事情上尽可能多地省钱,所以通常被省掉的部分就是安全。

遗憾的是,人不能未卜先知,但是我们可以主动采取行动来对抗可能暴露设施或设备信息的错误配置。当然了,当一个设备暴露在互联网上时,它可能会受到从脚本小子到经验丰富的国家间谍发起的各种不同类型的攻击。

这里有一些方法预防这些问题:

实施信息分类措施——限制访问或者不公开可以被威胁势力利用进行间谍活动或侦察的详细信息。

维护详细的财产清册——记录设备运行环境发生的变化,并尝试检测潜在的外部攻击载体;

主动监测——监控周边网络安全设备,利用主动侦察技术,如端口扫描;

使用免费的开源工具——使用BinaryEdge.io或Shodan等工具如来检测你的设备是否有暴露私密信息的情况。重点关注地理位置信息和ics常用的端口;

使用开源情报收集信息——收集尽可能多攻击者会用来攻击您的基础设施的信息。地理位置数据、设备细节或个人数据对威胁行动者来说很有价值。尝试去了解会对你不利的破坏设施的方法。

结论

在我侦查的26,000个可能是关键基础设施的设备中,我只给出了其中的5个例子。这些设施提供设备或服务在社会扮演重要的角色,他们能确保国家的持续发展。就商业行业而言,保护其网络是它们自己的职责,但如果涉及关键基础设施,那么维护网络安全关乎公众利益。

我们应该特别注意利用开源情报收集国家关键基础设施的信息的行为,了解哪些信息可由威胁敌对者收集。此外,上文所提出的方法也可以用来获取关于敌对者的网络潜力和能力的数据,以及关键基础设施的战略位置。

其他更多关于开源情报方面的了解,欢迎大家关注我们的知识星球[开源网络空间情报]

参考资料和深入阅读资料:

1. https://www.cia.gov/news-information/featured-story-archive/2010-featured-story-archive/open-source-intelligence.html

2.  https://www.dhs.gov/cisa/critical-infrastructure-sectors

3.  https://www.boozallen.com/content/dam/boozallen/documents/2016/09/ukraine-report-when-the-lights-went-out.pdf.

4.  https://dragos.com/wp-content/uploads/CrashOverride-01.pdf

5.  https://ics.sans.org/media/E-ISAC_SANS_Ukraine_DUC_5.pdf

原文地址

https://www.icscybersecurityconference.com/intelligence-gathering-on-u-s-critical-infrastructure  

*本文作者:scu-igroup,转载请注明来自FreeBuf.COM


文章来源: https://www.freebuf.com/articles/ics-articles/217459.html
如有侵权请联系:admin#unsafe.sh