Может ли программист взломать компьютер или сайт
easy

Может ли программист взломать компьютер или сайт

Чаще всего нет, потому что одного программирования тут недостаточно

Ситуация: вы начинаете заниматься программированием и рассказываете об этом друзьям. Некоторое время спустя они начинают вам писать с просьбой взломать чужую страницу во «ВКонтакте», электронную почту или получить доступ к чьей-то переписке в WhatsApp. Когда вы отвечаете, что не можете, все искренне не понимают почему — вы же программист, а значит, разбираетесь во всех этих штуках и можете написать программу, которая всё быстро взломает.

Давайте разбираться, почему это так не работает.

❗️ Важное примечание

Мы против взломов и получения доступа к личным и персональным данным незаконным путём. Если вам нравится кибербезопасность и вы хотите попробовать себя в роли хакера — участвуйте в баг-баунти и приносите пользу компаниям. Вот статья, которая поможет разобраться в этом: Что такое баг-баунти. Если хотите научиться такому, приходите в Практикум на курс по пентесту и информационной безопасности.

Как на самом деле

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

Почему программисту сложно что-то взломать

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

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

Может ли программист стать хакером

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

  • сетевые протоколы и взаимодействия;
  • криптографию и алгоритмы шифрования;
  • размещение программ в памяти и работу со стеком;
  • программную и аппаратную виртуализацию;
  • прерывания, байт-код и ассемблер.

Всё это чаще всего не нужно обычным программистам, потому что задачи, которые перед ними стоят, совершенно другие:

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

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

Кто такие белые хакеры и что такое баг-баунти

Белые хакеры — это специалисты по кибербезопасности, которые работают на компании и проверяют их же ИТ-инфраструктуру на устойчивость ко взлому. Они могут работать штатно, как приглашённые специалисты или же участвовать в баг-баунти.

Баг-баунти (от англ. bug bounty) — открытый конкурс по поиску уязвимостей в продукте. Работает это примерно так:

  1. Компания делает анонс конкурса, мол, вот наш продукт — найдите в нём проблемы.
  2. Часто объявляют призы: деньги или приём на работу.
  3. В назначенное время начинается конкурс — сообщают, что именно нужно проверить и как.
  4. Айтишники пытаются найти уязвимости и сломать продукт. Найденные проблемы отправляют компании. 
  5. Компания награждает победителей и исправляет ошибки.

У Яндекса подобные штуки называются «Охота за ошибками». В 2023 году за серьёзную уязвимость платят полтора миллиона рублей. Минцифры тоже проводит такие мероприятия — в них можно проверить на прочность портал госуслуг, а также другие государственные системы и получить до миллиона рублей за каждую найденную уязвимость. 

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

Может ли программист взломать компьютер или сайт

Что в итоге

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

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

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Маша Климентьева

Соцсети:

Виталий Вебер

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Вам может быть интересно
easy