Главная Новости

Сокращение поверхности атаки


Опубликовано: 05.09.2018

видео Сокращение поверхности атаки

Вторая Мировая Война. Подводный Ад

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



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


Китай объявил кибервойну Западу? (новости)

Web-приложение также обладает поверхностью, подверженной атаке. Она состоит из каждой динамичной web-страницы, каждого открытого TCP/IP порта, каждой системы аккаунта и каждого запущенного приложения или сервиса, находящихся во взаимосвязи с другими факторами. На сокращение поверхности, подверженной атаки, направлено много усилий. Брандмауэр, например, ограничивает число TCP/IP портов, имеющих доступ. В самом приложении также существует множество методов ограничения поверности, подверженной атаке.

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

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

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

Неиспользованный код

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

http://search.microsoft.com/search/results.aspx7na=81&st=a&View=enus&qu=asp.net&qp=&qa=&qn=&c=2&s=0

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

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

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

Подсказка: Разработчики программного обеспечеия должны проводить тестирование и устранение неисправностей кода, и вы неизбежно обнаружите код, который кто-то забыл удалить. Чтобы предотвратить это, установите метод кодирования так, чтобы всегда использовать ту же схему тестирования или других временных переменных. Это облегчает быстрый поиск любого оставшегося кода, который не должен попасть в производственную среду.

Ограничение доступа

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

Внимательно изучите распределение прав доступа к следующим свойствам:

Он-лайн-демонстрация. Вы можете захотеть продемонстрировать свойства вашего приложения при помощи он-лайновой демонстрации, но это разрешит всем желающим получить право доступа к вашему коду. Вместо этого, предложите статистическую демонстрацию HTML, которая только стимулирует свойства приложения. При этом вам не нужно фиксировать никакие уязвимости, которые могут иметь место, но это позволит вам сократить поверхность, подверженную атаке, предоставляя право доступа только для покупателей или зарегистрированных пользователей. Администрация или модули управления содержанием. Ваши административные страницы могут требовать аутентификации для получения доступа, но сама страница аутентификации может быть уязвлена. Установите ограничения прав доступа к административным модулям, усилив IP-ограничения, используя сокрытые порты, сертификаты клиентов и перенеся административные модули на отдельный web-сайт. Интранет или экстрнет модули. Установите ограничения доступа к модулям интранет или экстранет при помощи тех же методов, которые используются для административных модулей. Образец кода и приложения. Многие web-серверы или приложения поступают с образцом кода или кодом по умолчанию, или программой, которая всегда должна быть удалена при перемещении в производственную среду. Приложения третьей стороны. Многие организации предпочитают покупать, а не создавать определенные свойства для своих web-приложений. Существуют тысячи широко доступных поисковых служб, гостевых книг, управлений пользователями и систем управления содержанием. Использование одной из них не сделает вас уязвимым, но подумайте, что практически любой человек может получить право доступа к исходному тексту. Такая всеобщая доступность к коду может привести к увеличению поверхности, подверженной атаке, особенно, если это популярный компонент, используемый на многих web-сайтах. Некоторые хакеры обнаружат уязвимые места этих компонентов, а затем при помощи поисковой службы выяснят, какие именно web-сайты используют этот компонент. Если вы используете компонент третьей стороны, попытайтесь скрыть их идентификационную информацию и всегда внимательно просматривайте и тестируйте код.

Способы защиты

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

1630

rss