Zero-day заплахи: какво е добре да знаете за тях

Zero-day или 0-day (oh day) – “нулев ден” на български – е клас уязвимости (vulnerability) или методи за атака (exploit). Използването на този термин стартира през 90-те години на миналият век в warez BBS средите.

Малко история

Определението Х-day, където Х е брой дни – 30, 60 и т.н., се е използвало за да се отбележи колко време е необходимо, за да се изготви пиратска версия (крак) за даден софтуер, след първоначалното му публикуване. Най-търсен и елитен е бил пиратският софтуер, маркиран със 0-day етикет, понеже официално не е бил публикуван никъде и най-вероятно за набавянето му е била хакната компанията, която го разработва.

0-day днес – какво се е променило

В наши дни терминът има съвсем друго значение – характеризира клас уязвимости (слабост/недостатък/пропуск), открити от независими субекти (изследователи в областта на информационната сигурност) преди собственика/разработчика на съответния софтуер/хардуер.

Интерпретацията на “0” може да бъде доста разновидна, но двете най-точни определения са:

И в двата случая можем да преведем 0-day като „никакво време”.

0-day уязвимости и 0-day атаки

0-day може да бъде както уязвимост, така и експлойт/вектор за атака. Когато става дума за 0-day уязвимост, то тя може да бъде теоретична или много трудна за експлоатиране, да има определени условия/изисквания, за да бъде успешна атака и т.н.

0-day атаки/експлойти, от друга страна, са много „по-страшни“ и изискват спешни действия за справяне с тях. Не забравяйте, че някой вече е намерил съответната уязвимост, разучил я е и успешно осъществява атаки „in the wild“ (в реални условия срещу реални жертви).

Още малко теория

Може да срещнете, макар и доста рядко, терминът Forever-day vulnerability. Това означава, че откритият 0-day няма да бъде поправен от разработчика/вендора. Причините може да са, че продуктът вече не се поддържа (End-of-Life) или разработчикът няма интерес да поправи пропуските.

В такава ситуация имате две възможности:

Времевата линия при откриването на 0-day

Дефинирането и точното описание на 0-day уязвимост или експлойт е доста трудно. Повече детайли можете да откриете в блог поста Like Nailing Jelly to the Wall: Difficulties in Defining “Zero-Day Exploit”.

Кой, как и защо търси 0-day уязвимости

Пропуски, слабости и бъгове в софтуерни и хардуерни продукти се намират постоянно и по най-различни начини, канали и поводи.

В зависимост от целта обаче, можем да разделим субектите, занимаващи се със 0-day уязвимости и/или експлойти, в следните категории:

Независими или работещи за дадена компания, тези професионалисти търсят 0-day уязвимости за да ги докладват на производителите/вендорите.

Процесът по докладване се нарича “responsible disclosure” или “coordinated disclosure”. Случва се изследователите да не могат да осъществят контакт, да не срещнат съдействие или дори да бъдат заплашени със съд от страна на производителя.

При такива обстоятелства, изследователите извършват Full Disclosre, т.е. правят своето откритие публично достояние и то без да спестяват детайли. Неписано правило е, че ако 90 дни след Responsible Disclosure, вендорът не е взел мерки и не е публикувал patch, адресиращ уязвимостта, то изследователят има право да сподели своето откритие, без това да се счита за неморално.

Случва се също изследовател да постъпи неетично и да публикува откритията си, дори преди да е направил опит да предупреди производителя. Това обикновено има негативни последствия за имиджа на изследователя, тъй като поставя потребителите и клиентите на въпросния производител в риск.

Една част от 0-day уязвимостите биват откривани от разработчика на съответния продукт/услуга и биват отстранявани без да е необходимо да бъдат публично оповестявани.

Когато съществуват съмнения, че тези уязвимости са били експлоатирани „in the wild“, вендорите би трябвало да следват добрите практики и да направят Full Disclosure. Такъв пример е 0-day атаките срещу Sophos XG NGFW през пролетта на 2020 г.

Те имат същите професионални умения като добронамерените изследователи, но често, финансово мотивирани, се “крият в сенките” и опитват да се възползват максимално от своите открития.

Някои от вас ще си помислят, че се шегувам и ще кажат: “Този е гледал твърде много филми за агент 007 и прекарва твърде много време в разнищването на конспирации!”.

Тези, които имат задълбочен опит в сферата на киберсигурността ще потвърдят, че именно тези организации са най-големият “производител” на 0-day експлойти!

Няма как да сте забравили за NotPetya и WannaCry! А помните ли, че EternalBlue експлойтите, използвани в тези червеи (worms), са всъщност 0-days изтекли от NSA (No Such Agency?!).

Ще освежа паметта ви с The “Shadow Brokers” Story и със скорошните атаки, експлоатиращи 0-days в Exchange сървъри.

На най-недоверчивите препоръчвам The Perfect Weapon, Zero Days, Countdown to Zero Day: Stuxnet and the Launch of the World’s First Digital Weapon, DARKNET DIARIES EP 29: STUXNET

Zero-day по света

Наскоро FireEye публикува изследване, включващо географското разпределение на 0-day уязвимости/атаки през последните няколко години:

b1dc6d685552940dba99706b8942f2a9.png

Game Theory: Why System Security Is Like Poker, Not Chess предлага една по-различна перспектива по темата.

Бизнесът със 0-days

Като оставим настрана шпионските игри, 0-days са чист бизнес, който цели генериране на финансова печалба или имидж. Ето кои са едни от най-големите играчи:

Как да се предпазите

Макар да няма “универсална” защита и стратегия срещу 0-day експлойти, спазването на добра работна хигиена е задължителна:

Exit mobile version