Аудит безпеки вебзастосунків та онлайн-магазинів
Ми тестуємо вебзастосунки, API та магазини на WordPress чи WooCommerce так, як це робив би зловмисник, перевіряємо код і налаштування сервера й даємо звіт, який каже, що виправляти насамперед. Після виправлень тестуємо знову. Працюємо лише з письмового дозволу власника системи.
Коли аудит вартий того
Проблеми з безпекою рідко заявляють про себе самі. Приводом для аудиту зазвичай стає зміна: запуск, відхід людини, запитання від партнера.
- Розробник пішов, і ви не впевнені, які ключі й доступи пішли разом із ним
- Продукт от-от запуститься, а на нього ще ніхто не дивився очима зловмисника
- Партнер, інвестор чи корпоративний клієнт просить підтвердження, що платформу перевірено
- Магазин працює на десятках плагінів, і для одного з них щойно опублікували вразливість
- Продукт побудовано на старому фреймворку, якого ніхто в команді не хоче торкатися
- Ви виправили проблеми з попереднього аудиту, і треба, щоб хтось підтвердив, що їх закрито
Що ми перевіряємо
Тестування вебзастосунків
Ручне тестування застосунку та його бізнес-логіки: контроль доступу, обробка введених даних, завантаження файлів, сесії й сценарії, де переходять з рук у руки гроші чи персональні дані.
API й автентифікація
Вхід, скидання пароля, токени й робота з JWT, ролі й права. Перевіряємо, чи може один користувач дістатися до даних іншого, змінивши ID у запиті.
WordPress і WooCommerce
Плагіни й теми з відомими вразливостями, доступ до адмінки, відкриті файли й конфігурація, а також логіка оформлення замовлення: ціни, купони й зміни статусу замовлень.
Перевірка коду на безпеку
Читаємо код і його історію в пошуках секретів у репозиторії, небезпечних запитів, відсутніх перевірок і застарілих бібліотек — зокрема в застарілих стеках, які роками ніхто не переглядав.
Захист серверів
Правила SSH і фаєрвола, відкриті порти, TLS, заголовки безпеки, права на бази даних і файли, резервні копії, що зберігаються окремо від сервера, і захист від перебору паролів, який не блокує ваш власний офіс.
Повторна перевірка
Після того як ваша чи наша команда виправить знахідки, ми знову тестуємо кожну з них і оновлюємо звіт із її статусом.
Чого ми не робимо
Ці правила є частиною кожної угоди й не обговорюються.
- Не тестуємо жодну систему без письмового дозволу її власника
- Не проводимо навантажувальних тестів і тестів на відмову в обслуговуванні на продакшені без окремої домовленості
- Не передаємо знахідки нікому, крім контактних осіб, названих в угоді
- Не зберігаємо ваші дані й тестові акаунти після завершення роботи
Звіт, який каже, що виправляти насамперед
Перелік із двохсот попереджень сканера не допомагає команді вирішити, що робити в понеділок. Наш звіт оцінює кожну знахідку за критичністю за CVSS, показує докази — наприклад, запит і відповідь, що підтверджують проблему, — пояснює, як її відтворити, і каже, як її виправити. Власник отримує підсумок для керівництва простою мовою, а розробники — план виправлень, упорядкований за ризиком і трудомісткістю.
- Знахідки з оцінкою CVSS, упорядковані за ризиком
- Докази й кроки відтворення для кожної знахідки
- Підсумок для власника
- План виправлень, за яким можуть працювати розробники
Де зазвичай ховаються серйозні проблеми
Автоматичні сканери знаходять застарілі версії. Проблеми, які дозволяють захопити чужі акаунти, зазвичай в іншому місці: API, що повертає замовлення іншого клієнта, якщо змінити номер у запиті, ключ підпису, закомічений у репозиторій кілька років тому, адмінський маршрут, який перевіряє вхід, але не роль, оформлення замовлення, яке довіряє ціні з браузера, файл резервної копії, забутий у публічній теці. Щоб знайти таке, потрібна людина, яка читає код і вручну проходить сценарії, — саме так ми й тестуємо.
- Контроль доступу перевірено на кожному чутливому запиті
- Історію репозиторію перевірено на секрети й ключі
- Логіку оплат і замовлень протестовано вручну
- Знайдено забуті файли, ендпоінти й режими налагодження
Повторна перевірка й захист, щоб звіт не був кінцем
Аудит окупається лише тоді, коли знахідки закрито. Після виправлень ми повторно перевіряємо кожну знахідку й позначаємо її як закриту, частково виправлену чи ще відкриту. За бажанням виправлення роблять наші розробники, а наша серверна команда посилює захист інфраструктури: доступ лише за ключами, фаєрвол, який відкриває тільки те, що має бути публічним, актуальний TLS, окремі користувачі бази даних з мінімальними правами й резервні копії, що зберігаються далеко від сервера, який вони захищають.
- Кожну знахідку повторно перевірено після виправлень
- Оновлений звіт зі статусом кожного пункту
- Виправлення від наших розробників, якщо вам так зручніше
- Захист серверів у межах тієї самої роботи
Як проходить аудит
Обсяг і дозвіл
Узгоджуємо, що тестуємо, звідки й коли, а власник системи підписує письмовий дозвіл. Ви надаєте тестові акаунти, а для перевірки коду — доступ до репозиторію.
Тестування
Ми складаємо карту застосунку, тестуємо його вручну й перевіряємо код і налаштування сервера в узгоджених межах. Про все критичне повідомляємо вас одразу, а не відкладаємо до звіту.
Звіт
Ви отримуєте знахідки з оцінкою CVSS, докази, виправлення, підсумок для керівництва й план виправлень, а ми проводимо вашу команду через них.
Виправлення
Ваші чи наші розробники працюють за планом у порядку ризику.
Повторна перевірка
Ми знову тестуємо кожну знахідку й видаємо оновлений звіт зі статусом кожної.
Що і за якими стандартами ми тестуємо
Стандарти
- OWASP Top 10
- OWASP API Security Top 10
- CVSS
- CWE
Застосунки
- Вебзастосунки й адмінпанелі
- REST API
- Автентифікація через JWT і сесії
- Headless CMS, як-от Payload і Next.js
Платформи й стеки
- WordPress і WooCommerce
- PHP, Laravel, Yii2
- Ruby on Rails
- Node.js
Інфраструктура
- Linux-сервери
- nginx
- SSH і фаєрвол
- TLS і заголовки безпеки
Як можна з нами працювати
Аудит із повторною перевіркою
Фіксований обсяг: тестування, звіт і повторна перевірка після того, як ваша команда виправить знахідки.
Аудит і виправлення
Ми тестуємо, виправляємо знахідки в коді й на сервері та підтверджуємо це повторною перевіркою.
Регулярні перевірки
Перевірка перед великими релізами або за розкладом, часто разом із підтримкою сайту чи серверів.
Див. також: QA і тестування · Підтримка серверів · Підтримка сайтів
Відгуки
Команда Revol і далі розширює можливості розробки клієнта завдяки якісній роботі та надійній підтримці. Вони ефективно комунікують і добре розуміють потреби та бізнес клієнта.
Tomas
Робота Revol повністю виправдала очікування, і клієнт залишився задоволений. Свіжий підхід і постійна готовність допомогти стали для нас справжньою цінністю. Якщо вам потрібна комунікабельна, клієнтоорієнтована команда для досягнення ваших цілей — сміливо звертайтеся до них.
Andrey
Часті запитання
Чи потрібен вам наш письмовий дозвіл?
Так, завжди. Власник системи підписує дозвіл, де вказано обсяг, адреси й дати. Якщо система працює в хостинг- чи хмарного провайдера, ми також дотримуємося правил цього провайдера щодо тестування безпеки.
Чи не зламає тестування наш робочий сайт?
Межі ми узгоджуємо заздалегідь. Де можливо, тестуємо на тестовій копії з тим самим кодом. На продакшені використовуємо тестові акаунти, уникаємо руйнівних дій і не проводимо навантажувальних тестів без окремої домовленості.
Чим це відрізняється від автоматичного сканування на вразливості?
Сканер знаходить відомі версії й типові помилки конфігурації, і ми теж ним користуємося. Найважливіші знахідки — наприклад, коли один користувач читає дані іншого або ціну змінюють у браузері — потребують людини, яка розуміє застосунок і тестує його вручну.
Що саме ми отримуємо?
Звіт, де кожна знахідка має оцінку CVSS, докази, кроки відтворення й виправлення, підсумок для керівництва й план виправлень. Після повторної перевірки ви отримуєте оновлену версію зі статусом кожної знахідки.
Чи можете ви виправити те, що знайдете?
Так. Наші розробники можуть виправити код, а серверна команда — посилити захист інфраструктури. Деякі клієнти воліють, щоб виправляла їхня команда, а ми перевіряли, і це працює так само добре.
Чи входить повторна перевірка в аудит?
Ми закладаємо її в обсяг від самого початку, бо аудит без повторної перевірки лишає вас у здогадках, чи спрацювали виправлення. Коли саме вона відбудеться, залежить від того, як швидко зроблять виправлення.
Як ви поводитеся з нашими даними й знахідками?
Ми працюємо за NDA, передаємо знахідки лише контактним особам, названим в угоді, і видаляємо тестові дані й доступи після завершення роботи. Ми ніколи не публікуємо подробиць того, що знайшли.
Це сертифікація?
Ні. Ми не орган сертифікації, і звіт не є сертифікатом відповідності. Він може допомогти у вашій роботі з відповідністю вимогам і показує партнерам, які просять підтвердження тестування, що саме й як перевірено.
Розкажіть про свій проєкт
Опишіть задачу кількома рядками. Протягом одного робочого дня ми відповімо з запитаннями або першою оцінкою обсягу й вартості.
Зручніше написати листа чи зателефонувати?
welcome@revolsource.com
+38 097 662 23 20
Revol Software OÜ, Таллінн, Естонія. Наша команда розподілена по всьому світу.
Приєднуйтеся до нашої команди
Надсилайте резюме на career@revolsource.com