Статистика вразливостей web-додатків за 2008 рік

Введення


Консорціум Web Application Security Consortium (WASC) представляє статистику вразливостей Web-додатків за 2008 рік (WASC Web Application Security Statistics Project 2008) і висловлює подяку наступним експертам і компаніям, які зробили свій внесок у розвиток проекту:
Sergey Gordeychik* (POSITIVE TECHNOLOGIES)
Jeremiah Grossman (WHITEHAT SECURITY)
Mandeep Khera (CENZIC)
Matt Latinga (HP APPLICATION SECURITY CENTER)
Chris Wysopal (VERACODE)
Shreeraj Shah (BLUEINFY)
Lawson Lee (dns)
Campbell Murray (ENCRIPTION LIMITED)
Dmitry Evteev (POSITIVE TECHNOLOGIES)
*Project Leader



Методика


Дана публікація містить оглядову статистику вразливостей Web-додатків, отриману в ході робіт з тестуванням на проникнення, аудитів безпеки та інших робіт, що проводяться Компаніями, які входять в консорціум WASC в 2008 році. Всього статистика містить дані про 12186 сайтах, в яких було виявлено 97554 уразливості різного ступеня ризику.
У результаті зібраних даних було отримано 4 набору даних:



Дані автоматичного сканування містять інформацію з повністю автоматизованому скануванню без попередньої настройки (зі стандартним профілем) сайтів хостинг-провайдера. При аналізі цієї інформації слід враховувати, що далеко не всі сайти використовують інтерактивні елементи. Крім того, додаткова експертна налаштування сканера під конкретне Web-додаток дозволяє істотно підвищити ефективність виявлення вразливостей.


Статистика по оцінці захищеності методом чорного ящика містить результати робіт з ручного і автоматизованого аналізу Web-додатків, без попереднього отримання будь-якої інформації про досліджуваний додатку. Як правило, такі роботи включають сканування з попередніми налаштуваннями і ручний пошук вразливостей недоступних автоматичним сканерів.


Статистика по оцінці захищеності методом білого ящика містить результати робіт з найбільш глибокого аналізу Web-додатків. Такі роботи включають в себе аналіз програми від імені авторизованого користувача та аналіз вихідних кодів, крім всіх тих перевірок, які виконуються при обстеженні програми методом чорного ящика.


Виявлені уразливості класифікувалися згідно Web Application Security Consortium Web Security Threat Classification (WASC WSTCv2). Критичність уразливості, оцінювалася згідно CVSSv2 (Common Vulnerability Scoring System version 2) з подальшим приведенням до ступенями ризику стандарту із захисту інформації в індустрії платіжних карт PCI DSS (Payment Card Industry Data Security Standard) відповідно до методики (Додаток 1).


Резюме


Всього в представлену статистику увійшли дані по 12186 Web-додатків, в яких було виявлено 97554 уразливості різного ступеня ризику. Аналіз отриманих даних показує, що більше 13% (Web-додатки, що містять уразливості Brute Force Attack, Buffer Overflow, OS Commanding, Path Traversal, Remote File Inclusion, SSI Injection, Session Fixation, SQL Injection, Insufficient Authentication, Insufficient Authorization, виявлені при проведенні автоматизованих сканувань) всіх проаналізованих сайтів може бути скомпрометовано повністю автоматично.

Близько 49% Web-додатків містять уразливості високої ступенів ризику (Urgent і Critical), виявлені при автоматичному скануванні систем (Т.1). Однак під час детальної ручної та автоматизованої оцінці методом білого ящика ймовірність виявлення таких вразливостей високого ступеня ризику досягає 80-96%. Імовірність же виявлення вразливостей ступеня ризику вище середнього (критерій відповідності вимогам PCI DSS) становить більше 86% при будь-якому методі робіт. У той же час при проведенні більш глибокого аналізу 99% Web-додатків не задовольняє вимогам стандарту по захисту інформації в індустрії платіжних карт (T.6, Рис.13).


На підставі проведеного аналізу можна зробити наступні висновки:



Аналіз даних


Всього в представлену статистику увійшли дані по 12186 Web-додатків, в яких було виявлено 97554 уразливості різного ступеня ризику.


Загальний аналіз


У Т.1 і на Рис.1 представлені дані за ймовірністю виявлення вразливостей різного ступеня ризику, виявлені в ході аудитів і шляхом автоматизованого сканування.


Так, при проведенні автоматичних сканувань було виявлено до 86% сайтів, які містять від однієї до декількох вразливостей не нижче середнього рівня ризику (Urgent-High). При оцінці Web-додатків методами чорного і білого ящика, аналогічний показник збільшився до 92-98% відповідно.


У значній мірі отримані результати пов'язані з тим, що при детальному аналізі оцінка ризику більш адекватна і враховує не тільки тип вразливості, але і реальні наслідки її експлуатації з урахуванням архітектури та реалізації програми. Крім того, важливим фактором є те, що при автоматичному скануванні брали участь сайти хостинг-провайдера, в деяких випадках не містять активного контенту, в той час як роботи з оцінки захищеності, як правило, проводяться для додатків містять складну бізнес-логіку. Тобто результати автоматизованих сканувань можна інтерпретувати як дані для середньостатистичного Інтернет-сайту, в той час як роботи, що провадяться методами BlackBox і WhiteBox більше відносяться до інтерактивних корпоративним Web-додатків.



Малюнок 1. Ймовірність виявлення вразливостей різного ступеня ризику


T. 1 Ймовірність виявлення вразливостей різного ступеня ризику




















































 

ALL 

Scans

BlackBox

WhiteBox


Urgent


18,77%


16,70%


19,69%


50,00%


Critical


45,22%


39,25%


74,76%


92,00%


High


72,27%


73,09%


58,51%


62,00%


Medium


36,56%


40,19%


12,05%


24,00%


Low


29,69%


34,45%


0,10%


4,00%


U+C


55,50%


49,40%


79,73%


96,00%


U+C+H


95,79%


95,60%


95,66%


98,84%


Найбільш поширеними уразливими є Cross-Site Scripting, Information Leakage, SQL Injection, Insufficient Transport Layer Protection, Fingerprinting і HTTP Response Splitting (Мал. 2). Як правило, уразливості типу Cross-Site Scripting, SQL Injection та HTTP Response Splitting виникають через помилки у розробці систем, в той час як Information Leakage, Insufficient Transport Layer Protection та Fingerprinting найчастіше пов'язані з недостатньо ефективним адмініструванням (наприклад, розмежуванням доступу) в системах.


 
Малюнок 2. Найбільш поширені уразливості в Web-додатках (% Vulns ALL)


 
Малюнок 3. Ймовірність виявлення найбільш поширених вразливостей Web-додатків (% Sites ALL)



Малюнок 4. Відсоток вразливостей від загального числа (% Vulns ALL)


Розглядаючи природу виникнення вразливостей в цілому (відповідно до класифікації в Додатку 2), отримаємо, що на 20% частіше зустрічаються уразливості, пов'язані з недостатньо ефективним адмініструванням (Мал. 5). У теж час, на один сайт доводитися до чотирьох проблем пов'язаних з недоліками адміністрування і до восьми вразливостей, пов'язаних з помилками в розробці систем (Т.2).


T. 2 Ймовірність виявлення вразливостей за природою виникнення

























 

No. of Vulns 

No. of Sites

% Vulns

% Sites

No. Vulns on Site


Vulnerability in administration

41859

10347

42,91%

84,91%

4,05


Vulnerability in code

55695

7023

57,09%

57,63%

7,93



Малюнок 5. Ймовірність виявлення вразливостей за природою виникнення


При детальному аналізі Web-додатків методами BlackBox і WhiteBox відчутний відсоток сайтів опинилися уразливі також для Content Spoofing і Path Traversal (Мал. 6). Причому ймовірність виявлення вразливостей типу SQL Injection при такому підході до аналізу захищеності досягає 19% (Мал. 7).



Малюнок 6. Найбільш поширені уразливості в Web-додатках (% Vulns BlackBox & WhiteBox)



Малюнок 7. Ймовірність виявлення найбільш поширених вразливостей Web-додатків (% Sites BlackBox & WhiteBox)



Малюнок 8. Відсоток вразливостей від загального числа (% Vulns BlackBox & WhiteBox)


Якщо аналізувати поширеність вразливостей високого ступеня ризику при детальному обстеженні Web-додатки (Мал. 9), то тут найбільш часто зустрічаються помилки типу "передбачуване значення ідентифікатора сесії "(Credential / Session Prediction). Також широко поширені помилки" Впровадження операторів SQL "(SQL Injection)," Читання довільних файлів "(Path Traversal) і помилки в реалізації та налаштування систем авторизації та аутентифікації.


Малюнок 9. Ймовірність виявлення найбільш крічний вразливостей Web-додатків (% Sites BlackBox & WhiteBox)


Якщо розглядати ймовірність виявлення уразливості з точки зору впливу на відвідувачів Web-ресурсу і впливу на Web-сервер (відповідно до класифікації в Додатку 2), то найбільш розповсюджені уразливості на стороні Web-сервера (Мал. 10). У той же час, розподіл вразливостей за типом впливу на один сайт не рівномірно і багато в чому залежить від використовуваного способу пошуку вразливостей (Рис.11).



Малюнок 10. Ймовірність виявлення уразливості за типом впливу



Малюнок 11. Розподіл вразливостей на один сайт при використанні різних методів їх пошуку (No. Vulns on Site)


T. 3 Уразливості за типом впливу



































































 

No. of Vulns 

No. of Sites

% Vulns

% Sites

No. Vulns on Site


ALL Stat (Server-Side)

50856

10125

52,13%

83,09%

5,02


ALL Stat (Client-Side)

46698

7580

47,87%

62,20%

6,16


Scans (Server-Side)

19746

8922

55,60%

85,40%

2,21


Scans (Client-Side)

15767

6607

44,40%

63,24%

2,39


BlackBox (Server-Side)

4260

804

23,77%

76,86%

5,30


BlackBox (Client-Side)

13665

747

76,23%

71,41%

18,29


WhiteBox (Server-Side)

17700

145

63,73%

96,67%

122,07


WhiteBox (Client-Side)

10072

117

36,27%

78,00%

86,09


Аналіз даних в контексті вимог PCI DSS


Розглядаючи набори отриманих даних уразливих Web-додатків в контексті відповідності вимогам стандарту по захисту інформації в індустрії платіжних карт PCI DSS, можна виділити ті з них (Т.4), які відносяться до усунення конкретних вразливостей в Web-додатках. Крім того, PCI DSS Technical and Operational Requirements for Approved Scanning Vendors (ASVs) містить у собі схожі вимоги, але зачіпає тільки процес ASV-сканування по PCI (Т.5).


T. 4 Вимоги стандарту PCI DSS, що регламентують обов'язкове усунення конкретних вразливостей в Web-додатках




























Вимога PCI DSS v.1.2

Процедура

6.5.1 Cross-site scripting (XSS)

6.5.1 Cross-site scripting (XSS) (Validate all parameters before inclusion.)

6.5.2 Injection flaws, particularly SQL injection. Also consider LDAP and Xpath injection flaws as well as other injection flaws.

6.5.2 Injection flaws, particularly SQL injection
(Validate input to verify user data cannot modify meaning of commands and queries.)

6.5.3 Malicious file execution

6.5.3 Malicious file execution (Validate input to verify application does not accept filenames or files from users.)

6.5.5 Cross-site request forgery (CSRF)

6.5.5 Cross-site request forgery (CSRF) (Do not reply on authorization credentials and tokens automatically submitted by browsers.)

6.5.6 Information leakage and improper error handling

6.5.6 Information leakage and improper error handling (Do not leak information via error messages or other means.)

6.5.7 Broken authentication and session management

6.5.7 Broken authentication and session management (Properly authenticate users and protect account credentials and session tokens.)

6.5.9 Insecure communications

6.5.9 Insecure communications (Properly encrypt all authenticated and sensitive communications.)


T. 5 Вимоги PCI DSS Technical and Operational Requirements for Approved Scanning Vendors (ASVs), які регламентують обов'язкове виявлення конкретних вразливостей в Web-додатках при проведенні ASV-сканування













Вимоги Technical and Operational Requirements for Approved Scanning Vendors (ASVs) v.1.1

Процедура

Web Server Check

The ASV scanning solution must be able to test for all known vulnerabilities and configuration issues on web servers. New exploits are routinely discovered in web server products. The ASV scanning solution must be able to detect and report known exploits.

Browsing of directories on a web server is not a good practice. The ASV scanning solution must be able to scan the web site and verify that directory browsing is not possible on the server.

The ASV scanning solution must be able to detect all known CGI vulnerabilities.

Custom Web Application Check

The ASV scanning solution must be able to detect the following application vulnerabilities and configuration issues:
• Unvalidated parameters which lead to SQL injection attacks
• Cross-site scripting (XSS) flaws


Оцінюючи отриману статистику зібраних даних за наведеними критеріями в Т.4 і Т.5, будуть отримані дані, представлені в Т.6, на Рис. 12 – Рис. 14.


T. 6% сайтів, які не відповідають вимогам стандарту PCI DSS при оцінці Web-додатків різними методами






































































Вимога PCI DSS v.1.2

Сумарна частка не відповідності, ALL (% Sites)

Частка не відповідності при Scans (% Sites)

Частка не відповідності при BlackBox (% Sites)

Частка не відповідності при WhiteBox (% Sites)

6.5.1 Cross-site scripting (XSS)

38,45%

37,66%

56,41%

58,67%

6.5.2 Injection flaws, particularly SQL injection. Also consider LDAP and Xpath injection flaws as well as other injection flaws.

14,55%

12,70%

19,31%

64,00%

6.5.3 Malicious file execution

0,94%

0,08%

1,05%

8,67%

6.5.5 Cross-site request forgery (CSRF)

1,32%

0,02%

7,93%

0,67%

6.5.6 Information leakage and improper error handling

66,67%

74,05%

38,24%

54,00%

6.5.7 Broken authentication and session management

7,62%

0,52%

30,98%

71,33%

6.5.9 Insecure communications

34,42%

39,96%

0,00%*

17,33%

Вимога Technical and Operational Requirements for Approved Scanning Vendors (ASVs) v.1.1

 

 

 

 

Web Server Check

Не стосується

5,73%

Не стосується

Не стосується

Custom Web Application Check

Не стосується

44,92%

Не стосується

Не стосується


* При проведенні оцінки захищеності Web-додатків методом чорного ящика уразливості даного класу не вносилися в звітні документи за результатами проведених робіт. Це пов'язано з тим, що при проведенні робіт за цим методом увагу аудиторів було направлено на найбільш небезпечні уразливості.


 
Малюнок 12. Розподіл сайтів, що не задовольняють вимогам стандарту PCI DSS



Малюнок 13. Рівень відповідності аналізованих Web-додатків вимогам стандарту PCI DSS (QSA)



Малюнок 14. Рівень відповідності аналізованих Web-додатків вимогам стандарту PCI DSS (ASV)


Таким чином, при проведенні ASV-сканування щодо Web-додатків близько 48% з них не задовольняють вимогам стандарту PCI DSS. У той же час при проведенні більш глибокого аналізу 99% Web-додатків не задовольняє вимогам стандарту по захисту інформації в індустрії платіжних карт.


Порівняння методів аналізу захищеності


Якщо провести порівняння повністю автоматичних сканувань з ручною та автоматизованої оцінкою методами чорного і білого ящика, то явно видно відставання автоматичного сканування при виявленні найбільш небезпечних помилок (Мал. 15).



Малюнок 15. Розподіл ймовірності виявлення вразливостей за методом їх пошуку


Якщо розглядати такий показник, як кількість виявлених вразливостей на один сайт (Т.7), то детальний аналіз дозволяє в середньому ідентифікувати до 91 вразливостей високого ступеня ризику на одне додаток, в той час як автоматизоване сканування – тільки 3 (Мал. 16).


T. 7 Кількість вразливостей на один сайт















































Threat rank

 ALL 

Scans

BlackBox

WhiteBox


Urgent


3,90


2,70


8,00


18,04


Critical


8,11


2,85


16,66


91,30


High


4,02


1,47


4,92


147,02


Medium


1,10


1,02


1,87


3,86


Low


1,01


1,01


1,00


1,33


ALL


8,01


3,40


17,14


185,15



Малюнок 16. Кількість уразливостей на один сайт


На Рис.1, Рис.15 і Рис.16 наочно показано значне відставання результатів автоматизованих сканувань і результатів оцінки Web-додатків методом чорного ящика від найбільш глибокого пошуку вразливостей методом білого ящика. Це свідчить про те, що використання способу пошуку вразливостей методом білого ящика в значній мірі є більш ефективним в порівнянні з іншими способами.


Додаток 1: Методика оцінки ступеня ризику


T. 8 Методика оцінки ступеня ризику




































































































































































































Threat Classification

Basic CVSS Score


PCI DSS Risk

Abuse of Functionality  

4 (AV:N/AC:H/Au:N/C:P/I:P/A:N)

Medium

Brute Force Attack

6.8 (AV:N/AC:M/Au:N/C:P/I:P/A:P)

Critical

Buffer Overflow 

10 (AV:N/AC:L/Au:N/C:C/I:C/A:C)

Urgent

Content Spoofing 

5 (AV:N/AC:L/Au:N/C:N/I:P/A:N)

High

Credential/Session Prediction 

6.8 (AV:N/AC:M/Au:N/C:P/I:P/A:P)

Critical

Cross-Site Scripting 

6.4 (AV:N/AC:L/Au:N/C:P/I:P/A:N)

Critical

Cross-Site Request Forgery 

5 (AV:N/AC:L/Au:N/C:N/I:P/A:N)

High

Denial of Service 

7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C)

High

Format String Attack 

10 (AV:N/AC:L/Au:N/C:C/I:C/A:C)

Urgent

HTTP Request Splitting  

6.4 (AV:N/AC:L/Au:N/C:P/I:P/A:N)

Critical

HTTP Response Splitting  

6.4 (AV:N/AC:L/Au:N/C:P/I:P/A:N)

Critical

HTTP Request Smuggling  

6.4 (AV:N/AC:L/Au:N/C:P/I:P/A:N)

Critical

HTTP Response Smuggling  

6.4 (AV:N/AC:L/Au:N/C:P/I:P/A:N)

Critical

Integer Overflow

10 (AV:N/AC:L/Au:N/C:C/I:C/A:C)

Urgent

LDAP Injection 

10 (AV:N/AC:L/Au:N/C:C/I:C/A:C)

Urgent

Mail Command Injection 

5 (AV:N/AC:L/Au:N/C:N/I:P/A:N)

High

OS Commanding 

10 (AV:N/AC:L/Au:N/C:C/I:C/A:C)

Urgent

Path Traversal

7.8 (AV:N/AC:L/Au:N/C:C/I:N/A:N)

Critical

Predictable Resource Location 

5 (AV:N/AC:L/Au:N/C:P/I:N/A:N)

High

Remote File Inclusion

10 (AV:N/AC:L/Au:N/C:C/I:C/A:C)

Urgent

Routing Detour  

5 (AV:N/AC:L/Au:N/C:P/I:N/A:N)

High

SOAP Array Abuse  

7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C)

High

SSI Injection 

10 (AV:N/AC:L/Au:N/C:C/I:C/A:C)

Urgent

Session Fixation 

6.8 (AV:N/AC:M/Au:N/C:P/I:P/A:P)

Critical

SQL Injection 

10 (AV:N/AC:L/Au:N/C:C/I:C/A:C)

Urgent

URL Redirectors 

2.6 (AV:N/AC:H/Au:N/C:N/I:P/A:N)

Medium

XPath Injection 

10 (AV:N/AC:L/Au:N/C:C/I:C/A:C)

Urgent

XML Attribute Blowup 

5 (AV:N/AC:L/Au:N/C:P/I:N/A:N)

High

XML External Entity 

5 (AV:N/AC:L/Au:N/C:P/I:N/A:N)

High

XML Entity Expansion 

5 (AV:N/AC:L/Au:N/C:P/I:N/A:N)

High

XML Injection 

7.5 (AV:N/AC:L/Au:N/C:P/I:P/A:P)

Critical

XQuery Injection 

10 (AV:N/AC:L/Au:N/C:C/I:C/A:C)

Urgent

Application Misconfiguration 

5.1 (AV:N/AC:H/Au:N/C:P/I:P/A:P)

Medium

Directory Indexing 

5 (AV:N/AC:L/Au:N/C:P/I:N/A:N)

High

Fingerprinting 

0 (AV:N/AC:L/Au:N/C:N/I:N/A:N)

Low

Improper Parsing  

10 (AV:N/AC:L/Au:N/C:C/I:C/A:C)

Urgent

Improper Permissions 

10 (AV:N/AC:L/Au:N/C:C/I:C/A:C)

Urgent

Information leakage 

5 (AV:N/AC:L/Au:N/C:P/I:N/A:N)

High

Insecure Indexing  

5 (AV:N/AC:L/Au:N/C:P/I:N/A:N)

High

Insufficient Anti-automation 

4 (AV:N/AC:H/Au:N/C:P/I:P/A:N)

Medium

Insufficient Authentication 

6.8 (AV:N/AC:M/Au:N/C:P/I:P/A:P)

Critical

Insufficient Authorization 

6.8 (AV:N/AC:M/Au:N/C:P/I:P/A:P)

Critical

Insufficient Data Protection

5 (AV:N/AC:L/Au:N/C:P/I:N/A:N)

High

Insufficient Process Validation 

4 (AV:N/AC:H/Au:N/C:P/I:P/A:N)

Medium

Insufficient Session Expiration 

6.8 (AV:N/AC:M/Au:N/C:P/I:P/A:P)

Critical

Insufficient Transport Layer Protection

4 (AV:N/AC:H/Au:N/C:P/I:P/A:N)

Medium

Server Misconfiguration 

5.1 (AV:N/AC:H/Au:N/C:P/I:P/A:P)

Medium


Додаток 2: Використовувана додаткова класифікація вразливостей


T. 9 Класифікація вразливостей за природою виникнення і типу впливу




































































































































































































Threat Classification

Vulnerability in

Impact

Abuse of Functionality  


code


server-side

Brute Force Attack


administration


server-side

Buffer Overflow 


code


server-side

Content Spoofing 


code


client-side

Credential/Session Prediction 


code


server-side

Cross-Site Scripting 


code


client-side

Cross-Site Request Forgery 


code


client-side

Denial of Service 


administration


server-side

Format String Attack 


code


server-side

HTTP Request Splitting  


code


client-side

HTTP Response Splitting  


code


client-side

HTTP Request Smuggling  


administration


client-side

HTTP Response Smuggling  


administration


client-side

Integer Overflow


code


server-side

LDAP Injection 


code


server-side

Mail Command Injection 


code


server-side

OS Commanding 


code


server-side

Path Traversal


code


server-side

Predictable Resource Location 


administration


server-side

Remote File Inclusion


code


server-side

Routing Detour  


code


server-side

SOAP Array Abuse  


code


server-side

SSI Injection 


code


server-side

Session Fixation 


code


server-side

SQL Injection 


code


server-side

URL Redirectors 


code


client-side

XPath Injection 


code


server-side

XML Attribute Blowup 


code


server-side

XML External Entity 


code


server-side

XML Entity Expansion 


code


server-side

XML Injection 


code


server-side

XQuery Injection 


code


server-side

Application Misconfiguration 


administration


server-side

Directory Indexing 


administration


server-side

Fingerprinting 


administration


server-side

Improper Parsing  


code


server-side

Improper Permissions 


administration


server-side

Information leakage 


administration


server-side

Insecure Indexing  


administration


server-side

Insufficient Anti-automation 


code


server-side

Insufficient Authentication 


code


server-side

Insufficient Authorization 


code


server-side

Insufficient Data Protection


administration


server-side

Insufficient Process Validation 


code


server-side

Insufficient Session Expiration 


code


server-side

Insufficient Transport Layer Protection


administration


client-side

Server Misconfiguration 


administration


server-side

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*