Інтернет наповнений веб-сторінками, що несуть потенційну загрозу. На жаль, такі сторінки можуть бути присутніми навіть на ресурсах ваших партнерів або клієнтів.
У сучасному світі майже кожний бізнес залежить від інтеграцій, які використовують дані з веб-сайтів клієнтів чи постачальників. Ці послуги є необхідними для функціонування, але іноді вони можуть становити небезпеку. Зовнішні сайти, з якими ви взаємодієте, можуть містити шкідливий код (навмисно впроваджений або внаслідок злому), і якщо він потрапить у вашу систему, наслідки можуть бути дуже серйозними.
Чи можливо вручну перевіряти веб-сайти на наявність шкідливого коду?
Може здатися, що кваліфікований розробник здатний перевіряти сторінки на наявність вразливостей, але насправді це не так з багатьох причин:
- Розробники не є фахівцями з безпеки. Вони спеціалізуються на створенні складного програмного забезпечення, комбінуючи багато малих підсистем. Іншими словами, вони просто не мають необхідних знань.
- Навіть дуже талановитий розробник зіткнеться зі складнощами. Типова веб-сторінка містить тисячі рядків коду. Поєднання їх для розуміння загальної картини, а також виявлення прихованих загроз – це дуже складне завдання. Це як намагатися змусити когось з’їсти цілого слона за обідом!
- Для прискорення завантаження сторінок файли CSS і JavaScript часто стискаються та мінімізуються. Це робить код майже неможливим для розуміння.
Чи можете ви розібратися, що робить цей код? (Джерело: elgg.org)
Якщо це здається читабельним, то це завдяки тому, що розробники зберегли імена змінних для більшого контексту. Спробуйте розібратися у вихідному коді jQuery, який хтось може розмістити на своєму сайті та підмінити (два рядки десь тут):
І це ще не все, адже цей код складається з приблизно 5000 рядків. 😎
І це тільки один сценарій, про який ми говоримо. Веб-сторінка часто має 5-15 вкладених сценаріїв, і ви, ймовірно, працюєте з 10-20 веб-сторінками. Уявіть, що вам потрібно робити це щодня… або навіть кілька разів на день!
На щастя, існують API, що дозволяють швидко та легко сканувати URL-адреси. За допомогою них можна перевіряти не тільки веб-сторінки, а й файли, які вам надсилають для завантаження. Розглянемо деякі інструменти API, які можуть допомогти. І оскільки це API, то ваш розробник зможе створити ефективний інструмент сканування веб-сайтів, використовуючи ці API. 😀
Google Web Risk
Не дивно, що інструмент перевірки веб-сторінок запропонувала компанія, яка фактично володіє Інтернетом (тобто усіма його веб-сторінками). Але є один нюанс: Google Web Risk ще перебуває в бета-версії і доступний лише за запитом. Бета-версія передбачає часті зміни.
Тим не менш, оскільки API досить простий, ваш розробник зможе швидко внести необхідні зміни за допомогою інструментів моніторингу API. 🙂
Використовувати API досить легко. Для перевірки сторінки через командний рядок потрібно відправити запит:
curl -H "Content-Type: application/json" "https://webrisk.googleapis.com/v1beta1/uris:search?key=YOUR_API_KEY&threatTypes=MALWARE&uri=http%3A%2F%2Ftestsafebrowsing.appspot.com%2Fs%2Fmalware.html"
У разі успішного запиту, API поверне тип вразливості:
{ "threat": { "threatTypes": [ "MALWARE" ], "expireTime": "2019-07-17T15:01:23.045123456Z" } }
Як бачите, API підтверджує, що сторінка містить шкідливе програмне забезпечення.
Важливо зазначити, що Google Web Risk API не виконує діагностику URL-адреси чи файлу на вимогу. Він перевіряє чорний список, який веде Google, на основі результатів пошуку та звітів, і повідомляє, чи є URL-адреса в цьому списку. Іншими словами, якщо API каже, що URL-адреса безпечна, то, ймовірно, вона такою є, але гарантій немає.
VirusTotal
VirusTotal – це ще один цікавий сервіс, який можна використовувати для сканування не тільки URL-адрес, а й окремих файлів. В цьому плані він корисніший за Google Web Risk. Щоб випробувати сервіс, просто перейдіть на веб-сайт і скористайтеся можливістю завантажити файл прямо на головній сторінці.
Хоча VirusTotal є безкоштовною платформою, створеною та підтримуваною активною спільнотою, він також пропонує комерційну версію свого API. Ось чому варто платити за преміум-сервіс:
- Гнучка швидкість запитів і денна квота (на відміну від чотирьох запитів за хвилину для загальнодоступного API).
- Надісланий ресурс сканується антивірусними двигунами VirusTotal, і повертається додаткова діагностична інформація.
- Інформація про поведінку файлів (файли запускаються в різних ізольованих середовищах для відстеження підозрілих дій).
- Можливість відправляти складні запити до бази даних файлів VirusTotal.
- Строга угода про рівень обслуговування та час відповіді (файли, надіслані через загальнодоступний API, стають у чергу і їх аналіз займає багато часу).
Якщо ви оберете приватний API VirusTotal, це може стати однією з найкращих інвестицій у SaaS для вашого бізнесу.
Scanii
Ще один корисний API для сканування безпеки – Scanii. Це простий REST API, який може сканувати надіслані документи/файли на наявність загроз. Можна сказати, що це антивірусний сканер на вимогу, який легко використовувати та масштабувати!
Ось що пропонує Scanii:
- Виявлення шкідливого ПЗ, фішингових сценаріїв, спаму, контенту NSFW тощо.
- Платформа побудована на Amazon S3 для легкого масштабування та безпечного зберігання файлів.
- Виявлення образливого, небезпечного або потенційно небезпечного тексту більш ніж 23 мовами.
- Простий, цілеспрямований підхід до сканування файлів на основі API.
Перевагою Scanii є те, що це метадвигун, тобто він не виконує сканування сам, а використовує набір базових двигунів. Це дає вам гнучкість, оскільки не потрібно прив’язуватися до певного механізму безпеки і турбуватися про помилки в API.
Scanii є надзвичайно корисним для платформ, які залежать від контенту, створеного користувачами. Також він стане в нагоді для сканування файлів, отриманих від ненадійних постачальників.
MetaDefender
Для деяких організацій сканування файлів і веб-сторінок в одній точці недостатньо. Вони мають складні інформаційні потоки, де жодна з точок доступу не має бути скомпрометована. У таких випадках MetaDefender – ідеальне рішення.
Уявіть собі MetaDefender як параноїка, що стоїть між вашими даними та зовнішнім світом. Це не випадково, адже параноя є основною філософією MetaDefender. Краще за них самих я це не опишу, тому цитую їхні слова:
Основна захисна функція більшості рішень кібербезпеки – це виявлення. MetaDefender не залежить від виявлення. Він вважає, що усі файли можуть бути заражені, і відновлює їхній вміст за допомогою безпечного та ефективного процесу. Він підтримує понад 30 типів файлів та створює безпечні для використання файли. Очищення даних є надзвичайно ефективним у запобіганні цілеспрямованих атак, програм-вимагачів та інших відомих і невідомих загроз шкідливого програмного забезпечення.
У MetaDefender є багато корисних можливостей:
- Запобігання втраті даних: можливість замінити або захистити конфіденційну інформацію, виявлену у вмісті файлу. Наприклад, квитанція у PDF з відкритим номером кредитної картки буде прихована MetaDefender.
- Розгортання на локальному сервері або в хмарі (залежить від рівня вашої параної).
- Перегляд понад 30 типів архівів (zip, tar, rar тощо) та 4500 методів підробки типів файлів.
- Багатоканальне розгортання – захист тільки файлів або розширення захисту на електронну пошту, мережу та точки входу.
- Спеціальні робочі процеси для застосування різних типів сканувань на основі правил.
MetaDefender використовує понад 30 двигунів сканування, але вдало їх приховує, тому вам не потрібно про них турбуватися. Якщо ви середній або великий бізнес, який не може дозволити собі проблем з безпекою, MetaDefender – це чудовий вибір.
Urlscan.io
Якщо ви часто маєте справу з веб-сторінками і хочете зрозуміти, що відбувається за лаштунками, Urlscan.io – це потужний інструмент для вас.
Обсяг інформації, яку надає Urlscan.io, вражає. Серед іншого, ви можете побачити:
- Кількість IP-адрес, з якими сторінка зв’язується.
- Список регіонів та доменів, куди сторінка надсилає дані.
- Технології, що використовуються на фронтенді та сервері сайту (точність не гарантована, але вона досить висока!).
- Інформація про домен та SSL-сертифікат.
- Детальна взаємодія HTTP разом з корисним навантаженням запитів, іменами серверів, часом відповіді та іншим.
- Приховані перенаправлення та помилкові запити.
- Вихідні посилання.
- Аналіз JavaScript (глобальні змінні, що використовуються в сценаріях тощо).
- Аналіз DOM дерева, вмісту форм та інше.
Ось приклад інформації, яку надає сервіс:
API простий та зрозумілий. Він дозволяє надсилати URL-адресу для сканування, а також перевіряти історію сканування цієї адреси (тобто сканування, проведені іншими). Загалом, Urlscan.io надає багато корисної інформації будь-якій зацікавленій компанії чи особі.
Sucuri
Sucuri – відома платформа для онлайн-сканування веб-сайтів на наявність загроз. Можливо, ви не знаєте, що вони також пропонують REST API, дозволяючи програмно використовувати їхні можливості.
API простий у використанні і працює добре. Звичайно, Sucuri не обмежується скануванням API, тому рекомендую ознайомитись з іншими їхніми можливостями, наприклад, сканування на стороні сервера (ви надаєте FTP-дані, і сервіс входить та сканує всі файли на наявність загроз!).
Quttera
Останній сервіс у нашому списку – Quttera, який пропонує дещо інший підхід. Замість того, щоб сканувати домен і сторінки за запитом, Quttera також може здійснювати постійний моніторинг, допомагаючи вам уникнути вразливостей нульового дня.
REST API є простим і потужним, та підтримує більше форматів ніж JSON (наприклад, XML і YAML). Сканування підтримує повну багатопотоковість та паралелізм, що дозволяє запускати кілька сканувань одночасно. Оскільки послуга працює в реальному часі, вона є безцінною для компаній, де простій означає значні втрати.
Висновок
Інструменти безпеки, подібні до тих, що описані в цій статті, є додатковою лінією захисту. Подібно до антивірусної програми, вони можуть багато чого робити, але не є абсолютно надійними. Це пов’язано з тим, що програма, написана зі зловмисними намірами, є для комп’ютера такою ж, як і програма, написана для позитивних цілей. Обидві вони використовують системні ресурси та надсилають мережеві запити. Різниця полягає в контексті, а не в способі роботи комп’ютера.
Тим не менш, ці API забезпечують надійний рівень безпеки, який є бажаним у більшості випадків – як для зовнішніх веб-сайтів, так і для ваших власних! 🙂