Кажется, есть много студентов и профессионалов в области безопасности, которые, кажется, хотят пройти свою карьеру в области безопасности, не зная, как программировать. Я не говорю о написании на C/C++, я говорю о том, что даже не хочу писать на Python. На мой взгляд, вы должны не только знать, как писать на языке взаимопроникновения, таком как Python, вы также должны знать, как программировать на C/C++, и в чем разница между компилируемым и взаимопроникающим языком. Этот пост полностью самоуверен; тем не менее, я надеюсь, что некоторые из вас, которые не думают, что вам нужно учиться программировать, передумают и захотят программировать.

Это слишком сложно

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

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

fName = ‘Мартино’

lName = «Джонс»

печать (fName + lName)

Если вы прочитали это и подумали: «О да, это напечатает на экране «Мартино Джонс», тогда хорошая работа, если нет, не волнуйтесь, потому что я действительно не объяснил, что делает print, или переменные. Это не сложно, просто нужно время. Когда вы только начинали заниматься безопасностью, вы мало что знали, но вы потратили время и научились… то же самое и здесь. Это будет выглядеть сложно, но через месяц упорного труда вы оглянетесь назад и увидите, как далеко вы продвинулись, и будете впечатлены.

Почему??

Вот в чем дело: заниматься безопасностью, не зная, как программировать, это все равно, что заниматься безопасностью, не зная, что такое TCP и UDP… это довольно ограничивает. Как вы можете должным образом защитить систему, если вы не знаете, что система делает, или, по крайней мере, представления о том, что происходит. Если вы защищаете систему от атаки переполнения буфера, которая существует в некотором программном обеспечении, не думаете ли вы, что было бы лучше знать, что это такое?

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

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

Как?

Надеюсь, если вы не думали, что вам нужно научиться кодировать, прежде чем вы заинтересовались, сейчас. В Интернете есть МНОЖЕСТВО бесплатных материалов и курсов, таких как: MIT Open Courseware, CodeAcademy, Enki, edX, Coursera, freeCodeCamp, YouTube и множество других мест. Наряду с платными решениями, такими как Udemy, Code School, Skillcrush и многими другими. Есть также колледж и местная библиотека. У вас буквально нет оправданий тому, что вы не умеете хотя бы интерпретируемый язык программирования. Вы должны начать с того, что такое интерпретируемый язык, и угроз безопасности, связанных с его реализацией.