<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Roman Canlas &#124; AppSec Engineer &#38; Author</title>
	<atom:link href="https://romancanlas.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://romancanlas.wordpress.com</link>
	<description>Roman Canlas is an application security engineer and author</description>
	<lastBuildDate>Sat, 08 Feb 2025 21:27:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='romancanlas.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s0.wp.com/i/buttonw-com.png</url>
		<title>Roman Canlas &#124; AppSec Engineer &#038; Author</title>
		<link>https://romancanlas.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://romancanlas.wordpress.com/osd.xml" title="Roman Canlas &#124; AppSec Engineer &#38; Author" />
	<atom:link rel='hub' href='https://romancanlas.wordpress.com/?pushpress=hub'/>
	<item>
		<title>The Dangers of Copy-Paste: ASP.NET Machine Keys and ViewState Security 🔑</title>
		<link>https://romancanlas.wordpress.com/2025/02/08/the-dangers-of-copy-paste-asp-net-machine-keys-and-viewstate-security-%f0%9f%94%91/</link>
					<comments>https://romancanlas.wordpress.com/2025/02/08/the-dangers-of-copy-paste-asp-net-machine-keys-and-viewstate-security-%f0%9f%94%91/#respond</comments>
		
		<dc:creator><![CDATA[Roman]]></dc:creator>
		<pubDate>Sat, 08 Feb 2025 20:24:10 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Application Security]]></category>
		<category><![CDATA[AppSec]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Code Security]]></category>
		<category><![CDATA[Confidentiality]]></category>
		<category><![CDATA[Decryption]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[Integrity]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[net-core]]></category>
		<category><![CDATA[Secure Coding]]></category>
		<category><![CDATA[Secure Development]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Threat Intelligence]]></category>
		<category><![CDATA[ViewState]]></category>
		<category><![CDATA[Web Application]]></category>
		<category><![CDATA[WebApp]]></category>
		<category><![CDATA[WebForms]]></category>
		<guid isPermaLink="false">http://romancanlas.wordpress.com/?p=308</guid>

					<description><![CDATA[In the fast-paced world of web development, it&#8217;s easy to fall into the trap of copy-pasting code snippets to expedite the process. As a former ASP.NET developer who has worked with WebForms, I&#8217;ve witnessed how this seemingly benign practice can open the door to significant security risks. A recent blog post from Microsoft Threat Intelligence [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>In the fast-paced world of web development, it&#8217;s easy to fall into the trap of copy-pasting code snippets to expedite the process. As a former ASP.NET developer who has worked with WebForms, I&#8217;ve witnessed how this seemingly benign practice can open the door to significant security risks.</p>



<p>A recent <a href="https://www.microsoft.com/en-us/security/blog/2025/02/06/code-injection-attacks-using-publicly-disclosed-asp-net-machine-keys/">blog post</a> from Microsoft Threat Intelligence shed light on a critical vulnerability stemming from publicly disclosed ASP.NET machine keys. These keys protect ViewState data&#8217;s integrity and confidentiality but can be compromised if developers inadvertently include them in their applications by copy-pasting from public sources.</p>



<p><a href="https://learn.microsoft.com/en-us/dotnet/architecture/blazor-for-web-forms-developers/state-management#request-state-management-with-viewstate">ViewState</a>, for those unfamiliar, is a mechanism in ASP.NET WebForms that preserves the state of a web page across postbacks. It&#8217;s essentially a hidden field that stores encoded and optionally encrypted data. The security of ViewState hinges on the machine keys &#8211; the ValidationKey for ensuring data integrity and the DecryptionKey for protecting sensitive information.</p>



<p>Imagine ViewState as a locked vault containing your application&#8217;s secrets. The machine keys are the combination of that vault. Now, picture a scenario where that combination is freely available on the internet, just waiting for a malicious actor to use it. That&#8217;s the danger of using publicly disclosed keys.</p>



<p>When a threat actor gets these keys, they can craft a malicious ViewState payload and send it to your application. ASP.NET, trusting the keys, will decrypt and validate the payload, inadvertently executing the attacker&#8217;s code. It&#8217;s like giving a burglar the keys to your house and inviting them in for coffee.</p>



<p>The consequences can be severe. In the incident described by Microsoft, an attacker used a publicly known machine key to perform a ViewState code injection attack, eventually deploying the Godzilla post-exploitation framework. This gave them remote code execution capabilities on the compromised IIS web server.</p>



<p>So, what can we, as developers, do to prevent such attacks? The most crucial step is to treat machine keys as the sensitive secrets they are. Never use keys from public sources or default values. Always generate your keys securely. It&#8217;s also good practice to rotate your keys regularly, adding an extra layer of protection.</p>



<p>In ASP.NET, you can set the machine keys in the web.config file using the element. However, a more secure approach is to encrypt sensitive sections of your configuration, ensuring that keys are never stored in plain text on the file system.</p>



<p>Upgrading to ASP.NET 4.8 is also recommended, as it enables advanced security features like the Antimalware Scan Interface (AMSI). Hardening your servers with attack surface reduction rules, such as blocking webshell creation, further enhances your defenses.</p>



<p>The key (pun intended) takeaway here is that security isn&#8217;t a one-time checkbox. It&#8217;s a continuous process of vigilance, best practices, and staying informed about emerging threats. The convenience of copy-paste can be tempting, but it&#8217;s not worth risking the integrity of your application and the trust of your users.</p>



<p>As web developers, we hold a great responsibility. The applications we build are not just lines of code; they are digital fortresses safeguarding valuable data. It&#8217;s up to us to ensure that the keys to those fortresses remain secure.</p>



<p>Stay safe out there, fellow developers. And remember, a little extra caution and much less Ctrl+C and Ctrl+V can go a long way in keeping your ASP.NET applications secure.</p>



<p></p>



<p>See if you&#8217;re environment is compromised by running this Powershell <a href="https://github.com/microsoft/mstic/blob/master/RapidReleaseTI/MachineKeyScan.ps1">script</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://romancanlas.wordpress.com/2025/02/08/the-dangers-of-copy-paste-asp-net-machine-keys-and-viewstate-security-%f0%9f%94%91/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:thumbnail url="https://romancanlas.wordpress.com/wp-content/uploads/2025/02/create-a-highly-detailed-sharp-focus-image-that-visually-represents-the-1.png" />
		<media:content url="https://romancanlas.wordpress.com/wp-content/uploads/2025/02/create-a-highly-detailed-sharp-focus-image-that-visually-represents-the-1.png" medium="image">
			<media:title type="html">create-a-highly-detailed-sharp-focus-image-that-visually-represents-the</media:title>
		</media:content>

		<media:content url="https://2.gravatar.com/avatar/5a3667a0fae35490d9821955004ced00d09ce50579507523759e797240ce7118?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">romancanlas</media:title>
		</media:content>
	</item>
		<item>
		<title>A Security Bug is a bug. Squash it too.</title>
		<link>https://romancanlas.wordpress.com/2021/07/18/a-security-bug-is-a-bug-squash-it-too/</link>
					<comments>https://romancanlas.wordpress.com/2021/07/18/a-security-bug-is-a-bug-squash-it-too/#respond</comments>
		
		<dc:creator><![CDATA[Roman]]></dc:creator>
		<pubDate>Mon, 19 Jul 2021 06:48:05 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://romancanlas.wordpress.com/?p=299</guid>

					<description><![CDATA[To the application security engineer, vulnerabilities are security bugs, so change your conversation with your developers. Why? In the mindset of a developer, its priorities are two things at the start of their day: Write new code for a new storyorFix critical bugs Unfortunately, the latter point does not include the vulnerabilities found from the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>To the application security engineer, <strong>vulnerabilities are security bugs</strong>, so change your conversation with your developers.</p>



<p>Why? In the mindset of a developer, its priorities are two things at the start of their day:</p>



<p class="has-text-align-center">Write new code for a new story<br />or<br /><strong>Fix critical bugs</strong></p>



<p>Unfortunately, the latter point does not include the vulnerabilities found from the security tests we, as security professionals, executed. The business value takes precedence over these discoveries without realizing that the risk that these security flaws pose will eventually bring the business value down. </p>



<p>A balance that a wise developer must consider if one ever reaches that epiphany.</p>



<p class="has-text-align-center">The solution? <em>Change the term.</em> Talk more about &#8220;<em>security <strong>bugs</strong></em>&#8221; than &#8220;<em>vulnerabilities</em>.&#8221; because to a developer, fixing bugs is second nature.</p>



<p>In my book &#8220;<strong><a href="https://packt.live/3AynVwV" target="_blank" rel="noreferrer noopener">ASP.NET Core 5 Secure Coding Cookbook: Practical recipes for tackling vulnerabilities in your ASP.NET web applications</a></strong>&#8220;, I use the term &#8220;<em>security bug</em>&#8221; more often than I should. The book talks directly to the developer psyche, with the step-by-step telling of how you can fix a security flaw in code.</p>



<p>So I say, grab my book and again, <span style="text-decoration:underline;">change the conversation</span>. </p>



<p>Let the &#8220;<a rel="noreferrer noopener" href="https://packt.live/3AynVwV" target="_blank"><strong>ASP.NET Core 5 Secure Coding Cookbook</strong></a>&#8221; guide your ASP.NET developer to better ways to solve a security problem.</p>



<p></p>



<figure class="wp-block-embed aligncenter is-type-rich is-provider-embed wp-block-embed-embed"><div class="wp-block-embed__wrapper">
<a href="https://images-na.ssl-images-amazon.com/images/I/41BtCPQsOLS.SX404_BO1,204,203,200.jpg"><img src="https://images-na.ssl-images-amazon.com/images/I/41BtCPQsOLS.SX404_BO1,204,203,200.jpg" style="max-width:100%;" /></a>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://romancanlas.wordpress.com/2021/07/18/a-security-bug-is-a-bug-squash-it-too/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/5a3667a0fae35490d9821955004ced00d09ce50579507523759e797240ce7118?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">romancanlas</media:title>
		</media:content>
	</item>
		<item>
		<title>Defense in Depth</title>
		<link>https://romancanlas.wordpress.com/2019/04/22/defense-in-depth/</link>
					<comments>https://romancanlas.wordpress.com/2019/04/22/defense-in-depth/#respond</comments>
		
		<dc:creator><![CDATA[Roman]]></dc:creator>
		<pubDate>Tue, 23 Apr 2019 03:52:43 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://romancanlas.wordpress.com/?p=281</guid>

					<description><![CDATA[What if I told you that a burglar is coming into your house later tonight and steal your most precious stuff? Would you just lock the door and call it safe? Leave your trust only to one solid thick door and be confident that any housebreaker will never get inside? Think otherwise. I often hear [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>What if I told you that a burglar is coming into your house later tonight and steal your most precious stuff? Would you just lock the door and call it safe? Leave your trust only to one solid thick door and be confident that any housebreaker will never get inside? Think otherwise.</p>
<p>I often hear that corporate LOB internal applications are secure because they have a robust authentication system, insisting that no one nefarious will be granted access. That they have a &#8220;rigorous&#8221; verification process of creating user accounts. I also hear people say they&#8217;re behind a sophisticated firewall and that attacks to applications will not succeed. While these statements are in its truest sense (at least in the context of network and not application security), there are other ways to circumvent this, and an attacker can think maliciously of different means and sources to get access to these systems.</p>
<p>Security platforms can&#8217;t wholly protect applications against a disgruntled employee, insider threats, social engineering, and open-source intelligence. Once the authentication is bypassed, what else is there to protect your app from cross-site scripting, SQL injection, and insecure deserialization attacks unless you have done your share of writing secure code?</p>
<p>Protection should come in layers. Attacks come in many forms and are not made in one step alone. Reducing the number of opportunities will prevent hackers from infiltrating into our system. It&#8217;s time to change our mindset about security. Let&#8217;s all be more defensive.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://romancanlas.wordpress.com/2019/04/22/defense-in-depth/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/5a3667a0fae35490d9821955004ced00d09ce50579507523759e797240ce7118?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">romancanlas</media:title>
		</media:content>
	</item>
		<item>
		<title>How Logging and Monitoring Helps</title>
		<link>https://romancanlas.wordpress.com/2019/02/10/how-appsec-logging-and-monitoring-helps/</link>
					<comments>https://romancanlas.wordpress.com/2019/02/10/how-appsec-logging-and-monitoring-helps/#respond</comments>
		
		<dc:creator><![CDATA[Roman]]></dc:creator>
		<pubDate>Mon, 11 Feb 2019 00:29:42 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://romancanlas.wordpress.com/?p=278</guid>

					<description><![CDATA[Imagine yourself getting involved in a significant application security incident. The line of business app that you are personally managing was hacked, breached, and data exposed. You need to provide information to top management. Now envision yourself again in the same situation but with no detail or information to give. Reason being? There’s not enough [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Imagine yourself getting involved in a significant application security incident. The line of business app that you are personally managing was hacked, breached, and data exposed. You need to provide information to top management. Now envision yourself again in the same situation but with no detail or information to give. Reason being? There’s not enough situational awareness inside your app that would understand what, how, and when these series of events happened.</p>
<p>Logging and monitoring help answer all of these fundamentally asked questions. It provides context merely to identify malicious activities that allow more in-depth incident analysis. Logging failed authentication, sensitive transactions, privilege escalation, access control, and server-side input validation are beneficial in establishing proactive response to threats and risks. Clear audit trails are great tools for investigating and resolving exploitations.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://romancanlas.wordpress.com/2019/02/10/how-appsec-logging-and-monitoring-helps/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/5a3667a0fae35490d9821955004ced00d09ce50579507523759e797240ce7118?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">romancanlas</media:title>
		</media:content>
	</item>
		<item>
		<title>Application Security is all about Risks</title>
		<link>https://romancanlas.wordpress.com/2019/01/24/application-security-is-all-about-risks/</link>
					<comments>https://romancanlas.wordpress.com/2019/01/24/application-security-is-all-about-risks/#respond</comments>
		
		<dc:creator><![CDATA[Roman]]></dc:creator>
		<pubDate>Fri, 25 Jan 2019 05:42:49 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://romancanlas.wordpress.com/?p=276</guid>

					<description><![CDATA[We (security engineers and alike) are in a worldwide mission to minimize and mitigate security risks in our applications. We strive to lessen the likelihood that our resources &#8211; data, people and information systems will be compromised or exposed. However, &#8220;probability&#8221; is a very subjective determination. How likely (or unlikely) an attacker can exploit a [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>We (security engineers and alike) are in a worldwide mission to minimize and mitigate security risks in our applications. We strive to lessen the likelihood that our resources &#8211; data, people and information systems will be compromised or exposed. However, &#8220;probability&#8221; is a very subjective determination. How likely (or unlikely) an attacker can exploit a vulnerability will all depend on several factors. Most if not all, security professionals simplify to arrive with a figure using arithmetical risk calculations.</p>
<p>Risk = Likelihood * Impact</p>
<p>There are plenty of methodologies out there and to gauge likelihood, here are points to consider:</p>
<p>1. The reliability of the exploit leaving such attacks undetected by our defensive security systems<br />
2. The required high-level or specialized skill to exploit the vulnerability<br />
3. The availability of kits that can ease up attack automation<br />
4. Necessitate permissions to carry out the successful malicious payload</p>
]]></content:encoded>
					
					<wfw:commentRss>https://romancanlas.wordpress.com/2019/01/24/application-security-is-all-about-risks/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/5a3667a0fae35490d9821955004ced00d09ce50579507523759e797240ce7118?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">romancanlas</media:title>
		</media:content>
	</item>
		<item>
		<title>Continuous Application Security Testing</title>
		<link>https://romancanlas.wordpress.com/2019/01/01/continuous-application-security-testing/</link>
					<comments>https://romancanlas.wordpress.com/2019/01/01/continuous-application-security-testing/#respond</comments>
		
		<dc:creator><![CDATA[Roman]]></dc:creator>
		<pubDate>Tue, 01 Jan 2019 22:57:45 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://romancanlas.wordpress.com/?p=274</guid>

					<description><![CDATA[As organizations and companies push infrastructure automation rapidly into the development pipeline brought by a need for business agility, one might ask how Application Security fits into this fast-paced orchestration of resources, myriad of test executions and accelerated deployment? Application Security testing shouldn&#8217;t be treated as a different beast. Everyone should discern that it is [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>As organizations and companies push infrastructure automation rapidly into the development pipeline brought by a need for business agility, one might ask how Application Security fits into this fast-paced orchestration of resources, myriad of test executions and accelerated deployment? Application Security testing shouldn&#8217;t be treated as a different beast. Everyone should discern that it is like any other test executed in the pipeline. The difference is in the value that it brings, and that is the security of the code in its static or dynamic form. It is not an antithesis for the speed of DevOps</p>
<p>The &#8220;Sec&#8221; in DevSecOps is foreign and unusual to some. A new concept certainly and if not done correctly can slow the whole pipeline down. This is where the accuracy of the tool and the correctness of the configuration becomes essential to a true DevSecOps implementation. We do not simply run the tool and do a fire-and-forget. We tweak and optimize to make it useful for its purposes.</p>
<p>Not all tools are created equal though. For longer running application security tests the best practice is to change the frequency of execution as cadence. It should never break the build. Making adjustments in the tests are key. After all, DevSecOps is all about being agile.</p>
<p>As we adopt the new DevOps let&#8217;s also look at the security features of our applications. DevSecOps is here to stay and so is Continuous Application Security Testing.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://romancanlas.wordpress.com/2019/01/01/continuous-application-security-testing/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/5a3667a0fae35490d9821955004ced00d09ce50579507523759e797240ce7118?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">romancanlas</media:title>
		</media:content>
	</item>
		<item>
		<title>Complexity is the enemy of App Security</title>
		<link>https://romancanlas.wordpress.com/2018/11/22/complexity-is-the-enemy-of-app-security/</link>
					<comments>https://romancanlas.wordpress.com/2018/11/22/complexity-is-the-enemy-of-app-security/#respond</comments>
		
		<dc:creator><![CDATA[Roman]]></dc:creator>
		<pubDate>Fri, 23 Nov 2018 05:54:29 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://romancanlas.wordpress.com/?p=272</guid>

					<description><![CDATA[It is quite challenging to secure something you don&#8217;t understand. More reasons why security and complexity are entirely at odds. Security itself is a complicated topic because of the number of factors to consider; from the possible vulnerabilities an application can have, to the number of ways to protect it. A simple security process plus [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>It is quite challenging to secure something you don&#8217;t understand. More reasons why security and complexity are entirely at odds. Security itself is a complicated topic because of the number of factors to consider; from the possible vulnerabilities an application can have, to the number of ways to protect it. A simple security process plus an uncomplicated tool (i.e. Checkmarx) can go a long way.</p>
<p>Code is one resource that can be difficult to secure. If not written properly, can result in a tedious task of reviewing for security flaws, slows down the performance of static analysis and can result in repetitive remediation in multiple places of the codebase. Clean code is a path to secure code.</p>
<p>Let&#8217;s make our code more readable too. After all, codes are written for people to read.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://romancanlas.wordpress.com/2018/11/22/complexity-is-the-enemy-of-app-security/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/5a3667a0fae35490d9821955004ced00d09ce50579507523759e797240ce7118?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">romancanlas</media:title>
		</media:content>
	</item>
		<item>
		<title>Fail Safe in Application Security</title>
		<link>https://romancanlas.wordpress.com/2018/09/02/fail-safe-in-application-security/</link>
					<comments>https://romancanlas.wordpress.com/2018/09/02/fail-safe-in-application-security/#respond</comments>
		
		<dc:creator><![CDATA[Roman]]></dc:creator>
		<pubDate>Mon, 03 Sep 2018 05:56:04 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://romancanlas.wordpress.com/?p=270</guid>

					<description><![CDATA[There are times when an application will experience failures due to a condition that is unexpected, or a use case that wasn&#8217;t anticipated resulting to an error. Making your apps fail to a safe state is a security design principle known as &#8211; surprise, surprise &#8220;Fail Safe.&#8221; What form of implementation could one possibly apply [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>There are times when an application will experience failures due to a condition that is unexpected, or a use case that wasn&#8217;t anticipated resulting to an error. Making your apps fail to a safe state is a security design principle known as &#8211; surprise, surprise &#8220;Fail Safe.&#8221;</p>
<p>What form of implementation could one possibly apply to force an app to fail safely and securely? For one, a developer can start to send users to default and generic error message when these exceptions occur. Prevent the system from divulging sensitive information like stack traces, code file paths or even the name of the stored procedure that failed to execute!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://romancanlas.wordpress.com/2018/09/02/fail-safe-in-application-security/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/5a3667a0fae35490d9821955004ced00d09ce50579507523759e797240ce7118?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">romancanlas</media:title>
		</media:content>
	</item>
		<item>
		<title>Validation vs Sanitization: which is which?</title>
		<link>https://romancanlas.wordpress.com/2018/08/12/validation-vs-sanitization-which-is-which/</link>
					<comments>https://romancanlas.wordpress.com/2018/08/12/validation-vs-sanitization-which-is-which/#respond</comments>
		
		<dc:creator><![CDATA[Roman]]></dc:creator>
		<pubDate>Sun, 12 Aug 2018 19:49:55 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://romancanlas.wordpress.com/?p=268</guid>

					<description><![CDATA[Validation is all about Yes and No. Answering questions using conditional logic in code helps determine if certain conditions are satisfied. These conditions can also be used to recognize if inputs are safe &#8211; no malicious tags, no evil characters and no attempts of injection attacks. It gives us the opportunity to reject trickery. Sanitization [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Validation is all about Yes and No. Answering questions using conditional logic in code helps determine if certain conditions are satisfied. These conditions can also be used to recognize if inputs are safe &#8211; no malicious tags, no evil characters and no attempts of injection attacks. It gives us the opportunity to reject trickery.</p>
<p>Sanitization is around changing input values. It&#8217;s a way to manipulate illegal characters, so they are replaced (or stripped off) making sure it is safe for our apps to process. It steers us off from the occurrence of data being interpreted as code and breaking it out of its contextual form.</p>
<p>&#8220;Validation or Sanitization?&#8221; is not a chicken or egg question. It is a chicken and egg answer. You need both in making your apps secure.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://romancanlas.wordpress.com/2018/08/12/validation-vs-sanitization-which-is-which/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/5a3667a0fae35490d9821955004ced00d09ce50579507523759e797240ce7118?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">romancanlas</media:title>
		</media:content>
	</item>
		<item>
		<title>Is your web app Secretly Mining Cryptocurrencies?</title>
		<link>https://romancanlas.wordpress.com/2018/08/11/is-your-web-app-secretly-mining-cryptocurrencies/</link>
					<comments>https://romancanlas.wordpress.com/2018/08/11/is-your-web-app-secretly-mining-cryptocurrencies/#respond</comments>
		
		<dc:creator><![CDATA[Roman]]></dc:creator>
		<pubDate>Sun, 12 Aug 2018 05:12:05 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://romancanlas.wordpress.com/?p=266</guid>

					<description><![CDATA[Bitcoin. LiteCoin. Monero. Ethereum. We&#8217;ve all heard about the different cryptocurrencies and for some of us, understood it more than an average investor (us being techies as such). What you probably don&#8217;t know is that its possible websites can use crypto miner scripts; scripts that run in-browser and utilize CPU power collectively and massively from [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Bitcoin. LiteCoin. Monero. Ethereum. We&#8217;ve all heard about the different cryptocurrencies and for some of us, understood it more than an average investor (us being techies as such).</p>
<p>What you probably don&#8217;t know is that its possible websites can use crypto miner scripts; scripts that run in-browser and utilize CPU power collectively and massively from visitors to mine cryptocurrencies.</p>
<p>If these crypto-mining scripts are not in any way referenced in your web applications, then your web apps are free from helping someone &#8220;mine&#8221; cryptocurrencies. Beware though, crypto jacking can occur, and someone might be getting crypto rich &#8211; at your company&#8217;s expense.</p>
<p>In one incident, hackers were able to alter a javascript file hosted by an Assistive Technology provider used in US government websites like the US Court. This modified javascript library injected the mining script until it was discovered late by the provider hours later.</p>
<p>As they always say, prevention is better than cure, so the way to counter this threat in one way is for web developers to implement Content Security Policy.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://romancanlas.wordpress.com/2018/08/11/is-your-web-app-secretly-mining-cryptocurrencies/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/5a3667a0fae35490d9821955004ced00d09ce50579507523759e797240ce7118?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">romancanlas</media:title>
		</media:content>
	</item>
	</channel>
</rss>
