CWE/SANS Top 25 Most Dangerous Programming Errors 2010

CWE/SANS Top 25 Most Dangerous Programming Errors 2010
Опубликован очередной документ CWE/SANS Top 25наиболее опасных ошибок программирования, допускаемых разработчиками программного обеспечения, в том числе, и при разработке Web-приложений. Первая тройка распространенных ошибок выглядит следующим образом: 1. Недостаточная проверка поступающих данных в структуру Web-приложения. Класс уязвимости - "Межсайтовое выполнение сценариев". Вектор атаки направлен на эксплуатацию на стороне клиента (client-side attack). CWE-79, OWASP A1, WASC-8, WHID: XSS "Межсайтовое выполнение сценариев" (Cross-Site Scripting (en.), сокр. XSS) связано с возможностью внедрения HTML-кода в уязвимую страницу. Внедрение кода осуществляется через все доступные способы ввода информации. Успешная эксплуатация уязвимости может позволить атакующему использовать значения различных переменных, доступных в контексте сайта, записывать информацию, перехватывать сессии пользователей и т.д. name='more'> 2. Недостаточная проверка поступающих данных в SQL-запрос. Класс уязвимости - "Внедрение операторов SQL". Вектор атаки направлен на эксплуатацию на стороне сервера (server-side attack). CWE-89, OWASP A2, WASC-19, WHID: SQL Injection "Внедрение операторов SQL" (SQL injection (en.), сокр. SQLi) способ нападения на базу данных в обход межсетевой защиты. В этом методе, параметры, передаваемые к базе данных через приложения, изменяются таким образом, чтобы повлиять на выполняемый в приложении SQL запрос. Инъекция осуществляется через все доступные способы взаимодействия с приложением. Уязвимость "Внедрение операторов SQL" возникает в тех случаях, когда приложение динамически формирует SQL-запросы на основе поступающих данных со стороны не доверенного источника без их адекватной проверки. Под приложением нужно понимать любую программу, взаимодействующую с базой данных. 3. Недостаточная проверка размеров передаваемого буфера. Класс уязвимости - "Переполнение буфера". Атака может осуществляться, как в отношении клиентского приложения (local attack), так и серверного (remote attack). CWE-120, WHID: Buffer Overflow "Переполнение буфера" (Buffer Overflow (en.), или Buffer Overrun) возникает в момент копирования некоторых данных из одного участка памяти в другой без достаточной проверки размера передаваемых в него данных, что позволяет записать данные за пределами выделенного в памяти буфера. Зачастую уязвимость может использоваться для выполнения произвольного кода в системе с привилегиями уязвимого приложения или с целью проведения атаки "Denial of Service" (DoS). Примечательно, что на четвертой позиции рейтинга CWE/SANS Top 25 содержится уязвимость "Подделка HTTP-запросов" (Cross-Site Request Forgery (en.), сокр. CSRF) [ 1, 2], которая до 2001 года уязвимостью особо и не считалась [ 3]. Полный перечень уязвимостей CWE/SANS Top 25 в формате pdf можно загрузить здесь. Сопоставление уязвимостей, характерных для Web-приложений (CWE/SANS, OWASP Top 10, WASC Threat Classification, WASC WHID), приведено в блоге Ryan Barnett. Обобщенная таблица сопоставления уязвимостей в Web-приложениях (WASC Threat Classification, CWE ID, CAPEC ID, SANS/CWE Top 25 2009, OWASP Top Ten 2010, OWASP Top Ten 2007, OWASP Top Ten 2004) приведена здесь.
уязвимости client-side server-side vulns уязвимости web
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Эксплойт без патча? Узнай первым

В реальном времени: уязвимые версии, индикаторы компрометации и быстрые меры. Не читай — действуй.