Добавить в корзинуПозвонить
Найти в Дзене

#UnusualPeople Камиль Талипов, 22 года, @kamiltalipov (часть 1) Камиль порекомендовал мне в личных сообщениях книгу Стивена Ле

Камиль порекомендовал мне в личных сообщениях книгу Стивена Леви про хакеров после моей записи на канале. Люди, которые рекомендуют книги, мне кажутся интересными и в диалоге выяснилось, что Камиль работает в Яндексе младшим разработчиком чуть меньше года, а его погружение в процесс программирования вызвало у меня желание поделиться этой историей.
Увлечение программированием у Камиля началось в 11 лет, когда он учился в четвертом классе: «Тогда я немного скриптовал мультики, которые сам же рисовал во Flash».
Более серьезно он занялся программированием уже классе в седьмом, когда начал ходить в кружок по решению олимпиадных задач по программированию. «С чего конкретно началась увлеченность, уже трудно сказать — скорее всего, я просто видел, какие могут быть программы, что они могут делать, и захотел создавать что-то подобное :) Одними из первых моих проектов были разные простейшие игры, вроде змейки и программы, которая делала транслитерацию».
В старших классах Камиль занимался в ант

#UnusualPeople

Камиль Талипов, 22 года, @kamiltalipov
(часть 1)

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

Увлечение программированием у Камиля началось в 11 лет, когда он учился в четвертом классе: «Тогда я немного скриптовал мультики, которые сам же рисовал во Flash».

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

В старших классах Камиль занимался в антивирусной школе при лаборатории Касперского. «Там мы изучали разные способы атак, как обезопасить себя и анализировали вирусы. Одним из заданий было вылечить зараженную систему и сказать, что конкретно делал вирус. Чтобы разобраться, приходилось читать ассемблерный код вируса и понимать, что же он делает».

Надо сказать, что я вначале подумала, что Камиль — самый настоящий хакер, поэтому меня заинтересовал процесс взлома кода и всякие «романтические» истории, связанные с поиском уязвимостей. Камиль оказался не хакером в значении злоумышленника, а больше «белой шляпой» (так называют специалиста по безопасности, работающего в рамках закона) — сказал, что взламывал код исключительно для себя, хотел решить головоломку.

Но процесс описания работы хакера Камиль привёл очень красочный. Читая его, ловила себя на мысли, что это готовый сценарий документального образовательного фильма, столько всего там интересного.

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

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

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

«Прогресс идет по обе стороны — как защиты, так и взлома. От того, что мы узнаем на этапе исследования, зависит способ взлома. Иногда надо придумывать что-то необычное и новое для конкретно этой ситуации, но в целом методов атак много, так же, как и способов их применения. Главное понять, что является слабым звеном и направить усилия в эту сторону».

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