Project Architecture & Viva Examination Guide
A comprehensive academic and technical reference designed for project evaluations, viva questions, and technical presentations.
π― Project Overview & Objectives
Phishing remains the number one vector for cyberattacks, responsible for over 80% of reported security incidents. Traditional security awareness relies heavily on users noticing subtle discrepancies in browser address barsβa task that is increasingly difficult due to mobile screen truncation, Unicode homoglyphs, and rapid domain spoofing techniques.
The Fake Login Page Awareness Detector is a client-server security tool that inspects user-supplied website URLs and their corresponding webpage content for deceptive credential-harvesting indicators. Rather than providing an opaque binary verdict ("Safe" or "Unsafe"), our system computes a transparent, explainable risk score (0β100), visually tokenizes suspicious domain elements, and breaks down exact rule violations with remedial advice.
Target Input
User supplies a login URL or chooses a built-in test case scenario.
URL Heuristics
Tokenizer analyzes typosquatting, Levenshtein distance, IDN Punycode, and TLD abuse.
DOM Inspection
Requests & BeautifulSoup inspect login forms, password inputs, and external form actions.
Explainable Verdict
Risk score (0β100) is displayed on a dynamic gauge alongside security advice.
βοΈ Rule-Based Scoring Matrix
Every indicator is assigned an empirically derived weight based on attack severity:
| Security Indicator / Heuristic | Risk Weight | Category | Academic Justification |
|---|---|---|---|
| Brand Typosquatting / Lookalike (e.g. paypa1.com) | +30 pts | Domain Analysis | Deliberate misspelling targeting cognitive blindspots via homoglyphs and Levenshtein edit distance. |
| Subdomain Brand Hijacking (e.g. paypal.com.attacker.com) | +25 pts | URL Structure | Deceives victims by prefixing brand strings while apex domain resolves to attacker infrastructure. |
| External / Exfiltration Form Action | +25 to +30 pts | DOM Behavior | Form accepts password inputs but posts data to an unauthorized third-party domain or webhook. |
| Direct IP Address as Hostname (e.g. http://192.168.1.1) | +25 pts | Domain Analysis | Legitimate consumer authentication portals never instruct users to submit credentials to raw IP addresses. |
| Missing HTTPS Encryption (Plaintext HTTP) | +20 pts | Protocol Security | Exposes transmitted credentials to local network packet sniffing (CWE-319). |
| Deceptive '@' Credential Delimiter | +20 pts | URL Structure | RFC 3986 userinfo trick where browsers ignore the brand prefix prior to '@'. |
| High-Abuse TLD with Sensitive Keywords (e.g. .xyz, .top) | +15 pts | Domain Analysis | Cheap disposable top-level domains paired with login/verify keywords correlate with active phishing kits. |
| Shannon Entropy > 3.3 in Domain String | +15 pts | Information Theory | High mathematical randomness indicative of Domain Generation Algorithms (DGA). |
π Comprehensive Viva Examination Q&A
paypa1.com instead of paypal.com). Our engine implements two complementary mechanisms:
1. Homoglyph normalization: Swapping visual lookalikes (e.g., '0' to 'o', '1' to 'l', 'rn' to 'm').
2. Levenshtein Edit Distance: A dynamic programming matrix calculation that determines the minimum number of single-character edits required to transform the domain into known brand targets. High similarity (β₯ 0.75) outside official brand domains triggers a high-severity warning.
requests and BeautifulSoup, the inspector parses the HTML Document Object Model (DOM) to locate <form> tags containing <input type="password"> elements. It then evaluates the form's action attribute:
β’ If the action submits credentials to a foreign domain different from the host (Cross-Domain Submission), it flags potential credential exfiltration.
β’ If the action submits over plaintext HTTP on an HTTPS page, it flags mixed-content credential transmission.
β’ If the action is empty or points to
#, it flags in-memory JavaScript keylogging/asynchronous exfiltration.
xn-- prefix. Attackers exploit characters from different alphabets (such as Cyrillic 'Π°' U+0430) that appear visually identical to Latin 'a' (U+0061). To a user, apple.com looks genuine, but the browser resolves xn--pple-43d.com. Our tool inspects for the xn-- signature and flags it immediately.
x7q9kz1a0b.info) which exhibit entropy above 3.3. Our algorithm flags strings with elevated entropy as likely disposable or algorithmically generated hosts.
accounts.google.com, login.microsoftonline.com, paypal.com). If a domain matches an authorized official entry, brand lookalike and typosquatting rules are bypassed. Additionally, our tool outputs a graduated risk score and warning indicators rather than an outright blockage, giving users context to make informed decisions.
1. Domain Age & WHOIS API: Flagging newly registered domains (< 30 days old).
2. Visual Similarity Matching: Using OpenCV / Perceptual Hashing (pHash) to detect unauthorized brand logos on login pages.
3. Google Safe Browsing & VirusTotal API Integration: Cross-referencing global threat intelligence feeds.
4. Browser Extension Packaging: Porting the detector to a Chromium/Firefox extension for real-time passive protection.