Як ми робили пошук в elasticsearch на vulners.com


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

І на відміну від класичних SQL баз даних або noSQL типу MongoDB тут дуже зручно робити неточний пошук по всьому документу. Для цього використовується синтаксис Query DSL. Для повнотекстового пошуку по всьому документу є кілька пошукових запитів. У себе на сайті ми використовуємо тип query_string. Цей запит підтримує Lucene синтаксис, який дозволяє і нам, і користувачеві створювати складні запити в google-style. Ось приклади таких запитів:

title:apache AND title:vulnerability
type:centos cvss.score:[8 TO 10]
Можна зробити ось такий простий запит і все:

{
"query": {
"query_string": {
"query": "pws wordpress"
}
}
}

Але почавши вперше використовувати query_string, ви зіткнетеся з тим, що пошук видає не те, що ви хочете бачити. Як же домогтися від elasticsearch виразного результату пошуку?

Читати далі →

Аудит вразливостей Linux c Vulners.com

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


Звідки ми отримуємо інформацію про уразливість Linux? Для цього ми парсим бюлетені вендорів. Покажемо процедуру аналізу на прикладі бюлетеня безпеки Debian DSA-3638.
Читати далі →

Vulners — Гугл для хакера. Як влаштований найкращий пошуковик за вразливостей і як ним користуватися



Часто потрібно дізнатися всю інформацію про який-небудь уразливості: наскільки знайдена бага критична, є готові сплоітов, які вендори вже випустили патчі, яким сканером перевірити її наявність в системі. Раніше доводилося шукати вручну по десятку джерел (CVEDetails, SecurityFocus, Rapid7 DB, Exploit-DB, бази вразливостей CVE від MITRE/NIST, вендорські бюлетені) і аналізувати зібрані дані. Сьогодні цю рутину можна (і потрібно!) автоматизувати за допомогою спеціальних сервісів. Один з таких — Vulners, найкрутіший пошуковик по багам, причому безкоштовний і з відкритим API. Подивимося, чим він може бути нам корисний.

Читати далі →