<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tools on Giedrius Bagaliūnas</title><link>https://bagaliunas.com/tags/tools/</link><description>Recent content in Tools on Giedrius Bagaliūnas</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Fri, 24 May 2024 12:00:00 +0300</lastBuildDate><atom:link href="https://bagaliunas.com/tags/tools/index.xml" rel="self" type="application/rss+xml"/><item><title>DigiDevil: Condition-Based Manipulations of Digitally Signed Documents</title><link>https://bagaliunas.com/p/digidevil-condition-based-manipulations-of-digitally-signed-documents/</link><pubDate>Fri, 24 May 2024 12:00:00 +0300</pubDate><guid>https://bagaliunas.com/p/digidevil-condition-based-manipulations-of-digitally-signed-documents/</guid><description>&lt;img src="https://bagaliunas.com/digidevil.jpg" alt="Featured image of post DigiDevil: Condition-Based Manipulations of Digitally Signed Documents" /&gt;&lt;p&gt;At &lt;strong&gt;BSides Vilnius 2024&lt;/strong&gt;, I co-presented collaborative research on &lt;strong&gt;&amp;ldquo;Condition-Based Manipulations of Digitally Signed Documents&amp;rdquo;&lt;/strong&gt; alongside the release of our proof-of-concept tool, &lt;strong&gt;&lt;a class="link" href="https://github.com/advisense/DigiDevil" target="_blank" rel="noopener"&#10; &gt;DigiDevil&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;h3 id="the-problem"&gt;&lt;a href="#the-problem" class="header-anchor"&gt;&lt;/a&gt;The Problem&#10;&lt;/h3&gt;&lt;p&gt;Many organizations and individuals rely heavily on digital signatures to ensure the authenticity and integrity of electronic agreements, contracts, and invoices. However, standard PDF specifications support dynamic features—such as embedded JavaScript and Optional Content Groups (layers)—that can be abused.&lt;/p&gt;&#10;&lt;p&gt;We demonstrated that it is possible to craft PDF documents where the visible content changes dynamically based on specific conditions, while the &lt;strong&gt;cryptographic signature remains 100% valid&lt;/strong&gt;:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Change Over Time&lt;/strong&gt;: Using embedded timers and script execution, document content changes dynamically from one state to another after opening.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Change on Print&lt;/strong&gt;: The document displays one set of terms on screen, but silently alters values or terms when sent to a physical or virtual printer.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Change on File Renaming&lt;/strong&gt;: The displayed content dynamically adapts depending on the filename of the document (e.g., displaying different contract values depending on how the file is saved).&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="resources--links"&gt;&lt;a href="#resources--links" class="header-anchor"&gt;&lt;/a&gt;Resources &amp;amp; Links&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;GitHub Repository &amp;amp; Code&lt;/strong&gt;: &lt;a class="link" href="https://github.com/advisense/DigiDevil" target="_blank" rel="noopener"&#10; &gt;advisense/DigiDevil&lt;/a&gt;&lt;br&gt;&#10;&lt;em&gt;(Contains Java/iText source code and sample demonstration PDFs).&lt;/em&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Media Coverage&lt;/strong&gt;: &lt;a class="link" href="https://versloidejos.lt/ekspertai/el-parasas-dar-negarantuoja-sutarties-tvirtumo-saugumo-ekspertas-atskleide-skaitmeniniu-dokumentu-spraga/" target="_blank" rel="noopener"&#10; &gt;Verslo Idėjos / Verslo Žinios: „El. parašas dar negarantuoja sutarties tvirtumo: saugumo ekspertas atskleidė skaitmeninių dokumentų spragą“&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</description></item></channel></rss>