Race Condition

Race Condition

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

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

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

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

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

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

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

Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
310K
долларов
до 18 лет
Антипов жжет
Ребёнок как убыточный
актив. Считаем честно.
Почему рожают меньше те, кто умеет считать на десять лет вперёд.

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

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

FREE
100%
Кибербезопасность · Обучение
УЧИСЬ!
ИЛИ
ВЗЛОМАЮТ
Лучшие ИБ-мероприятия
и вебинары — в одном месте
ПОДПИШИСЬ
T.ME/SECWEBINARS