Фальсификация фальсификации. Вторая серия.

Вторая серия.

Краткое содержание предыдущей серии: Подлинность зависит от контекста. Для каждого контекста — своя процедура определения подлинности. В разных контекстах подлинность одного и того же может оказаться разной.



Я прихожу в банк со своими честно (или не очень) заработанными деньгами. Положить свои деньги на депозит, и получить потом проценты. Первый этап: менеджер банка дает мне много разных бумажек и я их подписываю. Один экземпляр остается у меня, другой — в банке. Мы в контексте бумажных документов. Процедура проверки подлинности — проверка соответствия содержания моих экземпляров и тех которые в банке. Строго согласно Закону, чтобы получить назад свои деньги (с процентами) достаточно подтвердить подлинность документов согласно указанной процедуре.



Но работать с бумагой долго и дорого. Поэтому менеджер банка вводит данные из документов в банковскую компьютерную программу. И тем самым меняет контекст. Из контекста бумажных документов мы попадаем в контекст банковской программы. Процедура проверки подлинности — сверка содержания моего комплекта документов, и того что менеджер видит у себя на мониторе компьютера.



На этом история не заканчивается. Хакер Вася, получив прямой доступ к базе данных банковской программы, минуя программные интерфейсы (а получить прямой к базе данных всегда проще), вносит некоторые изменения в базе данных, в результате которых, сумма моего вклада увеличивается в несколько десятков раз. Вася работает в контексте прямого доступа к базе данных. Процедура проверки подлинности в этом контексте — проверка целостности базы данных. Вообще-то, для правильно спроектированной базы данных, система управления базой данных (СУБД) не должна была позволить Вася совершить это мерзкое деяния, СУБД не должна позволять выполнять действия ведущие к нарушению целостности.

Но в реальной жизни правильно спроектированные базы данных мне как-то не попадались. И потому в реальных, достаточно сложных базах данных всегда есть нарушения целостности. И почти всегда — это не результат чьего-либо злого умысла, а следствие ошибок проектирования и эксплуатации.



Проходит время, и я, совсем не подозревая об происках хакера Васи, прихожу в банк за своими деньгами (с процентами). Менеджер банка, в полном соответствии с процедурой проверки подлинности в контексте банковской программы (а он работает именно в этом контексте) с удивлением обнаруживает, что одних процентов по вкладу мне начислено больше, чем была сумма первоначального вклада. Явное нарушение подлинности. А разбираться кто и где чего подделал — это не его компетенция.



Что произошло. Хакер Вася, работая в контексте прямого доступа к базе данных, нарушил подлинность моего вклада в контексте банковской программы (в котором работают банковские менеджеры). Произвел фальсификацию фальсификации. И не смотря на явную подлинность в контексте бумажных документов (который теоретически является главным) я, в лучшем случае, получу свои деньги очень не скоро.



Выводы:

  1. Работая в одном контексте можно изменить подлинность в другом контексте.

  2. Все предпочитают оставаться в рамках привычного контекста (банковский менеджер предпочитает доверять тому, что видит на мониторе своего компьютера)

  3. При любых сомнениях по поводу подлинности работает презумпция фальшивки.

  4. Провести фальсификацию фальсификации всегда проще, чем просто фальсификацию.



(продолжение, возможно, следует)