Technical Overview and Security Details: Heed Desktop App

Modified on Mon, 18 Nov, 2024 at 4:39 PM

This article provides a comprehensive overview of the Heed Desktop App, detailing its architecture, key operational components, and the security measures in place. It is intended to assist IT administrators, technical evaluators, and support teams in understanding the app’s functionality, deployment, and security features.


Technical Overview

1. Communication with the Server

The Heed Desktop App communicates securely with its backend servers to deliver real-time notifications, perform user-specific operations, and synchronize data:

  • Protocol: The app uses WebSocket and HTTPS protocols to ensure fast and secure communication.
  • Port: All traffic is routed through port 443, ensuring compatibility with standard corporate firewall settings.
  • Server Endpoint: The app connects to app.heed.io, which serves as the central server for all data and authentication processes.

2. Application Installation and Key Files

During installation, the application deploys its key components to the following default location:

  • Installation Directory: C:\Program Files (x86)\Heed
  • Key Files:
    • Heed.exe – The main application executable that handles user interactions.
    • HeedClientService.exe – The Windows service executable for managing elevated operations.
    • HeedSCR.scr – The screensaver module, integrating Heed functionality with the system’s screensaver.
    • Notifications\HeedNotification.exe – The executable responsible for handling user notifications and associated actions.

For environments with endpoint protection or antivirus software, these files should be added to the safe list to prevent interference with application functionality.

3. Windows Service: Heed Client Service

On Windows, the Heed Desktop App installs a Windows service called Heed Client Service:

  • Purpose: This service is essential for:
    • Executing operations that require elevated permissions.
    • Handling system-level tasks, such as processing notification actions and software updates.
  • Local System Context: The service runs under the local system account, granting it the necessary permissions to execute privileged actions securely.
  • Logging: Actions are logged to the Windows Event Viewer

Administrators can manage this service via the Windows Services interface (services.msc).

4. Log Files and Local Cache

The application stores logs and configuration data in the following default directories:

  • Logs: %APPDATA%\Heed – Contains operational logs to assist in troubleshooting and monitoring.
  • Local Cache and Configurations: %LOCALAPPDATA%\Heed – Stores user-specific cache files and configuration settings.

These locations can be reviewed during troubleshooting or for clearing cached data.

5. Additional Features

  • Notifications: Delivered in real time via WebSocket, with actions processed locally by HeedNotification.exe.
  • Screensaver Integration: The HeedSCR.scr module integrates Heed features into the system screensaver, providing a seamless user experience.

Security Overview

1. Secure Communication

  • Encrypted Data Transmission: The app uses TLS 1.2+ for all communications, ensuring data is encrypted during transit.
  • Server Validation: The app validates the SSL/TLS certificate of app.heed.io before establishing a connection, preventing man-in-the-middle (MITM) attacks.
  • Standard Port Usage: By exclusively using port 443, the app aligns with standard network security practices.

2. Local System Security

  • Elevated Operations: The Heed Client Service securely executes privileged actions required by the app. These operations include managing system notifications and performing administrative tasks.
  • Controlled Privileges: The service runs under the local system context, providing access to necessary system resources while adhering to strict security boundaries.

3. Application Hardening

  • Digitally Signed Executables: All executables (Heed.exe, HeedClientService.exe, etc.) are digitally signed to ensure authenticity and integrity, preventing tampering.
  • Minimal Local Data Storage: The app limits local data storage and encrypts sensitive configuration files in %LOCALAPPDATA%\Heed.
  • Screensaver Security: The HeedSCR.scr screensaver module is sandboxed and does not access sensitive files or require elevated privileges.

4. Protection Against Common Threats

  • Injection Mitigation: Input data is sanitized and validated before processing, reducing risks of SQL injection or similar attacks.
  • Replay Attack Prevention: Communications include nonce and timestamp validation to prevent replay attacks.
  • DLL Hijacking Defense: The app ensures that only trusted DLLs from its installation directory are loaded, protecting against malicious library injection.

5. User Authentication and Access Control

  • Secure Authentication: All interactions with app.heed.io require authentication, which is validated on the server side.
  • Access Control: User permissions are enforced to prevent unauthorized access to restricted features or data.

6. Compliance with Industry Standards

The Heed Desktop App follows best practices and industry standards for application security, including:

  • OWASP Top 10: Addressing the most common application vulnerabilities.
  • GDPR Compliance: Ensuring that user data is processed and stored in compliance with privacy regulations.

Best Practices for Administrators

  1. Firewall Configuration: Allow outbound communication to app.heed.io on port 443.
  2. Antivirus Whitelisting: Add the key files (Heed.exe, HeedClientService.exe, etc.) to your antivirus safe list if necessary.
  3. Regular Maintenance: Periodically clear local caches if troubleshooting or optimizing app performance.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article