Как PayPal обеспечивает безопасность своей базы данных? - PullRequest
0 голосов
/ 03 июня 2011

Во-первых, я не пытаюсь взломать PayPal.Я пытаюсь создать аналогичную безопасную базу данных.

ОК, поэтому, если я зарегистрируюсь в PayPal, я могу «внести» деньги на свой счет PayPal с моей кредитной карты или с моего банковского счета.если я это настрою.Когда это происходит, деньги переводятся из меня в PayPal.Но не совсем на мой счет PayPal.То есть мой счет платного друга не является реальным физическим пространством с золотом в нем.Если я не ошибаюсь, то, что происходит здесь, моя учетная запись находится в таблице базы данных на серверах PayPal, и когда я делаю депозит, они просто меняют «поле баланса» с любого на + = мой депозит.Таким образом, если кто-то сможет взломать эту базу данных, он сможет увеличить свой баланс на что угодно, просто изменив значение в «поле баланса».

Как PayPal гарантирует, что этот наклон не удастсяслучиться, и какую систему БД вы думаете, они используют.Я бы предположил, что НЕ MySQL, верно?

Спасибо всем.

Ответы [ 3 ]

1 голос
/ 03 июня 2011

Они пишут чрезвычайно безопасный код, никогда не открываются для атак с использованием SQL-инъекций, и их сервер баз данных не сидит в Интернете.У них есть специальная команда QA, которая проверяет все, что угодно, и выполняет множество регрессивных тестов и сценариев общего тестирования.

Они, вероятно, нанимают одного или двух хакеров, чтобы попытаться взломать систему - но им нужно только заплатитьесли они потерпят неудачу.: -)

Либо так, либо их взломали, потом подали в суд, затем обанкротили.

1 голос
/ 03 июня 2011

Если вы собираетесь обрабатывать какие-либо финансовые данные клиента (т. Е. Обрабатывать транзакции по кредитным и / или дебетовым картам), вам необходимо быть совместимым с PCI. Это набор стандартов безопасности, установленный компаниями American Express, Discover, JCB, MasterCard и Visa International, которые налагают большие штрафы (от 5000 до 100 000 долларов США в месяц), если вы проходите аудит или имеете нарушения безопасности и обнаруживаете, что не соответствуют стандартам , Для соответствия требованиям PCI вам также необходимо проводить сканирование безопасности сети каждые 90 дней, которое «должно проводиться утвержденным поставщиком сканирования PCI SSC».

Хотя соответствие PCI не является гарантией вашей безопасности (оно делает больше для проверки безопасности на сетевом уровне, а не на уровне приложений), это как минимум минимальная отправная точка. Кроме того, ваше приложение должно быть спроектировано с учетом требований безопасности для защиты от внедрения SQL-кода, перехвата сеансов и других распространенных проблем безопасности.

1 голос
/ 03 июня 2011

Я сомневаюсь, что это MySQL - не из-за каких-либо соображений безопасности, просто необычно, что MySQL используется в крупной международной финансовой системе.

Я не знаю PayPal специально, но если бы я делал такую ​​систему, должен был быть контрольный журнал.Это означает, что у вас не просто где-то есть "myAccount.balance = 100000000";у вас есть таблица транзакций, в которой говорится, что на дату X вы получили (депозит || дебет) с / на (счет) на сумму Y. Она складывает их, и это ваш баланс.Если есть когда-либо несоответствие, у них есть тот контрольный журнал, чтобы просмотреть и найти любые мошеннические или недействительные передачи и исправить это быстро.Если есть поле базы данных с вашим балансом, оно только кэширует их для скорости;«реальный» баланс поступает из этого контрольного журнала.

Это то же самое, что вы балансируете свою чековую книжку: вы отслеживаете входящие и исходящие средства и суммируете их, чтобы увидеть, сколько у вас есть;если общая сумма неверна, вы возвращаетесь и просматриваете свой журнал входящих и исходящих средств, чтобы найти ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...