现状
在数字时代,信息泄露与隐私侵犯紧密关联,给个人、企业乃至社会带来巨大挑战。信息泄露指数据未经授权,从原本安全的环境流向外部,例如黑客借助系统漏洞,非法获取企业数据库中储存的客户信息;隐私侵犯则是对个人私隐权益的侵害,涵盖过度收集、不当使用个人信息等行为,像某些 APP 在用户安装时,索要与功能无关的权限,收集个人敏感信息 。信息泄露往往是隐私侵犯的直接手段,隐私侵犯借助信息泄露得以实现,两者不仅威胁个人信息安全、造成财产损失,还会破坏企业信任基础,削弱公众对数字环境的信心,引发严重的社会信任危机。
后果
软件存在信息泄露、隐私侵犯会导致多方面的严重后果,以下是一些主要的方面:
- 个人层面
- 隐私曝光:个人的敏感信息如身份证号、银行卡号、家庭住址、医疗记录等被泄露,可能会被用于各种非法目的,如诈骗、勒索等,给个人带来精神上的压力和困扰。
- 经济损失:攻击者可能利用泄露的信息进行盗刷信用卡、冒用身份进行贷款等金融犯罪活动,导致个人遭受经济损失。据统计,每年因信息泄露导致的个人经济损失数额巨大。
- 名誉受损:个人的一些私密信息被公开,可能会对个人的名誉造成损害,影响其在社会、工作和家庭中的形象和地位。
- 企业层面
- 声誉受损:一旦软件被曝光存在信息泄露问题,用户对该软件及其所属企业的信任度会大幅下降,企业的品牌形象会受到严重损害,进而影响其市场竞争力和业务发展。
- 法律风险:企业可能会因违反相关法律法规,如数据保护法、隐私法等,而面临法律诉讼和巨额罚款。例如,欧盟的《通用数据保护条例》(GDPR)对企业的数据保护义务有严格规定,违反者可能面临高达数百万欧元的罚款。
- 商业机密泄露:企业内部的软件若存在信息泄露问题,可能导致商业机密、技术专利等重要信息被竞争对手获取,使企业在市场竞争中处于劣势。
- 社会层面
- 信任危机:软件信息泄露事件频发会引发社会公众对整个互联网环境和数字技术的信任危机,降低人们对数字化生活和在线服务的接受度和参与度,阻碍数字经济的健康发展。
- 社会不稳定因素:大规模的信息泄露可能导致社会秩序混乱,如个人信息被用于精准诈骗,可能使大量民众遭受损失,引发社会不稳定因素。此外,一些敏感信息的泄露还可能影响国家安全和社会稳定。
由于信息泄露、隐私侵犯事件时有发生,国内外也都在不断致力于针对软件导致的信息泄露隐私侵犯的预防和修正。
国外cwe信息泄露相关
Common Weakness Enumeration (CWE™)是一套比较全的缺陷漏洞库列表,它是由MITRE社区开发的具有安全影响的常见软件和硬件安全漏洞缺陷列表,包括:软件或硬件中的安全漏洞、缺陷、故障、bug以及其他错误共1000多条,如果这些错误不加以解决,可能会导致系统、网络或硬件容易受到攻击。其中有40多条都与信息泄露隐私侵犯相关的编码问题。如下表所示:
敏感信息相关cwe | 中文对照 |
CWE-200: Exposure of Sensitive Information to an Unauthorized Actor | CWE-200:向未经授权的行为者披露敏感信息 |
CWE-201: Insertion of Sensitive Information Into Sent Data | CWE-201:在发送的数据中插入敏感信息 |
CWE-202: Exposure of Sensitive Information Through Data Queries | CWE-202:通过数据查询暴露敏感信息 |
CWE-209: Generation of Error Message Containing Sensitive Information | CWE-209:包含敏感信息的错误消息的生成 |
CWE-210: Self-generated Error Message Containing Sensitive Information | CWE-210:包含敏感信息的自行生成错误消息 |
CWE-211: Externally-Generated Error Message Containing Sensitive Information | CWE-211:包含敏感信息的外部生成错误消息 |
CWE-212: Improper Removal of Sensitive Information Before Storage or Transfer | CWE-212:存储或传输前不正确删除敏感信息 |
CWE-213: Exposure of Sensitive Information Due to Incompatible Policies | CWE-213:不兼容政策导致敏感信息暴露 |
CWE-214: Invocation of Process Using Visible Sensitive Information | CWE-214:使用可见敏感信息调用进程 |
CWE-215: Insertion of Sensitive Information Into Debugging Code | CWE-215:将敏感信息插入调试代码 |
CWE-226: Sensitive Information in Resource Not Removed Before Reuse | CWE-226:资源中的敏感信息在重用前未删除 |
CWE-312: Cleartext Storage of Sensitive Information | CWE-312:敏感信息的明文存储 |
CWE-315: Cleartext Storage of Sensitive Information in a Cookie | CWE-315:Cookie中敏感信息的明文存储 |
CWE-316: Cleartext Storage of Sensitive Information in Memory | CWE-316:存储器中敏感信息的明文存储 |
CWE-317: Cleartext Storage of Sensitive Information in GUI | CWE-317:GUI中敏感信息的明文存储 |
CWE-318: Cleartext Storage of Sensitive Information in Executable | CWE-318:可执行文件中敏感信息的明文存储 |
CWE-319: Cleartext Transmission of Sensitive Information | CWE-319:敏感信息的明文传输 |
CWE-359: Exposure of Private Personal Information to an Unauthorized Actor | CWE-359:向未经授权的行为者暴露私人个人信息 |
CWE-497: Exposure of Sensitive System Information to an Unauthorized Control Sphere | CWE-497:将敏感系统信息暴露在未经授权的控制范围内 |
CWE-498: Cloneable Class Containing Sensitive Information | CWE-498:包含敏感信息的可克隆类 |
CWE-524: Use of Cache Containing Sensitive Information | CWE-524:使用包含敏感信息的缓存 |
CWE-525: Use of Web Browser Cache Containing Sensitive Information | CWE-525:使用包含敏感信息的Web浏览器缓存 |
CWE-526: Exposure of Sensitive Information Through Environmental Variables | CWE-526:通过环境变量暴露敏感信息 |
CWE-531: Inclusion of Sensitive Information in Test Code | CWE-531:在测试代码中包含敏感信息 |
CWE-532: Insertion of Sensitive Information into Log File | CWE-532:将敏感信息插入日志文件 |
CWE-535: Exposure of Information Through Shell Error Message | CWE-535:通过外壳错误消息暴露信息 |
CWE-536: Servlet Runtime Error Message Containing Sensitive Information | CWE-536:包含敏感信息的Servlet运行时错误消息 |
CWE-537: Java Runtime Error Message Containing Sensitive Information | CWE-537:包含敏感信息的Java运行时错误消息 |
CWE-538: Insertion of Sensitive Information into Externally-Accessible File or Directory | CWE-538:将敏感信息插入外部可访问文件或目录 |
CWE-539: Use of Persistent Cookies Containing Sensitive Information | CWE-539:使用包含敏感信息的永久Cookie |
CWE-540: Inclusion of Sensitive Information in Source Code | CWE-540:源代码中包含敏感信息 |
CWE-541: Inclusion of Sensitive Information in an Include File | CWE-541:在包含文件中包含敏感信息 |
CWE-548: Exposure of Information Through Directory Listing | CWE-548:通过目录公布信息 |
CWE-550: Server-generated Error Message Containing Sensitive Information | CWE-550:服务器生成的包含敏感信息的错误消息 |
CWE-612: Improper Authorization of Index Containing Sensitive Information | CWE-612:包含敏感信息的索引授权不当 |
CWE-615: Inclusion of Sensitive Information in Source Code Comments | CWE-615:在源代码注释中包含敏感信息 |
CWE-651: Exposure of WSDL File Containing Sensitive Information | CWE-651:暴露包含敏感信息的WSDL文件 |
CWE-922: Insecure Storage of Sensitive Information | CWE-922:敏感信息的不安全存储 |
CWE-1230: Exposure of Sensitive Information Through Metadata | CWE-1230:通过元数据暴露敏感信息 |
CWE-1243: Sensitive Non-Volatile Information Not Protected During Debug | CWE-1243:调试期间未保护的敏感非易失性信息 |
CWE-1244: Improper Access to Sensitive Information Using Debug and Test Interfaces | CWE-1244:使用调试和测试接口对敏感信息的不当访问 |
CWE-1258: Exposure of Sensitive System Information Due to Uncleared Debug Information | CWE-1258:未清理的调试信息导致敏感系统信息暴露 |
CWE-1272: Sensitive Information Uncleared Before Debug/Power State Transition | CWE-1272:调试/电源状态转换前未清理的敏感信息 |
CWE-1295: Debug Messages Revealing Unnecessary Information | CWE-1295:显示不必要信息的调试消息 |
CWE-1297: Unprotected Confidential Information on Device is Accessible by OSAT Vendors | CWE-1297:OSAT供应商可访问设备上的无保护机密信息 |
CWE-1324: Sensitive Information Accessible by Physical Probing of JTAG Interface | CWE-1324:JTAG接口物理探测可访问的敏感信息 |
国内GB/T信息泄露相关
国内推出的GB/T系列的GB/T34944-2017 《Java语言源代码漏洞测试规范》,GBT 39412-2020 《信息安全技术 代码安全审计规范》也都对信息泄露,隐私侵犯相关的软件编码进行了相关要求。
如GB/T39412中提到的
6.2.2.1 敏感信息暴露
6.2.2.2 个人信息保护
6.3.1.1 身份鉴别过程中暴露多余信息
6.4.2 信息丢失或遗漏
7.1.2 包含敏感信息类的安全
7.2.1 不同会话间信息泄露
9.3 保护重要配置信息
如GB/T34944中提到的:
3.10 信息通过持久cookie泄漏
3.7 信息通过错误消息泄露
3.8 信息通过服务器日志文件泄露
3.9 信息通过调试日志文件泄露
6.5 Cookie 中的敏感信息明文存储
6.6 敏感信息明文传输
解决方案
可见国内外对软件中信息泄露、隐私侵犯问题都非常重视。由北京北大软件工程股份有限公司自主研制开发的“库博静态代码分析工具”可以对软件中信息泄露相关的问题进行检测。
通过开展软件代码中信息泄露问题的检测,从保障用户权益的角度看,它能有效避免用户信息被非法获取,敏感数据不会因代码漏洞而泄露,极大降低用户遭遇诈骗、财产受损的风险。于企业自身而言,检测能提前识别代码中可能导致信息泄露的隐患,防止因数据泄露事件造成品牌声誉受损,避免因违反数据保护法规而面临的高额罚款,维持企业的正常运营。从更宏观的层面来说,大规模的代码检测能够营造健康的网络环境,增强公众对数字世界的信任,推动数字经济和互联网产业稳健、可持续发展。