导语:近日,UpGuard公司网络风险小组的研究人员发现了一个错误配置的数据库,其中包含超过1.98亿美国选民的敏感个人资料。
事件概要
近日,UpGuard公司网络风险小组的研究人员发现了一个错误配置的数据库,其中包含超过1.98亿美国选民的敏感个人资料。而此次泄漏事件正是由为共和党全国委员会(Republican National Committee,简称RNC)提供数据分析和服务的Deep Root Analytics公司所造成的。据悉,这1.1TB的数据就存储在Deep Root Analytics公司一个可公开访问的亚马逊云服务器上,没有密码保护,任何人都可以访问。
这1.1TB的数据共计包含近2亿选民的个人信息,除了姓名、出生日期、家庭地址和电话号码等信息外,这些记录还包括政治团体采用的先进情绪分析来预测个人选民如何处理热门问题,如枪支所有权、干细胞研究和堕胎权、以及宗教信仰和种族等。
此次数据泄漏事件的影响远远超出之前的墨西哥和菲律宾选举数据泄漏案,已经危害了美国61%的公民的个人信息安全。
根据曝光的数据,我们可以更深入地了解大数据在美国总统大选中发挥的重要作用。RNC通过利用Deep Root Analytics、TargetPoint以及Data Trust公司的大数据分析技术来影响潜在选民并准确地预测其行为。
发现过程
6月12日傍晚,UpGuard网络风险分析师Chris Vickery(墨西哥选民数据泄漏也是他发现的)在代表网络风险小组(UpGuard公司的研究团队,致力于寻找、保护和提升公民对此类安全事件的认知)搜索配置错误的数据源时,发现了一个开放的云存储库。
该数据存储库(Amazon Web Services S3 bucket)没有任何保护措施,因此,任何有互联网连接的人,只需要导航到包含6个字符的亚马逊子域名:“dra-dw”中就可以访问这一帮助特朗普赢取胜利的共和党数据库。
在检查内容时,我们发现“dra-dw”其实就是“Deep Root Analytics数据仓库”。“数据仓库(data warehouse)”的概念在现代企业中很常见——实质上,它是专门为复杂分析而准备的大规模数据集。Deep Root Analytics公司证实称,他们拥有并运营该dra-dw bucket。
分析发现,该“数据仓库”中共有1.1TB的数据——大约相当于500小时的视频数据,且都是完全能够下载的。这些文件清楚地表明了该资料库的政治重要性,因为文件的目录都是以一些有影响力的共和党政治组织命名。
但这1.1TB的数据并不是全部,“数据仓库”中还有24TB的数据,但是已被安全配置为“防止公共访问”。最终,存储在错误配置的数据库中的数据量相当于大约100亿页文本的大小。
目前,我们不太清楚那些不可访问的文件的政治重要性,例如名为“for_strategy_xroads_updated_FINAL”的文件,在某种意义上可能指向的是“美国十字路口(American Crossroads)”——目前全美规模最大的super PAC,由小布什总统的政治顾问、“筹款神童”Karl Rove联合创建,在2016年的选举融资中表现非常活跃。此外,我们还发现了缓存的Reddit帖子,保存为文本:
6月12日-14日期间,Vickery下载了这1.1TB的可公开访问的文件,其中包含两个名为“data_trust”和“target_point”的关键目录。
操作过程
Deep Root Analytics是一个共和党的数据公司供应商,由Alex Lundry(共和党数据科学家,在2012年Mitt Romney参与总统竞选时担任数据总监)于2013年创建成立。该公司声称能够通过大数据分析“微目标定位(microtargeting)”,更有效地实现人口统计,从而帮助客户在购买广告时作出更明智的决策。此外,它还为公司、游说团体和GOP政治运动提供数据分析服务,力求实现针对特定目标的人口统计。
不过为了赢得选举,共和党还需要其他数据分析公司提供数据资源,其中一家就是Data Trust——一家位于华盛顿的数据咨询公司,该公司的策略是为共和党打造一个每名竞选人都能适用的公用数据池。
在Deep Root Analytics数据库中,有一个名为“data_trust”的文件夹,其中主要包含两个文件存储库——2008年总统大选的256 GB文件夹和2012年的233 GB文件夹,每个文件夹包含51个文件——每个州都有一个,包括哥伦比亚特区。
Vickery发现了如下电子数据表,确认这些文件包含精确而又敏感的个人信息,以下列出的是.csv格式:
"RNCID", "RNC_RegID", "State", "SOURCEID", "Juriscode", "Jurisname", "CountyFIPS", "MCD", "CNTY", "Town", "Ward", "Precinct", "Ballotbox", "PrecinctName", "CD_Current", "CD_NextElection", "SD_Current", "SDProper_Current", "SD_NextElection", "SDProper_NextElection", "LD_Current", "LDS_Current", "LDProper_Current", "LD_NextElection", "LDS_NextElection", "LDProper_NextElection", "NamePrefix", "FirstName", "MiddleName", "LastName", "NameSuffix", "Sex", "BirthYear", "BirthMonth", "BirthDay", "OfficialParty", "StateCalcParty", "RNCCalcParty", "StateVoterID", "JurisdictionVoterID", "AffidavitID", "LegacyID", "LastActiveDate", "RegistrationDate", "VoterStatus", "PermAbs", "SelfReportedDemographic", "ModeledEthnicity", "ModeledReligion", "ModeledEthnicGroup", "HHSEQ", "HTSEQ", "RegistrationAddr1", "RegistrationAddr2", "RegHouseNum", "RegHouseSfx", "RegStPrefix", "RegStName", "RegStType", "RegstPost", "RegUnitType", "RegUnitNumber", "RegCity", "RegSta", "RegZip5", "RegZip4", "RegLatitude", "RegLongitude", "RegGeocodeLevel", "RADR_LastCleanse", "RADR_LastGeoCode", "RADR_LastCOA", "ChangeOfAddress", "COADate", "COAType", "MailingAddr1", "MailingAddr2", "MailHouseNum", "MailHouseSfx", "MailStPrefix", "MailStName", "MailStType", "MailStPost", "MailUnitType", "MailUnitNumber", "MailCity", "MailSta", "MailZip5", "MailZip4", "MailSortCodeRoute", "MailDeliveryPt", "MailDeliveryPtChkDigit", "MailLineOfTravel", "MailLineOfTravelOrder", "MailDPVStatus", "MADR_LastCleanse", "MADR_LastCOA", "AreaCode", "TelephoneNUm", "TelSourceCode", "TelMatchLevel", "TelReliability", "FTC_DoNotCall", "PhoneAppendDate", "VH12G", "VH12P", "VH12PP", "VH11G", "VH11P", "VH10G", "VH10P", "VH09G", "VH09P", "VH08G", "VH08P", "VH08PP", "VH07G", "VH07P", "VH06G", "VH06P", "VH05G", "VH05P", "VH04G", "VH04P", "VH04PP", "VH03G", "VH03P", "VH02G", "VH02P", "MT10_Party", "MT10_GenericBallot", "MT10_Turnout", "MT10_ObamaDisapproval", "MT10_Jobs", "MT10_Healthcare", "MT10_SoCo", "PG01", "PG02", "PG03", "PG04", "PG05", "PG06", "PG07", "PG08", "PG09", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PG16", "PG17", "PG18", "PG19", "PG20", "PG21", "PG22", "PG23", "PG24", "PG25", "PG26", "PG27", "PG28", "PG29", "PG30", "PG31", "PG32", "PG33", "PG34", "PG35", "PG36", "PG37", "PG38", "PG39"
文件中包含了选民的姓名、出生日期、家庭住址、电话号码、注册党派、自述的种族以及选民登记状态,还包括政治团体采用的先进情绪分析来预测个人选民如何处理热门问题,如枪支所有权,干细胞研究和堕胎权,以及宗教信仰和种族等。
“data_trust”中还包含一个关于2016年选举的较小的文件夹,与2008年和2012年的文件夹不同,2016年的文件夹中只包含俄亥俄和佛罗里达州的.csv文件,可以看出这两个是最重要的战场。需要注意的是,整个“data_trust”文件夹可以被任何访问该数据库的人任意下载。
除了“data_trust”,数据库中还有一个名为“target_point”的文件夹。TargetPoint是一家总部位于弗吉尼亚州亚历山大市的“全方位市场研究和知识管理公司”,专门针对企业和政治客户进行“微目标定位(microtargeting)”的关键人口统计,曾在2008年Rudy Giuliani参加总统竞选、2008年McCain/Palin运动以及全国共和党参议院的连任活动中发挥重要作用。
TargetPoint 的联合创始人Alexander Gage曾担任总统候选人Mitt Romney的策略总监,他表示,
微目标定位(Microtargeting)正试图揭开选民的政治DNA,掌握的信息越多,效果就会越好。
在“target_point”文件夹中,有以Alteryx数据库格式(.yxdb,专为大规模数据分析设计的文件格式)保存的14个文件,大多数文件的最后更新日期在2017年1月中下旬,其中有几个标记为“联系人文件(Contact File)”,不同的日期表示更新时间。 该文件夹与上述的“data_trust”文件夹一样,没有任何安全保护,任何人都可以进行访问下载。
分析还发现,RNC的主要数据承包商除了Data Trust、TargetPoint Consulting、以及Deep Root Analytics外,还包括Causeway Solutions公司,它们通过一家名为“Needle Drop”的子公司与RNC进行合作。据悉,RNC支付数据库中提到的两家公司——Data Trust和TargetPoint的资金总额已经超过了500万美元。
根据联邦选举委员会的报告显示,2015年1月-2016年11月期间,RNC已经向TargetPoint公司支付了420万美元的数据服务费,向Causeway支付了50万美元。另外,还支付了Deep Root公司983,000美元。
总结
此次数据泄漏事件再一次引发了美国公民对其最特权信息的隐私和安全性担忧。美国选举进程的完整性已经被一系列针对国家选民数据库的网络攻击行为所破坏,这进一步引发了民众恐慌,不得不承认的是,网络风险确实会对一个国家的民主和政府机构构成威胁。
如此庞大的国家数据库可以在线创建和托管,即使是进行了安全配置一样会令人不安。这种收集大量个人敏感数据并将其存储在不安全的数据库中的行为,也进一步刺激了民众对于私营企业和政治运动的问责浪潮。
随着对于技术的依赖性进一步增加,以及数字平台的加速部署,网络风险面也在不断增长。除了黑市上的身份盗窃、欺诈和转售泄漏数据外,数据分析能力还可以被应用于其他更多途径——市场营销、垃圾邮件以及高级政治目标等。如果利益相关者可以遵循收集和存储数据的一些简单规则,就可以防止这些潜在的私人信息滥用现象。
这些泄漏数据揭露的根本问题并不罕见,大数据对选举的重要意义大家应该都略有了解。但是,现在我们要知道的是谁该为此次泄漏事件负责——被遗忘的数据库、第三方供应商风险、不当的权限,结合RNC的竞选操作共同制造了这场几乎前所未有的数据泄漏案。
虽然这场泄漏事件造成了非常深远的影响,但是如果所有平台上的网络弹性(cyber resilience,也称为运维弹性,是指网络在遇到灾难事件时快速恢复和继续运行的能力)精神不能够成为所有面向互联网的系统的通信语言的话,未来还将发生更为严重的泄漏事件,造成更具破坏性的影响。