Race Condition

6601
Race Condition

В техниках безопасного программирования есть такое понятие, как Race Condition. Перевожу сразу из учебника:

Две инструкции из разных потоков пытаются получить доступ к одним и тем же данным одновременно. Когда разработчик пишет приложение, потоки данных должны быть запрограммированы на последовательный доступ к данным. Сразу приводится пример:

Два футбольных фаната покупают билеты на финал Суперкубка. Когда они приходят на стадион, они обнаруживают, что проданные им билеты одно и то же место. Это большая прибыль для тех, кто продает билеты, но плохая ситуация для тех, кто покупает билеты.

В банковской отрасти это может означать, что нужно отслеживать выполнение распоряжений клиента, исходящих их разных мест. Например, в каждом банке (брокере, страховой компании, и т.д.) есть web-кабинет и мобильное приложение. Разумно сделать контроль сессий клиента, чтобы в единицу времени активной была только 1 сессия. Некоторые банки давно имеют такой контроль, а некоторые нет. Реализации могут быть следующими:

- при открытии второй сессии, пишется ошибка, что сессия клиента уже существует;

- при открытии второй сессии, первая сессия автоматически закрывается.

Этот контроль сделать несложно, так как чаще всего разные виды ДБО для клиентов - это лишь разные интерфейсы, ведущие к общей прикладной части и далее к общей БД.

Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
LIVE / 152-ФЗ
DOC#140
140
Обезличиваем ПДн
по Приказу РКН №140
Разбираем требования к обезличиванию персональных данных: пять методов регулятора, чек-лист и как автоматизировать процесс.
Узнать
Реклама. 16+ ООО «Гарда Технологии», ИНН: 5260443081

Евгений Шауро

Блог специалиста по информационной безопасности