{"id":31623,"date":"2026-10-07T12:08:18","date_gmt":"2026-10-07T10:08:18","guid":{"rendered":"https:\/\/www.cheops-technology.ch\/deceiving-those-who-come-to-deceive-you-honeytokens-and-padded-cells\/"},"modified":"2026-10-07T17:34:39","modified_gmt":"2026-10-07T15:34:39","slug":"deceiving-those-who-come-to-deceive-you-honeytokens-and-padded-cells","status":"publish","type":"post","link":"https:\/\/www.cheops-technology.ch\/en\/deceiving-those-who-come-to-deceive-you-honeytokens-and-padded-cells\/","title":{"rendered":"Deceiving those who come to deceive you: Honeytokens and padded cells"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"31623\" class=\"elementor elementor-31623 elementor-31588\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-95bf4cd ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"95bf4cd\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-dfb8ae9 ot-flex-column-vertical\" data-id=\"dfb8ae9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-85370a7 ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"85370a7\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-3fc0a69 ot-flex-column-vertical\" data-id=\"3fc0a69\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-36edf45 elementor-widget elementor-widget-heading\" data-id=\"36edf45\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">DECEPTION TECHNOLOGY \u00b7 WEB APPLICATION FIREWALL TACTICAL RESPONSE<\/span>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-534ca6f ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"534ca6f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a84270 ot-flex-column-vertical\" data-id=\"7a84270\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-082789f elementor-widget elementor-widget-text-editor\" data-id=\"082789f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<em>To counter the surge in IDORs and data exfiltration, there is a tactical response: inject fake data into your application, detect it passing through the WAF, and confine the attacker within a clone riddled with decoys. All without a six-figure license fee. <\/em>\n\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3953289 ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3953289\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-565fd00 ot-flex-column-vertical\" data-id=\"565fd00\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b29bfc8 elementor-widget elementor-widget-heading\" data-id=\"b29bfc8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00ab \u5175\u8005\uff0c\u8a6d\u9053\u4e5f \u00bb<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e40f5c elementor-widget elementor-widget-heading\" data-id=\"2e40f5c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">\"All warfare is based on deception.\"<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-075c6fa elementor-widget elementor-widget-heading\" data-id=\"075c6fa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">Sun Tzu, L'Art de la guerre<\/span>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3febbf0 ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3febbf0\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8c1e26d ot-flex-column-vertical\" data-id=\"8c1e26d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bfe28ab elementor-widget elementor-widget-heading\" data-id=\"bfe28ab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">1. Facing threats: data breaches are becoming the norm<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-58c7b16 elementor-widget elementor-widget-text-editor\" data-id=\"58c7b16\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Data leaks are no longer the exception; they are the background noise of the web. <strong>IDOR<\/strong> (Insecure Direct Object Reference) vulnerabilities, where an identifier is manipulated to access someone else&#8217;s data, rank among the most common and easiest to exploit; often, all it takes is incrementing an integer in a request. Added to this are automated exfiltration, mass scraping, and API enumeration. The common thread among all these attacks is that they cause <strong>data to leave the system<\/strong> when it never should have.<\/p><p>The knee-jerk response is budgetary: buying increasingly expensive WAFs, stacking up signatures, and multiplying rules. Yet, detection based on potentially anomalous behavior inevitably generates false positives, as legitimate usage can sometimes mimic such patterns. We are shifting the problem, not solving it.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-bce0b39 ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bce0b39\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-074b7f9 ot-flex-column-vertical\" data-id=\"074b7f9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9eabe5a elementor-widget elementor-widget-heading\" data-id=\"9eabe5a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">2. Tactical Response : regaining the initiative<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ca36fbb elementor-widget elementor-widget-text-editor\" data-id=\"ca36fbb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Tactical Response<\/strong> flips the script. Instead of simply erecting walls, we set traps and prepare the terrain so that, when the attacker strikes, they find themselves at a disadvantage. We accept the possibility, or even the reality, of an ongoing intrusion, and we design the environment to reliably detect and smoothly neutralize it.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-55fd834 elementor-widget elementor-widget-spacer\" data-id=\"55fd834\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-05c04a3 elementor-widget elementor-widget-heading\" data-id=\"05c04a3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">\"The supreme art is to subdue the enemy without fighting.\" The goal is not to be impregnable. The aim is to ensure that a successful attack yields nothing and backfires on its perpetrator.<\/h6>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-89da6f3 elementor-widget elementor-widget-spacer\" data-id=\"89da6f3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ccabe87 elementor-widget elementor-widget-text-editor\" data-id=\"ccabe87\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The centerpiece is the <strong>honeytoken<\/strong>: a decoy record (such as an account, IBAN, or email address) that is never generated by any business process and never accessed by any legitimate user. Its sole function is to be seen. If it appears in transit, there is no innocent explanation.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5d94657 ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5d94657\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7b07db4 ot-flex-column-vertical\" data-id=\"7b07db4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-578d363 elementor-widget elementor-widget-heading\" data-id=\"578d363\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">3. Application security cannot be bought for millions.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5280de7 elementor-widget elementor-widget-text-editor\" data-id=\"5280de7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A multi-million-euro WAF doesn&#8217;t know your application; it simply applies generic rules. You, however, know which endpoints expose objects, which identifiers are enumerable, and which responses contain sensitive data. That intimate knowledge is worth more than any commercial signature.<\/p><p>Intelligent security means placing the right detection in the right spot: instead of inspecting thousands of incoming attack patterns, you monitor a handful of <strong>values \u200b\u200bthat must never leave the system<\/strong>. It is a detection method with a zero false-positive rate, because it relies not on heuristics but on a hard fact: &#8220;this specific string is passing through the WAF.&#8221;<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e3af0bf elementor-widget elementor-widget-spacer\" data-id=\"e3af0bf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-49a5397 elementor-widget elementor-widget-heading\" data-id=\"49a5397\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">Secure intelligently, not more heavily. Application awareness is the best sensor.<\/h6>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9568e47 ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9568e47\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-23f1013 ot-flex-column-vertical\" data-id=\"23f1013\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4805b12 elementor-widget elementor-widget-heading\" data-id=\"4805b12\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">4. The principle in a single image<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bb0f585 elementor-widget elementor-widget-text-editor\" data-id=\"bb0f585\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A legitimate user never encounters a honeytoken; they access the actual production environment. An attacker who is enumerating or exfiltrating data, however, eventually triggers one and, <strong>without realizing it<\/strong>, is immediately diverted to a clone populated with fake data.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dd76ae0 elementor-widget elementor-widget-spacer\" data-id=\"dd76ae0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-59756cb elementor-widget elementor-widget-heading\" data-id=\"59756cb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Schematic diagram \u2013 Padded Cell by Deception Technology<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d2abd5e elementor-widget elementor-widget-heading\" data-id=\"d2abd5e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Honeytoken in transit = proof of exfiltration -&gt; seamless switch to the decoy clone<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-dd51077 ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"dd51077\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bb5adc4 ot-flex-column-vertical\" data-id=\"bb5adc4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-256be7d elementor-widget elementor-widget-image\" data-id=\"256be7d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"358\" src=\"https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Principe_EN-1024x358.png\" class=\"attachment-large size-large wp-image-31634\" alt=\"\" srcset=\"https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Principe_EN-1024x358.png 1024w, https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Principe_EN-300x105.png 300w, https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Principe_EN-768x269.png 768w, https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Principe_EN-1536x537.png 1536w, https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Principe_EN-2048x717.png 2048w, https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Principe_EN-720x252.png 720w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc35815 ot-view-default elementor-widget elementor-widget-ot-icon-list\" data-id=\"dc35815\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ot-icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t        <div class=\"ot-icon-list-wrapper\">\r\n\t        \t<ul class=\"unstyle ot-icon-list-items \">\r\n\t        \t\t\t        \t\t\t<li class=\"ot-icon-list-item \">\r\n\t        \t\t\t\t\r\n\t\t\t\t\t\t\t<span class=\"ot-icon-list-icon\">\r\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-circle\"><\/i>\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ot-icon-list-text\">Legitimate path: the user never interacts with a honeytoken and accesses the actual production site.<\/span>\r\n\t\t\t\t\t\t\t\t        \t\t\t<\/li>\r\n\t        \t\t\t        \t<\/ul>\r\n\t        <\/div>\r\n\t    \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4cda641 ot-view-default elementor-widget elementor-widget-ot-icon-list\" data-id=\"4cda641\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"ot-icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t        <div class=\"ot-icon-list-wrapper\">\r\n\t        \t<ul class=\"unstyle ot-icon-list-items \">\r\n\t        \t\t\t        \t\t\t<li class=\"ot-icon-list-item \">\r\n\t        \t\t\t\t\r\n\t\t\t\t\t\t\t<span class=\"ot-icon-list-icon\">\r\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-circle\"><\/i>\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ot-icon-list-text\">Confined path: as soon as a honeytoken is released, the source is silently switched to the clone.<\/span>\r\n\t\t\t\t\t\t\t\t        \t\t\t<\/li>\r\n\t        \t\t\t        \t<\/ul>\r\n\t        <\/div>\r\n\t    \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9c8b251 elementor-widget elementor-widget-heading\" data-id=\"9c8b251\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">5. Preparing your application<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-73777b8 elementor-widget elementor-widget-heading\" data-id=\"73777b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">5.1 - Plant honeytokens\u2026 at random intervals<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b51b415 elementor-widget elementor-widget-text-editor\" data-id=\"b51b415\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p dir=\"ltr\">Step one: inject decoy records into the production database, interspersed with real ones. The key to remaining inconspicuous is <strong>to avoid grouping them<\/strong> together. Honeytokens assigned consecutive IDs (98, 99, 100) or clustered at the end of the table would immediately stand out to an observant attacker. Instead, they are distributed <strong>at random intervals<\/strong> across the ID range, a few decoys scattered among genuine accounts at unpredictable positions.<\/p><p dir=\"ltr\">To put it concretely, let&#8217;s imagine a classic table <code dir=\"ltr\">users<\/code>, with the columns <code dir=\"ltr\">name<\/code>, <code dir=\"ltr\">first name<\/code>, <code dir=\"ltr\">email<\/code>, <code dir=\"ltr\">address<\/code>, <code dir=\"ltr\">IBAN<\/code>, <code dir=\"ltr\">phone<\/code>. Most of the lines correspond to real customers. But at certain randomly selected positions, IDs 1428, 3961, 7044&#8230;, we slip in an <strong>entirely fictitious record<\/strong>:<\/p><table><thead><tr><th scope=\"col\">id<\/th><th scope=\"col\">name<\/th><th scope=\"col\">firstname<\/th><th scope=\"col\">email<\/th><th scope=\"col\">address<\/th><th scope=\"col\">IBAN<\/th><\/tr><\/thead><tbody><tr><td>1427<\/td><td><em>(real entry)<\/em><\/td><td>\u2026<\/td><td>\u2026<\/td><td>\u2026<\/td><td>\u2026<\/td><\/tr><tr><td><strong>1428<\/strong><\/td><td><strong>Mickael<\/strong><\/td><td><strong>Culline<\/strong><\/td><td><strong><a href=\"mailto:c.vasseur@mail-prive.decoy\">m.culline@love.me<\/a><\/strong><\/td><td><strong>12 rue des Lilas, Papamica<\/strong><\/td><td><strong>CH76 9999 0000 1234 5678 9012 345<\/strong><\/td><\/tr><tr><td>1429<\/td><td>\u00a0<em>(real entry)<\/em><\/td><td>\u2026<\/td><td>\u2026<\/td><td>\u2026<\/td><td>\u2026<\/td><\/tr><\/tbody><\/table><p dir=\"ltr\">This &#8220;Mickael Culline&#8221; does not exist. It is not the masked data of a real person; it is a <strong>completely fabricated identity<\/strong>, seemingly consistent (plausible name, valid IBAN format) but not linked to any actual individual. It serves only one purpose: to act as bait.<\/p><p dir=\"ltr\">The key point is that <strong>each decoy carries at least one unique and unlikely value<\/strong>, such as an IBAN from a range reserved for this purpose or a dedicated email domain (e.g., @\u2026decoy), that would <strong>never<\/strong> appear in a legitimate response. It is precisely this value that the WAF monitors in outbound traffic. Finally, the fact that a record is a decoy remains <strong>strictly internal<\/strong> information (a database flag that is never exposed); from the attacker&#8217;s perspective, there is nothing to distinguish &#8220;Mickael Culline&#8221; from a real customer.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ee5b77 elementor-widget elementor-widget-heading\" data-id=\"7ee5b77\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">5.2 - Build the decoy clone (padded cell)<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6fa6a9e elementor-widget elementor-widget-text-editor\" data-id=\"6fa6a9e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Step two: deploy an <strong>exact replica<\/strong> of the application. Same code, same interface, same API schemas, but backed by a <strong>completely fake database<\/strong>. No real data must be accessible within it. Think of it as a padded cell: the attacker finds exactly what they expect, except that everything is fabricated. The illusion must be flawless; otherwise, the trap becomes obvious and is blown.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3701d11 elementor-widget elementor-widget-heading\" data-id=\"3701d11\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">5.3 - Automated deployment via CI\/CD<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b735f2 elementor-widget elementor-widget-text-editor\" data-id=\"8b735f2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Production and the clone share the same application artifact; only the database differs. The CI\/CD pipeline builds the image once and then deploys it twice: once with real seed data (plus honeytokens) and once with entirely fictitious seed data. This keeps both versions perfectly synchronized\u2014any code update reaches both production and the decoy simultaneously, ensuring the illusion remains unbroken.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4feef05 ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4feef05\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-56689f3 ot-flex-column-vertical\" data-id=\"56689f3\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-eb621d5 elementor-widget elementor-widget-heading\" data-id=\"eb621d5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">6. Deployment architecture<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cfc9630 elementor-widget elementor-widget-heading\" data-id=\"cfc9630\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Target architecture<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a557ba elementor-widget elementor-widget-heading\" data-id=\"7a557ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Pipeline CI\/CD -&gt; Prod + clone leurre jumeau, un seul WAF frontal, observation SOC<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ed2af65 ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ed2af65\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1f9a28a ot-flex-column-vertical\" data-id=\"1f9a28a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7b82088 elementor-widget elementor-widget-image\" data-id=\"7b82088\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"556\" src=\"https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Architecture_EN-1024x556.png\" class=\"attachment-large size-large wp-image-31639\" alt=\"\" srcset=\"https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Architecture_EN-1024x556.png 1024w, https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Architecture_EN-300x163.png 300w, https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Architecture_EN-768x417.png 768w, https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Architecture_EN-1536x834.png 1536w, https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Architecture_EN-2048x1112.png 2048w, https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_Deception_Architecture_EN-720x391.png 720w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44553fe elementor-widget elementor-widget-heading\" data-id=\"44553fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">7. Configure your WAF (ModSecurity)<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e486de elementor-widget elementor-widget-text-editor\" data-id=\"2e486de\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The entire containment mechanism relies on <strong>just two ModSecurity rules<\/strong> running on your existing Apache server. The first detects a honeytoken in the response body and flags the source; the second redirects flagged sources to the clone.<\/p><p><strong>Step 1. Prepare your WAF.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6a710e elementor-widget elementor-widget-betterdocs-code-snippet\" data-id=\"e6a710e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"betterdocs-code-snippet.default\">\n\t\t\t\t\t\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-3570\"\n     id=\"betterdocs-code-snippet-3570\"\n     data-language=\"bash\"\n          data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n                            <div class=\"betterdocs-file-info\">\n                    \n                                    <\/div>\n                    <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n            \n                                    <div class=\"betterdocs-code-snippet-copy-container\">\n            <button class=\"betterdocs-code-snippet-copy-button\"\n                    type=\"button\"\n                    aria-label=\"Copy code to clipboard\">\n                <span class=\"betterdocs-code-snippet-copy-icon\" aria-hidden=\"true\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <rect x=\"9\" y=\"9\" width=\"12.5\" height=\"12.5\" rx=\"3\" stroke=\"currentColor\" stroke-width=\"1.7\"\/>\n                        <path d=\"M15.5 5.75V5A2.5 2.5 0 0 0 13 2.5H5A2.5 2.5 0 0 0 2.5 5v8A2.5 2.5 0 0 0 5 15.5h.75\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\"\/>\n                    <\/svg>\n                <\/span>\n                <span class=\"betterdocs-code-snippet-copied-icon\" aria-hidden=\"true\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <path d=\"M20 6.5 9.5 17 4 11.5\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                    <\/svg>\n                <\/span>\n            <\/button>\n            <span class=\"betterdocs-code-snippet-tooltip\"\n                  role=\"status\"\n                  data-copy-label=\"Copy\"\n                  data-copied-label=\"Copied!\"\n                  data-error-label=\"Copy failed\">Copy<\/span>\n        <\/div>\n                            <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n                                <div class=\"betterdocs-code-snippet-panel is-active\"\n                 data-lang-index=\"0\"\n                 >\n                \n                <pre class=\"betterdocs-code-snippet-code language-bash\"><code>SecRequestBodyAccess On\r\nSecResponseBodyAccess On\r\nSecRequestBodyLimitAction ProcessPartial<\/code><\/pre>\n            <\/div>\n            <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-3570');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-53361f8 elementor-widget elementor-widget-text-editor\" data-id=\"53361f8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Step 2. The IP collection\u2014first, to be initialized in Phase 1.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e93c6ab elementor-widget elementor-widget-betterdocs-code-snippet\" data-id=\"e93c6ab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"betterdocs-code-snippet.default\">\n\t\t\t\t\t\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-3685\"\n     id=\"betterdocs-code-snippet-3685\"\n     data-language=\"bash\"\n          data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n                            <div class=\"betterdocs-file-info\">\n                    \n                                    <\/div>\n                    <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n            \n                                    <div class=\"betterdocs-code-snippet-copy-container\">\n            <button class=\"betterdocs-code-snippet-copy-button\"\n                    type=\"button\"\n                    aria-label=\"Copy code to clipboard\">\n                <span class=\"betterdocs-code-snippet-copy-icon\" aria-hidden=\"true\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <rect x=\"9\" y=\"9\" width=\"12.5\" height=\"12.5\" rx=\"3\" stroke=\"currentColor\" stroke-width=\"1.7\"\/>\n                        <path d=\"M15.5 5.75V5A2.5 2.5 0 0 0 13 2.5H5A2.5 2.5 0 0 0 2.5 5v8A2.5 2.5 0 0 0 5 15.5h.75\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\"\/>\n                    <\/svg>\n                <\/span>\n                <span class=\"betterdocs-code-snippet-copied-icon\" aria-hidden=\"true\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <path d=\"M20 6.5 9.5 17 4 11.5\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                    <\/svg>\n                <\/span>\n            <\/button>\n            <span class=\"betterdocs-code-snippet-tooltip\"\n                  role=\"status\"\n                  data-copy-label=\"Copy\"\n                  data-copied-label=\"Copied!\"\n                  data-error-label=\"Copy failed\">Copy<\/span>\n        <\/div>\n                            <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n                                <div class=\"betterdocs-code-snippet-panel is-active\"\n                 data-lang-index=\"0\"\n                 >\n                \n                <pre class=\"betterdocs-code-snippet-code language-bash\"><code>### 5 - IP addresses collection for correlation:\r\nSecAction phase:1,id:5,initcol:ip=%{REMOTE_ADDR},nolog\r\n<\/code><\/pre>\n            <\/div>\n            <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-3685');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0d643c7 elementor-widget elementor-widget-text-editor\" data-id=\"0d643c7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Step 3. Prepare a file containing all the decoy values \u200b\u200bwe have placed.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-84ae8f7 elementor-widget elementor-widget-betterdocs-code-snippet\" data-id=\"84ae8f7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"betterdocs-code-snippet.default\">\n\t\t\t\t\t\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-7653\"\n     id=\"betterdocs-code-snippet-7653\"\n     data-language=\"bash\"\n          data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n                            <div class=\"betterdocs-file-info\">\n                    \n                                            <div class=\"betterdocs-file-name\">\n                            <span class=\"file-name-text\">deception-list.txt<\/span>\n                        <\/div>\n                                    <\/div>\n                    <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n            \n                                    <div class=\"betterdocs-code-snippet-copy-container\">\n            <button class=\"betterdocs-code-snippet-copy-button\"\n                    type=\"button\"\n                    aria-label=\"Copy code to clipboard\">\n                <span class=\"betterdocs-code-snippet-copy-icon\" aria-hidden=\"true\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <rect x=\"9\" y=\"9\" width=\"12.5\" height=\"12.5\" rx=\"3\" stroke=\"currentColor\" stroke-width=\"1.7\"\/>\n                        <path d=\"M15.5 5.75V5A2.5 2.5 0 0 0 13 2.5H5A2.5 2.5 0 0 0 2.5 5v8A2.5 2.5 0 0 0 5 15.5h.75\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\"\/>\n                    <\/svg>\n                <\/span>\n                <span class=\"betterdocs-code-snippet-copied-icon\" aria-hidden=\"true\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <path d=\"M20 6.5 9.5 17 4 11.5\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                    <\/svg>\n                <\/span>\n            <\/button>\n            <span class=\"betterdocs-code-snippet-tooltip\"\n                  role=\"status\"\n                  data-copy-label=\"Copy\"\n                  data-copied-label=\"Copied!\"\n                  data-error-label=\"Copy failed\">Copy<\/span>\n        <\/div>\n                            <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n                                <div class=\"betterdocs-code-snippet-panel is-active\"\n                 data-lang-index=\"0\"\n                 >\n                \n                <pre class=\"betterdocs-code-snippet-code language-bash\"><code>...\r\nm.culline@love.me\r\nelodie.fournier17@example.test\r\nlea.morel29@example.test\r\nsamuel.henry39@example.test\r\nhugo.robin49@example.test\r\n...<\/code><\/pre>\n            <\/div>\n            <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-7653');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d8c03c elementor-widget elementor-widget-text-editor\" data-id=\"1d8c03c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Step 4. Identify whether a response contains any of these decoys<\/strong><\/p><p>The `@pmFromFile` operator loads the list of decoy markers (using literal matching\u2014fast and ReDoS-free). Upon detecting any honeytoken in the output, the flag `ip.padded_cell=1` is set with a 3-hour (10,800 s) expiration, which resets with each new trigger.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-693361e elementor-widget elementor-widget-betterdocs-code-snippet\" data-id=\"693361e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"betterdocs-code-snippet.default\">\n\t\t\t\t\t\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-7812\"\n     id=\"betterdocs-code-snippet-7812\"\n     data-language=\"bash\"\n          data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n                            <div class=\"betterdocs-file-info\">\n                    \n                                    <\/div>\n                    <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n            \n                                    <div class=\"betterdocs-code-snippet-copy-container\">\n            <button class=\"betterdocs-code-snippet-copy-button\"\n                    type=\"button\"\n                    aria-label=\"Copy code to clipboard\">\n                <span class=\"betterdocs-code-snippet-copy-icon\" aria-hidden=\"true\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <rect x=\"9\" y=\"9\" width=\"12.5\" height=\"12.5\" rx=\"3\" stroke=\"currentColor\" stroke-width=\"1.7\"\/>\n                        <path d=\"M15.5 5.75V5A2.5 2.5 0 0 0 13 2.5H5A2.5 2.5 0 0 0 2.5 5v8A2.5 2.5 0 0 0 5 15.5h.75\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\"\/>\n                    <\/svg>\n                <\/span>\n                <span class=\"betterdocs-code-snippet-copied-icon\" aria-hidden=\"true\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <path d=\"M20 6.5 9.5 17 4 11.5\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                    <\/svg>\n                <\/span>\n            <\/button>\n            <span class=\"betterdocs-code-snippet-tooltip\"\n                  role=\"status\"\n                  data-copy-label=\"Copy\"\n                  data-copied-label=\"Copied!\"\n                  data-error-label=\"Copy failed\">Copy<\/span>\n        <\/div>\n                            <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n                                <div class=\"betterdocs-code-snippet-panel is-active\"\n                 data-lang-index=\"0\"\n                 >\n                \n                <pre class=\"betterdocs-code-snippet-code language-bash\"><code>### 100 - Deception: compte leurre d\u00e9tect\u00e9 dans le response body\r\nSecRule RESPONSE_BODY &quot;@pmFromFile deception-list.txt&quot; \\\r\n  &quot;id:100,phase:4,log,\\\r\n   msg:&#039;Deception: Fake account detecte dans le response body&#039;,\\\r\n   severity:&#039;CRITICAL&#039;,\\\r\n   tag:&#039;deception-technology&#039;,tag:&#039;decoy:account&#039;,tag:&#039;honeytoken&#039;,\\\r\n   setvar:ip.padded_cell=1,expirevar:ip.padded_cell=10800&quot;\r\n<\/code><\/pre>\n            <\/div>\n            <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-7812');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7c28de1 elementor-widget elementor-widget-text-editor\" data-id=\"7c28de1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Step 5. Transparently redirect the attacker to the Padded Cell.<\/strong><\/p><p>Two crucial details. Phase 2 (not 1): in phase 1, the request body is not fully read, causing the proxy to fail with a `REQUEST_BODY phase incomplete` error. And `%{REQUEST_URI}` in the target: without the path, the backend receives an empty body; with it, the POST request and its JSON payload reach the clone intact.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-86e3174 elementor-widget elementor-widget-betterdocs-code-snippet\" data-id=\"86e3174\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"betterdocs-code-snippet.default\">\n\t\t\t\t\t\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-4060\"\n     id=\"betterdocs-code-snippet-4060\"\n     data-language=\"bash\"\n          data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n                            <div class=\"betterdocs-file-info\">\n                    \n                                    <\/div>\n                    <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n            \n                                    <div class=\"betterdocs-code-snippet-copy-container\">\n            <button class=\"betterdocs-code-snippet-copy-button\"\n                    type=\"button\"\n                    aria-label=\"Copy code to clipboard\">\n                <span class=\"betterdocs-code-snippet-copy-icon\" aria-hidden=\"true\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <rect x=\"9\" y=\"9\" width=\"12.5\" height=\"12.5\" rx=\"3\" stroke=\"currentColor\" stroke-width=\"1.7\"\/>\n                        <path d=\"M15.5 5.75V5A2.5 2.5 0 0 0 13 2.5H5A2.5 2.5 0 0 0 2.5 5v8A2.5 2.5 0 0 0 5 15.5h.75\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\"\/>\n                    <\/svg>\n                <\/span>\n                <span class=\"betterdocs-code-snippet-copied-icon\" aria-hidden=\"true\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <path d=\"M20 6.5 9.5 17 4 11.5\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                    <\/svg>\n                <\/span>\n            <\/button>\n            <span class=\"betterdocs-code-snippet-tooltip\"\n                  role=\"status\"\n                  data-copy-label=\"Copy\"\n                  data-copied-label=\"Copied!\"\n                  data-error-label=\"Copy failed\">Copy<\/span>\n        <\/div>\n                            <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n                                <div class=\"betterdocs-code-snippet-panel is-active\"\n                 data-lang-index=\"0\"\n                 >\n                \n                <pre class=\"betterdocs-code-snippet-code language-bash\"><code>### 101 - Padded cell : proxy transparent vers le backend leurre\r\nSecRule IP:padded_cell &quot;@eq 1&quot; \\\r\n  &quot;id:101,phase:2,proxy:http:\/\/127.0.0.1:8081%{REQUEST_URI},log,\\\r\n   msg:&#039;Padded cell active: proxy vers backend leurre&#039;,\\\r\n   tag:&#039;deception-technology&#039;,tag:&#039;padded-cell&#039;&quot;\r\n<\/code><\/pre>\n            <\/div>\n            <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-4060');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fcd656e elementor-widget elementor-widget-text-editor\" data-id=\"fcd656e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>From that moment on, the attacker is <strong>seamlessly redirected<\/strong> to the &#8220;padded cell&#8221;, using the same URL, with no errors or visible redirects. They believe they are continuing their exfiltration, while in reality, they are gathering nothing but decoys. Simultaneously,<strong> a qualified alert is sent to the SOC<\/strong>, not just another probabilistic signal, but confirmation that exfiltration was underway, given that a honeytoken never legitimately passes through the WAF. This containment creates a valuable window for observation:<\/p><ul><li><span style=\"color: #d52d3c;\"><strong>Trace back to initial vector. <\/strong><\/span>By replaying the attacker&#8217;s path up to the triggering honeytoken, the SOC identifies the specific vulnerability that was exploited (IDOR, authorization bypass, injection, etc.) and fixes it in the actual production environment.<\/li><li><strong><span style=\"color: #d52d3c;\">Observe safely.<\/span> <\/strong>While the adversary manipulates fake data in a low-stakes environment, the team studies their TTPs in real time: targeted paths, enumeration cadence, and tooling.<\/li><li><strong><span style=\"color: #d52d3c;\">Enriching the CTI.<\/span> <\/strong>IP addresses, fingerprints, and behaviors feed into Cyber \u200b\u200bThreat Intelligence databases, transforming an intrusion attempt into actionable intelligence.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d3b9ee2 ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d3b9ee2\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-117df13 ot-flex-column-vertical\" data-id=\"117df13\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-53f8fc8 elementor-widget elementor-widget-heading\" data-id=\"53f8fc8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">8. Validate and test<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b90241 elementor-widget elementor-widget-text-editor\" data-id=\"8b90241\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong><span style=\"color: #d52d3c;\">Negative test first.<\/span> <\/strong>Navigate the application as a legitimate user: no honeytoken should ever appear in the response, and no state switch should occur. If this happens, the marker is not unique enough.<\/li><li><strong><span style=\"color: #d52d3c;\">Positive test next.<\/span><\/strong>Simulate an IDOR attack by enumerating IDs until you hit a decoy. Verify that Rule 100 triggers and the `padded_cell` action is applied.<\/li><li><strong><span style=\"color: #d52d3c;\">Containment.<\/span> <\/strong>The subsequent request must be served by the clone (fake data), using the same URL, without a 403 error or visible redirection, and the POST body must successfully reach the decoy backend.<\/li><li><span style=\"color: #d52d3c;\"><strong>Expiration.<\/strong> <\/span>In the absence of a new trigger, verify that the system returns to normal after the duration specified in ModSecurity.<\/li><li><strong><span style=\"color: #d52d3c;\">Telemetry.<\/span> <\/strong>Confirm that each trigger is sent to the SIEM: it is a high-confidence IOC.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b6b09e3 ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b6b09e3\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1b1e492 ot-flex-column-vertical\" data-id=\"1b1e492\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7b0dbb9 elementor-widget elementor-widget-heading\" data-id=\"7b0dbb9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">9. Proof of Concept<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-52ec31c ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"52ec31c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c7139b8 ot-flex-column-vertical\" data-id=\"c7139b8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f4c752a elementor-widget elementor-widget-image\" data-id=\"f4c752a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_DeceptionTechno.gif\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"WAF_DeceptionTechno\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MzE2MDAsInVybCI6Imh0dHBzOlwvXC93d3cuY2hlb3BzLXRlY2hub2xvZ3kuY2hcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjZcLzEwXC9XQUZfRGVjZXB0aW9uVGVjaG5vLmdpZiJ9\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/www.cheops-technology.ch\/wp-content\/uploads\/2026\/10\/WAF_DeceptionTechno.gif\" class=\"attachment-full size-full wp-image-31600\" alt=\"\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fc3fcd3 elementor-widget elementor-widget-heading\" data-id=\"fc3fcd3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">10. Limitations and scope<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-75ff53f elementor-widget elementor-widget-text-editor\" data-id=\"75ff53f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p dir=\"ltr\">No defense is a silver bullet, and deception technology is no exception. Three caveats are worth noting explicitly.<\/p><p dir=\"ltr\"><span style=\"color: #d52d3c;\"><strong>Ceception does not cover every scenario.<\/strong><\/span> The mechanism relies on the assumption that the attacker is enumerating targets, as seen in scraping or large-scale IDOR exploitation, where they will statistically eventually hit a decoy. However, an adversary targeting a specific real account, because they already know the victim&#8217;s ID, can exfiltrate data without ever touching a honeytoken. In this case, the &#8220;padded cell&#8221; is not triggered. Deception is a complementary detection layer, not a substitute for access control; the true fix remains eliminating the IDOR vulnerability at the source. Its effectiveness increases with the number and distribution of decoys.<\/p><p dir=\"ltr\"><span style=\"color: #d52d3c;\"><strong>&#8220;Free&#8221; does not mean &#8220;effortless&#8221;.<\/strong> <\/span>ModSecurity requires no licensing fees, which is a significant advantage over commercial solutions. However, the complete system entails operational costs: hosting and maintaining a production-identical clone, keeping it synchronized with every release (hence the need for CI\/CD), generating and maintaining credible fake datasets, and managing telemetry within the SOC. The investment shifts from software budgets to engineering resources, yet it remains negligible compared to the cost of a data breach.<\/p><p dir=\"ltr\"><span style=\"color: #d52d3c;\"><strong>It is stricly a defensive framework.<\/strong><\/span> Everything takes place within a <strong>perimeter you control<\/strong>: your application, your clone, and your rules. This is not about &#8220;hacking back&#8221; or attacking the attacker; rather, it involves keeping them occupied on a low-stakes battlefield. Finally, pay attention to SOC-side logs: observing an intruder may result in collecting data about them, which must be processed in compliance with applicable legal frameworks (such as GDPR or the Swiss nLPD). Disappointment is an active defensive stance, not a counterattack.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f2256c2 ot-traditional elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f2256c2\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a73144b ot-flex-column-vertical\" data-id=\"a73144b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5a45a52 elementor-widget elementor-widget-heading\" data-id=\"5a45a52\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">11. What this approach really changes<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ce6bb8f elementor-widget elementor-widget-text-editor\" data-id=\"ce6bb8f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>No &#8220;honey&#8221; data should legitimately pass through the WAF. If it does, <strong>it is necessarily an exfiltration<\/strong>. Not a probability, but a certainty. At that moment, the attacker is redirected to the clone and operates on fake data.<\/p><p>Meanwhile, the <strong>SOC observes<\/strong>. It watches the TTPs unfold in real time within a low-risk environment: which paths are targeted, the pace of enumeration, and the tools used. This provides the intelligence needed to <strong>enrich CTI<\/strong>, precisely identify the exploit, and remediate the vulnerability in the actual production environment.<\/p><p>Above all, this approach <strong>caps the volume<\/strong> of exfiltrated data. Instead of waking up to find millions of real records out in the wild, the organization is left with only a <strong>few hundred<\/strong> genuine rows before the switchover kicks in and returns nothing but fake data. The leak is contained, tracked, and worthless to the adversary.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e03d8c6 elementor-widget elementor-widget-spacer\" data-id=\"e03d8c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-315275d elementor-widget elementor-widget-heading\" data-id=\"315275d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">The attacker believes they have won at the very moment they give themselves away. They walk away with a spreadsheet of fake identities; you walk away with their IP address, their methods, and the time to make corrections.<\/h6>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>DECEPTION TECHNOLOGY \u00b7 WEB APPLICATION FIREWALL TACTICAL RESPONSE To counter the surge in IDORs and data exfiltration, there is a tactical response: inject fake data into your application, detect it passing through the WAF, and confine the attacker within a clone riddled with decoys. All without a six-figure license fee. \u00ab \u5175\u8005\uff0c\u8a6d\u9053\u4e5f \u00bb &#8220;All warfare [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":31590,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[95,87,90],"tags":[],"class_list":["post-31623","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cybers-news","category-news-en","category-security-en"],"_links":{"self":[{"href":"https:\/\/www.cheops-technology.ch\/en\/wp-json\/wp\/v2\/posts\/31623","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cheops-technology.ch\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cheops-technology.ch\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cheops-technology.ch\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cheops-technology.ch\/en\/wp-json\/wp\/v2\/comments?post=31623"}],"version-history":[{"count":21,"href":"https:\/\/www.cheops-technology.ch\/en\/wp-json\/wp\/v2\/posts\/31623\/revisions"}],"predecessor-version":[{"id":31668,"href":"https:\/\/www.cheops-technology.ch\/en\/wp-json\/wp\/v2\/posts\/31623\/revisions\/31668"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cheops-technology.ch\/en\/wp-json\/wp\/v2\/media\/31590"}],"wp:attachment":[{"href":"https:\/\/www.cheops-technology.ch\/en\/wp-json\/wp\/v2\/media?parent=31623"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cheops-technology.ch\/en\/wp-json\/wp\/v2\/categories?post=31623"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cheops-technology.ch\/en\/wp-json\/wp\/v2\/tags?post=31623"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}