Manuálová stránka ZONER Antivirus – libzavld

JMÉNO

libzavld – Zoner AntiVirus LD_PRELOAD knihovna


POUŽITÍ

Libzavld je LD_PRELOAD knihovna dodávaná k Zoner AntiVirus démonu (ZAVd), která poskytuje on-access ochranu orientovanou na procesy.


Tuto knihovnu lze připojit k jakémukoli dynamicky linkovanému programu pomocí proměnné prostředí LD_PRELOAD nebo pomocí konfigurace v /etc/ld.so.preload. Knihovna odchytává (hookuje) všechna přímá volání (tedy nikoli volání funckí v dynamicky linkovaných knihoven, které jsou připojeny později) funkcí close() nebo fclose() a byl-li deskriptor souboru otevřen pro zápis do běžného souboru, odešle se k oskenování procesu ZAVd.


Aby se zajistilo, že deskriptor bude čitelný, také všechna volání open(), open64(), creat(), creat64(), fopen(), fopen64(), freopen() a freopen64() jsou odchycena a příznak čtení je vynucen. Toto chování můžete potlačit definováním proměnné prostředí ZAVLD_NOFORCE.


Máte-li problémy s použitím knihovny, můžete zapnout informativní mód (použitelný pouze pro aldění, protože zapisuje na stadardní výstup a standardní chybový výstup) definováním proměnné prostředí ZAVLD_VERBOSE na 1 (vypisuje chyby) nebo 2 (vypisuje informativní hlášení).


Knihovna pouze zasílá deskriptory souborů, které byly po otevření pro zápis uzavřeny. Výběr souborů, které se mají oskenovat podle jména se provádí na straně ZAVd.


ZAVd je kontaktováno pomocí UNIX socketu. Adresa socketu se zjišťuje z konfiguračního souboru. libzavld zkouší výchozí umístění, ale můžete přímo určit konfigurační adresář pomocí proměnné prostředí ZAVD_ETCPATH.


Kromě deskriptoru se posílá i PID, který se loguje a straně ZAVd. Ve výchozím nastavení se posílá PID procesu, který vyvolal uzavření deskriptoru. Někdy je však vhodnější použít PID procesu, který byl spuštěn s proměnnou LD_PRELOAD (např. webové nebo ftp servery, které používají pracovní procesy). Toto chování můžete vynutit pomocí proměnné prostředí ZAVLD_ROOTPID.


PŘÍKLADY

Základní použití:


LD_PRELOAD=/opt/zav/lib/libzavld.so program <args>


Použití bez vynucení přístupu pro čtení (může zabránit oskenování na straně ZAVd):


ZAVLD_NOFORCE=1 LD_PRELOAD=/opt/zav/lib/libzavld.so program <args>


Použití s výpisem chyb:


ZAVLD_DEBUG=1 LD_PRELOAD=/opt/zav/lib/libzavld.so program <args>


INIT SKRIPTY

Chcete-li použít knihovnu libzavld s démony, kteří se startují pomocí initskriptů, musíte, tyto skripty editovat. V případě běžných initskriptů využijte stejnou techniku jako je popsána výše.


start-stop-daemon initskripty je potřeba upravit přidáním parametru –env, např. start-stop-daemon –start –env LD_PRELOAD=/opt/zav/lib/libzavld.so –exec program.


OMEZENÍ

Knihovna se k ZAVd připojuje při inicializaci. Dojde-li k restartu ZAVd, je potřeba se připojit znovu, ale procesy uvnitř chrootu se připojit nemohou. Takové programy je pak potřeba restartovat. V některých případech (např. některá FTP) se chroot používá pouze pro synovské procesy pro jednotlivá spojení, takže k připojení dojde pro následující klienty.


Na straně ZAVd je potřeba mít přístup do adresáře /proc, ale kvůli chybě v jádrech <2.6.22, je tento adresář nepřístupný pro programy, které používají setuid(). Buďto budete muset použít novější jádro nebo nainstalovat ZAVd pod cílovým uživatelem a neměnit nastavení user:group.


ZDROJOVÝ KÓD

Kompletní zdrojový kód knihovny libzavld.so naleznete v adresáři doc/ (/opt/zav/doc/ pro výchozí instalaci). Knihovnu přeložíte příkazem gcc -std=c99 -ldl -fPIC -shared -o libzavld.so zavld.c.


News from Development

ZONER AntiVirus 2.0 has been released

On June 25, 2020, a production version of ZONER AntiVirus has been released. After the public beta and public testing,…

Redesign of Android apps

Zoner AntiVirus Free and  Zoner Mobile Security apps have been upgraded to a new, more modern design. The apps still…

Android 7 restricts ZAV features

Due to changes in system architecture, some features of Zoner AntiVirus and Zoner Mobile Security cannot be used in Android…

Show Log

Interval.cz Magazine

Develop of usage of HTTPS by Google statistics

It is a difficult task to estimate the rate of HTTPS usage on the Internet, so it is mostly based…

HTTP is dead in Chrome since July

Launching Chrome 68 will be a turning point for the world of the Internet: Any website with no SSL/TLS certificate…

Why are code signing certificates indispensable?

You may not be a direct user of code signing certificates, but you have certainly (though unconsciously) worked with them…

All Articles

Latest Blog Posts

ZONER AntiVirus 2.0 has been released

On June 25, 2020, a production version of ZONER AntiVirus has been released. After the public beta and public testing,…

New website

We are pleased to announce that we have launched a new ZONER AntiVirus website. In addition to the Czech language,…

Read Blog