GSoC’21: Scan8 building blocks

Maanas Talwar
SCoRe Lab
Published in
2 min readMay 30, 2021

--

This blog marks the end of the second week of the community bonding phase, with one more to go for the coding phase. I was extensively involved with the SCoRe Lab and GSoC community this week. I will be going over the major technologies to be utilized by the Scan8 project here.

ClamAV antivirus engine

ClamAV is an open-source antivirus engine for detecting trojans, viruses, malware, and other malicious threats. clamd(ClamAV Daemon) is a multi-threaded daemon(program running as a background process) that uses libclamav for scanning files for viruses. The daemon works by listening for commands on the sockets specified in the configuration files.

ClamAV provides various tools that interface with this daemon, like clamdtop to monitor multiple instances of clamd. For signature testing and management, it uses freshclam to update the signature database sets to the latest version.

Some ClamAV tools can be tailored to the user’s needs by editing the required configuration files(clamd.conf and freshclam.conf). Additionally, clamconf allows users to check the configurations used by each tool, pulling information from the configuration files alongside other relevant information.

Kubernetes

Kubernetes or K8s is an open-source system for automating deployment, scaling, and management of containerized applications. It automates the distribution and scheduling of containers(application and its dependencies) across a cluster in a more efficient way.

K8s consists of two types of resources: control plane(manages the cluster) and nodes(worker machine to run applications). The nodes communicate with the control plane using the Kubernetes API, which the control plane exposes. A pod is a group of containers with shared storage, network resources, and specifications for running the containers. Kubernetes runs an application by placing its containers into pods(smallest deployable unit) to run on nodes.

One can deploy a containerized application on an active Kubernetes cluster by creating a deployment configuration. Kubernetes supports numerous services, an abstraction that defines a logical set of pods and policies by which one can access them. It also supports horizontal pod autoscaling, which can automatically scale an application up or down based on a pod’s resources.

Stay tuned for further updates :)

Project: Scan8

Feel free to connect with me on LinkedIn and check out my GitHub profile.

--

--

Maanas Talwar
SCoRe Lab

maanas-talwar.github.io | Microsoft SWE Intern'22 | GSoC'22 Mentor | GSoC'21 | Senior @ NSUT