По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Разработчики программного обеспечения должны держать много информации у себя в голове. Существует множество вопросов, которые нужно задать, когда речь заходит о создании веб-сайта или приложения: Какие технологии использовать? Как будет настроена структура? Какой функционал нам нужен? Как будет выглядеть пользовательский интерфейс? Особенно на рынке программного обеспечения, где производство приложений больше похоже на гонку за репутацией, чем на хорошо обдуманный процесс, один из важнейших вопросов, который часто остается на дне “Списка важных”: Как наш продукт будет защищен? Если вы используете надежный, открытый фреймворк для создания своего продукта (и, если он доступен и пригоден, почему бы и нет?), тогда базовые проблемы безопасности, как атаки CSFR и кодирование пароля, могут быть уже решены за вас. Тем не менее, быстро развивающимся разработчикам будет полезно освежить свои знания о стандартных угрозах, дабы избежать ошибок новичка. Обычно самое слабое место в безопасности вашего программного обеспечения - это вы. А кто может заниматься взломом?. Есть этичный хакер – это тот, кто ищет возможные слабости в безопасности и приватно рассказывает их создателям проекта. А чёрный хакер, которого так же зовут “Взломщик (cracker)” – это тот, кто использует эти слабости для вымогательства или собственного блага. Эти два вида хакеров могут использовать одинаковый набор инструментов и, в общем, пытаются попасть в такие места, куда обычный пользователь не может попасть. Но белые хакеры делают это с разрешением, и в интересах усиления защиты, а не уничтожения её. Черные хакеры – плохие ребята. Вот некоторые примеры наиболее распространённых атаках, которые используют слабости в защите: Внедрение SQL-кода и межсайтовый скриптинг XXS. SQL атаки SQL-инъекция (SQLi) - это тип инъекционной атаки, которая позволяет выполнять вредоносные SQL команды, для получения данных или вывода из строя приложения. По сути, злоумышленники могут отправлять команды SQL, которые влияют на ваше приложение, через некоторые входные данные на вашем сайте, например, поле поиска, которое извлекает результаты из вашей базы данных. Сайты, закодированные на PHP, могут быть особенно восприимчивы к ним, и успешная SQL-атака может быть разрушительной для программного обеспечения, которое полагается на базу данных (например, ваша таблица пользователей теперь представляет собой пустое место). Вы можете проверить свой собственный сайт, чтобы увидеть, насколько он восприимчив к такого рода атакам. (Пожалуйста, тестируйте только те сайты, которыми вы владеете, так как запуск SQL-кодов там, где у вас нет разрешения на это, может быть незаконным в вашем регионе; и определенно, не очень смешно.) Следующие полезные нагрузки могут использоваться для тестов: ' OR 1='1 оценивается как константа true, и в случае успеха возвращает все строки в таблице ' AND 0='1 оценивается как константа false, и в случае успеха не возвращает строк. К счастью, есть способы ослабить атаки SQL-кода, и все они сводятся к одной основной концепции: не доверяйте вводимым пользователем данным. Смягчение последствий SQL-кодов. Чтобы эффективно сдержать атаки, разработчики должны запретить пользователям успешно отправлять необработанные SQL-команды в любую часть сайта. Некоторые фреймворки сделают большую часть тяжелой работы за вас. Например, Django реализует концепцию объектно-реляционного отображения, или ORM с использованием наборов запросов. Мы будем рассматривать их в качестве функций-оболочек, которые помогают вашему приложению запрашивать базу данных с помощью предопределенных методов, избегая использование необработанного SQL. Однако возможность использовать фреймворк никогда не является гарантией. Когда мы имеем дело непосредственно с базой данных, существуют и другие методы, которые мы можем использовать, чтобы безопасно абстрагировать наши SQL-запросы от пользовательского ввода, хотя они различаются по эффективности. Они представлены по порядку от более к менее важному: Подготовленные операторы с переменной привязкой (или параметризованные запросы) Хранимые процедуры Белый список или экранирование пользовательского ввода Если вы хотите реализовать вышеприведенные методы, то эти шпаргалки - отличная отправная точка для более глубокого изучения. Достаточно сказать, что использование этих методов для получения данных вместо использования необработанных SQL-запросов помогает свести к минимуму вероятность того, что SQL будет обрабатываться любой частью вашего приложения, которая принимает входные данные от пользователей, тем самым смягчая атаки SQL-кодов. Межсайтовые скриптовые атаки (XSS) Если вы являетесь хакером, то JavaScript - это в значительной степени ваш лучший друг. Правильные команды будут делать все, что может сделать обычный пользователь (и даже некоторые вещи, которые он не должен делать) на веб-странице, иногда без какого-либо взаимодействия со стороны реального пользователя. Межсайтовые скриптовые атаки, или XSS, происходят, когда код JavaScript вводится на веб-страницу и изменяет ее поведение. Его последствия могут варьироваться от появления неприятных шуток до более серьезных обходов аутентификации или кражи учетных данных. XSS может происходить на сервере или на стороне клиента и, как правило, поставляется в трех вариантах: DOM (Document Object Model - объектная модель документа) на основе хранимых и отображаемых XSS. Различия сводятся к тому, где полезная нагрузка атаки вводится в приложение. XSS на основе DOM XSS на основе DOM возникает, когда полезная нагрузка JavaScript влияет на структуру, поведение или содержимое веб-страницы, загруженной пользователем в свой браузер. Они чаще всего выполняются через измененные URL-адреса, например, в фишинговых письмах. Чтобы увидеть, насколько легко было бы для введенного JavaScript манипулировать страницей, мы можем создать рабочий пример с веб-страницей HTML. Попробуйте создать файл в локальной системе под названием xss-test.html (или любым другим) со следующим кодом HTML и JavaScript: <html> <head> <title>My XSS Example</title> </head> <body> <h1 id="greeting">Hello there!</h1> <script> var name = new URLSearchParams(document.location.search).get('name'); if (name !== 'null') { document.getElementById('greeting').innerHTML = 'Hello ' + name + '!'; } </script> </h1> </html> На этой веб-странице будет отображаться заголовок "Hello!” если только он не получает параметр URL из строки запроса со значением name. Чтобы увидеть работу скрипта, откройте страницу в браузере с добавленным параметром URL, например: file:///path/to/file/xss-test.html?name=Victoria Наша небезопасная страница принимает значение параметра URL для имени и отображает его в DOM. Страница ожидает, что значение будет хорошей дружественной строкой, но что, если мы изменим его на что-то другое? Поскольку страница принадлежит нам и существует только в нашей локальной системе, мы можем тестировать ее сколько угодно. Что произойдет, если мы изменим параметр name, скажем, на: <img+src+onerror=alert("pwned")> Это всего лишь один пример, который демонстрирует, как может быть выполнена атака XSS. Смешные всплывающие оповещения могут быть забавными, но JavaScript может принести много вреда, в том числе помогая злоумышленникам украсть пароли и личную информацию. Хранимые и отраженные XSS Хранимые (stored) XSS возникают, когда полезная нагрузка атаки хранится на сервере, например, в базе данных. Атака влияет на жертву всякий раз, когда эти сохраненные данные извлекаются и отображаются в браузере. Например, вместо того чтобы использовать строку URL-запроса, злоумышленник может обновить свою страницу профиля на социальном сайте, чтобы внедрить скрытый сценарий, скажем, в раздел “Обо мне”. Сценарий, неправильно сохраненный на сервере сайта, будет успешно выполняться всё время, пока другой пользователь просматривает профиль злоумышленника. Одним из самых известных примеров этого является червь Samy, который практически захватил MySpace в 2005 году. Он распространялся путем отправки HTTP-запросов, которые копировали его на страницу профиля жертвы всякий раз, когда просматривался зараженный профиль. Всего за 20 часов он распространился на более чем миллион пользователей. Отраженные (reflected) XSS аналогично возникают, когда введенные данные перемещаются на сервер, однако вредоносный код не сохраняется в базе данных. Вместо этого он немедленно возвращается в браузер веб-приложением. Подобная атака может быть осуществлена путем заманивания жертвы для перехода по вредоносной ссылке, которая отправляет запрос на сервер уязвимого веб-сайта. Затем сервер отправит ответ злоумышленнику, а также жертве, что может привести к тому, что злоумышленник сможет получить пароли или совершить действия, которые якобы исходят от жертвы. Ослабление XSS Во всех этих случаях XSS могут быть сдержаны с помощью двух ключевых стратегий: проверка полей формы и предотвращение прямого ввода данных пользователем на веб-странице. Проверка полей формы Фреймворки снова могут нам помочь, когда речь заходит о том, чтобы убедиться, что представленные пользователем формы находятся в актуальном состоянии. Один из примеров - встроенные классы полей Django, которые предоставляют поля, проверяющие некоторые часто используемые типы, а также задают нормальные значения по умолчанию. Например, поле электронной почты Django использует набор правил, чтобы определить, является ли предоставленный ввод действительным письмом. Если отправленная строка содержит символы, которые обычно не присутствуют в адресах электронной почты, или если она не имитирует общий формат адреса электронной почты, то Django не будет считать это поле допустимым и форма не будет отправлена. Если вы не можете полагаться на фреймворк, можете реализовать вашу собственную проверку входных данных. Это можно сделать с помощью нескольких различных методов, включая преобразование типа, например, гарантируя, что число имеет тип int(); проверка минимальных и максимальных значений диапазона для чисел и длин строк; использование заранее определенного массива вариантов, который позволяет избежать произвольного ввода, например, месяцев года; и проверка данных на соответствие строгим регулярным формулировкам. К счастью, нам не нужно начинать все с нуля. Помогут доступные ресурсы с открытым исходным кодом, такой как валидация репозитория регулярных выражений OWASP, который предоставляет шаблоны для сопоставления их с некоторыми распространенными формами данных. Многие языки программирования предлагают библиотеки проверки, специфичные для их синтаксиса, и мы можем найти множество таких библиотек на GitHub. Хотя это и может показаться утомительным, правильно реализованная проверка ввода может защитить наше приложение от восприимчивости к XSS. Предотвращение прямого ввода данных Элементы приложения, которые непосредственно возвращают пользовательский ввод в браузер, при обычной проверке могут быть неочевидны. Мы можем определить области приложения, которые могут быть подвержены риску, изучив несколько вопросов: Как происходит поток данных через приложение? Что ожидает пользователь, когда он взаимодействует с этими входными данными? Где на нашей странице появляются данные? Становятся ли они встроенными в строку или атрибут? Вот некоторые примеры полезных нагрузок, с которыми мы можем поиграть, чтобы проверить входные данные на нашем сайте (опять же, только на нашем собственном сайте!). Успешное выполнение любого из этих образцов может указывать на возможную уязвимость к XSS из-за прямого ввода данных. "><h1>test</h1> '+alert(1)+' "onmouserover="alert(1) http://"onmouseover="alert(1) Как правило, если вы можете обойти прямой ввод данных, сделайте это. Кроме того, убедитесь, что вы полностью понимаете эффективность выбранных методов; например, использование innerText вместо innerHTML в JavaScript гарантирует, что содержимое будет задано как обычный текст вместо (потенциально уязвимого) HTML. Аккуратнее с вводом! Разработчики программного обеспечения явно находятся в невыгодном положении, когда речь заходит о конкуренции с черными хакерами. Несмотря на всю проделанную работу по защитите каждого ввода, который потенциально может скомпрометировать наше приложение, злоумышленнику достаточно только найти тот, который мы пропустили. Это все равно что установить засовы на всех дверях, но оставить окно открытым! Однако, научившись мыслить в том же ключе, что и злоумышленник, мы можем лучше подготовить наше программное обеспечение к противостоянию плохим парням. Как бы ни было интересно добавлять функции как можно быстрее, мы избежим большого количества долгов по кибербезопасности, если заранее продумаем поток нашего приложения, проследим за данными и обратим внимание на наши входные данные.
img
Вообще, трудно представить жизнь без Интернета. Почти в каждой квартире сегодня есть минимум один Интернет канал будь то оптика, ADLS, мобильный Интернет или даже спутниковый. Если раньше интернет был только на конце провода и, чтобы подключится к глобальной сети нужно было сидеть привязанным к розетке Ethernet кабеля, то сейчас эту проблему решила технология Wi-Fi. Правда, с кабелем было как-то безопаснее, а вот Wi-Fi, если его не настроить нужным образом, не обеспечит нужного уровня надёжности. Другая проблема - мощность сигнала. С кабелем такой проблемы почти нет, особенно на близких расстояниях, но радиоволны -другая природа: они очень капризны. В этом материале речь пойдёт о том, как решить вышеуказанные проблемы. Для начала разберёмся, как и где следует устанавливать Wi-Fi маршрутизатор. В силу того, что радиоволны не очень любят помехи, а в квартире они всегда есть, то здесь нужно найти точку, где сигнал наиболее мощный. Для этого есть и специализированное оборудование, и программы, а самый доступный способ - это ноутбук. Устанавливаете туда специальное ПО, коих полно в интернете, просто в поисковике набираете Wi-Fi analyser, а затем, перемещая Wi-Fi устройство, выбираете оптимальное для вас место. На больших площадях можно подключить ещё одну Wi-Fi точку доступа, но это другая тема. Нужно обратить внимание на то, чтобы рядом с Wi-Fi маршрутизатором не было микроволновок, Bluetooth устройств и другого оборудования, работающего на радиочастотах. Например, микроволновые печи и беспроводные гарнитуры работают на тех же частотах, что и Wi-Fi 2.4 гГц. Поэтому они потенциальная помеха для нормальной работы Wi-Fi. Также следует иметь ввиду, что в многоквартирных домах у соседей тоже стоит Wi-Fi оборудование и, при стандартных настройках рабочие каналы этих устройств пересекаются. Это происходит из-за принципов работы самого устройства Wi-Fi. Дело в том, что основная частота в Wi-Fi маршрутизаторах делится на 13 каналов по 22 MHz каждая, а расстояние между каналами 5MHz. Каждый канал имеет нижнюю, центральную и верхнюю частоты. Когда верхняя частота первого канала пересекается с нижней частотой второго, то получается так называемая интерференция. Но в 2.4 GHz полосе частот есть три канала, которые не пересекаются: 1, 6, 11. Канал Нижняя частота Центральная частота Верхняя частота 1 2.401 2.412 2.423 6 2.426 2.437 2.448 11 2.451 2.462 2.473 Как видно из таблицы, верхние и нижние частоты указанных каналов не имеют общих частот. Поэтому рекомендуется в настройка маршрутизатора вручную выставлять один из этих каналов. На маршрутизаторах TP-Link это делает во вкладке Беспроводной режим (внешний вид интерфейса может отличаться в зависимости от модели оборудования) : Здесь из выпадающего списка каналов выбирается один из указанных выше. По умолчанию стоит Авто. А теперь перейдём к настройкам подключения к Интернету и безопасности. Первым делом рекомендуем сменить имя пользователя и пароли по умолчанию. Это предотвращает несанкционированный доступ к вашему устройству. Делается это на вкладке Системные инструменты->Пароль: Сейчас поговорим о подключении к Интернету, затем опять вернёмся к настройкам безопасности. Почти любое оборудование предоставляет мастера настройки, который позволяет простым кликом мыши настроить доступ в глобальную сеть: Нажимаем Далее и выставляем нужные значения. Тип подключения зависит от провайдера: Здесь в зависимости от вида услуги отмечаете нужную опцию. Если ADSL подключение, то выбираем PPPoE/PPPoE Россия. PPPoE это сетевой протокол канального уровня. Вкратце, здесь организовывается Point-to-Point туннель поверх Ethernet, а уже в туннель инкапсулируется трафик разных протоколов, IP в том числе. Если выбрали Динамический IP-адрес, то мастер переходит к пункту клонирование MAC адреса. Это нужно если вы уже подключались к сети провайдера напрямую через ноутбук, а теперь нужно подключить маршрутизатор. Но чаще всего эта функция не используется: В остальных случаях нужно вводить дополнительные данные. В случае PPPoE это логин и пароль, которые вы получили у провайдера. Далее переходим к настройке беспроводного подключения: После этого мастер переходит к финальному пункту, где просто нужно нажать на кнопку Завершить и настройки начнут применяться. А теперь снова о безопасности. Далее нам нужно отключить WPS. Эта функция позволяет быстро добавлять новые устройства, но такие программы как Dumpper используют эту возможность для взлома беспроводной сети. На первом пункте вкладки Беспроводной режим убираем галочку перед Включить широковещание SSID. В этом случае маршрутизатор не будет вещать свой SSID (название Wi-Fi), тогда вам придётся вручную вводить кроме пароля еще и название сети. Больше движений, зато безопасно. Так как та же программа Dumpper не сможет обнаружить вашу сеть, что усложнит её взлом: На пункте Защита беспроводного режима вкладки Беспроводной режим настраиваются параметры шифрования. Так как на рисунках все подробно описано, не буду вдаваться в подробности каждого пункта. Здесь установлены рекомендуемые настройки для домашней сети (пароль выбираем посложнее) Фильтрация MAC-адресов позволяет ограничивать подключение чужих устройств к вашей беспроводной сети. Выбираем Разрешить доступ станциям, указанным во включённых списках. Затем добавляете MAC-адреса устройств, которым разрешено подключаться к сети. MAC-адреса устройств можно посмотреть в настройках самих устройств или же, если уже подключены к вашей сети, можно просмотреть на вкладке DHCP -> Список клиентов DHCP. На вкладке Безопасность настраиваем разрешения на локальное и удалённое управление Wi-Fi маршрутизатором. Локальное управление лучше ограничивать для устройств, подключенных по Wi-Fi и разрешить только для конкретного устройства и только через физическое подключение. Для этого, если у вас есть ноутбук или ПК узнаем его MAC-адрес. На Windows машинах легче всего сделать это через командную строку набрав команду getmac. Вписываете полученное значение в строку MAC-1: Нажимаем сохранить и всё. Следует быть внимательным если на выводе консоли несколько значений. Если нет никаких виртуальных машин, а вы подключены через Ethernet порт, то перед MAC адресом указывается device id. Ну а если возникнут трудности можете просмотреть через Центр управления сетями и общим доступом на Панели управления, выбрав нужный адаптер и кликнув на кнопке Подробнее в открывшемся окне. Физический адрес и есть MAC-адрес. Удалённое управление лучше отключить: На этом, пожалуй, всё. Это базовые настройки безопасности. При необходимости можно прописать ACL (в зависимости от модели), настроить гостевую сеть, включить родительский контроль. Удачи!
img
Технология Blockchain представляет собой цепочку блоков, используемую для отправки информации о транзакциях и их хранении. Информация, хранящаяся в ней, может фактически принимать любую форму и отображать информацию о времени, дате или конкретной транзакции. Каждый блок содержит информацию о конкретном количестве транзакций. Когда он заполнен, создается еще один. Блоки можно отличить друг от друга с помощью уникальных хеш-кодов. Наиболее важной особенностью, которую имеет блокчейн, является тот факт, что он основан на одноранговой сети. Это означает, что ни один сервер или компьютер не проверяет транзакцию. Благодаря сложным криптографическим операциям технология полностью безопасна. Как работает блокчейн? Цепочка состоит из множества блоков. Создание другого блока возможно только после того, как транзакция была выполнена, и она будет завершена. Блокчейн использует одноранговую сеть. Это означает, что данные не хранятся в одном месте, что значительно усложняет хакерские атаки. Пользователь является единственным владельцем данных, убедившись, что они надежно защищены. После проверки транзакции она становится общедоступной, имеет хеш-код и присоединяется к ранее созданным блокам, образующим цепочку. Цифровые подписи в блокчейне Цифровые подписи делают то, что подразумевает название. Каждая транзакция должна быть проверена, поэтому получение подписи обязательно. Они обеспечивают безопасность и целостность данных, сохраненных в блоке. Это стандартная часть протокола цепочки блоков и защиты транзакций и их блоков. Преимущество цифровых подписей заключается в том, что они защищают не только саму транзакцию, но и личность того, кто ее выполняет. Это для предотвращения хакерских атак. Подпись невозможно подделать, она является результатом очень сложной математической записи. Блокчейн и безопасность Безопасность блокчейна состоит из многих факторов, включая ранее упомянутую цифровую подпись и существование сетей P2P. Но не только они актуальны. Одним из ключевых элементов, отвечающих за безопасность, является консенсус сети. Консенсус означает, что все узлы в сети синхронизированы друг с другом. Узлы согласовываются с состоянием блокчейна, которое является своего рода самоконтролем. Они также позволяют обновлять цепочку блоков. Каждая криптовалюта должна иметь защиту от внешних атак. В свою очередь, немодифицируемость - это невозможность изменить транзакции, которые уже были подтверждены и выполнены. Блокчейн построен таким образом, что не дает хакерам его атаковать. Редактирование блока влечет за собой изменение хеш-кода. Это определяется математической функцией. Если в нем изменятся какие-либо элементы, код также будет изменен. За ним больше блоков, что требует огромных вычислительных мощностей и это просто невозможно. Блокчейн в бизнесе - приложение Технология используется не только в криптовалютах. Многие бизнес-сектора используют эту технологию для улучшения своей деятельности. Повышается не только безопасность, но и упрощается процесс, что снижает затраты. Блокчейн в цепочке поставок - использование этой технологии позволяет решить проблемы путем создания истории продукта. Поставщики и получатели могут получить представление о процессе производства товаров. Это также может обеспечить проверку источника товара, что важно для медицинской промышленности. Блокчейн также гарантирует, что лекарственные препараты хранятся в соответствующих условиях. Блокчейн в банковском деле - позволяет пользоваться услугами банка независимо от дня и времени. Банки работают только пять дней в неделю, но каждый хочет пользоваться банковскими услугами в выходные дни. Блокчейн также помогает здесь проверить подлинность документов, и ускорить обмен средств. Блокчейн в здравоохранении - позволяет хранить записи пациентов. Это также позволяет быстрее идентифицировать и повышает безопасность и конфиденциальность документации. Блокчейн в криптовалютах - данная технология основой существования криптовалюты. Важно отметить, что сборы за транзакции не требуются из-за отсутствия центрального органа. Блокчейн в системах голосования - подсчет голосов с их полной историей, которая предотвращает их фальсификацию. Блокчейн в энергетике - учет транспорта энергии и внедрение счетчиков энергии в блокчейн. Блокчейн в азартных играх - обеспечивает анонимность данных победителя, переводы выигрышей и создание собственных валют в компьютерных играх. Блокчейн в государственных услугах - регистры персональных данных, налоги и регистры земли и ипотеки. Это лишь некоторые из множества отраслей, в которых используется блокчейн. Технология оптимизирует многие процессы, которые кажутся естественными, и это ее заслуга. Блокчейн - плюсы и минусы Как и любая система и технология, блокчейн также имеет свои плюсы и минусы. К преимуществам технологии блокчейн следует отнести: децентрализация - хранение информации не основано на одном месте. Благодаря этому данные не так легко изменить или манипулировать ими; снижение затрат - нет необходимости привлекать третьих лиц, необходимых для проверки определенных данных. Это снижает стоимость кампании, необходимой для выполнения ее процесса с точностью и безопасностью; точность - блокчейн лишен человеческих ошибок; безопасность - наличие технологии P2P, цифровых подписей и вышеупомянутых модификаций, и консенсуса делает процесс безопасным. За это отвечает наличие хеш-кода, который уникален для каждого отдельного блока, и его изменение, по возможности, практически невозможно. Из недостатков блокчейна можно указать: возможны хакерские атаки - как и в любой области, где есть технологии на базе компьютеров, есть вероятность атаки. Хоть это практически невозможно, но нельзя полностью исключить это; генерация затрат - улучшения, которые приносит блокчейн, огромны, но для их достижения необходимо много вычислительной мощности и, следовательно, необходимость инвестировать в дорогостоящее оборудование; ограниченное количество транзакций - как в случае с биткоинами, где подтверждение работы занимает около десяти минут, чтобы добавить новый блок в цепочку. То же самое относится к различным отраслям, где используется блокчейн.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59