リアルタイムスキャンの動作概要(Dazukoの場合)について

リアルタイムスキャン時(Dazukoを使用する場合)に関する主なモジュールとその関係は以下の図のようになります。

この図では、ファイルを開いた場合の処理の流れの概要も示しており、以下のような流れになります。

 

Dazuko.jpg

 

①.アプリケーションはlibcを通じてopenシステムコールを呼び出します。
②.カーネルモジュールは、システムコールテーブル中のopenシステムコールのアドレスを 置き換えることで、アプリケーションからのopenシステムコール呼び出しを受け取ります。
③.fsoasd_bhプロセスは自分自身をカーネルモジュールに登録し、ファイルアクセスがあった場合にカーネルモジュールからメッセージを受け取ります。
④.fsoasd_bhプロセスは、fsoasd_thプロセスに要求を伝えます。
⑤.fsoasd_thは、fsavd(ウィルス検査デーモン)に、openされるファイルの検査を要求します。
⑥.fsavdはウィルス検査を行い、結果をfsoasd_thに返します。
⑦.fsoasd_thはfsoasd_bhに結果を返します。
⑧.fsoasd_bhはカーネルモジュールに結果を返します。
⑨.ウィルス検出などがなければ、本来のLinuxのopen()システムコールを呼び出して制御をアプリケーションに戻します。
  ウィルスなどを検出した場合、本来のLinuxのopen()システムコールは呼び出さずにアプリケーションにエラーを返します。

 

なお、システムコールテーブルの置き換えは以下のシステムコールに対して行っています。
- open 
- dup
- dup2
- close
- execve

Sign In or Register to comment.