По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Когда вы только начинаете свой путь в IT, естественно и правильно сфокусироваться на изучении языков программирования, стремиться к сертификатам и пополнению портфолио новыми проектами. Но быть выдающимся специалистом —  не значит только лишь блестяще владеть техническими навыками. Если вы хотите подняться на новую ступень карьерной лестницы, нужно продемонстрировать нечто большее, чем просто умение писать код. Исследования в области карьерного образования показывают, что работодатели признают важность софт-скиллов при приеме на работу. Но есть загвоздка: хоть большинство работодателей и согласны с важностью софт-скиллов, мало кто может ответить, какие именно из них критически важны.  Наличие софт-скиллов означает быть доступным, приятным, надежным и заслуживающим доверия – по сути, тем, с кем другим людям нравится работать и о котором они хотят узнать больше. Это открывает вам двери для новых возможностей. В этой статье перечислим 5 наиболее значимых софт скиллов для программистов, а также расскажем, на что обратить внимание при развитии этих навыков. Что такое софт-скиллы Софт-скиллы не связаны с прямыми трудовыми обязанностями сотрудника. В ИТ — это навыки, которые не имеют прямого отношения к разработке или тестированию, но все же необходимы для успешной работы в команде. Люди часто ошибочно приравнивают софт-скиллы к умению общаться, но это не всегда так. Вообще софт-скиллы делятся на две категории: общение (межличностное общение и эмоциональный интеллект) и постановка целей (лидерство, самоконтроль, управление временем). Зачем все это программисту, если его основная задача — написание кода? Самый минимум для каждого профи — это умение эффективно общаться с коллегами. Сегодня большинство продуктов создаются командами, поскольку в одиночку разработать успешный и прибыльный проект практически невозможно. Да, вы можете вложить свой талант, время и усилия, работая без посторонней помощи. Но шансы на успех будут намного выше, если вы будете работать с другими специалистами. ? Быть командным игроком без навыков межличностного общения (умения задавать вопросы, слушать и аргументировать свою точку зрения) практически невозможно. Программистам также нужны софт-скиллы, чтобы планировать свое время, ставить эффективные цели и управлять своими эмоциями.? ? Рано или поздно вы, вероятно, начнете думать о карьерном росте: с каждой новой ступенькой значение soft skills возрастает. Вы просто не сможете получить должность руководителя группы или менеджера без лидерских качеств, эмоционального интеллекта или навыков управления конфликтами.  У многих людей эти навыки не появятся сами по себе – их нужно начинать развивать уже сейчас. И к развитию софт-скиллов следует относиться не менее серьезно, чем к хард-скиллам. Итак, о каких именно навыках идет речь? Давайте разберемся. Коммуникация Программист — это, в первую очередь, технический специалист. Согласитесь, что без специальных знаний коллега без аналогичных знаний просто не поймет, чем вы занимаетесь. И здесь на сцену выходит коммуникативный навык — софт-скилл, который поможет успешно обсуждать свою работу с командой, менеджерами проектов и другими отделами.  Обмен идеями и фидбеком — естественная часть командной работы, но чтобы прийти к успеху в переговорах, вам нужно уметь формулировать свои идеи и относиться к коллегам с уважением. Два профессионала с противоположными идеями должны не спорить, а дискутировать, а для этого необходим эмоциональный интеллект. Коммуникация в рабочих вопросах требует непредвзятости и готовности слушать — в конце концов, чужая идея и правда может оказаться лучше вашей, и это нормально. Единственный способ понять это — переключиться с продвижения собственных предположений на поиск рабочего решения. В бизнесе это часто называют «политикой победы лучших идей» или громоздким термином « меритократия идей ».  Креативность На первый взгляд кажется, что креативность нужна лишь в работе творческих специалистов — художников, дизайнеров и контентщиков. Что тут может предложить программист? На самом деле дела обстоят так: работодатель нанимает вас как профи потому, что вы можете предложить компании что-то уникальное.  Какой бы шаблонной задачей вы не занимались, помните, что вы не просто AI, который может воспроизвести все решения, описанные в учебниках. Вы — классный специалист, который может усовершенствовать любую технологию и придумать нестандартный выход из самой сложной ситуации. Это и есть софт-скилл, который называется креативностью. Найдите возможность творить в своей сфере — и вы поймете, как этот навык повышает ваши шансы на должность мечты. Сотрудничество Расти в карьере — цель многих разработчиков, но важно соблюдать баланс между своими интересами и и интересами команды. Навык сотрудничества также связан с «политикой лучших идей», ведь открытый, дружелюбный специалист может стать той важной точкой, в которой, как в идеальном блюде, сойдутся мысли его команды, собственные идеи и конструктивная критика руководства. Да, в некоторых случаях это означает, что для реализации выберут не вашу идею или решение. Но глобально навыки общения и командной работы принесут только пользу вашей карьере. Если ваша цель — новые грейды и зарплата, роль руководителя может запросто стать вашим будущим. А это значит, что умение слушать, принимать чужую точку зрения и раскрывать сильные стороны своей команды — ключевые навыки. Эмпатия и эмоциональный интеллект Эмпатия — это умение понять, что другой человек чувствует в данный момент. Софт-скиллы программиста начинаются с понимания человеческих взаимодействий, а эмоциональный интеллект играет ключевую роль в этом процессе. Эмпатия, как и коммуникация, помогает понимать точку зрения людей, не связанных с разработкой, и совместно находить решения проблем. Разработчики также должны понимать нужды конечных пользователей, так как изменение требований является обычной практикой в Agile-разработке. Обладая высоким эмоциональным интеллектом, вы сможете: сохранять спокойствие, когда вы сталкиваетесь с непредвиденными обстоятельствами; сохранять фокус на достижении целей организации; понимать проблемы, с которыми могут столкнуться коллеги, и оказывать им помощь. 5. Тайм-менеджмент  Тайм-менеджмент — важнейший навык, когда дело касается работы в IT. Как правило, у программистов есть заинтересованные люди на разных сторонах проекта — и руководители, и заказчики, и конечные пользователи, и PM’ы — и всем важно увидеть результат в срок. Грамотная организация времени помогает сосредоточиться на важных целях и приоритетах, что сделает работу более целенаправленной и эффективной. Неочевидный бонус тайм-менеджмента состоит в том, что когда мы управляем своим временем эффективно, у нас есть больше свободы для отдыха, релаксации, хобби и личного развития — а это повышает качество жизни и хорошо влияет на работу. Что учесть при прокачке софт-скиллов Важно понимать, что софт-скиллы ничем не отличаются от любых других навыков. Вы должны практиковать их регулярно, если хотите прийти к совершенству, и может пройти некоторое время, прежде чем они начнут приносить свои плоды.  Первый шаг к самосовершенствованию — это оценка имеющихся у вас навыков и областей, в которых вы можете вырасти. Подумайте о своей эффективности на рабочем месте и составьте список способностей, которые вы хотите прокачать. Допустим, проблема в том, что вы не всегда четко излагаете свою позицию. В результате между вами и вашими коллегами часто возникают недопонимания, что замедляет совместную работу. Это может привести к срыву сроков, конфликтам и финансовым потерям. «Почему» ясно: вам нужно работать над этим навыком ради своей команды и своей компании. Беспристрастный взгляд коллеги или руководителя также поможет вам оценить ваш уровень софт-скиллов. Попросите кого-нибудь, с кем вы работаете, проанализировать вашу работу — и возьмите конструктивную критику на заметку. Помните, что активное применение новых навыков жизненно важно для достижения цели. Например, если вы хотите лучше решать проблемы, вы можете добровольно взять на себя управление сложным проектом. Если вы хотите лучше управлять своим временем, вы можете попрактиковаться в учете времени и понять, сколько времени вы тратите на каждую задачу.  Заключение  Поскольку IT — одна из самых высокооплачиваемых сфер, спрос на разработчиков программного обеспечения постоянно растут. По этой причине кандидаты должны обладать различными техническими и нетехническими навыками, которые следует учитывать в работе.  При выборе между двумя кандидатами с одинаковыми хард-скиллами предпочтение будет отдано кандидату, который также обладает уверенными софт-скиллами. Выгоднее брать на работу человека, который умеет брать на себя ответственность, любит проявлять инициативу, руководить процессом, умеет общаться с коллективом и хорошо распределять время.    
img
В этой статье расскажем что такое хеш, хеширование и рассмотрим какие есть алгоритмы хеширования. Что такое хеширование? Хеширование означает использование некоторой функции или алгоритма для сопоставления данных объекта с некоторым репрезентативным целочисленным значением. Результат этой функции известен как хеш-значение или просто хэш (hash). Хорошая хеш-функция использует алгоритм одностороннего хеширования, или, другими словами, хэш нельзя преобразовать обратно в исходный ключ. Обеспечение того, чтобы данные не изменялись (модифицировались) во время передачи, очень важно, и чтобы помочь нам определить, сохраняется ли целостность сообщения, мы можем использовать алгоритмы хеширования. Алгоритмы хеширования предназначены для получения входных данных, например, строки текста или файла, а затем использования односторонней функции для создания дайджеста. Дайджест (digest) - это хеш-представление ввода, и его нельзя отменить. Каждый уникальный файл или сообщение генерирует уникальное хеш-значение (дайджест). Это означает, что, если данные каким-либо образом изменены, значение хеш-функции будет однозначно другим. На следующем рисунке показан процесс одностороннего хеширования: Как этот процесс работает между устройствами? Представьте, что отправитель, хост A, хочет отправить сообщение на устройство назначения, хост B. Вместо того, чтобы хост A отправлял сообщение как есть, хост A создаст дайджест сообщения. Как только в дайджесте будет создано сообщение, хост A отправит и сообщение, и дайджест хосту B. На следующем рисунке показано, что хост A отправляет сообщение с дайджестом хосту B: Когда хост B получает сообщение от источника, он также создает дайджест сообщения и сравнивает его с дайджестом, полученным от хоста A. Если оба значения хеш-функции (дайджесты) совпадают, это означает, что сообщение не было изменено во время передачи. Однако, если значения дайджеста различаются, это означает, что где-то по пути сообщение было изменено и, следовательно, содержимое сообщения не совпадает. Возможно ли, что два разных файла будут иметь одинаковое хеш-значение? Хотя алгоритмы хеширования предназначены для создания уникального дайджеста для каждого уникального файла, в прошлом были случаи, что у двух разных файлов одно и то же значение хеш-функции. Это известно, как хэш-коллизия. Если произошла коллизия хеширования, это означает, что алгоритм хеширования, используемый во время процесса, уязвим, и ему не следует доверять. Однако некоторые из самых популярных алгоритмов хеширования, которые используются в настоящее время, подвержены коллизии хеширования. Алгоритмы хеширования Message Digest 5 (MD5) - это алгоритм хеширования, который создает 128-битный дайджест. Алгоритм MD5 был реализован во многих системах на протяжении многих лет и работал хорошо до тех пор, пока не произошла коллизия хеширования. Это сделало MD5 уязвимым алгоритмом хеширования, который больше не рекомендуется. На следующем рисунке представлен процесс хеширования MD5: Как показано на предыдущей диаграмме, сообщение отправляется алгоритму MD5, который затем преобразуется в 128-битный дайджест. Хотя MD5 все еще используется во многих системах, рекомендуется использовать более безопасную функцию, такую как Secure Hashing Algorithm 2 (SHA-2). Еще одна хорошо известная функция хеширования - это Secure Hashing Algorithm 1 (SHA-1). Этот алгоритм хеширования был создан еще в 1990-х годах Национальным институтом стандартов и технологий (NIST). NIST разработал этот алгоритм с функциями, аналогичными MD5. Одним из основных преимуществ использования SHA-1 для проверки целостности является то, что он создает 160-битный дайджест любого сообщения или файла. На следующем рисунке представлена функция SHA-1: Хотя SHA-1 считается лучше, чем MD5, так как создает более крупный дайджест, он работает медленнее, чем MD5, и содержит уязвимости в самом алгоритме. Однако NIST разработал более новую версию, известную как SHA-2. SHA-2 позволяет создавать дайджест с использованием битов большого размера, таких как: SHA-224 (224 bit) SHA-256 (256 bit) SHA-384 (384 bit) SHA-512 (512 bit) Имейте в виду, что даже если вы знаете, что для проверки целостности сообщения использовалось хеширование, оно все равно уязвимо для атаки MiTM. Представьте, что источник отправляет сообщение с хеш-значением. Злоумышленник может перехватить сообщение, изменить его содержимое и пересчитать новый хэш перед его отправкой адресату. Чтобы помочь получателю проверить подлинность источника, нам нужно применить Hash Message Authentication Code (HMAC) к нашему процессу хеширования. Чтобы добавить аутентификацию источника во время процесса хеширования, добавляется HMAC. HMAC - это секретный ключ, который объединяет входное сообщение с алгоритмом хеширования, таким как MD5 или SHA-1, для создания уникального дайджеста. На следующем рисунке показано использование HMAC с функцией хеширования: Поскольку этот секретный ключ (HMAC) используется только отправителем и предполагаемым получателем, значение выходного дайджеста будет просто зависеть от фактического входного сообщения (данных) и секретного ключа, используемого для применения дополнительного уровня безопасности для аутентификации источника. Поскольку источник и место назначения будут единственными сторонами, которые знают секретный ключ (значение HMAC), атака MiTM не будет успешной с точки зрения нарушения целостности любых сообщений, которые проходят через сеть. На следующем скриншоте показан секретный ключ (HMAC), примененный к строке текста: Как показано на предыдущем рисунке, текстовая строка (сообщение) была объединена с секретным ключом и обработана с использованием алгоритма хеширования MD5 и SHA-1 для создания уникального дайджеста.
img
DNS спуфинг (spoofing), так же известный как отравление DNS кэша (cache poisoning), вид атаки, когда DNS кэш заполняется поддельными данными, в результате чего пользователь перенаправляется на вредоносный сайт. Отравление DNS-кэша является результатом уязвимостей, которые позволяют преступникам отправлять поддельные DNS-ответы, которые серверы доменных имен (DNS - Domain Name Server) сохраняют в своих кэшах. Обычно скомпрометированная запись перенаправляет пользователя на поддельный веб-сайт, который злоумышленники используют для совершения преступных действий, таких как распространение вредоносных программ или кража реквизитов кредитных карт, паролей, финансовых данных или другой конфиденциальной и частной информации. При отравлении DNS-кэша сервер кэша DNS сохраняет нелегитимный адрес, предоставленный злоумышленником, а затем выдает его пользователям, запрашивающим подлинный веб-сайт. В большинстве случаев он может выглядеть аналогично аутентичному веб-сайту, поэтому посетителям становится сложнее отличить поддельный сайт от настоящего. Влияние отравления DNS-кэша DNS спуфинг, обычно трудно обнаружить и может оказать большое негативное влияние, особенно для популярных веб-сайтов или веб-приложений со большим количеством посещений или зарегистрированными пользователями. Это представляет большой риск, особенно в некоторых чувствительных отраслях, таких как банковская, медицинская, онлайн-ритейл, электронная коммерция и другие. Например, предполагается, что злоумышленникам удается изменить DNS-записи и IP-адреса для Amazon. Затем они направляют запрос на другой сервер с поддельным IP, который контролируют или принадлежит злоумышленникам. Любой человек, пытающийся получить доступ к подлинному сайту Amazon, будет перенаправлен на неправильный адрес, который может содержать вредоносные программы для кражи конфиденциальной информации. Кроме веб-сайтов, злоумышленник может вставить поддельный адрес для сервера электронной почты или других веб-приложений, таких как банковские приложения. Поскольку изменения в DNS регулярно распространяются с одного сервера на другой, отравленный кэш может распространяться на другие DNS-серверы и системы, что приводит к большому ущербу. Например, поддельная запись может быстро распространяться на другие машины, такие как DNS-серверы Интернет-провайдеров, которые затем будут хранить ее в своем кэше. Отсюда он распространяется дальше на оборудования пользователей, такое как браузеры, мобильные телефоны и маршрутизаторы, которые также будут хранить поддельную запись в своих кэшах. Как работает атака отравление DNS-кэша? Преступники могут отравить кэш DNS с помощью различных методик. Во время обычных операций DNS-запросы хранятся или кэшируются в базе данных, которую пользователи веб-сайтов могут запрашивать в режиме реального времени. Как правило, база данных DNS содержит список имен Интернета и соответствующих IP-адресов. И это облегчает поиск и доступ к веб-сайтам с использованием имен в отличие от IP-адресов, что может быть очень сложным и запутанным. Например, без системы DNS пользователям потребуется запомнить строку чисел, составляющих IP-адреса для всех веб-сайтов, которые они хотят посетить. К сожалению, DNS имеет несколько недостатков в безопасности, которые злоумышленники могут использовать и вставлять в систему поддельные записи адресов интернет-домена. Обычно преступники отправляют на DNS-сервер поддельные ответы. Затем сервер отвечает пользователю, сделавшему запрос, и одновременно законные серверы кэшируют поддельную запись. Как только сервер кэша DNS сохранит поддельную запись, все последующие запросы на скомпрометированную запись получат адрес сервера, управляемого злоумышленником. Отравление DNS-кэша в целом состоит из внедрения поврежденных записей в базу данных кэша сервера имен, и злоумышленники используют различные методы. К ним относятся: Когда пользователь веб-сайта или веб-приложения отправляет запрос на определенный домен через браузер или онлайн-приложение, DNS-сервер сначала проверяет, существует ли запись в кэше. Если он не сохранен, он запросит информацию у авторитетных DNS-серверов, а затем ждет ответа. В течение некоторого времени злоумышленники будут использовать этот узкий период ожидания, временно брать на себя роль исходного DNS и выдавать поддельный ответ до того, как авторитетный сервер отправит подлинный адрес. Однако, поскольку период ожидания обычно очень короткий, показатель успеха очень низкий. Другой способ включает отправку поддельных ответов от DNS-сервера, олицетворяющего легитимный. Поскольку проверка DNS обычно не выполняется, злоумышленники могут подделать ответ от DNS-распознавателя по мере запроса сервера имен. Это также становится возможным благодаря тому, что DNS-серверы используют протокол пользовательских датаграмм (UDP) вместо TCP. Обычно связь DNS небезопасна из-за незашифрованной информации в пакетах UDP и отсутствия аутентификации. Это облегчает злоумышленникам вставлять в ответы поддельные адреса. Уязвимости DNS используемые злоумышленниками Уязвимости безопасности в определенных веб-приложениях, а также отсутствие надлежащей аутентификации DNS-записей позволяют киберпреступникам легко скомпрометировать ответы DNS и остаться незамеченными. Некоторые из этих уязвимостей включают в себя: Отсутствие проверки и валидации DNS имеет первую структуру доверия, которая не требует проверки IP-адреса для подтверждения его подлинности перед отправкой ответа. Поскольку DNS-распознаватели не проверяют данные в кэше, там остается неверная запись, пока она не будет удалена вручную или не истечет срок действия TTL. Уязвимость рекурсивного DNS-сервера Когда рекурсивный запрос активен, DNS-сервер получает запрос и выполняет всю работу по поиску правильного адреса и отправке ответа пользователю. Если у него нет записи в кэше, он будет запрашивать ее у других DNS-серверов от имени клиента, пока не получит адрес и не вернет его пользователю. Включение рекурсивного запроса представляет уязвимость безопасности, которую злоумышленники могут использовать для отравления кэша DNS. Поскольку сервер ищет адрес, он предоставляет злоумышленнику возможность перехватить трафик и предоставить поддельный ответ. Затем рекурсивный DNS-сервер отправит ответ пользователю и одновременном сохранит поддельный IP-адрес в кэше. Отсутствие шифрования Как правило, протокол DNS не зашифрован, и это облегчает злоумышленникам перехват его трафика. Кроме того, серверы не должны проверять IP-адреса, на которые они направляют трафик, следовательно, они не могут определить, является ли он подлинным или поддельным. Как предотвратить DNS спуфинг? Мониторинг данных DNS в реальном времени может помочь установить наличие в трафике необычных шаблонов, действий пользователей или поведения, таких как посещение вредоносных веб-сайтов. И хотя обнаружение отравления DNS-кэшем затруднено, существует несколько мер безопасности, и компании и поставщики услуг могут принять меры, чтобы предотвратить это. Некоторые из мер, предотвращающих отравление DNS-кэша, включают использование DNSSEC, отключение рекурсивных запросов и многое другое. Предельный уровень отношений доверия Одной из уязвимостей DNS-транзакций являются отношения высокого доверия между различными DNS-серверами. Это означает, что серверы не проверяют подлинность получаемых ими записей, что позволяет злоумышленникам даже отправлять поддельные ответы со своих нелегитимных серверов. Чтобы злоумышленники не использовали этот недостаток, группы безопасности должны ограничить уровень доверительных отношений, которые имеют их DNS-серверы с другими. Настройка DNS-серверов таким образом, чтобы они не опирались на доверительные отношения с другими DNS-серверами, затрудняет использование киберпреступниками DNS-сервера для компрометации записей на законных серверах. Существует множество инструментов для проверки наличия угроз безопасности DNS. Использование протокола DNSSEC Расширения безопасности системы доменных имен (DNSSEC - Domain Name System Security Extensions) используют криптографию с открытым ключом для подписи DNS-записей, поэтому они добавляют функцию проверки и позволяют системам определять, является ли адрес законным или нет. Это помогает проверять и аутентифицировать подлинность запросов и ответов и тем самым предотвращать подделку. При обычной работе протокол DNSSEC связывает уникальную криптографическую подпись с другой информацией DNS, такой как записи CNAME и A. Затем DNS-распознаватель использует эту подпись для проверки подлинности DNS-ответа перед отправкой его пользователю. Подписи безопасности гарантируют, что ответы на запросы, которые получают пользователи, проверяются законным исходным сервером. Хотя DNSSEC может предотвратить отравление кэша DNS, он имеет такие недостатки, как сложное развертывание, предоставление данных и уязвимость перечисления зон в более ранних версиях. Не уверены, что в вашем домене включен DNSSEC? Немедленно проверьте с помощью инструмента DNSSEC Test. Используйте последние версии программного обеспечения DNS и BIND (Berkeley Internet Name Domain) BIND версии 9.5.0 или выше обычно имеет расширенные функции безопасности, такие как криптографически безопасные идентификаторы транзакций и рандомизация портов, что помогает минимизировать отравление DNS-кэша. Кроме того, ИТ-специалисты должны поддерживать программное обеспечение DNS в актуальном состоянии и гарантировать, что оно является самой последней и безопасной версией. Помимо вышеизложенного, ниже приведены другие эффективные способы или практики предотвращения отравления DNS-кэшем. Настройка DNS-сервера для ответа только информацией, относящейся к запрошенному домену Убедитесь, что на сервере кэша хранятся только данные, относящиеся к запрошенному домену Принудительно использовать сети IP для всего трафика Отключить функцию рекурсивных запросов DNS Заключение Отравление кэш-памяти DNS приводит к перенаправлению пользователей домена на вредоносные адреса. Некоторые серверы, управляемые злоумышленниками, могут обманывать ничего не подозревающих пользователей, которые загружают вредоносные программы или предоставляют пароли, информацию о кредитных картах и другие конфиденциальные личные данные. Для предотвращения этого важно использовать передовые методы обеспечения безопасности.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59