
后门 在网络安全领域是一个充满神秘和风险的术语。虽然通常在恶意活动的背景下讨论,后门可以根据控制者和使用方式的不同而用于合法或不法目的。本全面指南将带您从初学者到高级水平了解后门的概念,包括它们的类型(硬件、软件和网络)、政府和公司在现实世界中的使用情况、制造商可能加入它们的原因,以及为高级用户准备的检测实际步骤和代码示例。
后门 是一种允许访问系统、设备或应用程序的方法,通常绕过正常的认证或安全控制。该术语源于隐藏入口的概念——这种入口对普通用户不可见或不可访问。
后门可以是:
典型的后门绕过标准的安全机制,如认证、日志记录或警报,通常在长时间内不被发现。
后门(网络安全): 计算机系统中的一种隐蔽方法,用于绕过认证或加密,可以是有意或无意嵌入的,允许未经授权的实体访问系统或数据。
后门根据其实施的层次大致分为以下几类:
硬件后门 嵌入在物理层面——芯片、固件或主板中,通常在制造时完成。这些后门一旦部署,极难检测或移除。
示例: 一个带有隐藏次要UART的微控制器,只能用特定比特序列访问,从而允许拥有root特权的shell访问。
软件后门 隐藏在应用程序、操作系统,甚至设备驱动程序中。这些后门可能是开发时不小心留下的,或者是故意插入的。
示例: 接受硬编码主密码的应用程序。
网络后门 通过网络协议或守护进程运行——通常监听非标准端口或使用隐蔽通信方法。
示例: 一个服务进程在收到“魔术包”后,将外壳绑定到一个网络套接字。
政府有时要求公司(通常通过法律压力或秘密协议)添加后门以进行合法截取——表面上用于反恐或打击犯罪的目的。示例如下:
注: 尽管意在合法访问,此类后门经常会削弱整体安全性,为恶意行为创造机会。
不完全是。对每台设备进行持续、细粒度的监控在后勤上是不切实际的,并且在许多法域可能是非法的。然而,后门能够实现有针对性的访问:
公司可能出于以下原因嵌入后门:
风险: 一旦后门被发现,可能会被内部人员或攻击者滥用。
制造商(OEMs)可能有合理的理由:
后门可以强制实施数字版权管理(DRM),阻止第三方进行维修,或将兼容性限制在供应商批准的配件或软件。
在某些国家,公司被迫(公开或秘密地)提供政府访问,通常通过硬件或软件后门。
示例: 电信交换机和路由器上的合法截取要求。
总结: 2015年,俊普网络公司披露其ScreenOS防火墙操作系统中被加入了未经授权的代码,允许秘密管理员登录和解密VPN流量。
机制: 后门是双重的:一个隐藏的主密码,以及对Dual_EC_DRBG(一个涉嫌NSA后门的NIST标准随机数生成器)的操控。
影响: 多年来实现了未检测到的管理员访问和VPN解密。
参考:
总结: 彭博社报道称中国特工在Supermicro主板中插入间谍芯片,用于美国公司。
状态: 涉及各方均强烈否认;证据仍是间接的,但情境揭露了硬件供应链后门的真实风险。
参考:
总结: NSA影响NIST采用一个随机数生成标准,其中包含一个所谓的后门:任何知道特定参数的人都可以预测它的输出。
影响: 整合到加密产品中,可能允许NSA解密SSL/TLS流量。
参考:
总结: Stuxnet蠕虫针对伊朗的核离心机,利用四个零日漏洞并使用窃取的数字证书。分析显示编码片段可充当后门,允许远程操控工业机械。
影响: 第一个已知的通过嵌入恶意软件后门物理破坏设备的网络武器。
参考:
特别是在硬件受到攻击时,没有方案是绝对安全的。然而,网络安全专业人士使用多层策略来检测和应对后门。
tripwire,AIDE,md5sum)。find可以检测具有SUID位的文件(如果不受控,可能被后门程序利用)。
sudo find / -type f -perm -04000 -ls
解释: 列出所有设置了SUID位的文件(以所有者身份运行,通常是root),常被攻击者用于保持持久性。
nmap或netstat发现意外的开放端口。tcpdump或Wireshark检查异常的网络流量。sudo netstat -tulnp | grep LISTEN
或使用ss(现代Linux):
sudo ss -tulpn
binwalk,flashrom)来转储和分析固件以寻找嵌入的后门。转储芯片ROM:
sudo flashrom -p internal -r firmware_dump.bin
使用binwalk检查:
binwalk -e firmware_dump.bin
Bash:
awk -F: '($3 == 0) {print}' /etc/passwd
列出所有UID为0(超级用户,通常为root)的账户。
Python:
import re
backdoor_patterns = [
"Accepted password for .* from .* port .* ssh2",
"sudo: .* : TTY=.* ; PWD=.*;",
]
with open("/var/log/auth.log") as f:
for line in f:
for pattern in backdoor_patterns:
if re.search(pattern, line):
print(line.strip())
在Linux日志中搜索可疑登录活动。
使用strings:
strings suspicious_binary | grep -i password
Python:
import socket
with open('/proc/net/tcp', 'r') as f:
for line in f:
if ':' in line:
fields = line.strip().split()
local_address, remote_address = fields[1], fields[2]
if remote_address != '00000000:0000':
ip_hex, port_hex = remote_address.split(':')
ip = '.'.join(str(int(ip_hex[i:i+2],16)) for i in (6,4,2,0))
port = int(port_hex, 16)
print(f"可疑连接到 {ip}:{port}")
后门在网络安全中是柄双刃剑:既是合法访问和支持的不可或缺的工具,也是对抗对手时若被利用会造成灾难性风险。当国家监视与犯罪利用之间的界线变得模糊时,意识和警惕性至关重要。
从硬件和固件到操作系统和远程网络连接,反对后门的战斗需要多层次的方法:技术知识、最佳安全实践以及对复杂供应链完整性的一贯怀疑。
通过了解后门是什么,谁使用它们,它们是如何嵌入的,以及检测和缓解的策略,专业人士和最终用户可以更好地保护其系统和隐私免遭隐藏威胁。
作者:[您的姓名],网络安全爱好者和博主