У меня есть идея против mitm (человек в середине) атак, которые я хотел бы реализовать на своем сайте, поэтому я решил спросить вас, насколько это безопасно. Во-первых, я получил бы 10 страниц загрузки с клиентского компьютера в считанные секунды. Затем я рассчитал стандарт со всеми этими временами загрузки. Затем каждый раз, когда пользователь загружает новую страницу, я проверяю, изменился ли его / ее IP-адрес, и если он изменился, я пересчитываю этот стандарт и сравниваю его с предыдущим стандартом. Если этот стандарт на 1 или 2 больше, это не имеет значения, но если это 4, я могу выйти из системы. Затем, если у злоумышленника будет медленное интернет-соединение, он выйдет из системы. Я уверен, что я не единственный, кто думал об этом, но я не знаю, используется ли это.
Есть много причин, почему это плохая идея, но:
самые большие два.
Даже если ваша идея сработала так, как вы намеревались сделать и описали выше, у нее есть проблемы:
Если он используется автономно, он не защищает от пассивных атак «человек посередине», поэтому злоумышленник все равно сможет украсть куки, пароли, кредитные карты и т. Д.
Если планируется использовать его в дополнение к TLS, возникает вопрос: почему? Если TLS достаточно, это не нужно, и TLS довольно хорошо.
Но давайте предположим, что TLS сломан. Если атака на TLS является пассивной, то мы возвращаемся к первому сценарию — нет защиты от пассивного злоумышленника. Если атака на TLS активна, значимой защиты по-прежнему нет: ваш сервер отклонит запрос, но к тому времени поздно. Злоумышленник уже видел запрос — и файл cookie / пароль / кредитная карта, которые были в нем!
Многие пользователи меняют IP-адреса, и многие пользователи имеют очень переменную задержку. Вы будете все время их отключать, что будет для них ужасным опытом. Я предполагаю, что это затронет мобильных пользователей в частности.
TLS — это результат большой кропотливой работы в течение длительного периода времени со стороны большого количества умных людей: я не имею в виду никакого оскорбления для вас, когда я говорю, что вы вряд ли придумаете что-то лучшее самостоятельно.
Инновации в области безопасности обычно приходят от людей, уже знакомых с основной работой, которые делают улучшения в дополнение к тому, что было раньше. Вот почему:
Современная безопасность — это результат того, что многие люди в течение длительного периода времени совершают множество ошибок и документируют эти ошибки, чтобы учиться на них и избегать их повторения. Если вы хотите создать свои собственные механизмы безопасности, вам придется сделать очень большое количество ошибок (ошибок, которые хорошо документированы и о которых знают все злоумышленники!), Прежде чем вы их догоните.