Подтвердить что ты не робот

Взлом сайта - почему это всегда можно сделать?

мы знаем, что каждый исполняемый файл может быть реконструирован (разобран, декомпилирован). Нет матери, насколько сильная безопасность вы будете реализовывать, так или иначе, если крекеры хотят, они делают трещины!!! Только это вопрос времени.

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

4b9b3361

Ответ 1

Можем ли мы сказать, что сайт может быть полностью безопасным от атак хакеров?

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

Ответ 2

Да, это всегда можно сделать. Всегда есть способ.

Он, как мой дедушка, всегда говорил:

Замки предназначены для поддержания честности люди вне

Ответ 3

Вы можете легко написать webapp, математически доказано, что он защищен... Но это доказательство будет выполняться только до тех пор, пока основная операционная система, интерпретатор и компилятор будут защищены, что никогда не будет.

Ответ 4

Главное, чтобы помнить, что веб-сайты обычно являются частью огромной и сложной системы, и на самом деле не имеет значения, входит ли хакер в систему через веб-приложение или какую-либо другую часть всей инфраструктуры. Если кто-то может получить доступ к вашим серверам, маршрутизаторам, DNS или тому подобное, они могут снизить даже лучшее веб-приложение. По моему опыту многие системы в той или иной степени уязвимы. Таким образом, "полностью безопасный" означает либо "мы очень стараемся обеспечить платформу", либо "мы не имеем никакого представления, но мы надеемся, что все будет в порядке". Я видел и то, и другое.

Ответ 5

Подводя итог и добавьте к предыдущим сообщениям:

  • Веб как общий ресурс. Веб-сайты полезны, пока они доступны. Предоставьте веб-сайт недоступным, и вы его сломали. Атаки на отказ в обслуживании дополняют наводнение сервера, так что он больше не может реагировать на законные запросы, всегда будет фактором. Это игра, которая держится подальше - большие серверные сайты находят способы распространения, хакеры находят способы потопить.
  • Динамические данные = динамический риск. Если пользователь может вводить данные, есть шанс, что хакер станет средством. Сегодня основными понятиями являются межсайтовый скриптинг и SQL-инъекция, но как только один аспект для взлома выясняется, есть вероятность, что другой механизм будет расти. Вы могли бы, по-видимому, утверждать, что полностью статический сайт может быть защищен от этого, но тогда сколько полезных сайтов соответствует этому счету?
  • Сложность= более сложная, сложнее защитить - с учетом быстрой смены технологии я сомневаюсь, что любой веб-разработчик мог бы сказать со 100% уверенностью, что современный веб-сайт был в безопасности - там слишком много неизвестный код. Отвлекая хозяина (сервер, сетевые протоколы, ОС и, возможно, базу данных), все еще есть все новые новые библиотеки в Java EE и .Net. И даже менее корпоративная архитектура будет иметь некоторую серьезную сложность, которая заставляет сознавать, что все потенциальные входы и выходы кода непозволительно сложны.
  • Проблема аутентификации= по определению, веб-сайт позволяет удаленному пользователю делать что-то полезное на удаленном сервере. Знание и доверие к другому концу общения - старая задача. В настоящее время аутентификация на стороне сервера относительно хорошо реализована и понятна и (насколько я знаю!) Никто не смог взломать PKI. Но получение аутентификации пользователей сглажено все еще довольно сложно. Это выполнимо, но это компромисс между трудностями для пользователя и конфигурации, а также система с более высоким риском уязвимости. И даже сильная система может быть нарушена, если пользователи не соблюдают правила или когда происходят несчастные случаи. Все это не применяется, если вы хотите сделать общедоступный сайт для всех пользователей, но это сильно ограничивает возможности, которые вы сможете реализовать.

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

Ответ 6

Сайты сильно страдают от injection и межсайтовый скриптинг атак

Межсайтовый скриптинг, выполняемый на веб-сайтов было примерно 80% всех задокументированные уязвимости безопасности, как 2007 г.

Также часть веб-сайта (на некоторых веб-сайтах очень много) отправляется клиенту в виде CSS, HTML и javascript, который открыт для проверки кем-либо.

Ответ 7

Не использовать nitpick, но ваше определение "хорошего хостинга" не предполагает, что HTTP-сервис, запущенный на хосте, полностью свободен от эксплойтов.

Популярные веб-серверы, такие как IIS и Apache, часто исправляются, чтобы защитить от таких эксплойтов, которые часто обнаруживаются таким же образом, как обнаружены эксплойты в локальных исполняемых файлах.

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

Ответ 8

Невозможно сделать что-либо на 100% безопасным.

Все, что можно сделать, - это сделать что-то достаточно сложное, чтобы ворваться в то, что время и усилия, потраченные на это, не делают этого.

Ответ 9

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

Короткий ответ: да.

Ответ 10

Возможно, это неправильный сайт, чтобы обсудить это. Однако широко известно, что безопасность и удобство использования обратно пропорциональны. См. Этот post от Брюса Шнайера (что относится к другому сайту, но в блоге Schneier есть много интересных чтений по этому вопросу).

Ответ 11

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

Ответ 12

Говорить "полностью безопасно" - это плохо, поскольку он будет указывать две вещи:

  • не было надлежащего анализа угроз, потому что достаточно безопасный был бы "правильным" термином
  • поскольку безопасность всегда является компромиссом, это означает, что полностью защищенная система будет иметь ужасную удобство использования, и сайт будет огромным ресурсом hog, поскольку безопасность была снята с ума.

Поэтому вместо того, чтобы пытаться достичь "полной безопасности", вы должны:

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

Ответ 13

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

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

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

Даже если вы удалите возможность злонамеренного человека с ключами ко всему, что утечка данных из уравнения, глупость человека бесконечна. Нет такой вещи, как 100% -ная безопасность.

Ответ 14

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

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

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

Ответ 15

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

Вы можете начать меньше и доказать свою работу правильно и безопасно по мере ее создания, переделывая любые готовые компоненты, которые не были разработаны с такой высокой степенью качества, но, к сожалению, это оставляет вас в массовом коммерческом недостаток по сравнению с людьми, которые могут писать 99% безопасного программного обеспечения в 1% случаев. Поэтому редко существует хорошая причина для продвижения по этому пути.

Ответ 16

Ответ на этот вопрос близок к идеям о вычислительной теории, которые возникают из рассмотрения проблемы остановки. http://en.wikipedia.org/wiki/Halting_problem В этом случае, если бы вы могли с ясностью сказать, что вы разработали способ программно определить, была ли какая-либо конкретная программа безопасной, близко к опровержению неразрешимости проблемы с остановкой в ​​классе машин, с которыми вы работали. Так как проблема неразрешимости проблемы остановки была доказана, мы можем знать, что над машинами для обучения вам не удастся доказать надежность, поскольку проблема безопасности сводится к проблеме остановки. Даже для конечных машин вы могли бы решить все состояния программы, но Минск сказал бы нам, что время, необходимое для полного дерева состояний для даже упрощенных современных компьютеров и веб-серверов, будет огромным. Вы, вероятно, знаете много о конкретной части кода, но как только вы изменили код или обновили его, потребуется полный повторный тест. По сути, это интересно, потому что все это сводится к понятию информации и смысла. Читайте об автоматизированной теории, чтобы лучше понять пределы вычислительных систем. http://en.wikipedia.org/wiki/Automated_theorem_proving

Ответ 17

Дело в том, что хакеры всегда на шаг впереди разработчиков, вы никогда не сможете считать сайт пуленепробиваемым и на 100% безопасным. Вы просто избегаете вредоносных вещей, сколько сможете! Фактически, вы должны следовать за "белым" подходом, а не к черному списку, когда речь идет о безопасности.