Нужно ли сначала научиться программировать, чтобы заниматься ИБ?
Спорю с другом. Он говорит, что хакеру не обязательно уметь программировать — есть готовые инструменты. Я считаю, что код знать надо. Кто прав? И если надо — то какие языки и насколько глубоко?
2 ответа
Истина посередине, но ближе к тебе. На самом старте можно входить в ИБ и без глубокого программирования — многие начинают с готовых инструментов (Burp Suite, nmap, Metasploit) и решают комнаты на TryHackMe. Так что твой друг прав в том, что код — не обязательный билет на вход.
Но чтобы вырасти из «оператора инструментов» в настоящего специалиста, программирование необходимо. Разница как между водителем и автомехаником: оба ездят, но чинит только тот, кто понимает устройство.
Зачем безопаснику код:
- Python — писать свои скрипты, автоматизировать рутину, допиливать чужие эксплойты под себя. Язык №1, учи первым.
- Bash — склеивать команды в Linux.
- JavaScript + HTML — без этого не понять веб-уязвимости (XSS, CSRF).
- SQL — чтобы понимать SQL-инъекции.
- C / Assembly — пригодятся позже, для reverse engineering и pwn (но это не на старте).
Глубина: тебе не нужно быть senior-разработчиком. Нужно уметь читать чужой код и писать свои небольшие скрипты. Этого достаточно для 90% задач.
Вывод: начинать можно параллельно, но Python подтягивай с первых месяцев — он окупится многократно. Споры «программист vs хакер» бессмысленны: лучшие безопасники умеют и то и другое.
Добавлю аргумент в пользу кода: чтобы понимать, как ломать, надо понимать, как ломается. А ломается обычно из-за ошибок в коде. Когда ты сам написал десяток программ и сам словил баги, ты начинаешь интуитивно чувствовать, где разработчик мог накосячить. Это бесценно для пентеста.