シェア
//ClamAVによるウイルス・マルウェア・トロイの木馬の効果的なスキャン

ClamAVによるウイルス・マルウェア・トロイの木馬の効果的なスキャン

今日のソフトウェア開発の世界では、セキュリティは無視できない重要な要素です。ウイルス、トロイの木馬、マルウェアなどの脅威は、ソースコードファイル、システムリソース、さらには日常的に使用しているライブラリの中にも潜んでいる可能性があります。

商用のセキュリティ対策は強力ですが、コストが高いため、スタートアップや小規模プロジェクトには適していません。そこで登場するのが、ClamAVです。ClamAVはオープンソースで無料、さらに導入が容易なため、理想的な選択肢となります。ClamAVはウイルスやマルウェアのスキャン機能を提供し、ソフトウェア開発プロセスに簡単に統合できます。

本記事では、ClamAVの紹介、ソースコードのセキュリティにおける役割、Docker環境における使用方法とその自動化によるスキャン最適化について解説します。

ClamAVとは?

ClamAV は、Unix系(Linux、macOS)システムで広く使用されているオープンソースのウイルススキャンソフトウェアです。このソフトは特にサーバーやWindows以外の環境に適しており、ウイルス検出だけでなく、マルウェアやトロイの木馬、メール、ファイルシステム、その他の入力ストリームにおける脅威も検出します。

このソフトウェアは現在、Cisco傘下のセキュリティ研究チーム「Cisco Talos」によってメンテナンスされています。ClamAVは既知のマルウェアに対する検出力が高いですが、ゼロデイ脅威に対する防御には設計されていません。

なぜClamAVが必要か?

  • 信頼できないリソース内のマルウェア検出:ソースコード自体は安全であっても、外部ライブラリやアップロードされたファイルにはマルウェアやトロイの木馬が潜んでいる可能性があります。ClamAVはそれらを検出するのに有効です。
  • 低コスト:ClamAVは完全無料のオープンソースソフトウェアであり、商用ソリューションを導入する余裕のないプロジェクトに最適です。
  • 自動スキャン可能:DevOpsやCI/CDパイプラインに簡単に組み込むことができ、開発初期からセキュリティ対策が可能です。
  • 定期的なアップデート:ClamAVは頻繁にウイルス定義が更新されており、新しい脅威にも即対応可能です。

ClamAVを使用するメリット

  • 無料かつオープンソース:ライセンス費用がかからず、柔軟にカスタマイズ可能です。
  • 簡単に統合できる:ClamAVはさまざまなツールや自動化プロセスに統合しやすいです。
  • 多様なマルウェアを検出可能:ソースコード、圧縮ファイル、メールなど、さまざまな形式のファイルをスキャンできます。
  • マルチプラットフォーム対応:Linuxだけでなく、WindowsやmacOSでも利用可能です。

DockerでClamAVを利用してソースコードを自動スキャンする手順

以下では、ClamAVをDockerコンテナで構築し、自動的にソースコードをスキャンする方法について説明します。

ステップ1: ClamAV用Dockerfileの作成

Dockerfileを作成してClamAVをインストールし、ソースコードスキャン環境を構築します。

FROM clamav/clamav:latest

RUN freshclam

CMD freshclam && clamscan -r --bell -i /scan

注釈:

  • -r: /scan 以下を再帰的にスキャン
  • –bell: ウイルス検出時にベルを鳴らす
  • -i: 感染ファイルのみ表示
  • /scan: スキャン対象のディレクトリ(ホストからマウント)

ステップ2: docker-compose.ymlの作成

services:
  clamav:
    build:
      context: .
    image: clamav-scanner
    container_name: clamav-scanner

ステップ3: Dockerイメージのビルド

docker compose build

ステップ4: ソースコードのスキャン

docker run --rm -v <full-path-source-code>:/scan clamav-scanner

デモ

1. データ準備

プロジェクト project-a の構成には、正常なファイルとマルウェアテスト用のファイルを含む eicar フォルダがあります。

project-a/
├── normal.txt
└── eicar/
    ├── eicar_com.zip
    ├── eicar.com
    ├── eicar.txt
    └── eicarcom2.zip

2. cronジョブによる定期スキャン

# crontab -e
0 0 * * * docker run --rm -v /var/opt/www/project-a:/scan clamav-scanner

毎日深夜0時に /var/opt/www/project-a/ をスキャンします。

3. スキャン結果

/scan/eicar/eicar.txt: Eicar-Signature FOUND
/scan/eicar/eicarcom2.zip: Win.Test.EICAR_HDB-1 FOUND
/scan/eicar/eicar_com.zip: Win.Test.EICAR_HDB-1 FOUND
/scan/eicar/eicar.com: Eicar-Signature FOUND

----------- SCAN SUMMARY -----------
Known viruses: 8701412
Scanned directories: 2
Scanned files: 5
Infected files: 4
Engine version: 1.4.1
Time: 19.253 sec

まとめ

ClamAVは強力かつ無料で使えるウイルススキャンツールであり、ソースコードやシステムのセキュリティを強化するのに役立ちます。Dockerと組み合わせることで、自動スキャン環境を構築し、開発中のマルウェア検出を簡単に実現できます。

安全なアプリケーション開発を行うためにも、ClamAVを開発プロセスに統合することを検討しましょう。

ヴオン・トアン(Vuong Toan)
PHP開発者

今すぐ応募







    福利厚生

    給料・ボーナス制度

    社員の感情・願望を理解しているので、リバークレーンベトナムは特に年2回の定期昇給制度を設けています。毎年6月と12月に評価を行い、毎年1月と7月に給与が変更されます。また、社員は月次と年次の優秀な個人には定期的な業績賞与が別で支給されます。

    日本研修制度

    世界中の新しい技術分野に触れるために、社員を日本にオンサイトさせる方針があります。さらに、技術分野か管理分野かのキャリアパスは社員の決定次第です。

    毎年社員旅行

    リバークレイン・ベトナムは、スタッフに挑戦の機会を提供するだけでなく、年に一度の魅力的な旅行で彼らを楽しませています。エキサイティングなガラディナーやチームビルディングゲームは、リバークレインのメンバー同士の絆をさらに深める手助けをします。

    リバークレイン イベント

    チームビルディング・ファミリーデー・お夏休み・中秋節などのイベントはチーム内のメンバーが接続出来るしお互いに自分のことを共有出来る機会です。ご家族員に連携する際にはそれも誇りに言われています。

    社会保険制度

    リバークレーンベトナムは従業員に社会保険、医療保険、失業手当などの社会保険制度があります。当社は、これらの保険に関するあらゆる手続きをスタッフに必ずサポートしています。さらに、他の保険契約も考慮され、検討されています。

    他福利

    社員向けの活動をサポートすることもあります。 ・文化・芸術・スポーツクラブの運営費用 ・技術研究の教科書を購入する金額 ・エンジニア試験・言語能力試験を受験料 ・ソフトスキルのセミナー・コースの参加費 ・等 また会社政策通り、他のベネフィットもあります。

    © 2012 RiverCrane Vietnam. All rights reserved.

    Close