<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
	>
<channel>
	<title>Comments on: Masking vs. Truncating</title>
	<atom:link href="http://www.mckeay.net/2009/11/12/masking-vs-truncating/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mckeay.net/2009/11/12/masking-vs-truncating/</link>
	<description>The views of one man on security, privacy and anything else that catches his attention.  The views expressed on this blog do not reflect the views of my employer or anyone other than myself.</description>
	<lastBuildDate>Thu, 02 Feb 2012 21:45:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<item>
		<title>By: Security</title>
		<link>http://www.mckeay.net/2009/11/12/masking-vs-truncating/comment-page-1/#comment-5778</link>
		<dc:creator>Security</dc:creator>
		<pubDate>Wed, 30 Dec 2009 21:17:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.mckeay.net/2009/11/12/masking-vs-truncating/#comment-5778</guid>
		<description>We have implemented a Dynamic Data Masking solution at the SQL*Net Protocol Layer. In this way we can intercept all inbound SQL while it is still outside of the database.
We have a Rules Engine that acts as an Oracle listener. The Rules allow us to implement security policies at the enterprise level. 

A Rule can match SQL based on a number of options, not the least of which is SQL text, but also the UserID, Program, Time of Day, IP Address of the origination.

If the criteria of the rule is matched, we apply an appropriate action. Action include rewrite, block, redirect to mention a few.

One of the simplest illustrations of this is an application sends in SELECT NAME, we rewrite the statement to SELECT SUBSTR(NAME,1,2)&#124;&#124;&#039;***&#039; which will take the name &#039;Tiger&#039; and display it as &quot;Ti***&quot;. There are a variety of truncation, masking and scrambling algorithms available.

This has proven to work with any application, including in DWH environments that use a variety of tools, BO, OBIEE, Cognos, etc.
It also works with Dev Tools such as Toad, DBArtisan, PL/SQL, SQL*Plus and others.

Also we have implemented this in ERP/CRM applications where we do not have access to the source code.

The beauty of this solution is that the underlying data is not masked, but it is returned masked at the presentation layer. What this allow us to do is to use this in PRODUCTION as well.

We have different groups of Production DBA&#039;s. Some are local employees and others are cross-border 
contractors. Both groups use Toad and have SYSDBA. The local employees are permitted to see the real data, but rule identifies requests from the cross-border contractors and they do not get to see the real data when they are browsing. But if we do need to give access, then we can temporarily disable the rule for an hour and then turn the rule back on.</description>
		<content:encoded><![CDATA[<p>We have implemented a Dynamic Data Masking solution at the SQL*Net Protocol Layer. In this way we can intercept all inbound SQL while it is still outside of the database.<br />
We have a Rules Engine that acts as an Oracle listener. The Rules allow us to implement security policies at the enterprise level. </p>
<p>A Rule can match SQL based on a number of options, not the least of which is SQL text, but also the UserID, Program, Time of Day, IP Address of the origination.</p>
<p>If the criteria of the rule is matched, we apply an appropriate action. Action include rewrite, block, redirect to mention a few.</p>
<p>One of the simplest illustrations of this is an application sends in SELECT NAME, we rewrite the statement to SELECT SUBSTR(NAME,1,2)||&#8217;***&#8217; which will take the name &#8216;Tiger&#8217; and display it as &#8220;Ti***&#8221;. There are a variety of truncation, masking and scrambling algorithms available.</p>
<p>This has proven to work with any application, including in DWH environments that use a variety of tools, BO, OBIEE, Cognos, etc.<br />
It also works with Dev Tools such as Toad, DBArtisan, PL/SQL, SQL*Plus and others.</p>
<p>Also we have implemented this in ERP/CRM applications where we do not have access to the source code.</p>
<p>The beauty of this solution is that the underlying data is not masked, but it is returned masked at the presentation layer. What this allow us to do is to use this in PRODUCTION as well.</p>
<p>We have different groups of Production DBA&#8217;s. Some are local employees and others are cross-border<br />
contractors. Both groups use Toad and have SYSDBA. The local employees are permitted to see the real data, but rule identifies requests from the cross-border contractors and they do not get to see the real data when they are browsing. But if we do need to give access, then we can temporarily disable the rule for an hour and then turn the rule back on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Security Briefing &#8211; November 13th : Liquidmatrix Security Digest</title>
		<link>http://www.mckeay.net/2009/11/12/masking-vs-truncating/comment-page-1/#comment-5417</link>
		<dc:creator>Security Briefing &#8211; November 13th : Liquidmatrix Security Digest</dc:creator>
		<pubDate>Fri, 13 Nov 2009 14:17:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.mckeay.net/2009/11/12/masking-vs-truncating/#comment-5417</guid>
		<description>[...] Masking vs. Truncating &#8211; Network Security Blog [...]</description>
		<content:encoded><![CDATA[<p>[...] Masking vs. Truncating &#8211; Network Security Blog [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

