Paypal 贝宝如何保证数据库的安全?

Paypal 贝宝如何保证数据库的安全?,paypal,Paypal,首先,我并不是想攻击贝宝。我想做的是创建一个类似的安全数据库 好的,如果我注册了paypal,我可以从我的信用卡或我的银行账户(如果我已经设置好的话)将钱“存入”我的paypal账户。当这种情况发生时,钱从我自己转移到贝宝。但并没有真正进入我的贝宝账户。那就是我的pay pal帐户不是一个实际的物理空间,里面有黄金。除非我错了,否则这里发生的是我的帐户在paypal服务器上的数据库表中,当我存款时,他们只需将“余额字段”从任意更改为+=我的存款。因此,如果有人能够侵入这个数据库,他们可以通过改变

首先,我并不是想攻击贝宝。我想做的是创建一个类似的安全数据库

好的,如果我注册了paypal,我可以从我的信用卡或我的银行账户(如果我已经设置好的话)将钱“存入”我的paypal账户。当这种情况发生时,钱从我自己转移到贝宝。但并没有真正进入我的贝宝账户。那就是我的pay pal帐户不是一个实际的物理空间,里面有黄金。除非我错了,否则这里发生的是我的帐户在paypal服务器上的数据库表中,当我存款时,他们只需将“余额字段”从任意更改为+=我的存款。因此,如果有人能够侵入这个数据库,他们可以通过改变“余额字段”中的值来增加他们的余额

paypal如何确保这种情况不会发生,以及您要修补他们使用的数据库系统。我猜不是MySQL,对吗

谢谢大家。

我怀疑它是MySQL——不是因为任何安全原因,只是像MySQL这样的东西在大型跨国金融系统中使用是不寻常的

我不知道贝宝的具体情况,但如果我制作这样一个系统,就必须有一个审计跟踪。这意味着你不仅仅在某个地方拥有
“myAccount.balance=100000000”
;你有一张交易表,上面写着在X日,你从/到(账户)得到了一笔金额为Y的(存款|借方)。它把它们加起来,这就是你的余额。如果有任何不检点的地方,他们都有审计线索可以查看,发现任何欺诈或无效的转账,并迅速纠正。如果有一个数据库字段中有您的余额,则只缓存它们的速度;“真正”的平衡来自审计跟踪


这和你平衡支票簿的方法是一样的:你跟踪流入和流出的资金,并把它们加起来看看你有多少;如果总数是错误的,您可以返回并查看输入和输出资金的日志以查找错误。

他们编写非常安全的代码,从不接受SQL注入攻击,并且他们的数据库服务器不在internet上。他们有一个专门的QA团队,测试任何新的东西,并执行无数的回归测试和一般测试脚本

他们可能雇佣一两名黑客试图破坏系统,但只有在失败时才需要支付费用。:-)


或者他们被黑客攻击,然后被起诉,然后破产。

如果你要处理任何客户财务数据(即,处理信用卡和/或借记卡交易),你必须符合PCI标准。这是由美国运通、Discover、JCB、万事达卡和Visa International制定的一套安全标准,如果您被审计或发现违反安全标准而不符合标准,则将处以高额罚款(每月5000至100000美元)。对于PCI合规性,您还需要每90天进行一次网络安全扫描,“必须由PCI SSC批准的扫描供应商进行。”


尽管PCI合规性并不能保证您的安全(它更多的是在网络级别验证安全性,而不是在应用程序级别),但它至少是最起码的起点。此外,您的应用程序在设计时应考虑到安全性,以防止SQL注入、会话hi劫持和其他常见的安全问题。

谁说他们有:)他们只是有很好的保险(我希望)好的,我想我理解。问题是,如果他们能够访问数据库,那么他们也可以生成一个虚假的书面记录,对吗?但贝宝并不是真空存在的;你可以在PayPal端生成一份虚假的书面记录,但当他们与其他银行进行匹配时,他们会发现虚假数据。例如,如果有人从美国银行12345账户存入100美元的假存款,他们可以去美国银行核实这笔交易是否真的发生过。在某个时候,如果交易是真实的,美国银行必须给贝宝100美元;如果PayPal没有收到,他们就知道出了问题。既然我不会运行自己的服务器,而且已经为MySQL编写了所有代码,那么让每个表有一个单独的MySQL用户,每个表只有一个用户的想法呢。这样,我基本上就可以把阿德里安说的交易表做成我们的四个五次,在我移动任何“钱”之前,检查每一个交易表。这样一来,黑客就必须先获得所有四个表的用户登录/通行证,然后才能真正进行黑客攻击。这有意义吗?这样行吗?我不知道几次登录会给你带来什么。您可以只使用一个具有非常复杂密码的登录名(例如,30个随机字母数字字符)。如果一个黑客能够得到这个密码,那么他们可能要么掌握了你使用的代码,要么从MySQL登录数据中提取了它——在这种情况下,他们可能会有其他密码。嗯,不确定你是否完全理解我的意思。我不是说创建4个可以访问所有内容的登录名,我是说为transTbl_1创建一个登录名(此登录名在MySQL中设置为唯一可以访问trasnTbl_1的用户,并且不能访问任何其他表)。然后为transTbl_2、transTbl_3等设置另一个,并消除任何可以访问多个表的超级用户,例如admin。然后,黑客必须访问所有四个表并在所有四个表中添加记录,然后才能更改帐户中的金额。黑客如何访问这些登录中的任何一个?如果实现了对单个登录的访问,那么您认为访问其他登录会有多困难?鉴于此,多次登录是否比一次登录更安全?好吧,这将是4倍困难。哈哈,对不起,我不想装可爱。我想他们会使用暴力?