Рубрики
Uncategorized

Разве вы не думаете, что вы должны перестать нажимать на небезопасный код на GitHub? (OWASP)

В этой статье я объясню, что такое OWASP и как вы можете использовать его как разработчик или безопасность … Tagged с безопасностью, ShowDev, DevOps.

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

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

Если вы предпочитаете видеть это на видео, вы можете найти его на мой канал Twitch Анкет

Я транслирую все Четверг в 21:00 (GMT+1) на мой канал Twitch о темах безопасности. 🖥

Не стесняйтесь приходить и поздороваться, 🙋🏼‍♂️, если это представляет вам какой -либо интерес, или если чтение этой статьи вызвало некоторые вопросы, и вам отчаянно нужны ответы. 🤔

Поток о OWASP доступен здесь .

Вот клип об этом: жидкая ошибка: внутренняя

Смотрите видео о OWASP на YouTube здесь:

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

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

Давайте объясним, почему интересно и важно понимать эти темы безопасности, даже если вы не собираетесь использовать, потому что вы разрабатываете программное обеспечение.

Когда вы изучаете боевой спорт, такой как Карате или ММА, Сначала вы научитесь атаковать своего противника Анкет

Почему мы это делаем? 🤷🏼

Это потому, что Когда вы знаете все атаки , даже если вы не можете сделать их все — Потому что этот «супер-летающий удар» довольно сложно сделать — Вы можете начать обучение Лучший способ защитить его, заблокировать или даже контратаку Анкет

Это термины кибербезопасности, вы находитесь в аналогичной схеме. Есть Злоумышленник и Защитник Анкет Вы находитесь в положении Защитник ( И ты не можешь дать отпор ) Тем не менее, знание всех возможных атак ставит вас в лучшую позицию, чтобы защитить себя и свою службу.

Вот почему я хочу сосредоточиться на наступательной безопасности для следующих сообщений. Но прежде чем мы рассмотрим множество наиболее распространенных атак на приложения, инфраструктуры и услуги, я хочу представить один из самых интересных ресурсов, если вы заинтересованы в Infosec, Открыть проект безопасности веб -приложений (OWASP).

Что такое OWASP?

Проект безопасности Open Web Application (OWASP)-это интернет-сообщество, которое производит свободно доступные статьи, методологии, документацию, инструменты и технологии в области безопасности веб-приложений.

Все, что производит OWASP, является открытым исходным кодом и свободно доступно на своем веб -сайте или GitHub. Более того, ресурсы OWASP доступны на разных языках. Я уверен, что ваш родной язык поддерживается. И если это не так, вы можете участвовать в проекте и перевести материалы на выбранном языке ( это было то, как я участвовал в проекте в начале ).

OWASP производит Программное обеспечение OWASP ZAP Выполнить человека в средних атаках.

Owasp Zap похож на очень популярный Burp Proxy от Портссуггера, Чарльз прокси (Только Mac) или Bettercap (CLI, написано в Go).

OWASP производит Много документации , о 10 Наиболее частые атаки на приложения и услуги , Руководства по тестированию безопасности для многих целей (Web, iOS, Android), Структура знаний о безопасности Чтобы обновить знания вашей команды и многие другие.

Веб -сайт OWASP является фантастическим источником знаний о веб -безопасности, и вы обязательно должны прочитать его широко. И обязательно участвуйте в проекте. Это действительно очень легко.

Мой первый вклад в проект OWASP состоял в том, чтобы просто перевести топ -10 OWASP на французском языке (мой родной язык). Я обнаружил очень дружелюбное сообщество, и это был один из моих первых вкладов в проект с открытым исходным кодом. Если это интересно для вас, обязательно являйтесь частью проекта OWASP и привнести свои знания и ценности в проект OWASP, какими бы они ни были, они будут полезны для проекта.

The Owasp Top 10

OWASP TOP 10 является одним из самых популярных проектов OWASP. Он представляет собой широкий консенсус по поводу наиболее важных рисков безопасности для веб -приложений.

Это означает, что именно там вы должны сосредоточиться с точки зрения безопасности и развития. Потому что они являются недостатками, которые наиболее часто доступны в веб -службе. И так, Это то, что злоумышленник собирается проверить первым Анкет

1 Инъекция Недостатки впрыска, такие как SQL, NOSQL, OS и LDAP -инъекции, возникают, когда ненадежные данные отправляются интерпретатору как часть команды или запроса. Враждебные данные злоумышленника могут обмануть переводчика в выполнение непреднамеренных команд или доступа к данным без надлежащего авторизации.
2 Сломанная аутентификация Функции приложений, связанные с аутентификацией и управлением сеансами, часто реализуются неправильно, что позволяет злоумышленникам поставить под угрозу пароли, ключи или токены сеанса или использовать другие недостатки реализации, чтобы принять идентификации других пользователей временно или навсегда.
3 Чувствительное воздействие данных Многие веб -приложения и API не защищают конфиденциальные данные, такие как финансовые, здравоохранение и PII. Злоумышленники могут украсть или изменить такие слабо охраняемые данные для проведения мошенничества с кредитными картами, кражи личных данных или других преступлений. Конфиденциальные данные могут быть скомпрометированы без дополнительной защиты, такой как шифрование в состоянии покоя или в пути, и требуют особых мер предосторожности при обмене с браузером.
4 XML внешние объекты (xxe) Многие более старые или плохо настроенные процессоры XML оценивают внешние ссылки на объекты в документах XML. Внешние объекты могут использоваться для раскрытия внутренних файлов, используя обработчик файла URI, внутренние совместные файлы, внутреннее сканирование портов, удаленное выполнение кода и отказ в атаках обслуживания.
5 Нарушенное управление доступом Ограничения на то, что разрешены аутентифицированные пользователи часто не применяются должным образом. Злоумышленники могут использовать эти недостатки для доступа к несанкционированной функциональности и/или данным, таким как доступ к учетным записям других пользователей, просмотр конфиденциальных файлов, изменение данных других пользователей, изменения доступа и т. Д.
6 Неправильная конфигурация безопасности Завершение безопасности является наиболее часто встречающейся проблемой. Это обычно является результатом небезопасных конфигураций по умолчанию, неполных или специальных конфигураций, открытого облачного хранилища, неправильно настроенных заголовков HTTP и сообщений об ошибках словеса, содержащих конфиденциальную информацию. Мало того, что все операционные системы, структуры, библиотеки и приложения будут надежно настроены, но они должны своевременно исправлять/обновляться.
7 Сценарий поперечного сайта xss Недостатки XSS возникают всякий раз, когда приложение включает в себя ненадежные данные на новой веб-странице без надлежащей проверки или выхода, или обновляет существующую веб-страницу с помощью пользовательских данных, используя API браузера, который может создавать HTML или JavaScript. XSS позволяет злоумышленникам выполнять сценарии в браузере жертвы, которые могут захватить пользовательские сеансы, определять веб -сайты или перенаправить пользователя на вредоносные сайты.
8 Небезопасная десериализация Небезопасная десериализация часто приводит к удаленному выполнению кода. Даже если недостатки десериализации не приводят к удаленному выполнению кода, их можно использовать для выполнения атак, включая атаки воспроизведения, атаки инъекций и атаки эскалации привилегий.
9 Использование компонентов с известными уязвимостями Компоненты, такие как библиотеки, фреймворки и другие программные модули, работают с теми же привилегиями, что и приложение. Если эксплуатируется уязвимый компонент, такая атака может способствовать серьезной потере данных или поглощению сервера. Приложения и API с использованием компонентов с известными уязвимостями могут подорвать защиту применения и обеспечить различные атаки и воздействия.
10 Недостаточная регистрация и мониторинг Недостаточная регистрация и мониторинг, в сочетании с отсутствующей или неэффективной интеграцией с откликом инцидентов, позволяет злоумышленникам дальнейшие системы атаки, поддерживать стойкость, поворот к большему количеству систем и подделка, извлекать или уничтожать данные. Большинство исследований нарушения показывают, что время для обнаружения нарушения составляет более 200 дней, обычно обнаруживается внешними сторонами, а не внутренними процессами или мониторингом.

OWASP Security Lazerwork — OSFK

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

Чем последнее вы обнаруживаете уязвимость во время жизненного цикла разработки программного обеспечения, тем дороже будет его решить. Вот хорошая картина о стоимости решить уязвимость в отношении жизненного цикла разработки программного обеспечения.

OSFK дает вам инструменты для обновления ваших знаний о безопасности программного обеспечения. Вы можете найти лаборатории для практического на многих недостатках.

База знаний SFK Labs

Например, если вы хотите понять Путь пересечения Уязвимость (LFI означает локальное включение файла ), вам просто нужно выбрать «Перейти в лабораторию» и выполнить шаги. Вы можете либо попробовать его по изображению Docker, либо сценарием Python.

Затем вы можете попробовать эту уязвимость с помощью «разведывательных», а затем «эксплуатация».

1 — разведка

В приложении показано раскрывающееся меню, из которого мы можем выбрать вступление или главы, которые будут отображаться на стороне клиента.

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

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

На изображении выше показан текстовый файл, который извлекается из файловой системы серверов, выделенной красным. И ответ выделен синим.

@app.route("/home", methods=['POST'])
def home():
    filename = request.form['filename']
    if filename == "":
        filename = "default.txt"
    f = open(filename,'r')
    read = f.read()
    return render_template("index.html",read = read)

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

2 — эксплуатация

Потенциальный злоумышленник теперь может подделать параметр «filename», чтобы получить более конфиденциальную информацию из файловой системы. В качестве доказательства концепции в тесте на проникновение мы часто покажем успешную атаку, получив файл «/etc/passwd».

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

Вы можете найти такого рода объяснение для всех уязвимостей, выявленных в OSFK.

Я очень призываю любого пользователя взглянуть на топ -10 OWASP и войти в OSFK, чтобы посмотреть на как можно больше уязвимостей и попробовать лаборатории, чтобы понять, как можно обнаружить и использовать такой уязвимость.

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

Я объясню все наиболее распространенные уязвимости (XSS, CSRF, SQLI и т. Д.) В моих будущих постах.

OWASP Zap

Интернет — это сеть, и каждый узел может общаться с другими. В веб -сервисе есть клиент (вы) и сервер (служба, которую вы хотите потреблять). Клиент и сервер обмениваются много информации, чтобы клиент мог потреблять серверы служб/API.

Много уязвимостей происходит от этих обменов по сети. Если кто -то может прослушать потоки сети, он может иметь много ценной информации. Например, на веб-сайте электронной коммерции, что вы покупаете, сколько, ваше имя, ваш адрес и, самое главное, номера ваших кредитных карт. Вот почему мы создали «HTTPS» для обеспечения обменов по сети. Тем не менее, у него все еще есть недостатки, если он неправильно реализован.

Вот где инструмент, подобный Owasp Zap может прийти на помощь.

ZED Attack Proxy (ZAP)-это бесплатный инструмент тестирования проникновения с открытым исходным кодом, который поддерживается под эгидой проекта безопасности открытого веб-приложений (OWASP). ZAP разработан специально для тестирования веб -приложений и является гибким и расширяемым.

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

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

ZAP предоставляет функциональность для ряда уровней квалификации — от разработчиков, до тестировщиков, новых для тестирования безопасности, для специалистов по тестированию безопасности. У Zap есть версии для каждой крупной ОС и Docker, поэтому вы не привязаны к одной ОС. Дополнительная функциональность свободно доступна из различных дополнений на рынке ZAP, доступных из клиента ZAP.

С точки зрения атак, вы можете выполнить все типы «Человека в средней» атаках с прокси -сервером ZAP, такими как XSS, CSRF, SQLI и множество других. ZAP очень интересен, так как он может быть пользователем в качестве автономного приложения, но в качестве процесса демона, которая также является основной функцией, если вы хотите добавить безопасность в свой конвейер CI, потому что вы можете добавить некоторые тесты, используя ZAP на свой CI.

Давайте рассмотрим следующий трубопровод CI:

Если вы хотите добавить некоторую безопасность в трубопровод CI, во время шага «Запустить тесты» вы добавляете свои тесты, связанные с безопасностью, с прокси -сервером ZAP или любыми другими инструментами безопасности, которые вы найдете соответствующими, а затем добавляете эти тесты в трубопровод CI.

Что -то интересное, что вы можете сделать, чтобы начать добавлять эти тесты безопасности в ваш трубопровод CI, — это выполнить пентест на вашей платформе. Как только вы получите идентифицированные уязвимости от этого пентеста, решите их. В рамках процесса решения этих уязвимостей вы должны записать тесты в своем конвейере CI, чтобы убедиться, что код и новые артефакты, которые вы собираетесь развернуть, больше не являются предметами этой уязвимости.

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

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

Это все цели методологии DevSecops, и я надеюсь объяснить это немного глубже в следующем посте.

Большое спасибо за то, что прочитали это до этого момента. Надеюсь, вам понравилось читать это и что -то научилось.

Оставьте мне сообщение, если вы Devsecops уже — то, что вы делаете в своей команде, или вы планируете добавить его в свой трубопровод CI. Скажите мне, что вы думаете об Owasp Zap, если вы разработчик. Это полезно? И как инженер безопасности. Какую цель вы хотите достичь с помощью такого рода инструмента. Я буду рад видеть, что я участвую, добавляю безопасность организации или что один человек обнаружил что -то новое чтение этой статьи и собирается обновить свою игру с точки зрения безопасности. 💪

Это будет много значит для меня.

Оригинал: «https://dev.to/shostarsson/what-is-the-owasp-why-you-should-rely-on-it-1akg»