Skip to content
OnlyProjects
B.Tech / B.E. · Cyber SecurityFor educational purposes only
Code included

CanaryGuard: A Ransomware Canary and File-System Monitor for College Lab Machines

Decoy files and file-system watchers that spot mass-modification behaviour in seconds and raise an alert a human can act on

Mapped to your syllabusJNTUH R22 · Project Stage-II incl. Seminar · IV-2

Overview

1 min read

CanaryGuard is a defensive early-warning system for the department's computer labs, where a single ransomware incident could wipe months of student project work and lab material. It combines two proven endpoint-defence ideas: canary files — decoys like fee_receipts.xlsx or lab_manual_v2.docx that no legitimate user or program ever opens, so any change to them is an alarm — and file-system behaviour monitoring, which watches real shared folders for the signature almost every encryptor shows: a burst of renames and modifications in a short window.

A lightweight Python agent (built on the Watchdog library — inotify on Linux, ReadDirectoryChangesW on Windows) runs on each lab machine. It evaluates four transparent heuristics — canary touched, rename/modification burst rate, rising Shannon entropy in modified files, and a configurable bank of known ransom-extension patterns — and on a match posts a signed evidence bundle to a central Node.js server within seconds. The server stores alerts and agent heartbeats in MySQL, and a React dashboard shows agent health, a live event timeline, the evidence (which files, how many, how fast, entropy trend) and an acknowledge-and-escalate workflow aligned with the college's incident process and CERT-In's six-hour reporting expectation.

Nothing in the project touches real malware: detection quality is measured with a benign load generator that bulk-renames and rewrites its own dummy files, plus unit tests and a week-long false-positive measurement on clean lab activity. The result is a lab-safe JNTUH major project spanning file-system internals, cryptography-lab concepts (hashing, entropy) and a measurable detection result.

Relevant for
Telangana
Level
Advanced · 16 weeks · team of 3
Common at
Jawaharlal Nehru Technological University Hyderabad, Visvesvaraya Technological University, Biju Patnaik University of Technology
Updated
Nov 2026

Syllabus alignment

JNTUH · R22

Project Stage-II incl. Seminar · IV-2 · 11 credits · CIE 40 + SEE 60

Subjects this project applies
  • CS703PC Cryptography & Network Security Lab
  • CS407PC DBMS Lab (MySQL)
  • CS409PC Web Technologies (Node.js / React)
  • Digital Forensics & VAPT labs (Cyber branch)
How it is evaluated

Stage-II: committee 20 + supervisor 20 internal, external examiner 60; pass 35% each, 40% overall

Also fits: VTU 2022 Scheme (OBE/CBCS), BPUT 2023-24 admission batch, KTU 2019 Scheme (2024 scheme for 2024 admits).

What's in the box

11 parts · 5 free · 2 previewed · 4 unlock for ₹2,000

Problem & synopsis

6 min read

Problem statement

The department's computer labs hold irreplaceable files — student project work, lab manuals, internal marks — protected only by a signature-based antivirus that cannot catch a new ransomware variant during the minutes it takes to encrypt a shared folder. There are no canary files on any machine, no file-system monitoring, and no early-warning path to the lab in-charge; in practice an incident would be discovered only when users find their files renamed and unreadable, by which time every mapped machine is affected and recovery means restoring yesterday's backup and losing a day of everyone's work.

What is needed is a behaviour-based early-warning layer built and operated by the department itself: decoy files whose tampering is an unambiguous alarm, transparent heuristics that detect mass-modification behaviour in seconds, an evidence bundle a human can verify in under a minute, and a central dashboard with a clear acknowledge-and-escalate workflow — all measurable (false-positive rate on clean traffic, recall against a benign simulator) and completely safe to build and demo in a college lab.

Synopsis

Abstract

Ransomware no longer needs to reach a server to destroy a college lab — one infected laptop mapping the lab share is enough. CanaryGuard detects that in seconds: canary files plus file-system behaviour heuristics, a Python agent per lab PC, and a Node.js + MySQL server with a React dashboard for the lab in-charge to see, acknowledge and escalate alerts. Detection is measured, not assumed — false positives from a week of clean lab activity, recall from a benign load generator imitating encryption behaviour without any malware.

Introduction

The department stores project work, lab manuals and internal marks on lab machines. Ransomware incidents at Indian institutions — colleges losing marks records and submissions — show the threat is real, while lab defences are one antivirus product whose signatures lag new families by hours. Behaviour-based early detection is the missing layer, and the file system is where ransomware betrays itself: it must touch hundreds of files quickly — including decoys nobody else ever opens.

Existing System

  • A single antivirus product, updated daily: signature-based, blind to new variants, and silent during the minutes an encryptor needs.
  • Backups exist on an external drive, but restoring costs a day of work, and nothing detects the incident while it happens.
  • No canary files on lab machines, no file-integrity monitoring on the share, and no quick path for the lab in-charge to learn of an incident.
  • Limitations: signature-only detection; no early warning, no evidence trail, and no data on how noisy a monitor would be on our real workload.

Proposed System

  • Canary layer: a seeder plants decoys with tempting names in monitored directories and registers their hashes; any change to a canary is a high-severity alert, because legitimate software never touches them.
  • Behaviour layer: the agent tracks modification/rename rates per directory against a sliding-window threshold and samples modified files for a Shannon-entropy trend — encryption drives entropy toward the 7.5–8.0 bits/byte ceiling for most touched files.
  • Alert pipeline: the agent posts a JSON evidence bundle (counts, rename list, entropy series, process name) to the server; alerts are deduplicated, stored in MySQL and shown on the dashboard with acknowledge → escalate states.
  • Measurement: a benign load generator bulk-renames and rewrites its own dummy files to imitate encryptor behaviour (no malware, no persistence, no network activity), giving recall; a clean week of lab traffic gives false positives per machine-day.

Feasibility Study

  • Technical: Watchdog is mature and documented; the heuristics are simple arithmetic over events; the server is a small Express application. Entropy estimation reuses CS703PC cryptography-lab material (hashing, byte distributions), so nothing is beyond the syllabus.
  • Economic: ₹0 licences — agents run on existing lab machines, the server on the department's lab server.
  • Operational: Agents run as background services with heartbeats and no user interaction; the dashboard is one screen. An alert triggers the existing incident checklist; a confirmed incident is reported to CERT-In within six hours per its 2022 directions.

Objectives

  1. 01Design a canary-file seeder that plants decoys with realistic names in monitored directories, records their hashes, and restores them automatically after a test or alert.
  2. 02Build a cross-platform Python agent on Watchdog that tracks file-system events and evaluates four heuristics: canary touched, rename/modification burst rate, entropy rise, and known ransom-extension patterns.
  3. 03Implement chunk-sampled Shannon-entropy estimation for modified files and validate the estimator against files of known entropy (text, compressed, random).
  4. 04Develop the Node.js alert server with MySQL storage: agent registration and heartbeats, signed alert ingestion, deduplication and an acknowledge → escalate state machine.
  5. 05Build a React dashboard showing agent health, the live event timeline, per-alert evidence (rename list, counts, entropy trend) and CSV export for incident reports.
  6. 06Measure detection empirically: recall against the benign load generator at several burst rates, and false positives per machine-day over one week of clean lab activity, with thresholds tuned from the data.
  7. 07Document the full incident workflow, from an agent alert to the lab in-charge's escalation checklist and CERT-In six-hour reporting duty for confirmed incidents.

Scope

In scope

  • Windows and Linux lab machines; monitored directories are lab-shared folders and designated project-work areas on the college's own systems.
  • Canary files with realistic decoy names, hash-registered, auto-restored after events or tests.
  • Four transparent heuristics with configurable thresholds; alerts carry a JSON evidence bundle (triggering process name, file counts, sampled rename list, entropy series).
  • One central server (Node.js + MySQL) for up to 30 agents; React dashboard with acknowledge/escalate workflow; CSV export; agent heartbeat monitoring with an offline flag.
  • A benign load generator for safe recall testing, and a one-week clean-traffic measurement for false-positive rate.

Out of scope (v1)

  • Any handling, execution or analysis of real malware samples — detection is measured against benign simulation only.
  • Active response (killing processes, disabling shares, network isolation) — v1 observes and alerts; automated containment is future scope.
  • Hardening the agent against a deliberately attacking adversary (anti-tamper, service protection) — noted as future work.
  • Network-share-wide discovery, e-mail attachment scanning, and integration with the college antivirus console.

Methodology

The project follows an iterative-incremental model with a measurement loop, appropriate for JNTUH Project Stage-II: each increment ends with a supervisor review, and the final increment exists to tune thresholds from measured data rather than guesses. Stage-I (CS705PC, Semester IV-1) already produced the literature review, objectives and plan of action; Stage-II executes and measures.

PhaseWeeksActivitiesDeliverable
Setup & baseline1–2Finalise monitored directories with the lab in-charge; permission note; collect one week of clean event counts on a pilot machine to size thresholdsBaseline report + permission note
Increment 1 — canary layer3–5Seeder, hash registry, auto-restore, canary-touch alert path end to endCanary alerts on server
Increment 2 — behaviour layer6–8Watchdog event pipeline, burst-rate detector, entropy estimator with validation suiteAgent v2 with three heuristics
Increment 3 — server & dashboard9–11Express ingestion API, MySQL schema, heartbeats, React timeline and evidence viewerFull pipeline demo
Measurement & tuning12–13Load-generator recall tests at 4 burst rates; FP/machine-day from clean week; threshold tuningMeasurement report
Hardening & documentation14–16Multi-machine soak test, failure cases, final report, seminar, demo rehearsalFinal submission

Testing approach: unit tests for every heuristic against synthetic event streams; an entropy-estimator validation suite over files of known entropy (plain text, ZIP, random bytes) asserting ±0.1 bits/byte; integration tests of the signed alert API; scenario tests with the benign load generator at escalating burst rates recording detection latency; and a soak test on three lab machines for a week with FP rate reported per machine-day.

Architecture & tech stack

3 diagrams · 5 technologies · 2 min read

  • Python
  • Watchdog (Python)
  • Node.js
  • React
  • MySQL

CanaryGuard is an agent–server system with three planes: sensing (agents), aggregation (server), and human response (dashboard).

  1. Agent (Python + Watchdog): seeds canaries, attaches recursive observers to configured directories, funnels raw events through the heuristic engine (burst-rate sliding window, canary check, sampled entropy), and emits alerts with HMAC-signed JSON evidence bundles. It also posts a heartbeat every 60 seconds and buffers alerts locally when the server is unreachable.
  2. Server (Node.js + MySQL): verifies signatures, deduplicates alert storms, stores agents, alerts and events, exposes the REST API the dashboard consumes, and e-mails a summary to the lab in-charge on a high-severity alert.
  3. Dashboard (React): agent health grid (live/offline, last heartbeat), event timeline, evidence viewer (rename list, file counts, entropy sparkline), acknowledge → escalate workflow, and CSV export of any period.
flowchart LR
  subgraph LAB["Lab machines (college-owned)"]
    A1["Agent: canary seeder"] --> A2["Watchdog observers"]
    A2 --> A3["Heuristic engine: burst, canary, entropy, extensions"]
  end
  U(["Benign load generator (test only)"]) -->|"bulk renames its own dummy files"| A2
  A3 -->|"HMAC-signed JSON alert"| SRV["Node.js alert server"]
  A3 -->|"heartbeat / 60 s"| SRV
  SRV --> DB[("MySQL: agents, alerts, events")]
  SRV -->|"high-severity summary"| MAIL["E-mail to lab in-charge"]
  DB --> UI["React dashboard: timeline, evidence, ACK/escalate"]
  LC(["Lab in-charge"]) --> UI
  LC -->|"confirmed incident → report within 6 h"| CERT(["CERT-In workflow"])

ER diagram

erDiagram
  AGENT ||--o{ ALERT : raises
  AGENT ||--o{ HEARTBEAT : sends
  ALERT ||--o{ EVIDENCE_ITEM : contains
  CANARY }o--|| AGENT : "seeded by"
  USER ||--o{ ALERT_ACTION : "acknowledges / escalates"

  AGENT {
    int id PK
    string machineName
    string osFamily
    string agentVersion
    datetime lastHeartbeat
    string status
  }
  CANARY {
    int id PK
    int agentId FK
    string filePath
    string sha256
    datetime seededAt
    string state
  }
  ALERT {
    bigint id PK
    int agentId FK
    string kind "canary | burst | entropy | extension"
    string severity
    datetime raisedAt
    string state "open | ack | escalated | closed"
    string signature "HMAC of payload"
  }
  EVIDENCE_ITEM {
    int id PK
    bigint alertId FK
    string filePath
    string changeType
    double entropyDelta
  }
  HEARTBEAT {
    int id PK
    int agentId FK
    datetime sentAt
    int eventCount
  }
  USER {
    int id PK
    string email UK
    string passwordHash
    string role
  }
  ALERT_ACTION {
    int id PK
    bigint alertId FK
    int userId FK
    string action
    string remark
    datetime actedAt
  }

Alert state machine

flowchart TD
  O(["Alert raised"]) --> OPEN["open"]
  OPEN -->|"lab in-charge reviews evidence"| ACK["acknowledged"]
  ACK -->|"false positive"| CLOSED["closed with remark"]
  ACK -->|"confirmed incident"| ESC["escalated: disconnect machine, restore, report"]
  ESC --> CLOSED

The design deliberately keeps every component observable and reversible: canaries restore themselves, alerts require a human decision before any escalation, and nothing in the pipeline can modify anything beyond its own directories and database.

Modules

3 modules

  1. Module 01

    Canary Seeding & Agent Core (Member 1)

    The Python agent skeleton: configuration, the canary seeder that plants decoy files with realistic names (fee receipts, marks registers, project archives), a SHA-256 registry of every canary, automatic canary restoration after an alert or test, the 60-second heartbeat thread, and the local alert buffer with retry that keeps evidence safe when the server is down. Also owns agent installation as a background service on Windows and Linux lab machines.

  2. Module 02

    Heuristic Engine (Member 2)

    The detection brain: a sliding-window burst-rate detector over Watchdog's file-modified/renamed events (defaults: 40 modifications or 25 renames per directory in 30 seconds), the canary-touch rule (any write, rename or delete of a registered canary is high severity), chunk-sampled Shannon-entropy estimation for modified files with a validation suite over text, compressed and random files, and the ransom-extension bank matcher. Emits deduplicated, severity-graded alerts with evidence bundles and signed payloads.

  3. Module 03

    Server, Dashboard & Measurement (Member 3)

    The Node.js/Express ingestion API (HMAC verification, alert-storm deduplication, agent registry), the MySQL schema with the alert state machine, and the React dashboard: agent health grid, live timeline, evidence viewer with an entropy sparkline, acknowledge → escalate workflow and CSV export. Also owns the measurement campaign: the benign load generator (burst-rate scenarios, zero malware), recall tests, the clean-week false-positive measurement, and the threshold-tuning write-up.

Slides

12 slides · titles free · bullets, notes and the .pptx unlock

  1. Slide 1

    CanaryGuard — Ransomware Early Warning for College Labs

  2. Slide 2

    The Problem

  3. Slide 3

    Core Ideas

  4. Slide 4

    System Architecture

  5. Slide 5

    Heuristic Engine

  6. Slide 6

    Safe Evaluation — No Malware

  7. Slide 7

    Measurement Results

  8. Slide 8

    Data Design

  9. Slide 9

    Modules & Team Split

  10. Slide 10

    Demo

  11. Slide 11

    Incident Workflow

  12. Slide 12

    Conclusion & Future Scope

Bullets, speaker notes and the .pptx · ₹2,000

The titles above are the real outline. The rest is what you present from.

Unlock for ₹2,000

Viva questions & answers

3 of 16 answered free · 13 unlock

Read each answer, close it, and say it in your own words. Your viva will ask. Now you'll know.

  1. 01Concept

    What is a canary file, and why is touching one such a strong signal?

    A canary file is a decoy planted among real files, with a tempting name like a marks register, but never opened by any legitimate user or process — no editor, compiler, backup job or student workflow touches it. Because the set of things that legitimately access it is empty, any modification, rename or deletion of a canary is by definition anomalous, which gives the rule a near-zero false-positive rate without any tuning. Canary files are a deception-based defence in the same family as honeypots, applied at the file-system layer.

  2. 02Concept

    Ransomware encrypts files — why does that raise entropy, and what are the limits of this indicator?

    Encryption flattens the byte distribution toward uniform random, so Shannon entropy approaches the theoretical maximum of 8 bits per byte for the cipher output, while ordinary documents and source files sit well below — around 4.5 to 6. The limit is that legitimately compressed or already-encrypted files, such as ZIP archives, JPEGs and backups, are also high-entropy, which is why we never alert on a single high-entropy file. We instead watch the entropy *trend across many modified files in the same burst*, combined with the rename rate, so a student downloading archives does not look like an encryptor.

  3. 03Concept

    How does your detection differ from the antivirus already installed in the labs?

    The lab antivirus is signature-based: it matches known malware binaries and is blind to a new or obfuscated variant until a vendor signature arrives, which is typically hours after the campaign starts. CanaryGuard is behaviour- and deception-based: it does not try to identify the malware at all, only the effect it must produce — mass file modification — and the decoys it cannot resist touching. The two layers are complementary, and ours is designed to fire during the encryption window, not after users report unreadable files.

+13 more questions, with answers

Try the free ones out loud first. Your examiner will not accept “it's in the PPT”.

Source code & how to run

4 steps · complete source code · unlocks with the project

Unlocks with the project · ₹2,000

4 steps · source code zip

Prerequisites, install, seed data and tests, written for demo day. Plus the complete source.

Unlock for ₹2,000

READMEFIRST

296 words · unlocks with the project

What to change before it goes anywhere near a submission. Skipping it is how the demo fails live.

Unlocks with the project · ₹2,000

296 words · ~1 min read

The checklist of things to rename, re-seed and re-think so the project reads as yours.

Unlock for ₹2,000

Instructions

368 words · unlocks with the project

How to study it, adapt it and walk your examiner through it, step by step.

Unlocks with the project · ₹2,000

368 words · ~2 min read

Report structure, formatting rules and the submission checklist your department will grade.

Unlock for ₹2,000

References

7 sources

  1. CISA — #StopRansomware Guide (prevention and incident-response best practices)
  2. NIST Special Publication 800-83 Rev. 1 — Guide to Malware Incident Prevention and Handling
  3. MITRE ATT&CK — Technique T1486: Data Encrypted for Impact
  4. CERT-In — FAQs on the Cyber Security Directions of 28 April 2022 (six-hour incident reporting duty)
  5. Watchdog — Python file-system monitoring library, official documentation
  6. Sherri Davidoff & Jonathan Ham, Network Forensics: Tracking Hackers through Cyberspace, Prentice Hall
  7. Harlan Carvey, Windows Forensic Analysis Toolkit, Syngress

Cite this bundle

OnlyProjects. (2026). CanaryGuard: A Ransomware Canary and File-System Monitor for College Lab Machines: B.Tech / B.E. Cyber Security project bundle [Educational resource]. https://onlyprojects.online/projects/btech-cyber-canaryguard-ransomware-fs-monitor

Future scope

1 min read

  • Automated containment: on a high-severity alert, unmap the share and suspend the triggering process pending human confirmation, with a strict allow-list to prevent accidents.
  • Anti-tamper hardening: run the agent as a protected service with watchguard re-spawn and config signing, closing the obvious "delete the agent first" gap.
  • YARA-style extension intelligence: periodically refresh the ransom-extension bank and canary-name patterns from threat advisories.
  • Cross-machine correlation: one machine touching canaries on several lab shares simultaneously is a worm-style pattern the server can detect centrally.
  • Backup-integrity watchdog: verify that backup copies of canaries and sample project files remain unmodified, catching attacks aimed at backups first.
  • A department playbook: link each escalated alert to a one-page incident checklist aligned with CERT-In's six-hour reporting expectation, making the project operationally real.

Keep browsing

Same degree, same syllabus slot, different idea. Pick the one your guide will actually approve.

B.Tech / B.E.Code included

Aerospace / Aeronautical

Low-Speed Open-Circuit Wind Tunnel with Force Balance for Aerofoil Lift-Drag Measurement

Build a subsonic test tunnel on a student budget, then trace lift and drag on a 3D-printed NACA 0012 against theory

  • C / Arduino Uno (industry-standard extra) — HX711 load-cell and serial logging firmware
  • Python (NumPy, Matplotlib) — calibration, force coefficients and plots
  • MATLAB / Scilab — thin-airfoil theory overlay and regression
  • +4

intermediate14 wk4 students