ATM 渗透测试,黑客已经找到了入侵 ATM 机器的不同方法。程序员并没有将自己局限于物理攻击,例如,抓钱/卡、窃取等,他们正在研究破解 ATM 编程的更好方法。
ATM 是一种使客户无需前往银行即可进行现金兑换的机器。
使用 ATM,客户可以取回或存储钱、到银行商店或信用账户、支付账单、更换提款机、重新设计个人数据等等。由于 ATM 机管理资金,它已成为程序员和窃贼的高需求焦点。
在本文中,我们将了解 ATM 的功能、用于保护 ATM 的安全措施、用于破坏 ATM 安全的各种渗透测试以及可用于逃避 ATM 黑客攻击的部分安全最佳实践。
另请阅读 ATM 黑匣子攻击 – ATM 积宝
ATM工作功能:
大多数 ATM 有 2 个输入和 4 个输出。读卡器和键盘是输入,而屏幕、收据打印机、自动提款机和扬声器是输出。
大多数情况下,ATM 有两种类型,它们的工作方式各不相同。他们可以被称为
1.租用线路ATM
2.拨号ATM机
任何 ATM 机都需要一个具有两个数据源和四个收益小工具的信息终端。显然,要做到这一点,还应该有主机处理器的可访问性。主机处理器很重要,这样 ATM 就可以与要钱的人进行交互和对话。互联网服务提供商 (ISP) 还承担了此活动的重要部分。它们作为通往中途系统和银行 PC 的通道。
图片来源:HowstuffWorks
租用的线路 ATM 机具有 4 线指示点承诺电话线,有助于将其与主机处理器相关联。这些机器在客户量大的地方很受欢迎。它们被视为最先进的机器,这种机器的工作费用很高。
拨号 ATM 机只有一条带调制解调器的普通电话线和一个免费电话号码。由于这些是典型的协会,它们的基本建立成本较低,而且它们的运营成本仅占租用线路 ATM 的一小部分。
主机主要由银行认领。它也可以由 ISP 申请。如果主机由银行拥有,则只支持为该特定银行工作的机器。
阿苏读 无法检测到的 ATM“闪烁” 黑客用于窃取基于芯片的卡详细信息的最新工具
那么当客户嵌入他的卡以提取资金时会发生什么?
1.客户的记录资料存放在卡背面吸引人的部分。客户将卡片嵌入卡片阅读器中。
卡片阅读者从卡片的吸引人的部分阅读数据。来自这张卡的信息被发送到主处理器,主处理器将数据传送到客户的银行。
2.卡片被察觉后,请顾客交棒。客户使用键盘输入操纵杆。棒被编码并发送到主机服务器。唱片和棍子由客户的银行批准。一旦获得银行的批准,主机服务器就会将反应代码发送到 ATM 机。
3.客户端进入加起来拉回。请求转到主机处理器。主机服务器将兑换需求发送至客户银行,由其批准金额、撤回截止日期等。在这一点上,补贴交换发生在客户的银行和主处理器的记录之间。兑换完成后,主机处理器将背书代码发送到 ATM,允许 ATM 机器管理货币。
4.运行在ATM机上的应用程序教会钱箱管理钱款。货币容器有一个组件,它考虑它离开分配器的每笔费用。与交易所标识的信息,如记录号、交易所 ID、时间、金额、费用组等,将记录到日志文档中。此日志记录通常称为 EJ 日志。
5. 在管理过程中,传感器扫描每张钞票的厚度。这是为了检查两张钞票是否粘在一起,或者是否有任何钞票被撕裂或折叠。如果两张钞票粘在一起,则它们会被占用到拒绝容器中。
另请阅读 名为“ATMitch”的无文件恶意软件远程攻击ATM机并删除攻击证据
ATM BPT风格渗透测试
安全专业人员对金融领域的自动取款机 (ATM) 解决方案执行高级渗透测试。在大多数情况下,ATM 配置和相关流程中会发现严重的安全漏洞。
ATM 使用我们的“业务渗透测试”(BPT) 方法进行测试,该方法模拟对 ATM 解决方案的真实攻击。这包括精心设计的有针对性的攻击,它结合了物理、逻辑和可选的社会工程攻击向量。
ATM 安全通常被 IT 安全经理认为是一个复杂的领域,他们倾向于更多地关注物理风险,而不是操作系统和应用程序层中的逻辑弱点。
同时,ATM 安全是一个经常缺乏整体安全评估的业务领域。我们的 ATM 测试基于这一信念,力图描绘出您的 ATM 环境的整体图景。
物理控制
许多银行严重依赖这样的假设,即对其 ATM 解决方案的物理访问受到有效限制。同时重复说明获得对控制用户界面和交易设备的 ATM CPU 的未授权访问通常需要多么少的努力。
逻辑控制
通过对 ATM CPU 的物理访问,可以绕过身份验证机制以获得对 ATM 平台的未授权访问。
通过这种访问,攻击者可能能够窃取存储在文件系统或内存中的信用卡数据,而无需通知银行。此外,专家能够证明,通过使用受感染的 ATM 作为攻击平台,这种未经授权的访问可以从 ATM 扩展到银行的网络和后端服务器。
与第三方服务提供商和应用程序开发供应商相关的 ATM 解决方案管理流程通常是攻击者的金钥匙,并且可以包含在我们的测试范围内,以识别攻击者可以利用的信任关系中的逻辑弱点来破坏 ATM。
ATM生态系统
ATM 解决方案和网络构成了一个复杂的生态系统,由银行组织内部和外部的不同供应商和负责代理组成。
由于这个生态系统的复杂性及其跨越组织边界的分布式角色和职责,与安全风险相关的领域常常被忽视。ATM 应用程序本身及其软件更新、操作系统补丁、平台强化和网络通常容易受到攻击。
这些攻击不一定复杂,通常不包括在标准渗透测试中。
PCI数据安全标准
ATM 环境也是 PCI DSS 范围的一部分。然而,只有一部分现实生活中的黑客攻击被 PCI DSS 和 PA-DSS 完全涵盖。PCI SSC于2013年1月发布了《ATM安全指南》信息补充文件。
ATM渗透测试
在ATM渗透测试中,随着ATM台数的增加,机器容易受到黑客攻击、抢劫、诈骗等,大部分ATM仍然使用Windows XP,这使得这台ATM很容易成为黑客攻击的目标。
电子资金划拨由通信链路、计算机和终端机(ATM)三部分组成。必须保护所有三个组件以避免攻击。我们将研究可以执行的评估类型,以分析 ATM 的整体安全性。
1.漏洞评估和网络渗透测试
VAPT 是两种类型的漏洞测试。这些测试具有不同的优势,并且通常结合起来以实现完整的漏洞分析。简而言之,渗透测试和漏洞评估在同一重点领域执行两项不同的任务,通常会产生不同的结果。
漏洞评估工具发现存在哪些漏洞,但它们不会区分可被利用造成损害的缺陷和不能造成损害的缺陷。漏洞扫描器会提醒公司注意其代码中预先存在的缺陷以及它们所在的位置。
在处理 ATM 安全时,这两项活动非常常见。在网络渗透测试中,我们检查 ATM 中的网络级漏洞。由于 ATM 与后端服务器通信,它必须是某个网络的一部分。通过获取ATM的IP地址,我们可以进行网络级别的渗透测试。
作为安全最佳实践,ATM 网络与银行的另一个网络隔离。因此,测试仪必须是 ATM 网络的一部分才能到达 ATM IP 并执行测试。一旦进入 ATM 网络,我们就可以执行 Nessus 扫描来识别开放端口、在这些端口上运行的服务以及与正在运行的服务相关的漏洞。
我们可以运行全端口 NMAP 扫描来识别 ATM 上运行的 TCP 和 UDP 端口和服务。此外,Nessus 身份验证扫描可用于识别与 ATM 操作系统(如 Adobe、Internet Explorer 等)中安装的组件相关的漏洞。
配置审核处理操作系统的强化。大多数 ATM 都运行 Windows 操作系统。必须根据安全最佳实践强化此操作系统,以减少攻击者的攻击面。在进行配置审计时,我们可以研究的一些领域是:
•系统访问和身份验证:与密码和帐户锁定策略、用户权限策略等相关的检查。
•审核和日志记录:与事件、应用程序和安全日志、审核策略、事件日志权限相关的检查。
•帐户配置:检查与管理员组下的用户相关、是否存在默认用户、来宾帐户、密码要求和过期时间。
2. 应用安全审计:
应用程序安全审计是对应用程序及其相关组件进行密集的、技术性的、非特权和特权安全测试,其中手动测试和验证的比例很高。由于将进行非特权和特权测试,因此涵盖了局外人(例如黑客)和内部人员的视角。
我们可以将这个活动分为两类:
一种。胖客户端应用程序渗透测试:大多数 ATM 应用程序都是胖客户端。我们可以对这个胖客户端应用程序执行应用程序渗透测试。我们可以执行的一些测试用例是:
•应用程序配置文件中的敏感信息,注册表中的凭据,敏感信息,硬编码在代码中。
•拦截进入服务器的流量并尝试操纵/篡改参数或查找在应用程序和服务器之间传递的任何敏感信息。
•检查应用程序和数据库是否以明文协议通信。
•防止逆向工程。
b. 应用程序设计审查:在此活动中,我们可以检查应用程序中是否遵循了安全实践。一些测试用例可以是:
•记录到日志文件的事件类型。
•运行 ATM 应用程序的特权。
•该软件是否有规定根据用户级别将不同的菜单选项限制为不同的用户 ID?
•访问与应用程序相关的文件夹。
•应用程序是否允许在没有 PIN 码或旧 PIN 码的情况下进行交易?
•应用程序是否允许在运行时访问操作系统?
•与后端组件的通信。
•检查有效的网络隔离。
•即使是一个无效的 pin 也会退出客户?
•每笔交易都必须输入 PIN 码?
对 ATM 中安装的 ATM 安全解决方案的评估:
什么是ATM安全解决方案?
大多数 ATM 都在 Windows XP 和 7 上运行。为单个 ATM 打补丁是一个相当复杂的过程。由于 Microsoft 不再支持 Windows XP,许多 ATM 供应商使用安全解决方案来减轻与 ATM 攻击相关的威胁,例如基于恶意软件的攻击、操作系统级漏洞。这些安全解决方案允许 ATM 应用程序在非常受限的环境中运行,后端的服务和进程有限。两种此类安全解决方案是 Mcafee Solidcore 和 Phoenix Vista ATM。
Mcafee Solidcore:
McAfee Application Control 可阻止服务器、公司桌面和固定功能设备上未经授权的可执行文件。使用动态信任模型和创新的安全功能,例如本地和全球声誉情报、实时行为分析和端点自动免疫,它可以立即阻止高级持续威胁,而无需劳动密集型列表管理或签名更新。
•通过覆盖可执行文件、库、驱动程序、Java 应用程序、ActiveX 控件、脚本和专用代码,全面保护免受不需要的应用程序的侵害。
•桌面用户和服务器管理员的灵活性,可以根据应用程序评级自行批准和自动批准。
•固定功能、传统和现代系统的可行安全性。
•减少补丁周期和高级内存保护。
•通过 McAfee ePolicy Orchestrator 进行集中、集成的管理。
凤凰城ATM:
Phoenix Vista ATM 是 Phoenix Interactive Design Inc 的产品。该解决方案集成了 ATM 应用程序本身。此应用程序用于文件完整性检查,其中对与应用程序相关的关键文件的任何修改/篡改都将导致系统关闭。这不允许任何未经授权的程序修改应用程序特定文件。
XFS(eXtensions for Financial Services)为Microsoft Windows平台上的金融应用,特别是金融行业特有的ATM等外围设备提供了客户端-服务器架构。它是由欧洲标准化委员会(简称 CEN,即 CEN/XFS)提倡的国际标准。XFS 提供了一个通用的 API,用于访问和操作各种金融服务设备,而不管制造商是谁。
Vista ATM 与 XFS 层通信,XFS 层向 ATM 的自动提款机等硬件发出命令以分配现金。对 XFS 文件的任何未经授权的修改都会触发 Vista ATM 应用程序强制重启机器。机器重启4-5次,之后进入维护模式,不允许用户进行任何交易。
渗透测试安全解决方案:PCI 标准
在 ATM 中测试安全解决方案的方法保持不变。最终目标是获得对操作系统的访问权限或摆弄与应用程序相关的文件以查看应用程序的行为方式。获得操作系统访问权限后,攻击者可以创建恶意软件,该恶意软件可以使用 XFS 组件向系统硬件发出命令。
一些可以考虑的测试用例是:
与访问操作系统和相关文件相关的测试用例:
1.检查 USB 是否已启用,使您的 USB 可启动。
2.插入USB并通过USB启动系统。
3.由于大多数安全解决方案会在操作系统启动后立即接管操作系统,因此请在启动时继续按下“Shift”按钮。这将破坏任何配置为在操作系统启动时运行的序列。这将导致 Windows 登录屏幕。
4.如果您知道有效的用户名,请输入该用户名并按“Enter”按钮。这将导致无需密码即可直接访问操作系统。
5.如果您不知道有效的用户名,请尝试使用“管理员”登录,因为许多 ATM 不会禁用默认管理员帐户。
6.另一种方法是使您的 USB 可启动。从 USB 启动,这将允许直接访问文件系统而无需任何 Windows 登录。
7.与运行时代码授权相关的测试:检查USB是否启用,尝试直接从USB或使用USB的自动运行功能运行未经授权的代码(exe或批处理文件)。
8.与代码保护相关的测试:检查与应用程序相关的文件是否可以移动到另一个位置、修改或删除。
9.与流程修改相关的检查:将未经授权的文件重命名为有效的安全解决方案流程。这将导致在应用程序启动时执行未经授权的文件。
10.与通过注册表未经授权执行相关的威胁:检查是否可以修改任何关键的注册表项,或者是否可以通过将未经授权的软件保存在 Windows 启动文件夹中来执行它们。Windows 启动文件夹下的可执行文件将在系统重新启动时首先执行。
ATM 应遵循的安全最佳实践
银行可以实施安全最佳实践来减少攻击者的攻击面。本节可分为三类:
11.物理攻击防护:
•检测和防止卡片窃取。
•检测和防止卡/现金陷阱。
•键盘篡改检测。
•镜子和别针防护罩可识别和防止肩冲浪攻击。
•在 ATM 中实施内置 DVSS 摄像头以捕获用户的面部特征以及交易详细信息和时间戳。
•金库防火、防爆等防护。
•锁定保护再次未经授权访问纸币或票据。
•电力点和网络点保护。
•禁用未使用的网络和电端口。
•ATM 必须在地板上灌浆以防止与抢劫相关的威胁。ATM 可以通过震动传感器实现,以识别 ATM 机的撞击和移动。
•闭路电视摄像机的实施。保安人员在场。
6. 防御逻辑攻击:
•通过设置不可猜测的引导和 BIOS 密码来防止未经授权的引导。大多数 ATM 都配置了默认的开机密码。
•防止 USB 和未经授权的硬盘访问。
•操作系统加固和最新补丁。
•将 ATM 上的应用程序、服务和流程列入白名单。
•以最低权限用户运行 ATM。需要知道并且需要有方法。
•文件完整性检查。
•保护事务日志。
•使用安全通道进行通信和交易。
•在 ATM 应用程序中配置安全最佳实践。
•防病毒保护。
•ATM 网络与其他网络隔离。
•防止恶意软件,如 tyupkin、ploutus 等。
7. 防止欺诈攻击:
•实施地理封锁。在此实现中,该卡只能在始发国家或地区使用。用户必须获得在原籍国以外使用该卡的许可。
•实施基于芯片和密码的卡,以减轻基于复制和窃取卡的攻击。
•实施行为指导,从金额、交易地点、交易频率等方面检测异常交易。
原文始发于微信公众号(闲聊知识铺):ATM 渗透测试——查找漏洞的高级测试方法