外汇账户里多出一笔自己没下过的单,这是日本GMO互联网集团旗下外汇平台用户这几天最慌的事。10月27日,黑客把"开盒"当成筹码,放话每天公开一个用户的信息,直到运营方付钱。这次攻击波及GMO旗下2.6万多台服务器、关联70多家券商和外汇商,已有5家外汇公司暂停了相关账户交易,部分用户已损失近200万日元。账户里的钱、名下的交易,都可能被别人动过。这种时候,先别急着改密码,真正该先做的,是把登录记录里的陌生IP翻出来。
过去的勒索软件,是把服务器文件加密、逼企业交钱解锁。这次GMO遇到的是"三重勒索":先加密服务器,再偷走客户数据、威胁公开,最后把矛头直接对准普通用户,不交钱,就把客户隐私一条条挂上网。三层叠加,企业就算有备份能恢复系统,也挡不住数据公开带来的声誉和法律风险。
GMO反复声明不付赎金,理由是没法保证攻击者删掉信息、不再非法利用。这话点破了三重勒索的死结:钱交了,数据未必删,攻击者还可能转头再敲一笔。Comparitech的数据显示,2026年第三季度全球勒索攻击2627起,创下历史季度新高,比上季度涨27%,其中金融业涨幅最猛、达到72%。

账户被盗的现场,往往不在转账那一刻,而在登录那一刻。攻击者先要拿到账号,才能在你名下的账户里下单。所以盯住登录记录里的来源IP,比事后追交易流水更早、更有效。
把登录IP丢进ip地址查询定位,重点看归属地和网络类型:归属地跳到一个你从没去过的城市,可疑;网络类型落在数据中心或机房段,也可疑。道理很简单,真人登录几乎都在家庭宽带、移动网络上,机房段里跑的大多是云服务器和批量工具,正常人不往那儿登录。
下面这段代码,登录的时候当场验一次:把登录IP喂给ip地址查询定位,命中机房段或异地就标可疑,查不到数据标待确认,宁可标记也不放过去。
Python
import requests
API = "https://api.ipdatacloud.com/v2/query"
KEY = "你的KEY" # 产品密钥,不同产品用不同key
def login_ip_risk(ip, home_city):
"""登录时查一次IP,返回风险标签。"""
if not ip:
return "待确认"
try:
resp = requests.get(API, params={"ip": ip, "key": KEY}, timeout=5)
resp.raise_for_status()
body = resp.json()
except (requests.RequestException, ValueError):
return "待确认"
if not isinstance(body, dict) or str(body.get("code")) != "200":
return "待确认"
data = body.get("data")
if not isinstance(data, dict) or not data:
return "待确认"
net = str(data.get("usage_type") or "").lower()
city = str(data.get("city") or "").rstrip("市")
if any(k in net for k in ("数据中心", "机房", "idc", "cloud", "hosting")):
return "机房段,可疑"
if city and city != home_city:
return "异地登录,可疑"
return "正常"
print(login_ip_risk("45.83.12.9", "北京"))
1. 立刻看交易账户的"登录记录""设备管理",找陌生设备、异地登录。
2. 把陌生IP放进ip地址查询定位,对归属地、运营商、网络类型,看是不是自己的城市和宽带。
3. 命中"异地+机房段",先冻结账户、改密码、开二次验证,再报平台和警方。
查到异常登录,不等于能直接抓人。ip地址查询定位给的是缩小范围、留好证据,真正追责要靠完整证据链,交给执法机关。对普通用户来说,先止损、再谈追责。Flashpoint年中报告给出另一个数字:2026上半年已验证勒索攻击6256起,同比涨45%,其中RaaS(勒索即服务)活动涨45%。攻击门槛越来越低,普通人的账户得自己多留个心眼。企业要是想给后台加一道防线,可以先跑观察模式,只落日志不拦截,把命中的来源捞出来看一遍再开拦截。IP数据云已经把这些字段做成了现成接口,几行代码就能接进后台排查。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。