Како заштитити Firebird базе података од ransomware-а?
06-December-2016, аутор Алексеј Ковазин
Рансомвер напади су постали озбиљан проблем за многе компаније: током прошле недеље имали смо 3 инцидента од различитих клијената чије су Firebird базе података биле шифроване рансомвер вирусима. На срећу, успели смо да помогнемо свима, али обим проблема дефинитивно расте.
У овом чланку ћемо размотрити како су ови проблеми решени.
Уопштено, рансомвер није дизајниран да шифрује специфично Firebird базе података; он једноставно шифрује све датотеке на рачунару, а затим тражи откуп да би пружио лозинку за дешифровање, а чак и ако платите, можда нећете добити никакву лозинку за дешифровање или одговор уопште (такође, потребно је проверити антивирусне веб-сајтове: они често објављују пин-кодове или чак алатке за дешифровање за тај рансомвер. На пример, један од њих: noransom.kaspersky.com/)
Наравно, неопходно је имати поуздан (и погодан за сервере) антивирус, али можемо ли учинити нешто специфично да заштитимо Firebird базу података?
Постоје различите врсте рансомвера, размотримо њихов утицај на Firebird базе података.
Две компаније су погођене рансомвером који је делимично шифровао њихове Firebird базе података.
Као што знате, датотека Firebird базе података је скуп страница исте величине. Странице базе података у Firebird бази садрже различите врсте информација: метаподатке, корисничке податке, индексе, генераторе, итд.

Обично, такав рансомвер не шифрује целу датотеку базе података, већ мали део ње - заглавље странице и неки проценат страница базе података унутар базе.
Пошто све странице имају јаке међусобне везе, чак и неколико шифрованих страница чине целу базу података нечитљивом за Firebird мотор. На пример, у бази од 10Gb шифровано је мање од 1% података, а осталих 99% је било у реду.
У овом случају, таква шифрована база података може се сматрати тешко оштећеном датотеком базе података, а IBSurgeon FirstAID је алатка која може извршити извоз података из шифроване Firebird датотеке базе података. Исти приступ се користи за опоравак база података са оштећених хард дискова.
Извоз података из шифроване Firebird базе података
IBSurgeon FirstAID може опоравити базе података директном поправком или екстракцијом података. Директна поправка је брза, може брзо поправити оштећења директно у датотеци базе података. Међутим, у случају рансомвера, то неће помоћи, јер су заглавље странице и главни метаподаци изгубљени, па је екстракција једини избор.
FirstAID чита датотеку базе података директно - не користи Firebird за приступ датотеци базе података, већ чита датотеку директно, бајт по бајт. Пошто се фокусира само на екстракцију оштећених података и жртвује перформансе, FirstAID може извести податке чак и из тешко оштећених Firebird база података. Наравно, FirstAID прескаче шифроване податке као оштећене и извози само добре податке.
Ако рансомвер није шифровао критичне метаподатке, могуће је отворити шифровану датотеку базе података са FirstAID-ом и прегледати записе: изаберите табелу у листи са леве стране и отворите картицу Преглед, а затим прегледајте странице података.
Записи које можете видети могу се извести у нову базу података са истом структуром:

Приближни износ губитака може се проценити помоћу процента лоших страница на картици Сажетак страница за базу података:

Проценат лоших страница показује колико је страница базе података било шифровано и њихови подаци су изгубљени.
Дакле, у 2 случаја базе података су сачуване коришћењем FirstAID Extractor-а, који је извео податке из шифрованих база података.
Рансомвер са 100% шифровањем
Нажалост, рансомвер често шифрује 100% датотека, и то их потпуно шифрује, без изузетка.
Обично, такав рансомвер убризгава злонамерни код у покретач оперативног система, затим поново покреће рачунар и симулира извршење CHKDSK-а, али уместо провере дискова, шифрује све.
Једини начин да се заштитите од таквог вируса је да имате резервну копију важне базе података на некој трећој локацији: у облаку или у другој канцеларији.
Постоје 4 могућа приступа резервном копирању за Firebird базе података:
- Пуна верификована резервна копија са gbak-ом
- Инкрементална неверификована резервна копија са nbackup-ом
- Резервна копија на VM нивоу (за виртуелно окружење)
- Warm Standby (огледало базе података), засновано на репликацији
Који метод резервног копирања је најбољи за заштиту од рансомвера? Размотримо њихове предности и мане на живом примеру Firebird базе података величине 50Gb.
| Карактеристика | Пуна верификована резервна копија (gbak) | Инкрементална резервна копија (nbackup) | Резервна копија на VM нивоу | Warm-standby (репликација) |
|---|---|---|---|---|
| Величина за отпремање | ~30Gb сваког дана | 50Gb почетно, затим измењени делови | ||
| Максимална учесталост резервног копирања | Сваког дана | Сваког сата | Зависи од подешавања VM алатке за резервно копирање | Сваког минута |
| Деградација перформанси базе података | Висока | Умерена | Ниска | Веома ниска |
| Поузданост метода резервног копирања | Висока | Ниска | Ниска | Висока |
| Време потребно за извршење резервног копирања | 2-3 сата (зависи од брзине I/O) | Почетно је 15-20 минута за ниво 0, затим 3-4 минута | Захтева пуни снимак диска (зависи од I/O и величине диска) | Почетно је 15-20 минута, увек онлајн |
Пуна верификована резервна копија са gbak-ом
Алатка за резервно копирање (gbak) чита целу базу података и чува је у посебном формату (fbk). Овај метод резервног копирања назива се верификованим због чињенице да чита сваки запис у бази података и осигурава да је база исправна. То је веома поуздан метод резервног копирања.
Међутим, пуна верификована резервна копија није погодна за резервно копирање у облаку довољно великих база података (као што је 50Gb у нашем примеру) јер захтева отпремање пуне резервне копије сваки пут, и захтева много времена за извршење (то је најспорији тип резервног копирања у Firebird-у). Током извршења gbak-а, перформансе базе података су ниске због интензивног насумичног читања и писања диска.
Инкрементална резервна копија са nbackup-ом
Инкрементално резервно копирање врши се са nbackup-ом - још једном алатком за резервно копирање из Firebird-а. Nbackup креира резервне копије као инкременте промена: прво, креира резервну копију нивоа 0, која је тачна копија базе података, а затим, у следећој итерацији, скенира базу података и чува само измењене странице као ниво 1, ниво 2, итд. Могуће је поставити пуну резервну копију (ниво 0) једном квартално, инкременте нивоа 1 сваког месеца, ниво 2 сваке недеље, ниво 3 сваког дана, и ниво 4 сваког сата.
Прилично је брз, креира резервне копије скоро брзином линеарног копирања датотека.
Главни недостатак nbackup-а је одсуство верификације - ако је страница базе података оштећена, nbackup ће је копирати у резервну датотеку, која ће такође бити оштећена (за разлику од gbak-а, који ће у овом случају дати грешку). Такође, пошто креирање сваког нивоа захтева од Firebird-а скенирање целе базе података (у Firebird 2.5, v3 има побољшања), није могуће покретати nbackup пречесто на великој бази података.
Као што можете разумети, nbackup захтева прилично софистициран распоред, али са одговарајућим алатима, то је лак задатак.
Исправан начин је користити nbackup у комбинацији са gbak-ом: gbak верификује базу података сваког дана или сваке недеље, а nbackup пружа брз начин за резервно копирање базе података прилично често.
Дакле, nbackup изгледа као добар избор за чување базе података у облаку.
VM резервне копије
Шта је са резервним копијама виртуелних машина? Добављачи VM и алатки за резервно копирање тврде да подржавају резервно копирање база података, међутим, често не прецизирају које базе података су подржане. VM резервно копирање захтева Volume Shadow Service (VSS) провајдера за специфичну базу података да би се исправно извршило онлајн резервно копирање. За Firebird, VSS провајдер је доступан као део HQbird напредне дистрибуције.
Наравно, нема магије у резервном копирању VM-а са VSS провајдером - иза сцене, користи nbackup да пребаци базу података у режим погодан за копирање. Без VSS провајдера, резултат резервног копирања на VM нивоу биће попут копије базе података у стању сличном хард ресету: Firebird интензивно користи кеширање података у RAM-у, и могуће је да ће резервна копија бити оштећена због непражњених промена.
Топло резервисање (Warm-standby)
Неке компаније не желе да изгубе било какве податке из базе података. Недавне фактуре пре пада система могу бити критичне, а последња испорука може послати десетак камиона на пут. У овом случају, чак ни сатне резервне копије нису довољне; једино могуће решење је топло резервисање (read-only огледало) базе података, које се заснива на асинхроној нативној репликацији.
Нативна значи да репликација не захтева тригере или измену метаподатака (једини услов је да постоје примарни или јединствени кључеви за све репликоване табеле), и ради веома брзо.
Топло резервисање захтева креирање почетне копије базе података, њено иницијализовање као реплике и отпремање на резервни сервер. Након тога, измене података ће се слати са главног сервера са минималним кашњењем (од 1 минута). Шаљу се само измене, тако да то не утиче на перформансе читања базе података.
Ова опција резервисања је веома поуздана - гарантује постојање живе копије базе података на другом серверу.
Шта IBSurgeon може да уради за вас?
Нудимо услугу подршке засновану на претплати за Firebird, која укључује опције резервне копије у облаку и топлог резервисања. То је једноставно и приступачно (99$/месечно), и укључује следеће опције:
- Праћење Firebird базе података и аутоматизација резервних копија
- Подршка преко удаљене радне површине и инстант месинџера
- Failover Firebird решење (топло резервисање) и резервна копија у облаку
Прочитајте више детаља о услузи подршке за Firebird овде.
Друга опција је коришћење HQbird, наше напредне дистрибуције Firebird-а, и самостално имплементирање резервне копије у облаку или топлог резервисања. Више детаља о HQbird можете пронаћи овде.
И, наравно, као последња шанса, FirstAID Extractor.
Слободно нас контактирајте са било којим питањима!