Kav-soft.ru

ПК Софт
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Безопасность сетевых приложений

Information Security Squad

stay tune stay secure

Оценки безопасности мобильных приложений: лучшие практики для запуска и поддержки безопасного приложения

Рассматриваете ли вы оценку безопасности мобильного приложения?

Узнайте о 5 лучших способах компрометации приложений и основных видах тестирования и передовых методах.

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

Согласно отчету Nielsen Total Audience за первый квартал 2018 года, средний потребитель в США тратит в среднем три часа и 48 минут в день на цифровые носители, а потребители тратят 62% этого времени на приложения и использование Интернета через смартфоны.

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

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

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

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

Что такое безопасность приложений и почему это важно?

Безопасность приложений — это процесс тестирования и проверки приложения на предмет защиты мобильных приложений, веб-приложений или API от потенциальных атак.

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

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

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

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

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

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

Внедрение эффективной безопасности приложений — стоящее вложение.

Безопасность мобильных приложений: 5 главных угроз безопасности для мобильных устройств

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

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

По словам Николаса Фирна, в 2017 году число атак на мобильные приложения возросло на 63%, поэтому крайне важно быть в курсе самых серьезных угроз безопасности для мобильных устройств.

1. Незащищенный Wi-Fi

Неподтвержденные серверы и незащищенные сети Wi-Fi в кофейнях или книжных магазинах — это рай для хакеров, не говоря уже об одной из самых серьезных угроз безопасности для мобильных устройств.

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

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

Инициаторы угроз могут использовать эти незащищенные сети для доступа к конфиденциальным данным непосредственно с телефонов или приложений.

2. Приложения с вредоносным кодом

Пользователи смартфонов загрузили 197 миллиардов мобильных приложений в 2017 году.

Однако пользователи могут загружать приложения со сторонних веб-сайтов вне Google Play Store или Apple App Store.

Хакеры могут использовать незащищенные приложения для использования конфиденциальных данных от мобильных пользователей.

Например, вредоносное вредоносное мобильное приложение под названием «Gooligan» заразило 1,3 миллиона пользователей Android, и субъекты угроз смогли украсть пользовательские данные.

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

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

3. Уязвимости операционной системы

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

Пользователю смартфона периодически рекомендуется обновлять операционные системы (например, пользователям iPhone в операционных системах iOS).

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

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

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

4. Утечки данных

Мобильные приложения обычно хранят данные на удаленных серверах.

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

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

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

5. Проблемы криптографии

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

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

Программное обеспечение Android просто проверяет, что приложение имеет цифровую подпись, и не обязательно проверяет надежность подписавшего.

Такой дизайн цифрового доверия повышает важность загрузки приложений из официального источника.

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

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

Субъекты угроз могут использовать эти уязвимости или грабить данные с взломанного мобильного устройства.

Что такое тестирование мобильных приложений?

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

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

Читайте так же:
Безопасность сетевых ресурсов

Тестирование безопасности мобильных приложений требует передовых знаний и ресурсов.

Эксперты по безопасности часто создают реалистичные кибератаки для выявления потенциальных рисков.

Они проверяют не только мобильное приложение, но и всю внутреннюю систему, поддерживающую инфраструктуру и API.

Тестирование проникновения мобильных приложений: найдите свои уязвимости

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

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

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

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

Аналитики безопасности часто используют два типа тестов на проникновение: тесты black box и white box.

1. Тестирование white box (статическое тестирование безопасности приложений)

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

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

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

Тестирование white box занимает меньше времени, чем тестирование black box , потому что оно использует предыдущие исследования безопасности для руководства смоделированными атаками; однако, это не так реалистично.

2. Тестирование black box

Тестирование black box имитирует, как неосведомленный злоумышленник попытается использовать уязвимости.

Специалисты по безопасности внедряют различные угрозы для анализа уровня безопасности мобильного приложения.

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

Консультанты Secureworks® объединяют аспекты этих методов при проведении мобильного тестирования.

Комбинируя подход информированного злоумышленника с методами тестирования черного ящика, консультанты могут эффективно тестировать компоненты мобильной среды за меньшее время, чем один только black box тест.

Лекция 16: Обеспечение безопасности веб-приложений

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

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

Веб- сервер формируется несколькими слоями ПО (рис. 23.1), каждый из которых подвержен разнообразным способам атаки

Обеспечение безопасности операционной системы реализуется путем установления последних обновлений системы безопасности, регулярно выпускаемых разработчиками этой ОС.

Также следует вовремя обновлять все программное обеспечение , работающее на веб-сервере. Любое ПО , не относящееся к необходимым компонентам (например, DNS — сервер либо средства удаленного администрирования наподобие VNC или служб удаленных рабочих столов), следует отключить или удалить.

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

Атаки веб-серверов можно разделить на две категории: локальные и глобальные.

Локальные атаки обычно направлены на кражу информации или перехват управления на отдельном веб-сервере.

Глобальные атаки обычно направлены на несколько веб-сайтов и ставят своей целью заражение всех их посетителей.

Наиболее опасные виды сетевых атак

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

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

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

Одним из возможных средств атак является использование IDN ( International Domain Name ). Дело в том, что в системах, поддерживающих IDN , допускается использование букв национальных алфавитов, а, например, некоторые буквы латинского и русского алфавитов пишутся идентично. Этим могут воспользоваться злоумышленники, они могут зарегистрировать имена, которые выглядит как имена известной фирмы, например microsoft.com, где некоторые буквы заменены на русские, так что это внешне не заметно, например, буквы с или о. Тогда при ошибочной замене одной или нескольких букв на русские клиент попадет не на сайт компании Microsoft , а на внешне неотличимый от него сайт злоумышленника.

Спуфинг ( spoofing ) — одна из разновидностей фишинга. Ее суть заключается в атаке через DNS (или каким-то иным способом), когда страница с известным URL подменяется страницей злоумышленника.

Троянский конь ( Spyware ) — программа , записывающая все нажатия клавиш на терминале или мышке, способна записывать screenshot ‘ы и передавать эти данные удаленному хозяину.

Spyware. Эта разновидность программ не обязательно вредоносна. Некоторые разработчики ПО встраивают такие программы в свои продукты, чтобы отслеживать предпочтения своих клиентов. К сожалению, не все эти программы столь безобидны. Некоторые программы spyware в соответствии со своим названием отслеживают действия хозяина машины, куда эта программа внедрена (нажатия клавиш, посещаемые сайты, конфиденциальную информацию и т.д.) и передают результаты своему хозяину. Заражение spyware может осуществиться традиционно через почту, IM ( Instant Messaging ) или в результате посещения скомпрометированного сайта.

Читайте так же:
Пример документа политики безопасности верхнего уровня

Атаки на веб-серверы

Легальные WEB -серверы взламываются посредством следующих видов атак:

  • SQL- Injection
  • Вредоносной рекламы
  • Методом переадресации результатов работы поискового сервера
  • Через виртуальные хостинговые компании
  • Через уязвимости программ, обслуживающих форумы
  • Cross-site scripting

Одним из основных инструментов вторжения в последнее время стала атака типа «drive-by download » ( загрузка файлов или скриптов без ведома хозяина). Разнообразие мультимедиа форматов также облегчает работу хакеров. Ведь пользователя обычно не удивляет необходимость загрузки новейшей версии кодека или драйвера для просмотра или прослушивания материала, размещенного на удаленном сервере.

Cross-Site Scripting ( CSS ) является одной из наиболее широко распространенных сетевых атак, преследующих цель, получение персональных данных с помощью веб-технологий (иногда этот вид атаки называют » HTML injection «). Задача решается за счет выполнения определенного Javascript кода в браузере жертвы. При этом получается некоторая информация , содержащаяся на машине жертвы (например, cookies). Метод не наносит непосредственного вреда, но может быть предшествовать более серьезной атаке.

Вредоносной может быть ссылка с использованием уязвимого веб-сайта:

Страница же отклика должна иметь вид (как результат исполнения wellcome.cgi):

Браузер немедленно при загрузке этой страницы исполнит встроенный Javascript код и пошлет запрос » collect .cgi script » по адресу www.attacker.site, со значением cookies =www. vulnerable .site . Cookies могут также содержать аутентификационные и авторизационные данные, что представляет уже серьезную опасность.

Файлы cookie

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

Файл cookie — это небольшой файл , создаваемый браузером и хранящийся на компьютере пользователя. Его содержимое не регламентируется, но обычно в таких файлах хранится название, дата окончания срока действия и некий объем данных, например: «Visited = 36» или «Selected = true «.

Файл cookie сеанса позволяет веб-приложениям хранить данные в памяти.

Различие между двумя методами заключается в том, что обычный файл cookie сохраняется на компьютере пользователя и остается на нем до момента удаления пользователем. Файл cookie сеанса, напротив, хранится только на протяжении времени работы компьютера и автоматически теряется при закрытии приложения-браузера. При этом оба файла подвержены манипуляциям извне.

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

SQL-инъекция

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

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

Рассмотрим следующий PHP -код:

После того, как пользователь введет свое имя в веб-форме, SQL — запрос вернет список всех пользователей с тем же именем. Если указать в форме имя «John», то SQL — запрос будет иметь следующий вид:

Это допустимая конструкция, которая сработает так, как и ожидается. Однако, если вместо имени ввести, например, «‘; drop table users; #» , то конструкция будет выглядеть следующим образом:

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

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

Приведенная в примере уязвимость особенно опасна, поскольку ее можно использовать для вывода закрытых данных, изменения отдельных полей или удаления информации. Некоторые СУБД также позволяют выполнять системные команды с помощью SQL .

В принципе, этот вид угрозы легко устраним благодаря проверке вводимых пользователем данных. Например, в PHP имеется специальная функция mysql_real_escape_string, удаляющая из строки потенциальный код SQL-инъекции . Ее следует использовать для фильтрации всех данных, внедряемых в SQL -инструкции.

XSS (межсайтовый скриптинг)

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

Многие сайты хранят имена всех посетителей в базе данных, чтобы иметь возможность отображать их при вводе соответствующих пользователей. Злоумышленник может создать подложную учетную запись , разместив при этом в поле имени вредоносный код . Подобные атаки обычно реализуются с помощью вредоносных скриптов на языке Javascript, которые затем загружают контент с другого веб-сайта. Предполагается, что в базе данных хранится имя пользователя , но на самом деле в данном случае это будет вредоносный код . Соответственно, если веб- сайт отображает имя пользователя в верхней части страницы, то этот код будет выполнен. Поскольку при наличии определенных условий такой код может делать практически все, что угодно, угроза становится вполне реальной; тем не менее, разработчики зачастую про нее забывают. В разное время жертвами XSS -атак стали многие популярные веб-сайты, в том числе MySpace, Facebook, Google Mail, ВКонтакте.

Рассмотрим следующий PHP -код:

После ввода имени в веб-форме сайт отображает на странице соответствующее сообщение. Если указать в форме имя » John «, то сообщение будет иметь следующий вид: » Your name: John «.

Что произойдет, если вместо имени ввести следующую конструкцию:

К сожалению, XSS -атакам зачастую трудно что-либо противопоставить, поскольку для этого необходимо должным образом фильтровать вводимые и выводимые данные, а также все поля, которые могут меняться пользователями. Сюда относятся данные, получаемые из запросов GET и POST , а также запросы, возвращаемые из базы данных .

Читайте так же:
Код безопасности 2

Политика обеспечения компьютерной и сетевой безопасности (IT Security Cookbook)

1.Политика системного администрирования

Администратор обеспечивает доступность системы, доступ к конфиденциальной информации только авторизованным лицам и защиту информации от неавторизованного изменения.

1.1.Физическая безопасность

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

1.2.Контроль доступа

Необходимо обеспечить обязательный контроль доступа (класс 4).

1.3.Политика учетных записей

1.4.Assurance

1.5.Подотчетность и аудит (только для класса 3)

1.6.Надежность работы

Политика резервных копий и восстановления данных

Change Management (sw/hw installations or updates)

2.Сетевая политика

Передача информации между компьютерами может оказаться серьёзной брешью в безопасности.

2.1. Сетевая политика/политика распределённых систем.

1. Надёжность: конфигурация сети должна быть задокументирована.

2. Идентификация и аутентификация:

3. Ответственность и аудит

4. Контроль доступа

5. Важные сетевые узлы должны регулярно проверять целостность своих данных.

7.Reliability of Service / Availability

Remote Access Policy: external network interfaces

Networks (X.25, Dial-up, Internet, Vendor networks, Telephone networks, Customer networks etc.) shall not be interconnected if it results in breach of the security policy. Access to external networks must occur over a Firewall. The Firewall must have a security policy and be regularly monitor and audited.

2.2.Dial-in access

All incoming Dialup connections (via PSTN or ISDN) should use a strong one-time password authentication system (such as Secur ID).

Dial-in access to the corporate network should only be allowed where necessary and where the following conditions are met:

2.Identification and Authentication

3.Accountability and audit

5.Accuracy: no requirements.

7.Reliability of Service

2.3.Dial-out (PSTN/ ISDN)

Dial-out network connections can extend the corporate network, creating uncontrolled points of access to the network.

1.Users shall not use dial-out capability (modems) on their machines.

2.If such functionality is required, it shall:

2.4.Internet Firewall

The Internet is often an important tool for sharing and searching information, especially in a research environment. All Internet access from the corporate network must occur via a Firewall.

2.Identification and Authentication

3.Accountability and audit

7.Reliability of Service

2.5.Interfaces to other networks

Likewise interfaces to other networks (SNA, Decnet, X.25, ATM etc.) required a clear policy.

Interfaces to customer/vendor networks

Access from customer or vendor sites to the corporate networks are more and more common.

Phone, Fax and Voicemail systems and networks are frequent penetration points for attackers. If these system have features accessible from the outside, a policy is required to prevent abuse.

2.6.Incident Response Procedure

Scope

This procedure should detail which actions should be taken in case of a security incident on the Firewall. The Firewall is designed to protect the corporate network from unauthorised Internet access. It is regularly monitored for security breaches. When a breach is detected, one must know how to react. That is the aim of this procedure. The reaction to an incident aims to protect and restore the normal operating condition of computers, services and information

Purpose

Even with a solid security policy, educated users and solid system administration, an emergency response team is useful. Plan for a disaster!

Incident Response Team

The principal roles are indicated in italics below. For each role a backup person should be available.

Management Responsible A.Boss, (Tel. xxxx),

(Overall co-ordinator/responsible) backup: B. Other_Boss (Tel. xxxx).

Responsibility: Ensures that this document exists and is enforced. Recognising the major threats to business continuity. Prioritises activities, co-ordinates and makes key decisions during an incident. Approves exceptions to this procedure.

Technical Responsible Firewall A. Techie (Tel. xxxx),

backup B. Other_Techie (Tel. Xxx).

Responsibility: Knows how to technically administer the systems in question. Can detect incidents and can take technical measures to limit damage. A good technical understanding of the system is essential.

Press Responsible A. Prman (tel. Xxx),

backup: A. Other_PrMan (Tel. Xxx).

Responsibility: Handles interfaces to the media, public statements, co-ordinate communications. Additional Help:

First Response Team, See appendices.

Procedure

1.In case of an emergency, each of the following points should be considered and acted upon. The principal steps involved are:

Проблемы безопасности IP-сетей

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

На практике IP-сети уязвимы для многих способов несанк­ционированного вторжения в процесс обмена данными. По мере развития компьютерных и сетевых технологий (например с появ­лением мобильных Java-приложений и элементов ActiveX) список возможных типов сетевых атак на IP-сети постоянно расширяет­ся.

Наиболее распространены следующие атаки.

Подслушивание (sniffing). В основном данные по компьютер­ным сетям передаются в незащищенном формате (открытым тек­стом), что позволяет злоумышленнику, получившему доступ к линиям передачи данных в сети подслушивать или считывать трафик. Для подслушивания в компьютерных сетях используют сниффер. Сниффер пакетов представляет собой прикладную про­грамму, которая перехватывает все сетевые пакеты, передаваемые через определенный домен.

В настоящее время снифферы работают в сетях на вполне за­конном основании. Они используются для диагностики неис­правностей и анализа трафика. Однако ввиду того, что некото­рые сетевые приложения передают данные в текстовом формате (Telnet, FTP, SMTP, РОРЗ и т. д.), с помощью сниффера можно узнать полезную, а иногда и конфиденциальную информацию (например, имена пользователей и пароли).

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

Анализ сетевого трафика. Целью атак подобного типа являет­ся прослушивание каналов связи и анализ передаваемых данных и служебной информации для изучения топологии и архитекту­ры построения системы, получения критической пользователь­ской информации (например, паролей пользователей или номе­ров кредитных карт, передаваемых в открытом виде). Атакам этого типа подвержены такие протоколы, как FTP или Telnet, особенностью которых является то, что имя и пароль пользова­теля передаются в рамках этих протоколов в открытом виде.

Читайте так же:
Как на время отключить антивирус

Перехват сеанса (session hijacking). По окончании начальной процедуры аутентификации соединение, установленное закон­ным пользователем, например с почтовым сервером, переключа­ется злоумышленником на новый хост, а исходному серверу вы­дается команда разорвать соединение. В результате «собеседник» законного пользователя оказывается незаметно подмененным.

После получения доступа к сети атакующий злоумышленник может:

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

наводнить компьютер или всю сеть трафиком, пока не произойдет останов системы в результате перегрузки;

блокировать трафик, что приведет к потере доступа автори­зованных пользователей к сетевым ресурсам.

Отказ в обслуживании (Denial of Service, DoS). Эта атака от­личается от атак других типов: она не нацелена на получение доступа к сети или на получение из этой сети какой-либо ин­формации. Атака DoS делает сеть организации недоступной для обычного использования за счет превышения допустимых пре­делов функционирования сети, ОС или приложения. По сущест­ву, она лишает обычных пользователей доступа к ресурсам или компьютерам сети организации.

Парольные атаки. Их цель — завладение паролем и логином законного пользователя. Злоумышленники могут проводить па­рольные атаки, используя такие методы, как:

подмена IP-адреса (1Р-спуфинг);

Часто хакеры пытаются подобрать пароль и логин, используя для этого многочисленные попытки доступа. Такой метод носит название атака полного перебора (brute force attack). Для этой атаки используется специальная программа, которая пытается получить доступ к ресурсу общего пользования (например, к серверу). Если в результате злоумышленнику удается подобрать пароль, он получает доступ к ресурсам на правах обычного поль­зователя.

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

При использовании обычных паролей необходимо придумать такой пароль, который было бы трудно подобрать. Минимальная длина пароля должна быть не менее 8 символов. Пароль должен включать символы верхнего регистра, цифры и специальные символы (#, $, &, % и т. д.).

Угадывание ключа. Криптографический ключ представляет собой код или число, необходимое для расшифровки защищен­ной информации. Хотя узнать ключ доступа не просто и требует больших затрат ресурсов, тем не менее это возможно. В частно­сти, для определения значения ключа может быть использована специальная программа, реализующая метод полного перебора. Ключ, к которому получает доступ атакующий, называется ском­прометированным. Атакующий использует скомпрометирован­ный ключ для получения доступа к защищенным передаваемым данным без ведома отправителя и получателя. Ключ дает воз­можность расшифровывать и изменять данные.

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

Самый распространенный из них состоит в использовании известных слабостей серверного ПО (FTP, HTTP, web-cepeepa).

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

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

Здесь важно осуществлять хорошее системное администри­рование.

Сетевая безопасность

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

Сама по себе сетевая безопасность включает в себя 3 основных аспекта:

  1. Как взломщики могут атаковать компьютерные сети
  2. Как можно защитить компьютерные сети от атак
  3. Как разработать архитектуру сети, чтобы она была устойчива к атакам

Злоумышленник может передать вредоносное ПО на компьютер по сети интернет с помощью вируса, червя или Троянского коня. После этого у злоумышленника есть несколько возможностей использования зараженного компьютера, в основном следующие:

  1. Шпионское ПО может записывать все нажатые клавиши на клавиатуре, посещенные веб-сайты и передавать их злоумышленнику, например, с целью хищения паролей
  2. Зараженный компьютер может использоваться ботнетом для спам или DDoS-атак
  3. Часто вредоносное ПО реплицируется и передается с зараженного компьютера дальше еще не зараженным

Троянский конь [ править ]

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

Вирус [ править ]

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

Червь [ править ]

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

Логическая бомба [ править ]

Представляет собой набор инструкций, который исполняется при определенных условиях в будущем, например, по наступлению какого-то определенного времени.

Зомби [ править ]

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

Нормальный поток данных [ править ]

Нормальный поток данных выглядит идейно следующим образом:

Прерывание потока данных [ править ]

По сути это атака на доступность какого-либо ресурса (DDoS (Distributed Denial of Service) атаки). Выглядит примерно так:

Перехват данных [ править ]

Эта атака происходит с целью похищения каких-либо конфиденциальных данных, при этом не меняя их. Изобразить можно следующим образом:

Модификация потока данных [ править ]

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

Читайте так же:
Светло код безопасности

Фабрикация данных [ править ]

Данная атака производится на целостность данных, то есть трафик маскируется под настоящий, заставляя получателя думать, что он подлинный. В итоге получатель передает свои данные злоумышленнику. Выглядит это так:

Криптография [ править ]

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

Шифрование по симметричному ключу [ править ]

Оба собеседника используют один и тот же симметричный ключ. По факту у обоих есть ключ [math]K_[/math] такой, что [math]m = K_(K_(m))[/math] , где [math]m[/math] — передаваемое сообщение, а [math]K_(m)[/math] — зашифрованное сообщение.

Есть 2 типа симметричного ключа:

  1. Потоковый шифр — симметричный шифр, в котором каждый символ сообщения преобразуется в символ зашифрованного текста в зависимости от используемого ключа и его расположения в сообщении. Одним из самых популярных шифров данного типа является RC4. Он широко используется в алгоритмах обеспечения безопасности беспроводных сетей WEP и WPA, а также может использоваться в протоколах SSL и TLS. Этот шифр строится на основе генератора псевдослучайных битов. На вход генератора записывается ключ, а на выходе читаются псевдослучайные биты. Длина ключа может составлять от 40 до 2048 бит. Генерируемые биты при этом имеют равномерное распределение. Основными преимуществами RC4 являются высокая скорость работы и переменный размер ключа. При этом он довольно уязвим, если используются не случайные или связанные ключи или один ключевой поток используется дважды.
  2. Блочный шифр — симметричный шифр, оперирующий группами бит фиксированной длины — блоками, характерный размер которых меняется в пределах 64-256 бит. Если исходный текст (или его остаток) меньше размера блока, перед шифрованием его дополняют. Фактически, блочный шифр представляет собой подстановку на алфавите блоков, которая, как следствие, может быть моно- или полиалфавитной. Главным достоинством блочных шифров является сходство алгоритмов шифрования и расшифрования, которые почти всегда отличаются лишь порядком действий. Блочный шифр сам по себе состоит из двух алгоритмов: шифрования и расшифрования. Оба алгоритма можно представить в виде функций. Функция шифрования [math]E[/math] (англ. encryption — шифрование) на вход получает блок данных [math]M[/math] (англ. message — сообщение) размером [math]n[/math] бит и ключ [math]K[/math] (англ. key — ключ) размером [math]k[/math] бит и на выходе отдает блок шифротекста [math]C[/math] (англ. cipher — шифр) размером [math]n[/math] бит: [math]E_(M) := E(K, M) : <0, 1>^ times <0, 1>^ rightarrow <0, 1>^[/math] . Для любого ключа [math]K[/math] , [math]E_[/math] является биекцией на множестве [math]n[/math] -битных блоков. Функция расшифрования [math]D[/math] (англ. decryption — расшифрование) на вход получает шифр [math]C[/math] , ключ [math]K[/math] и на выходе отдает [math]M[/math] : [math]D_(C) := D(K, C) : <0, 1>^ times <0, 1>^ rightarrow <0, 1>^[/math] , являясь, при этом, обратной к функции шифрования: [math]D = E^<-1>[/math] , [math]forall K : D_(E_(M)) = M[/math] и [math]E_(D_(C)) = C[/math] . Можно заметить, что ключ, необходимый для шифрования и дешифрования, один и тот же — следствие симметричности блочности шифра.

Шифрование по публичному ключу [ править ]

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

Можно сделать вывод, что должно выполняться 2 требования: [math]K_^<->[/math] и [math]K_^<+>[/math] такие, что [math]K_^<->(K_^<+>(m)) = m[/math] , и, зная публичный ключ, человек не должен иметь возможности посчитать приватный. Одним из самых известных алгоритмов является RSA (Rivest-Shamir-Adleman). Это криптографический алгоритм с открытым ключом, который основывается на вычислительной сложности задачи факторизации больших целых чисел. В криптографической системе RSA каждый ключ состоит из пары целых чисел. Каждый участник создает свой открытый и закрытый ключ самостоятельно, при этом эти ключи являются согласованной парой в том смысле, что они являются взаимно обратными, то есть:

[math]forall[/math] допустимых пар открытого и закрытого ключей [math](p, s)[/math]

[math]exists[/math] соответствующие функции шифрования [math]E_

(x)[/math] и расшифрования [math]D_(x)[/math] такие, что

[math]forall[/math] сообщений [math]m in M[/math] , где [math]M[/math] — множество допустимых сообщений,

RSA-ключи генерируются следующим образом:

  1. Выбираются два различных простых числа [math]p[/math] и [math]q[/math] заданного размера (например, 1024 бита каждое).
  2. Вычисляется их произведение [math]n = p cdot q[/math] , которое называется модулем.
  3. Вычисляется значение функции Эйлера от числа [math]n[/math] : [math]phi (n) = (p — 1) cdot (q — 1)[/math] .
  4. Выбирается целое число [math]e[/math] [math](1 lt e lt phi (n))[/math] , взаимно простое со значением функции [math]phi (n)[/math] . Обычно в качестве [math]e[/math] берут простые числа, содержащие небольшое количество единичных бит в двоичной записи, например, простые числа Ферма [math]17[/math] , [math]257[/math] или [math]65537[/math] . Число [math]e[/math] называется открытой экспонентой.
  5. Выбирается число [math]d[/math] , мультипликативно обратное к числу [math]e[/math] по модулю [math]phi (n)[/math] , то есть число, удовлетворяющее сравнению: [math]d cdot e equiv 1 (mod phi (n))[/math] . Число [math]d[/math] называется секретной экспонентой.
  6. Пара [math][/math] публикуется в качестве открытого ключа RSA.
  7. Пара [math][/math] играет роль закрытого ключа RSA и держится в секрете.

Теперь, чтобы зашифровать сообщение [math]m[/math] , нужно посчитать [math]c = m^ mod n[/math] , а чтобы расшифровать — [math]m = c^ mod n[/math] . Однако такая схема не используется на практике по причине того, что она не является практически надежной, так как односторонняя функция является детерминированной. Чтобы избежать такого, используют сеансовый ключ. С помощью RSA шифрования собеседники обмениваются симметричными ключами сессии, и дальше уже общаются с их помощью.

IPSec [ править ]

IPSec — набор протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколу IP, является безопасностью на сетевом уровне. IPSec может шифровать и проводить проверку подлинности IP-пакетов. Поэтому IPSec предоставляет возможность защищать передачу данных в сетях LAN, в открытых и закрытых WAN, а также в сети Интернет.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector