原创 KK安全说
近期,我个人突然对了货币交易所的渗透产生了兴趣,又看到最近Wazir-X 多重签名钱包遭受网络攻击,2.3 亿美元被盗,就在这里和大家讨论加密货币交换的安全性,我们将了解加密货币交换的组成部分以及如何对其进行渗透测试。
1.用户界面(网络和移动应用程序):这是在网站或移动应用程序中向用户呈现的屏幕,用于注册/登录、下订单以及存款和取款。
在这里我们将检查注册和 KYC 流程,绕过或伪造身份验证。用户身份验证和恢复、2FA oAuth、网络钓鱼和污损相关检查。
授权检查和足够的安全措施检查。输入-输出清理、上传-下载验证测试、PII、源代码和其他敏感信息披露。存款和取款功能检查,如参数操纵/污染、业务逻辑错误、舍入错误。
前端和后端技术 CVE 以及 Web 和移动应用程序渗透测试。
2.交易引擎:这是交易所最重要的部分,负责订单匹配和执行、订单类型和交易结算。它主要是中心化交易所的后端软件和与去中心化和混合交易所的链下数据馈送相连的智能合约。
在这里我们将检查所有厚客户端漏洞(SQL 注入、DLL 劫持等),并执行代码审查和代码静态分析。
逻辑错误、安全配置错误、价格反馈(汇率)问题、基于时间的执行攻击(基于时间的 SQL 和竞争条件)、不正确的余额更新和舍入、订单泛滥/溢出。
3.钱包系统:钱包系统管理交易所内加密货币的存储和转移,在交易所中它主要是托管钱包,其他两种类型是热钱包和冷钱包。
图片
在钱包的安全测试中,我们将检查加密问题和攻击、私钥泄漏、身份验证和多因素身份验证问题、种子短语的安全备份和安全存储。网络钓鱼预防还执行代码审查和代码静态分析
4.订单簿:订单簿是一个数字账本,列出了交易所所有未结的买卖订单。它通过显示市场深度来提供透明度和流动性。订单簿通常包括:
买单:用户下达的买单。
卖单:用户下达的卖单。
市场深度:市场深度显示人们愿意以不同价格买入或卖出多少资产。
我们需要对胖客户端 Owasp 胖客户端和智能合约 owasp 智能合约等测试用例进行代码审查和代码静态分析。
实时馈送攻击(基于时间的 SQL 和竞争条件)、网络嗅探和加密攻击、数据操纵和 DDOS 测试、Oracle 操纵攻击。回合错误。不正确的身份验证和授权。对资源的访问配置错误。
5.匹配引擎:匹配引擎根据预定义的规则和算法来匹配买卖订单。
我们需要对胖客户端 Owasp 胖客户端和智能合约 owasp 智能合约等测试用例进行代码审查和代码静态分析。安全配置错误和缺乏足够的安全措施。
重放攻击、抢先交易、夹层攻击、不当订单过滤、缺失率限制和 DDOS 或订单下单功能。
6. API 和 Oracles: API(应用程序编程接口)层允许外部应用程序和服务与交易所交互。它包括:
公共 API:提供对市场数据、订单簿信息和交易对的访问。
私有 API:使用户能够管理其帐户、下订单和访问交易历史记录。
预言机:预言机提供加密资产和法定货币的实时价格。
我们需要进行代码审查和代码静态分析。测试OWASP API TOP 10攻击和Oracle操纵攻击。敏感数据暴露和注入攻击。公共API不暴露私有数据或路径。
7.支付网关:促进法定货币的存入和提取,与银行和支付处理商整合。(这可能超出了某些范围,因为它可能是第三方)
我们需要检查支付网关是否接受负值或 0。竞争条件、响应和参数操纵以及不正确的访问控制。错误消息中的敏感信息。
8. 数据库:数据库管理系统存储与用户帐户、交易、订单簿等相关的所有数据。
我们需要检查访问控制、身份验证和 SQL/No Sql 注入。足够的安全控制和安全错误配置。
这是加密交换的关键组件,我们还有一些其他组件,如下所示。
1.监控和分析:持续监控和分析对于维护交易所的性能和安全至关重要。这包括:
实时监控:跟踪系统性能、用户活动和潜在的安全威胁。
分析:分析交易模式、用户行为和市场趋势以做出明智的决策。
- 客户支持:客户支持帮助客户,并帮助解决系统中的任何问题、故障或错误配置。
服务台:为用户咨询和问题提供支持票务系统。
实时聊天:为遇到问题的用户提供实时帮助。
它们大多由第三方处理和实施,因此超出了我们的范围。
应该始终检查一些最佳实践,所使用的加密协议是否最新、是否强大,应该启用多因素身份验证,应该实施 DDOS、勒索软件和网络钓鱼保护。
应该对员工进行社会工程攻击和网络攻击基础知识的教育,用户应该有安全实践,开发人员应该实施安全编码实践和 SSDLC。
应实施持续监控和漏洞管理。应进行定期安全审计和渗透测试。
标签:加密,渗透,代码,身份验证,用户,订单,API,测试 From: https://www.cnblogs.com/o-O-oO/p/18374543