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