Заметка о проведении аудита
На прошлой неделе я взял конкурсный аудит. Позже знакомый разработчик попросил также проверить и его проект. И я хочу рассказать о своем опыте последней недели.
Начну с того, что в январе я брал первые конкурсные проекты и особо не понимал, с чего начинать и куда двигаться. Моей стратегией было просмотреть контракты, почитать документацию и искать уязвимости. Не то, чтобы это было не правильной тактикой, но она не принесла плоды. В этот раз я решил пойти другим путем.
Перед поиском багов я решил досконально изучить проект. Это значит, что я не только прочитал официальную документацию и readme файлы проекта, но и делал заметки по ходу всего изучения. К некоторым абзацам я возвращался снова и снова, чтобы понять саму идею проекта. Только после этого я стал "копаться в коде".
Когда читаешь каждую функцию по-отдельности, то кажется, что все понятно. Но спустя некоторое время и пару контрактов, ты уже не можешь сказать, что она делает. Тогда я попробовал построить схему их "потока" действий, просто типа майнд карты.
И только спустя более 40 часов изучения, я смог понять всю идею разработчиков и по памяти разложить ход действий, с учетом изменений в памяти контракта.
Только после этого я приступил к поиску уязвимостей. Самое сложное было это отойти от "мыслей разработчика" и попытаться посмотреть на проект глазами взломщика, выявляя все не стандартные действия, которые может совершить пользователь.
Очень надеюсь, что у меня получилось найти несколько хороших багов. С нетерпением буду ждать результатов.
Что по дружескому проекту, то тут все проще. Хоть количество контрактов и не большое, всего 4 штуки, но они были намного понятнее, чем серьезный конкурсный аудит. Тем не менее, на его изучение мне потребовался день, вместе с постоянной перепиской с разработчиком.
Как я понял, в аудите 80% всего времени нужно тратить не столько на поиск багов, сколько на понимание ключевой идеи разработчиков. Только тогда вы сможете понимать, какие действия были запланированы, а какие будут неожиданностью.
Всем удачных аудитов!
#audit
Post #743
458
- 👍 9