Защита систем. Чему «Звездные войны» учат инженера ПО — страница 23 из 68

Использование журналов

Сами по себе журналы ничего не делают. Отказ обрабатывается технологическими системами, которые собирают журналы для использования людьми. Это может быть просто, как в случае «Вот скриншот вашего письма в папке со спамом», или гораздо сложнее в случае возврата платежа по кредитной карте.

Когда мы боремся с отказом, захватом учетной записи и мошенничеством, прозрачность подразумевается. Заявление «Мне жаль, что я не ответил на ваше письмо; я не получил его» звучит странно, если кто-то не сказал: «Почему вы не ответили на мое письмо?» Точно так же кто-то должен провести расследование, чтобы рассмотреть заявление о захвате учетной записи или мошенничестве.

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

Частые случаи

Давайте возьмем захват учетной записи в качестве линзы для детального рассмотрения того, что может потребовать частого и повторяющегося анализа. Если вы управляете большой системой для публичного использования, вы столкнетесь с захватом учетных записей. Ситуация усугубляется слабой аутентификацией (см. главу 1 «Спуфинг и аутентичность»), но для учетных записей с высокой стоимостью, например имеющих доступ к большому количеству криптовалют, злоумышленники потратят недели на изучение предыстории.

Когда вы имеете дело с отказом в форме заявления о захвате учетной записи, вы захотите собрать доказательства и оценить их. Вы захотите проверить различные элементы как сами по себе, так и в сочетании. Входит ли человек в систему с одного и того же IP-адреса? Клиент остается тем же? Есть ли у этих входов регулярный шаблон? Вы также захотите поискать аномалии, которые могут повлиять на ваше суждение. Были ли сотни попыток входа с этого IP-адреса? Миллионы попыток войти в систему с этим именем пользователя или паролем? Есть ли история жалоб со стороны владельца аккаунта?

Другими словами, вы должны активно искать доказательства, которые либо подкрепляют, либо опровергают заявление, а не только одно или только другое. И когда вы делаете это регулярно, факторы, влияющие на ваши решения, могут быть стандартизированы, и решения – переданы системам. Системы могут быть спроектированы таким образом, чтобы избежать различных когнитивных искажений, влияющих на людей. Есть целые профессии, где все еще используются люди, потому что кто-то не может расстаться с фантазией, что человек может заметить что-то странное в этом потоке отупляющего утомительного повторения. Но я бы не стал на это ставить. Я готов поспорить, что есть лучшие способы использования людей, такие как аудит или анализ, вместо того чтобы заставлять их весь день нажимать кнопку ОК. (Досмотрщикам багажа в аэропортах подкидывают фальшивое оружие и бомбы, потому что работа настолько утомительна, что разработчики системы ожидают, что они пропустят очень редкие настоящие бомбы. Мы должны извлечь из этого урок: если анализ журналов невероятно скучен, люди, пытающиеся им заниматься, станут неприятно отупевшими.)

Что делает частые просмотры частыми, так это то, что каждый раз необходимо собирать одни и те же доказательства, а значит, они отличные кандидаты на автоматизацию.

Менее частые случаи

Существуют и другие ситуации. Например, когда злоумышленник захватывает корпоративный компьютер под управлением Windows, действия, которые он предпринимает, и расследование включают в себя как стандартные шаги (выяснение того, какие средства были установлены или запущены или к чему они подключились), так и менее стандартные (просмотр выходных данных этих средств, просмотр RAR-файлов данных, которые необходимо извлечь, или поиск следов в других скомпрометированных учетных записях или машинах).

Такие ситуации, когда расследование не может быть полностью автоматизировано, чаще возникают при расследовании или аудите, чем при отказах.

Предсказуемые vs частые

Легко увлечься разговором о «предсказуемых» и «непредсказуемых» сценариях. Честно говоря, все сценарии использования в той или иной степени предсказуемы. Мы сталкиваемся с проблемами, когда забываем, что существует спектр, а не бинарный выбор. Детали могут отличаться, но это делает их менее распространенными, а не непредсказуемыми. (Кроме того, по мере увеличения детализации вещи становятся менее распространенными. Горадо реже кто-то является одновременно высоким и баскетболистом, чем просто высоким, потому что не каждый высокий человек играет в баскетбол. Но в одном исследовании за другим люди обычно описывают эту комбинацию как более вероятную.)

Совместное использование журналов

Кто и какие доказательства может видеть? Существует веский аргумент в пользу того, что хорошая безопасность системы не должна зависеть от чего-либо, что трудно изменить, поэтому вы должны быть в состоянии демонстрировать решения, принятые вашей системой. (Подробнее о безопасности через неясность и о принципе Керкгоффса, о вещах, которые трудно изменить, см. главу 7 «Предсказуемость и случайность».)

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

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

Кто кому доверяет, чтобы предоставлять доказательства? Это может быть одним из преимуществ журналов, созданных или хранимых третьей стороной, или использование блокчейнов или деревьев Меркла для предоставления доказательств того, что и когда было зарегистрировано.

Инструменты против мошенничества

Существует множество коммерческих инструментов для борьбы с мошенничеством, которые удачно вписываются в инструменты борьбы с отказом. Cybersource публикует полезный обзор, в котором описывает услуги по валидации ваших собственных данных, данных продавцов, работающих с общим POS, и отслеживание устройств для покупок. Инструменты валидации включают проверку карт и проверку номеров телефонов или адресов на действительность. Ваши данные включают в себя то, что купил клиент, скорость выполнения заказа и поведение на сайте. Отслеживание устройств – это такие инструменты, как отпечатки пальцев и геолокация. Их использование может значительно сократить количество мошеннических заказов, при этом сводя к минимуму влияние на реальные заказы и реальных клиентов.

Заключение

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

Возвращаясь к диалогу из начала главы: Дарт Вейдер не просто изменяет некоторые условия сделки – он полностью отказывается от нее. Сделка должна была заключаться в обмене «кого-то по имени Скайуокер» на то, что Империя закроет глаза на Облачный город. В конце Империя забирает Люка, Лею и Чуи, а Хана отдают Бобе Фетту с охранниками из имперского гарнизона.

Другой пример отказа – когда Люк Скайуокер противостоит Оби-Вану Кеноби, говоря: «Ты сказал мне, Дарт Вейдер предал и убил моего отца!» Ответ Оби-Вана таков: «Я сказал тебе правду… в определенном смысле». Этот разговор связан с более глубокой истиной, которая заключается в том, что во многих случаях отказа доверие уже подорвано. Не только мёртвые джедаи искажают факты, пытаясь казаться последовательными. Наличие сигнатур или журналов и программное обеспечение для последовательного поиска в них может избавить вас от попыток вернуться к оценке с помощью своих чувств. Возможно, для джедаев такое работает, но это плохая форма доказательства.

4Раскрытие информации и конфиденциальность

В первой сцене «Звездных войн» корабль принцессы Леи преследуют, и мы быстро узнаём, что Империя надеется вернуть украденные чертежи «Звезды смерти». Начиная с первой сцены и заканчивая кульминацией, «Звездные войны: Новая надежда» – это история раскрытия информации и ее последствий. Я понятия не имею, почему люди говорят, что это о пути взросления Люка, о его отношениях с отцом или о чем-то еще. Конечно, в этом эпизоде «Звездных войн» есть много нераскрытой информации, например о том, что случилось с отцом Люка, где на самом деле находится база повстанцев или о плане Империи уничтожить Альдераан, чтобы продемонстрировать удивительную мощь «Звезды смерти».

Важный признак раскрытия информации – то, что информация является чьей-то тайной. Нарушение конфиденциальности может быть раскрытием для немногих избранных, общественности или любой группы, кроме тех, кто и так уже в курсе.

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

Конфиденциальная информация часто содержится в самих данных, но иногда это информация о данных, то есть метаданные. Сюда также может входить информация о том, кто с кем разговаривает. Информация о файлах, даже о существовании Манхэттенского проекта, должна быть скрыта (эй, да ладно, мне иногда приходится отходить от «Звездных войн»).