Статьи

Аналізатори вихідного коду - огляд ринку в Росії і в світі

  1. Вступ
  2. Класифікація аналізаторів вихідного коду
  3. Принципи роботи аналізаторів вихідного коду
  4. Світовий ринок
  5. російський ринок
  6. Короткий огляд аналізаторів
  7. HP Fortify Static Code Analyzer
  8. Checkmarx CxSAST
  9. IBM Security AppScan Source
  10. «Ешелон» AppChecker
  11. PT Application Inspector
  12. Висновки

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

1. Введення

2. Класифікація аналізаторів вихідного коду

3. Принципи роботи аналізаторів вихідного коду

4. Світовий ринок

5. Російський ринок

6. Короткий огляд аналізаторів

6.1. HP Fortify Static Code Analyzer

6.2. Checkmarx CxSAST

6.3. IBM Security AppScan Source

6.4. ешелон AppChecker

6.5. PT Application Inspector

6.6. InfoWatch Appercut

6.7. Digital Security ERPScan

6.8. Solar inCode

7. Висновки

Вступ

Стандартні можливості програмних продуктів і різних систем управління недостатні для більшості замовників. Системи управління веб-сайтами (наприклад, WordPress, Joomla або Bitrix), бухгалтерські програми, системи управління клієнтами (CRM), підприємством і виробництвом (наприклад, 1С та SAP) надають широкі можливості по розширенню функціональності і адаптації під потреби конкретних замовників. Такі можливості реалізуються за допомогою сторонніх модулів, виконаних на замовлення, або кастомізації існуючих. Ці модулі є програмним кодом, написаним на одному з вбудованих мов програмування, які взаємодіють з системою і реалізують необхідні замовникам функціональні можливості.

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

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

Існує методологія захищеної розробки, що передбачає вбудовування процесів аудиту і контролю коду на етапі створення програмного продукту - SDL (Security Development Lifecycle, захищений життєвий цикл розробки). Однак застосувати цю методологію може тільки розробник програмного забезпечення, якщо говорити про замовників, то SDL для них непридатний, тому що процес має на увазі перебудову алгоритмів створення коду і використовувати його під час приймання вже пізно. Крім того, багато розробки зачіпають невелику частину вже існуючого коду, і в цьому випадку SDL також непридатний.

Для вирішення проблеми аудиту вихідного коду і забезпечення захисту від експлуатації вразливостей у вбудованих кодах і веб-додатках існують аналізатори вихідного коду.

Класифікація аналізаторів вихідного коду

Аналізатори вихідного коду - клас програмних продуктів, створених для виявлення і запобігання експлуатації програмних помилок у вихідних кодах. Всі продукти, спрямовані на аналіз вихідного коду, можна умовно розділити на три типи:

  • Перша група включає в себе аналізатори коду веб-додатків і засоби щодо запобігання експлуатації вразливостей веб-сайтів.
  • Друга група - аналізатори вбудованого коду, що дозволяють виявити проблемні місця в початкових текстах модулів, призначених для розширення функціональності корпоративних і виробничих систем. До таких модулів відносяться програми для лінійки продуктів 1С, розширення CRM-систем, систем управління підприємством і систем SAP.
  • Остання група призначена для аналізу вихідного коду на різних мовах програмування, що не відносяться до бізнес-додатків і веб-додатків. Такі аналізатори призначені для замовників і розробників програмного забезпечення. У тому числі дана група аналізаторів застосовується для використання методології захищеної розробки програмних продуктів. Аналізатори статичного коду знаходять проблеми і потенційно вразливі місця в початкових кодах і видають рекомендації для їх усунення.

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

Аналізатори можуть містити різні механізми аналізу, але найбільш поширеним і універсальним є статичний аналіз вихідного коду - SAST (Static Application Security Testing), також існують методи динамічного аналізу - DAST (Dynamic Application Security Testing), що виконують перевірки коду при його виконанні, і різні гібридні варіанти, що поєднують різні типи аналізів. Динамічний аналіз є самостійним методом перевірки, який може розширювати можливості статичного аналізу або застосовуватися самостійно в тих випадках, коли доступ до вихідних текстів відсутня. В даному огляді розглядаються тільки статичні аналізатори.

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

Принципи роботи аналізаторів вихідного коду

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

Вхідними даними для аналізатора вихідного коду є масив вихідних текстів програм і його залежностей (підвантажуваних модулів, використовуваного стороннього програмного забезпечення і т. Д.). Як результатів роботи все аналізатори видають звіт про виявлені вразливості і помилки програмування, додатково деякі аналізатори надають функції по автоматичному виправленню помилок.

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

Малюнок 1. Алгоритм роботи аналізатора вихідних кодів

При проведенні оцінки вихідних текстів аналізатори використовують різні бази даних, що містять опис вразливостей і помилок програмування:

  • Власна база вразливостей і помилок програмування - у кожного розробника аналізаторів вихідних кодів є свої відділи аналітики і досліджень, які готують спеціалізовані бази для аналізу вихідних текстів програм. Якість власної бази - один з ключових критеріїв, що впливає на загальну якість роботи продукту. Крім того, власна база повинна бути динамічною і постійно оновлюваною - нові вектори атак і експлуатації вразливостей, а також зміни в мовах програмування і методи розробки вимагають від розробників аналізаторів виконувати постійні оновлення бази для збереження високої якості перевірки. Продукти зі статичної неоновлюваної базою найчастіше програють в порівняльних тестах.
  • Державні бази помилок програмування - існує ряд державних баз вразливостей, складанням і підтримкою яких займаються регулятори різних країн. Наприклад, в США використовується база CWE - Common Weakness Enumeration, обслуговуванням якої займається організація MITRE, підтримувана в тому числі Міністерством оборони США. У Росії поки відсутня аналогічна база, але ФСТЕК Росії в майбутньому планує доповнити свої бази вразливостей і загроз базою по помилках програмування. Аналізатори вразливостей реалізують підтримку бази CWE, вставляють її у власну базу вразливостей або використовуючи як окремий механізм перевірки.
  • Вимоги стандартів і рекомендації по захищеному програмування - існує як ряд державних і галузевих стандартів, що описують вимоги до безпечної розробки додатків, так і ряд рекомендацій і «кращих практик» від світових експертів в області розробки і захисту програмного забезпечення. Дані документи безпосередньо не описують помилки програмування, на відміну від CWE, але містять перелік методів, які можуть бути перетворені для використання в статичному аналізаторі вихідного коду.

Від того, які бази використовуються в аналізаторі, безпосередньо залежить якість проведення аналізу, кількість помилкових спрацьовувань і пропущених помилок. Крім того, аналіз на відповідність вимогам регуляторів дозволяє полегшити і спростити процедуру зовнішнього аудиту інфраструктури та інформаційної системи в тому випадку, якщо вимоги є обов'язковими. Наприклад, вимоги PCI DSS обов'язкові для веб-додатків і вбудованого коду, що працює з платіжною інформацією по банківських картах, при цьому проведення зовнішнього аудиту з виконання PCI DSS здійснюється в тому числі з аналізом застосовуваних програмних продуктів.

Світовий ринок

На світовому ринку представлено безліч різних аналізаторів - як від відомих вендорів в області безпеки, так і нішевих гравців, що займаються тільки даним класом продуктів. Аналітичний центр Gartner веде класифікацію та оцінку аналізаторів вихідних кодів вже більше п'яти років, при цьому до 2011 року Gartner виділяв окремо статичні аналізатори, про які йде мова в даній статті, пізніше об'єднавши їх в більш високий клас - кошти перевірки захищеності додатків (Application Security Testing ).

В магічному квадраті Gartner в 2015 році лідерами ринку перевірки захищеності є компанії HP, Veracode і IBM. При цьому Veracode - єдина з компаній-лідерів, у якій відсутній аналізатор як програмний продукт, а функціональність надається тільки як послуга в хмарі компанії Veracode. Решта компаній-лідери пропонують або виключно продукти, що виконують перевірки на комп'ютерах користувачів, або можливість вибору між продуктом і хмарної послугою. Лідерами світового ринку протягом останніх п'яти років залишаються компанії HP і IBM, огляд їх продуктів наведено нижче. Найбільш близький до лідируючих позицій продукт компанії Checkmarx, що спеціалізується тільки на даному класі засобів, тому він також включений в огляд.

Малюнок 2. Магічний квадрант аналітиків Gartner по гравцям ринку аналізу захищеності додатків в серпні 2015 року

Магічний квадрант аналітиків Gartner по гравцям ринку аналізу захищеності додатків в серпні 2015 року

За даними звіту аналітиків ReportsnReports , В США обсяг ринку аналізаторів вихідних кодів в 2014 році склав $ 2,5 млрд, до 2019 року прогнозується двократне зростання до $ 5 млрд з щорічним зростанням на 14,9%. Більше 50% організацій, опитаних в ході складання звіту, планують виділення і збільшення бюджетів на аналіз вихідного коду при замовний розробці, і тільки 3% негативно висловилися про застосування даних продуктів.

Велике число продуктів, що знаходяться в області претендентів (challengers), підтверджує популярність даного класу продуктів і стрімкий розвиток галузі. За останні п'ять років загальна кількість виробників в цьому квадраті збільшилася майже в три рази, а в порівнянні зі звітом за 2014 рік додалося три продукти.

російський ринок

Російський ринок аналізаторів вихідних текстів досить молодий - перші публічні продукти почали з'являтися на ринку менше п'яти років тому. При цьому ринок сформувався з двох напрямків - з одного боку, компанії, що розробляють продукти для проведення випробувань з виявлення декларованих можливостей в лабораторіях ФСТЕК, ФСБ і Міноборони РФ; з іншого боку - компанії, що займаються різними областями безпеки і вирішили додати в своє портфоліо новий клас продуктів.

Найпомітнішими гравцями нового ринку - компанії Positive Technologies, InfoWatch, а також Solar Security. Positive Technologies довгий час спеціалізувалися на пошуку та аналізі вразливостей; в їх портфоліо є продукт MaxPatrol - один з лідерів вітчизняного ринку по зовнішньому контролю захищеності, тому не дивно, що в компанії вирішили зайнятися і внутрішнім аналізом і розробляти власний аналізатор вихідних кодів. Компанія InfoWatch розвивалася як розробник DLP-систем, з часом перетворившись в групу компаній, що знаходиться в пошуках нових ринкових ніш. У 2012 році до складу InfoWatch увійшла компанія Appercut, додавши в портфель InfoWatch засіб аналізу вихідного коду. Інвестиції та досвід InfoWatch дозволили швидко розвинути продукт до високого рівня. Solar Security офіційно представили свій продукт Solar inCode тільки в кінці жовтня 2015 року, але вже на момент виходу мали чотири офіційних впровадження в Росії.

Компанії, які протягом десятиліть розробляли аналізатори вихідних текстів для проведення сертифікаційних випробувань, в цілому не поспішають пропонувати аналізатори для бізнесу, тому в нашому огляді наводиться тільки один такий продукт - від компанії «Ешелон». Можливо, в майбутньому, він буде здатний потіснити інших гравців ринку, в першу чергу за рахунок великого теоретичного і практичного досвіду розробників даного продукту в сфері пошуку вразливостей і декларованих можливостей.

Ще одним нішевим гравцем російського ринку є Digital Security - консалтингова компанія в області інформаційної безпеки. Маючи великий досвід проведення аудитів та впроваджень ERP-систем, вона намацала незайняту нішу і взялася за розробку продукту для аналізу безпеки ERP-систем, в числі інших функцій містить механізми аналізу вихідних кодів для вбудованих програм.

Короткий огляд аналізаторів

HP Fortify Static Code Analyzer

Перший засіб аналізу вихідного коду в нашому огляді - продукт компанії Fortify, з 2010 року належить Hewlett-Packard. У лінійці HP Fortify присутні різні продукти для аналізу програмних кодів: є і SaaS-сервіс Fortify On-Demand, що передбачає завантаження вихідного коду в хмару HP, і повноцінне додаток HP Fortify Static Code Analyzer, яке встановлюється в інфраструктурі замовника.

HP Fortify Static Code Analyzer підтримує велику кількість мов програмування і платформ, включаючи веб-додатки, написані на PHP, Python, Java / JSP, ASP.Net і JavaScript, і вбудований код на мовах ABAP (SAP), Action Script і VBScript.

Малюнок 3. Інтерфейс HP Fortify Static Code Analyzer

Інтерфейс HP Fortify Static Code Analyzer

З особливостей продукту варто виділити наявність в HP Fortify Static Code Analyzer підтримки інтеграції з різними системами управління розробкою і відстеження помилок. Якщо розробник програмного коду надає замовнику доступ до прямої передачі повідомлень про помилки в Bugzilla, HP Quality Center або Microsoft TFS, аналізатор може автоматично створювати повідомлення про помилки в цих системах без необхідності ручних дій.

Робота продукту заснована на власних базах знань HP Fortify, сформованих адаптацією бази CWE. У продукті реалізований аналіз на виконання вимог DISA STIG, FISMA, PCI DSS і рекомендацій OWASP.

З недоліків HP Fortify Static Code Analyzer слід зазначити відсутність локалізації продукту для російського ринку - інтерфейс і звіти англійською мовою, відсутність матеріалів і документації на продукт російською мовою, що не підтримується аналіз вбудованого коду для 1С і інших вітчизняних продуктів enterprise-рівня.

Переваги HP Fortify Static Code Analyzer:

  • відомій бренд, висока якість решение;
  • великий перелік аналізованих мов програмування і підтримуваних середовищ розробки;
  • наявність можливості інтеграції з системами управління розробкою та іншими продуктами HP Fortify;
  • підтримка міжнародних стандартів, рекомендацій і «кращих практик».

Checkmarx CxSAST

Checkmarx CxSAST - засіб американо-ізраїльської компанії Сheckmarx, що спеціалізується на розробці аналізаторів вихідних кодів. Даний продукт призначений в першу чергу для аналізу звичайного програмного забезпечення, але за рахунок підтримки мов програмування PHP, Python, JavaScript, Perl і Ruby відмінно підходить для аналізу веб-додатків. Checkmarx CxSAST це універсальний аналізатор, який не має яскраво вираженої специфіки і тому відповідний для застосування на будь-яких етапах життєвого циклу програмного продукту - від розробки до застосування.

Малюнок 4. Інтерфейс Checkmarx CxSAST

У Checkmarx CxSAST реалізована підтримка бази помилок програмного коду CWE, підтримуються перевірки на відповідність рекомендаціям OWASP і SANS 25, стандартам PCI DSS, HIPAA, MISRA, FISMA і BSIMM. Всі виявлені Checkmarx CxSAST проблеми поділяються за ступенем ризику - від незначного до критичного. З особливостей продукту - наявність функцій по візуалізації коду з побудовою блок-схем маршрутів виконання і рекомендаціями щодо виправлення проблем з прив'язкою до графічної схемою.

До недоліків продукту можна віднести відсутність підтримки аналізу вбудованого в бізнес-додатки коду, відсутність локалізації і труднощі застосування продукту для замовників програмного коду, так як рішення призначене насамперед для розробників і тісно інтегрується з середовищами розробки.

Переваги Checkmarx CxSAST:

  • велика кількість підтримуваних мов програмування;
  • висока швидкість роботи продукту, можливість проводити сканування тільки за іменними ділянкам коду;
  • можливість візуалізації графів виконання аналізованого коду;
  • наочні звіти і графічно оформлені метрики вихідних кодів.

IBM Security AppScan Source

Ще один продукт від відомого вендора - аналізатор вихідних кодів IBM Security AppScan Source. Лінійка AppScan включає безліч продуктів, пов'язаних з безпечною розробкою програмного забезпечення, але для застосування у замовників програмного коду інші продукти не підійдуть, оскільки володіють великою кількістю зайвого функціоналу. IBM Security AppScan Source, як і Checkmarx CxSAST, в першу чергу призначений для організацій-розробників, при цьому підтримує навіть менше число мов веб-розробки - тільки PHP, Perl і JavaScript. Мови програмування для вбудованого в бізнес-додатки коду не підтримуються.

Малюнок 5. Інтерфейс IBM Security AppScan Source

IBM Security AppScan Source тісно інтегрується з платформою для розробки IBM Rational, тому продукт найчастіше використовується на етапі розробки і тестування програмних продуктів і не дуже добре підходить для виконання приймання або перевірки розробленого на замовлення програми.

Особливістю IBM Security AppScan Source є хіба що підтримка аналізу програм для IBM Worklight - платформи для мобільних бізнес-додатків. Перелік підтримуваних стандартів і вимог мізерний - PCI DSS і рекомендації DISA і OWASP, база вразливостей зіставляє знайдені проблеми з CWE.

Особливих переваг даного рішення для замовників розробки не виявлено.

«Ешелон» AppChecker

AppChecker від вітчизняної компанії ЗАТ «НВО Ешелон» - рішення, що з'явилося на ринку зовсім недавно. Перша версія продукту вийшла всього рік тому, але при цьому слід враховувати досвід компанії «Ешелон» в аналізі програмного коду. «НВО Ешелон» є випробувальною лабораторією ФСТЕК, ФСБ і Міністерства оборони РФ і має великий досвід в області проведення статичного і динамічного аналізу початкового програмного коду.

Малюнок 6. Інтерфейс «Ешелон» AppChecker

AppChecker призначений для аналізу різноманітного програмного забезпечення і веб-додатків, написаних на мовах PHP, Java і C / C ++. Повністю підтримує класифікацію вразливостей CWE і враховує рекомендації OWASP, CERT і NISP. Продукт можна використовувати для виконання аудиту на відповідність вимогам PCI DSS і стандарту Банку Росії Іббсе-2.6-2014.

Недоліки продукту обумовлені ранньою стадією розвитку рішення - не вистачає підтримки популярних мов веб-розробки і можливості аналізу вбудованого коду.

переваги:

  • вітчизняний, локалізований продукт;
  • наявність можливості проведення аудиту по вітчизняним вимогам і PCI DSS;
  • облік впливу особливостей мов програмування за рахунок гнучкої конфігурації аналізованих проектів;
  • низька ВАРТІСТЬ.

PT Application Inspector

PT Application Inspector - продукт російського розробника Positive Technologies, що відрізняється своїм підходом до вирішення проблеми аналізу вихідного коду. PT Application Inspector націлений в першу чергу на пошук вразливостей в коді, а не на виявлення загальних програмних помилок.

На відміну від всіх інших продуктів в даному огляді, PT Application Inspector володіє не тільки можливістю складання звіту і демонстрації вразливих місць, а й здатністю автоматично створювати експлоїти для окремих категорій і видів вразливостей - невеликі виконувані модулі, які експлуатують знайдені вразливості. За допомогою створених експлойтів можна на практиці перевіряти небезпека знайдених вразливостей, а також контролювати розробника, перевіривши роботу експлоїта після декларованого закриття уразливості.

Малюнок 7. Інтерфейс PT Application Inspector

Інтерфейс PT Application Inspector

PT Application Inspector підтримує як мови розробки веб-додатків (PHP, JavaScript), так і вбудований код для бізнес-додатків - SAP ABAP, SAP Java, Oracle EBS Java, Oracle EBS PL / SQL. Також продукт PT Application Inspector підтримує візуалізацію маршрутів виконання програм.

PT Application Inspector є універсальним рішенням як для розробників, так і для замовників, які експлуатують розроблені на замовлення веб-додатки і вбудовані модулі для бізнес-додатків. База вразливостей і помилок в програмному коді містить власні напрацювання компанії Positive Technologies, базу CWE і WASC (база вразливостей веб-консорціуму, аналог CWE для веб-додатків).

Використання PT Application Inspector дозволяє виконати вимоги стандартів PCI DSS, СТО БР Іббсе, а також 17 наказу ФСТЕК і вимоги по відсутності декларованих можливостей (актуально при сертифікації коду).

переваги:

  • підтримка аналізу веб-додатків і великого набору систем розробки для бізнес-додатків;
  • вітчизняний, локалізований продукт;
  • широкий набір підтримуваних державних стандартів;
  • використання бази вразливостей веб-додатків WASC і класифікатора CWE;
  • можливість візуалізації програмного коду і пошуку програмних закладок.

InfoWatch Appercut

InfoWatch Appercut розроблений російською компанією InfoWatch. Основна відмінність даного продукту від всіх інших в цій збірці - спеціалізація на наданні сервісу для замовників бізнес-додатків.

InfoWatch Appercut підтримує практично всі мови програмування, на яких створюються веб-додатки (JavaScript, Python, PHP, Ruby) і вбудовані модулі для бізнес-пропозицій - 1С, ABAP, X ++ (ERP Microsoft Axapta), Java, Lotus Script. InfoWatch Appercut має здатність підлаштовуватися під специфіку конкретного додатка і унікальність бізнес-процесів кожної компанії.

Малюнок 8. Інтерфейс InfoWatch Appercut

Інтерфейс InfoWatch Appercut

InfoWatch Appercut підтримує багато вимог щодо ефективного та безпечного програмування, включаючи загальні вимоги PCI DSS і HIPPA, рекомендації і «кращі практики» CERT і OWAST, а також рекомендації виробників платформ бізнес-процесів - 1С, SAP, Oracle, Microsoft.

переваги:

  • вітчизняний, локалізований продукт, сертифікований ФСТЕК Росії;
  • єдиний продукт, який підтримує всі популярні в Росії бізнес-платформи, включаючи 1С, SAP, Oracle EBS, IBM Collaboration Solutions (Lotus) і Microsoft Axapta;
  • швидкий сканер, який виконує перевірки за лічені секунди і здатний перевіряти тільки змінений код і фрагменти коду.

Digital Security ERPScan

Digital Security ERPScan - спеціалізований продукт для аналізу і моніторингу захищеності бізнес-систем, побудованих на продуктах SAP, перша версія випущена в 2010 році. До складу ERPScan входить крім модуля аналізу конфігурацій, вразливостей і контролю доступу (SOD) модуль оцінки безпеки вихідного коду, який реалізує функції пошуку закладок, критичних викликів, вразливостей і помилок програмування в коді на мовах програмування ABAP і Java. При цьому продукт враховує специфіку платформи SAP, проводить кореляцію виявлених вразливостей в коді з настройками конфігурації і правами доступу і виконує аналіз краще, ніж неспеціалізовані продукти, що працюють з тими ж мовами програмування.

Малюнок 9. Інтерфейс Digital Security ERPScan

З додаткових функцій ERPScan можна відзначити можливість автоматичної генерації виправлень для виявлених вразливостей а також генерацію сигнатур для можливих атак і вивантаження цих сигнатур в системи виявлення та запобіжників вторгнень (в партнерстві з CISCO). Крім того в системі присутні механізми оцінки продуктивності вбудованого коду, що є критичним для бізнес-додатків, так як повільна робота додаткових модулів може серйозно відбитися на бізнес-процесах в організації. Система також підтримує аналіз відповідно до специфічними рекомендаціями щодо аналізу коду бізнес-додатків, такими, як EAS-SEC і BIZEC а також загальними рекомендаціями PCI DSS і OWASP.

переваги:

  • глибока спеціалізація на одній платформі бізнес-додатків з кореляцією аналізу містять установки настройки і правами доступу;
  • тести продуктивності вбудованого коду;
  • автоматичне створення виправлень до знайденим уязвимостям і віртуальних патчів;
  • пошук вразливостей нульового дня.

Solar inCode

Solar inCode - інструмент статичного аналізу коду, призначений для виявлення вразливостей інформаційної безпеки і декларованих можливостей у вихідних текстах програмного забезпечення. Основною відмінною рисою продукту є можливість відновлювати вихідний код програм з робочого файлу з використанням технології декомпіляцію (зворотної інженерії).

Solar inCode дозволяє проводити аналіз вихідного коду, написаного на мовах програмування Java, Scala, Java for Android, PHP і Objective C. На відміну від більшості конкурентів, в переліку підтримуваних мов програмування присутні засоби розробки для мобільних платформ Android і iOS.

Малюнок 10. Інтерфейс Solar inCode

Інтерфейс Solar inCode

У випадках, коли вихідний код не доступний, Solar inCode дозволяє здійснити аналіз готових додатків, ця функціональність підтримує веб-додатки і мобільні додатки. Зокрема, для мобільних додатків досить просто скопіювати в сканер посилання на додаток з Google Play або Apple Store, додаток буде автоматично завантажено, декомпілювати і перевірено.

Використання Solar inCode дозволяє виконати вимоги стандартів PCI DSS, СТО БР Іббсе, а також 17 наказу ФСТЕК і вимоги по відсутності декларованих можливостей (актуально при сертифікації коду).

переваги:

  • Підтримка аналізу додатків для мобільних пристроїв під управлінням Android і iOS;
  • підтримує аналіз веб-додатків і мобільних додатків без використання початкового програмного коду;
  • видає результати аналізу в форматі конкретних рекомендацій щодо усунення вразливостей;
  • формує детальні рекомендації по налаштуванню засобів захисту: SIEM, WAF, FW, NGFW;
  • легко інтегрується в процес безпечної розробки ПО за рахунок підтримки роботи з репозиторіями вихідних текстів.

Висновки

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

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

В даному огляді явним лідером серед іноземних товарів з підтримки мов програмування і якість сканування є рішення HP Fortify Static Code Analyzer. Також хорошим продуктом є Checkmarx CxSAST, але він здатний аналізувати тільки звичайні додатки і веб-додатки, підтримка вбудованих модулів для бізнес-додатків в продукті відсутня. Рішення IBM Security AppScan Source на тлі конкурентів виглядає блякло і не відрізняється ні функціональністю, ні якістю перевірок. Втім, цей продукт не призначений для бізнес-користувачів і спрямований на використання в компаніях-розробників, де він може показувати велику ефективність, ніж конкуренти.

Серед вітчизняних товарів складно виділити однозначного лідера, ринок представляють три основні продукти - InfoWatch Appercut, PT Application Inspector і Solar inCode. При цьому дані продукти суттєво різняться технологічно і призначені для різних цільових аудиторій - перший підтримує більше платформ бізнес-додатків і відрізняється великою швидкодією за рахунок пошуку вразливостей виключно статичними методами аналізу. Другий - поєднує в собі статичний і динамічний аналіз, а також їх комбінацію, що одночасно з поліпшенням якості сканування призводить до збільшення часу перевірки вихідного коду. Третій же спрямований на рішення проблем бізнес-користувачів і фахівців з інформаційної безпеки, а також дозволяє перевіряти додатки без доступу до вихідного коду.

«Ешелон» AppChecker поки не дотягує до конкурентів і має невеликий набір функціональних можливостей, але, з огляду на ранню стадію розвитку продукту, цілком можливо, що в найближчому майбутньому він може претендувати на верхні рядки в рейтингах аналізаторів вихідних текстів.

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

Новости