Using Spyderbat for our SecOps

How Client Support Software uses Spyderbat to secure its cloud native environment

Client Support Software (CSS) is a leading provider of enterprise relationship management solutions for the debt and housing counseling industries. We help our clients streamline their workflows, improve their customer service, and grow their businesses.

As a cloud native company, we rely on Linux VMs and FreeBSD Jails to run our applications and services. Our hosted PBX solution integrates with our CRM software. It runs on Linux and we practice locking access down to reduce the attack surface as much as possible. However, we also face various security challenges in this dynamic and complex environment, such as:

  • Application drift: As we deploy new versions of our software, we need to ensure that they behave as expected and do not introduce any vulnerabilities or performance issues.
  • Supply chain attacks: We use third-party components and libraries in our software development lifecycle (SDLC), which could be compromised by malicious actors or contain hidden backdoors.
  • Zero-day exploits: We need to protect our systems from unknown threats that target unpatched vulnerabilities or exploit novel techniques.

To address these challenges, we partnered with Spyderbat, a cloud native runtime security platform that uses eBPF (extended Berkeley Packet Filter) technology to provide unparalleled visibility and protection for Linux VMs. With over two decades of experience hosting and building Customer Relationship software, we became a Spyderbat Design Partner. This allowed us to provide feedback on use cases that would help tune the product for our usage needs and help those with similar workflows.

Spyderbat is a game changer for us because it gives us the ability to harden our Linux cloud runtime environments and keep our applications rolling. Here are some of the benefits we get from using Spyderbat:

Flashback: Time travel for troubleshooting

Spyderbat’s Flashback feature is like having a continuous runtime digital recorder. It allows us to go back in time and see every step that led to an event of interest, such as a service interruption or operational changes made as a result of a software update.

With Flashback, we can eliminate the pain of scanning logs or reproducing errors. We can instantly pinpoint the root cause of any issue by viewing OS kernel traces that reveal every process, file, network, user, syscall, signal, etc. involved in the causal chain.

Flashback also provides early warning signs of troubling traces by alerting us when it detects anomalies or suspicious behaviors. This helps us proactively prevent problems before they escalate or impact our customers.

Guardian: Application drift detection

Spyderbat’s Guardian feature enables us to reduce interruptions by automatically comparing running applications against prior versions. It alerts us when it detects application drift, which could indicate bugs, performance degradation, or security breaches.

With Guardian, we can end application drift by having the insight to instantly course correct and get our application back on rack.

Interceptor: Signatureless attack prevention

Spyderbat’s Interceptor feature provides automated runtime attack eradication that stops attackers in their tracks using kernel-level eBPF data. It can instantly detect and surgically block problematic traces as they begin to unfold, without relying on signatures or rules.

With Interceptor, we can block attacks targeting known or even unknown vulnerabilities, including:

  • Supply-chain attacks
  • Data exfiltration
  • Malware, Ransomware, and Cryptojacking
  • Zero-Day attacks

Spydertraces: Visual overview of Organization

Sometimes, an image is worth a thousand words. In this case, the causal graphs provided by Spyderbat are worth more than a thousand seconds. Being able to visually see connections and relationships between Linux VMs, processes, and network connections, we are able to quickly get a conceptual grasp of what activity is transpiring throughout our server deployments. This allows us to ask better questions about how we can further secure our infrastructure and saves valuable time by answering existing security questions.

Together, these features allow us to stay ahead of security threats, and focus on providing excellent service to our customers.

Changes – 2022 Q4

Many minor changes and enhancements have been made to the CMA during Q4. Details are available in the internal CMA Changelog. 

The following is a highlight of changes:

    🌐 PHP 8.1 compatibility achieved, setting new standards for the CMA!

    πŸ“Š HUD reference data now updated to May 2022 for even better accuracy.

    🚩 Client address changes are now clearly marked with a CHANGED tag.

    πŸ‘‹ Farewell ZipWhip integration, you’ll be missed!

    πŸ”Ά HUD validation leveled up with orange highlights for required 9902 fields.

    πŸ“± Twilio SMS reporting gets a boost with added error codes.

    πŸ’³ Client-focused payment records now match their preferred Payment Type by default.

    πŸ—“οΈ Keep track of ClientCredit due dates with new Original Due Day field.

    πŸ“ž Call Log Detail Report now includes Campaign fields for better Lead Source insights.

    πŸ’‘ Dynamic Monthly Payment calculations made easy with Lead-specified details.

    πŸ” Credit Report pulls now offer even more valuable information.

    πŸ“ Automatic Budget item population from Credit Report pullsβ€”saving you time!

    Changes – 2022 Q3

    Many minor changes and enhancements have been made to the CMA during Q3. Details are available in the internal CMA Changelog. 

    The following is a list of relevant changes:

    πŸ€– Daily Task creation made easy with our new automated Task Job and SQL magic!

    πŸ“ HUD module updated to meet the fancy ARM6 V15.2.6.1 spec.

    πŸ’Ό Payroll PTO rule entry streamlined for your convenience.

    πŸ“ƒ Document Template Management views now reveal connections to other docsβ€”no more guesswork!

    πŸ” AuditLog expands its horizons with additional tables.

    🏒 Even more HSCP goodness added to the HUD module.

    βœ… HUD 9902 Report submission now comes with extra validation logic for accuracy.

    🎑 Creditor-level FairShare logic is now simpler and more efficient. Enjoy!

    Changes – 2022 Q2

    Many minor changes and enhancements have been made to the CMA during Q2. Details are available in the internal CMA Changelog.

    The following is a list of relevant changes:

    πŸ“ US zip code database now up-to-date with the 2022.03 release, keeping you on track!

    πŸ“¦ Extranet Package Management got a makeover, making your job way easier.

    πŸ“„ LMA Paperwork Report now buddies up with Task Status report for extra insights.

    🏠 Housing Mean Data leveled up to 2022 values for accurate reporting.

    πŸ”’ Remote logins to CMA will now auto-update PBX firewall rules for security.

    πŸŽ‰ More Federal Holidays added to our Holiday table, so you never miss out!

    πŸ“ž Twilio integration: now better than ever!

    πŸ–‹οΈ Digital Signatures on Extranet get a sleek update.

    πŸ“‘ Fee Schedule summaries made easy when a Lead’s address state changes.

    πŸ” RPPS Code descriptions updated to keep you in the know.

    🏒 HSCP fields added to HUD module for extra functionality.

    πŸ‘₯ User management views are now packed with more helpful info.

    πŸš€ General report cleanups & optimizations for a smoother experience!

    New Feature: Waive NSF Fee based on Client’s Creditor

    There is a new System Setting: NSF_FEE_EXCLUDE_CREDITORIDS that allows listing CreditorIDs for which NSF Fees should not be charged.

    When importing the ACH failures, if a Client has an OPEN account that is associated with one of the CreditorIDs specified in NSF_FEE_EXCLUDE_CREDITORIDS, the following message is displayed “An OPEN Creditor prevents NSF Fee” and no NSF Fee is generated.

    New Feature: Custom SQL Reports

    We are excited to announce a new feature enhancement that will allow you to create custom SQL reports in our system. This feature will enable you to query data from various sources and generate reports that suit your specific needs.

    What is a Custom SQL Report?

    A custom SQL report is a report that you can create by writing your own SQL queries. SQL stands for Structured Query Language and it is a standard language for accessing and manipulating data in databases. By using SQL, you can select, filter, sort, group, and aggregate data from different tables and views.

    A custom SQL report can be useful when you want to:

    • Analyze data that is not available in the predefined reports
    • Combine data from different sources or applications
    • Perform complex calculations or transformations on data
    • Customize the layout or format of the report

    How to Create a Custom SQL Report?

    To create a custom SQL report, follow these steps:

    1. Go to System Management/Document Template Management
    2. Select Type = SQL
    3. Write your SQL query in the Query box. You can only use SELECT statements. Do not use INSERT, UPDATE, DELETE, or other commands that can modify data as they will generate an error.
    4. Click Save

    How to Access a Custom SQL Report?

    To access a custom SQL report, follow these steps:

    1. Go to the Navigation pane
    2. Select the name of your saved your report under Custom Reports
    3. Click on your report name
    4. If your report has filters, enter values for them and click Filter
    5. View your report on the screen or export it as a CSV file

    How to Limit Access to a Custom SQL Report?

    To limit access to a custom SQL report, follow these steps:

    1. Go to System Management/Document Template Management
    2. Select Type = SQL
    3. Find your report and click Edit
    4. In the Access Groups box, enter the permission groups that are able to view the report
    5. Click Save

    Only members of those groups will be able to see and run your report.

    We hope this feature enhancement will help you create more powerful and customized reports in our system.

    Thank you for using our system!

    New Module: HUD Approved CMS

    We are excited to announce that Client Support Software’s CMS for housing counseling agencies, has been approved by the U.S. Department of Housing and Urban Development (HUD) as a HUD certified Housing Counseling CMS, compatible with the Agency Reporting Module version 6 (ARMv6) specification.

    This means that the CMS meets HUD’s standards for collecting, storing, and reporting data on housing counseling services provided by HUD-approved agencies. Agencies using Client Support Software’s CMS can easily transmit their data to HUD’s Housing Counseling System (HCS) using XML format, without any manual entry or conversion.

    CMA is designed to help housing counselors deliver high-quality and efficient services to their clients. With Client Support Software, you can:

    • Manage client intake, assessment, action plan, follow-up, and outcome tracking
    • Generate customized reports for internal and external use
    • Automate reminders, notifications, and referrals
    • Integrate with third-party applications such as credit reports, messaging services, and online education platforms
    • Access it from any device with an internet connection

    Client Support Software’s CMS is also affordable and flexible. You can choose from different pricing plans based on your agency size and needs. You can also customize the CMS to fit your agency’s workflow and preferences.

    If you are interested in learning more about how our CMS can help your Housing Agency, please schedule a demo by clicking on the Schedule a Demo button on our website.

    We look forward to helping you achieve your housing counseling goals with Client Support Software!

    New Feature: Auto-link Clients with a Marketing Campaign based on CallerID

    We are excited to announce a new feature enhancement for the CMA: Campaign Phone Tagging. This feature allows you to specify a phone number for each campaign you create in the CMA. A campaign tracks the source of Leads.

    If you set a campaign phone, when a CallLog record is imported, the CMA will look up the most recent campaign whose phone matches the CallLog DID (Direct Inward Dialing). When the CallLog is linked with a Client, if the Client Campaign is empty, the Client’s campaign is updated.

    This feature will help you track and measure the performance of your campaigns more easily and accurately. You will be able to see which campaigns are generating more calls, leads, sales, or revenue. You will also be able to segment your clients by campaign and tailor your communication accordingly.

    To use this feature, you need to create a new campaign or edit an existing one in the CMA. You will see a new field called Campaign Phone where you can enter a valid phone number that you own or have access to. You can also use a 10-digit long code phone number (10DLC).

    The CallLog Detail report and the Campaign report have been updated to display new columns related to this feature. You can now see the Campaign Phone, CallLog DID, and Client Campaign fields in these reports.

    We hope you enjoy this new feature enhancement and find it useful for your business goals. If you have any questions or feedback, please contact us.

    Default Bank Algorithm and NSF Fees

    There is a new Setting key: NSF_FEE_STATE_FIELD which allows specifying which field is used to determine NSF fees that are applied when importing an ACH Failure file. Either clientAddressOrigState (the contract state) or clientAddressState (the client’s current state) can be specified.

    There is a new Company field that allows selection of the Default Bank Algorithm to use when determining which Bank payments should be linked with.

    Default Bank AlgorithmDescription
    DefaultThe State Default Banks rule is ONLY applied if both the clientAddressOrigState and clientAddressState match. (If the Contract state matches the Client’s current address)
    OriginalStateApply rules based on clientAddressOrigState (the Contract Address State)
    CurrentStateApply rules based on clientAddressState (the Client’s current Address State)

    Accounting Enhancements

    Based on feedback, several small changes have been made to improve the Accounting experience. Many of the smaller changes are listed within the CMA internal Changelog.

    Notable changes include:

    • The Client Payment and Disbursement tabs can be exported to a CSV file.
    • Filters have been added to the Disbursement tab for dates and to collapse fairshare. Collapsing fairshare displays gross, fairshare, and net columns for the primary Disbursement record.

    Default view:

    Collapsed FairShare view:

    • In addition, when a failed Disbursement is imported via a Check Return file or RPPS Return file and it is associated with a Cleared FairShare record, the system now automatically creates a Payment record of type Operating Account Credit in the amount of the Cleared FairShare. This allows the Client funds to be balanced and simplifies the process of dealing with this scenario.

    ACH File Generation Updates

    ACH files now support batching multiple sub-accounts within the same Financial Institution (Bank) in one NACHA file. Sub Accounts can be linked with a Parent Bank under System Management/Banks.

    The DMA ACH Batch can now include LMA Payments so that only one ACH file needs to be created. This is accomplished by setting the Company filter to Any and the Include LMA filter to Yes.

    Automated Reconciliation

    Support to mark Cleared Payments and Disbursements as Reconciled has been added. A Reconciled transaction is no longer editable through the CMA.

    There is a new Setting key: RECONCILE_ACCOUNTING_TRANSACTIONS_AFTER_N_DAY which is used to specify the number of days after which a Cleared Payment or Disbursement should be marked as Reconciled by the CMA’s daily job. To disable this job, set the value of the Setting key to 0.

    Filters and columns have been added to the Payment and Disbursement reports. An R appears prior to the Status column for Payments and Disbursements when that transaction has been marked as Reconciled.

    Extranet Packages

    Video Overview of Extranet Packages

    An Extranet Package is a collection Extranet Phases arranged in a specific order. It is used to provide a sequence of pages that are displayed to the Client through the Extranet.

    New functionality has been added to allow simpler management of multiple Extranet Packages. Previously, Extranet Steps were defined either at the Agency or Company level. If multiple packages were desired, they would be combined into the existing extranet steps and a new start step would be selected by the User under the Client/Admin tab.

    Extranet Packages simplifies this by creating system level packages similar to Document Transactions. Multiple Extranet Packages can be associated with either an Agency (so that they appear under the LMA Paperwork) or a Company so they appear in the Backend Paperwork.

    Multiple Extranet Packages available in the LMA

    New Feature: Client Referral Tracking

    When adding a new Lead, there is a new field next to the Lead Source that facilitates stating the ClientID of the Client that referred this Client. In addition, there is a new report under LMA/Client Referrals that displays all Leads that have referred and have been referred by other Clients.

    RPPS DMP File Format changes

    The RPPS DMP File format has been updated work with the new Client Budget architecture. In addition, the Student Loan budget item is passed as a separate category. The computation of Total Debt to Income Percentage has been updated to be more accurate. Max repayment period for Hardship indicators A & C have been increased from 60 to 72 months to support Less than Full Balance indicators going live in October.

    Creditor Page Changes

    The Creditor fields are now grouped into different sections to make it easier to locate specific information. Fields have been added to track Creditor Policies/Benefits.

    CSP Stats update in Client/Budget

    A new CSP stats table to more accurately display number of enrolled CSP Clients for the month has been added to the Standard Budget. The table is automatically displayed when at least on account linked with the Client participates in CSP.

    Changes to Fixed Payment Creditors

    Creditors where payments are fixed, (i.e. Percent of Debt = No) such as Line of Credit and some Credit Union Loans now display the APR in the LMA. Previously, the APR was ignored and the value N/A was displayed in the Creditor table. Since some Loans apply an APR, it is more accurate for the Estimate table to display this APR.

    When a Pre-Program APR is entered for a Creditor of this type, the Program APR is set to the same value so that the program estimates are accurate.

    APRs of 0% can be entered as 0.

    RPPS Trace and Batch numbers are Global

    In order to prevent collisions of RPPS Trace numbers for Companies that share the same RPPSID, the RPPS Trace and Batch number fields have been moved from the Company table to the Settings table.

    The new Settings fields are:
    – RPPS_BATCH_NUMBER
    – RPPS_TRACE_NUMBER