<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Surkatty.org</title><link>https://surkatty.org/</link><description></description><lastBuildDate>Wed, 08 Feb 2023 00:00:00 +0000</lastBuildDate><item><title>Possible GPT Side Effects</title><link>https://surkatty.org/blog/2023/02/08/possible-gpt-side-effects.html</link><description>&lt;p&gt;Much like the rest of the internet, I was completely blown away when I used
&lt;a href="https://openai.com/blog/chatgpt/"&gt;ChatGPT&lt;/a&gt; for the first time back in December
'22. Since then
&lt;a href="https://www.nytimes.com/2023/02/03/technology/chatgpt-openai-artificial-intelligence.html"&gt;much&lt;/a&gt;
&lt;a href="https://www.wsj.com/articles/chatgpt-ai-chatbot-app-explained-11675865177"&gt;has been&lt;/a&gt;
&lt;a href="https://gizmodo.com/cnet-chatgpt-ai-articles-publish-for-months-1849976921"&gt;written about&lt;/a&gt;
&lt;a href="https://www.bloomberg.com/opinion/articles/2022-12-10/how-to-save-your-job-from-chatgpt"&gt;the topic&lt;/a&gt;
&lt;a href="https://relevantmagazine.com/culture/tech-gaming/chatgpt-just-passed-the-bar-and-med-school-exams/"&gt;by a variety&lt;/a&gt;
of news outlets and &lt;a href="https://duckduckgo.com/?q=site%3Alobste.rs+gpt&amp;amp;t=ffab&amp;amp;df=2022-12-01..2023-02-08&amp;amp;ia=web"&gt;by other hackers&lt;/a&gt;
across the internet. Topics like safety, bias, accuracy, impact to current jobs, and wild
predictions have all been discussed ad nauseam. However, as the future of chat bots and
generative text services emerge from companies like
&lt;a href="https://www.reuters.com/technology/how-get-microsofts-new-ai-enhanced-bing-2023-02-07/"&gt;Microsoft&lt;/a&gt;
and &lt;a href="https://blog.google/technology/ai/bard-google-ai-search-updates/"&gt;Google&lt;/a&gt;,
I believe there is a topic that hasn't quite made it yet into the zeitgeist yet.
What will be AI's side effect(s) as it is incorporated into search engines?&lt;/p&gt;
&lt;h2&gt;Search Engines in 1990s-2010's&lt;/h2&gt;
&lt;p&gt;As the internet gained traction in the '90s, there was an increasing need to
make its content more accessible and organized. Companies like Yahoo! organized
the content into directories; Ask Jeeves tried use natural language for a more
natural Q&amp;amp;A experience; and of course Google's simplicity, speed, and quality
eventually won out. Google's mission has been to "organize the world's data". Google's
product was better in every conceiveable way and internet users flocked to them
en masse. Users no longer "searched" the web, they "googled" it.&lt;/p&gt;
&lt;p&gt;Google then leveraged its dominant position to take advantage of its users. It
was able to capitalize on user data in the form of online advertising, it
maintained its dominant "default" position through exclusivity deals with
browser and other software vendors, and in-turn the profits it reaped it
reinvested heavily as a part of its virtuous flywheel. Its early investments
allowed it to catapult into the stratrosphere of internet history by becoming an
immensely profitable internet juggernaut, a position it still enjoys to this
day. However, this isn't a post about a retrospective on Google, but rather
search engines.&lt;/p&gt;
&lt;p&gt;In the time between the popularization of search engines through the early
2010's, the relationship between users, the search engine, and website owners 
remained largely unchanged, which was:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Users visited their favorite search engine to perform a search,&lt;/li&gt;
&lt;li&gt;Search engines would return relevant links,&lt;/li&gt;
&lt;li&gt;Users would click a link from the search results,&lt;/li&gt;
&lt;li&gt;Website owners would get a visit from the user&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This relationship was about to shift as search engines became even more powerful
and could organize the world's data better.&lt;/p&gt;
&lt;h2&gt;Search Engines in 2010s-2020s&lt;/h2&gt;
&lt;p&gt;In 2012 Google introduced the world to &lt;em&gt;Knowledge Graph&lt;/em&gt; in &lt;a href="https://blog.google/products/search/introducing-knowledge-graph-things-not/"&gt;a blog post&lt;/a&gt;
which started with the words, "Search is a lot about discovery.." They touted
how it would allow users to find the information they were looking for directly
within Google's search queries without having to clickthrough to the original
source. It operated on well structured sources like Wikipedia and CIA's World
Factbook, but its impact more far reaching. It influenced a generation of
search engine developers to no longer act merely a waypoint for user's internet
search journey, but as its terminus.&lt;/p&gt;
&lt;p&gt;No longer did users have to rely on search engines to find and organize
relevant &lt;em&gt;links&lt;/em&gt;, but they could rely on search engines to also present
&lt;em&gt;information&lt;/em&gt; directly to them. Website owners like
&lt;a href="https://blog.yelp.com/news/googles-local-search-results-harm-consumers-eu-acted/"&gt;Yelp&lt;/a&gt;,
&lt;a href="https://www.bbc.com/news/business-55357340"&gt;Amazon, Expedia, and others&lt;/a&gt;, as
well as regulators like &lt;a href="https://www.bbc.com/news/business-54619148"&gt;US DoJ&lt;/a&gt;,
have long recognized these consequences of search engines no longer became
content with being waypoints. The new paradigm shifted the relationship to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Users visited their favorite search engine to perform a search,&lt;/li&gt;
&lt;li&gt;Search engines would return relevant information and links,&lt;/li&gt;
&lt;li&gt;Users would either be content with the information returned, or they may
   click through a link from the search results,&lt;/li&gt;
&lt;li&gt;Website owners would enjoy &lt;em&gt;some&lt;/em&gt; clickthrough.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To ensure that users discovered what they were looking for, search engine
companies continued to iterate on step #2 to reduce the need to clickthrough off
of their sites. However, nobody stopped to talk about what would happen to
website owners if they became wholly redundant.&lt;/p&gt;
&lt;h2&gt;Search Engines in 2020s and beyond&lt;/h2&gt;
&lt;p&gt;Microsoft's Bing and Alphabet's Google currently enjoy a ~95% market share for
search engine traffic in the US as of February 2023 according to
StatCounter.com. Both of these companies have both announced in early 2023 their
intentions to include a ChatGPT-like experience to their search engines. If they
are successful at conquering the challenges that lay ahead of them - i.e.,
accuracy, bias, safety, etc. - then I would posit that this shift will impact
every single website owner on the internet today.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Why would a developer clickthrough to StackOverflow if they can get answers to
  their coding problem within the search results?&lt;/li&gt;
&lt;li&gt;Why would a home chef read a blogger's post to understand a base recipe for a
  new dish they are trying to make?&lt;/li&gt;
&lt;li&gt;Why would an event planner visit an SEO spam list website which rehashes the
  same event ideas that can be found in simple, condensed, and well presented
  way in a well known and familiar search interface?&lt;/li&gt;
&lt;li&gt;Why wouldn't a user just keep refining their search query in the search engine
  to get the answer they were looking for rather than contending with some
  random website they'll have to parse through?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For some time there will be categories of search where users will need to
continue to click through until the AI results are good enough, but I cannot
think of a single category that couldn't be ultimately organized and centralized
into this new paradigm. I think we'll quickly see the paradigm of search engines
shift to the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Users visited their favorite search engine to perform a search,&lt;/li&gt;
&lt;li&gt;Search engines return relevant information&lt;/li&gt;
&lt;li&gt;...done?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As far as I know, nothing can stop this inevitability. The current search engine
giants are going to use AI to collectively organize the world's information.
They will use this information to become the terminus of knowledge for users.
They will no longer act as gatekeepers that point or bias their users to a set
of web properties that match their algorithm.&lt;/p&gt;
&lt;p&gt;I hope I am wrong, but I see this another step to the centralization of the
internet, and the ossification of the current internet giants. Perhaps Bing will
finally be able to pass Google as &lt;a href="https://www.nytimes.com/2022/12/21/technology/ai-chatgpt-google-search.html"&gt;they were asleep at the
wheel&lt;/a&gt;,
and time will tell if that happens, but things are about to get so much worse
for small-to-medium website owners.&lt;/p&gt;
&lt;p&gt;Either way, you're probably not reading this on my website anyways. Our AI
overlords have in all likelihood summarized this article into a more manageable
format for your consumption. Long live our AI overlords.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Wed, 08 Feb 2023 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2023-02-08:/blog/2023/02/08/possible-gpt-side-effects.html</guid><category>misc</category></item><item><title>Surfing On The Pseudoanonymous Web</title><link>https://surkatty.org/blog/2022/11/26/surfing-on-the-pseudoanonymous-web.html</link><description>&lt;p&gt;For as long as I can remember I've tried to minimize uncontrolled data and
metadata emissions from my web activity. After many years of trying, I've come
to realize that I won't be able to stop all emission, but regardless I continue
to enjoy its pursuit as an intellectual exercise. I've used common privacy tools
and techniques like browser ad-blockers, unique email addresses, opt-out
settings, as well as other steps you're likely familiar with. Within the
information security community these steps aren't necessarily considered to be
tinfoil-hat-level paranoia behavior, but are rather basic steps required to
increase your privacy on the web in 2022.&lt;/p&gt;
&lt;p&gt;Reduction of emission alone won't be sufficient, because inevitably a limited amount of data
will slip through your filters. Thus you also need to focus on degrading the
quality of data you emit in order to reduce its overall signal quality. To
understand how to do this effectively, we must understand how modern analytics
companies identify your behavior and sell it to their custoemrs. To grossly
oversimplify what they do, analytics companies attempt to find and group your
behavior into clusters. In order to do this, they rely on high quality data
markers. For example, if you visit a website about nursing techniques for new
born babies, then you must be a parent of a newborn baby or are expecting to
have a baby soon. In order to successfully group you into known clusters,
analytics companies must therefor find high quality data points that they can
use to positively correlate disparate data points together. One of the most
common data points used today are stable user identifiers. These identifiers are
used across various services or websites that you visit or use e.g., your email
address and device ID can be used to tie identities together across multiple
services into a single profile. Ergo, if you want to reduce the probability of
successful correlation, you must reside within the &lt;a href="https://en.wikipedia.org/wiki/Noise_floor"&gt;noise
floor&lt;/a&gt; of behavior correlation
algorithms as best as you can.&lt;/p&gt;
&lt;p&gt;One of the most stable data point you will always emit over the internet today
is your IP address. Whether you are sending or receiving data, the TCP/IP stack
must know what IP addresses are involved in a connection. This design
decision would be less problematic if it wasn't for the fact that ISPs - at
least those used historically by this author - offer only 'sticky' IP leases
which cannot be easily relinquished or cycled through. Even if you could
relinquish these leases, having multiple devices emit this identifier (i.e.
mobile phone when you're connected to your home wifi) means it can be used as a
possible identifier. The average internet user cannot obfuscate this identifier easily
without relying or resorting to third party services. As a result, analytics companies
are able to use this &lt;em&gt;relatively&lt;/em&gt; stable data point to tie together your
identity with other data points they may possess. For example, a user coming IP
address &lt;code&gt;4.2.4.2&lt;/code&gt; using Chrome browser on Windows with certain settings/addons
is likely to be the same user who also had those same data points as before.
This allows website operators to do some neat things like not require a SMS OTP
to login again. However, if your goal is to reduce the probability of a
service/website knowing who you are, this can become problematic. So what are
you to do in 2022? Well, you can surf on the pseudoanonymous web.&lt;/p&gt;
&lt;p&gt;The pseudoanonymous web allows users to obfuscate their identity by commingling
their internet traffic together with other users or by obscuring the
source/destination of their network traffic. There are a number of different
methods to accomplish this today (e.g. VPN, I2P, and TOR), each with their own
pros/cons, but the net effect on the user is some semblance of an anonymous
existence on the modern web. &lt;/p&gt;
&lt;p&gt;Leveraging the pseudoanonymous web does result in some other effects which users
may not be immediately aware of. The largest of effect being that you will be
lumped together with the lowest/worst common denominator definition for your
network adjacent users. For example, if another user on the same IP address is
scraping websites or sending out email spam, your traffic will be treated as if
you were the perpetrator. This may mean that you may be able to read a website,
but won't be able to contribute to it (e.g. Wikipedia). It may mean you will be
trapped in an endless cycle of attempts to prove that you're a human (e.g.
Google's reCAPTCHA). It may also mean that IP reputation vendors may flag your
IP address/account with additional metadata like "open proxy", "low trust", or
other flags which will prevent you from using DRM heavy services like video
streaming services or complete online purchases. As a pseudoanonymous web user,
your experience of the web becomes that of an edge case to website operators.
You will be relegated to a code path which is either not well tested or defaults
to "deny". As a blue teamer, I can understand and sympathize why website
operators are not incentivized to optimize for this user experience path, but it
can be a point of frustration for those who want to gain some degree of
anonymity.&lt;/p&gt;
&lt;p&gt;All is not lost though. The chief benefit of the pseudoanonymous web is that it
does grant some degree of default anonymity. The ability of the average of
the website administrator or network operator to be able to positively identify
you, when combined with other data emission reduction/elimination techniques, is
as near to zero as you can practically hope for. Without significant engineering
effort on their part, or without nation state level capabilities, I am not aware
of viable or scalable techniques that would allow cross device activity
correlation without using additional correlative data points. For example,
correlating behavior of my desktop network activity and my mobile device
activity would be very difficult without another data point like account/device
ID, email address, or something else. The network may &lt;a href="https://blog.cryptographyengineering.com/2015/08/16/the-network-is-hostile/"&gt;be
hostile&lt;/a&gt;,
but that doesn't mean I can't take steps to reduce its hostility towards me or
others. I'd encourage you use pseudoanonymous web and let me know how it goes.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Sat, 26 Nov 2022 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2022-11-26:/blog/2022/11/26/surfing-on-the-pseudoanonymous-web.html</guid><category>misc</category></item><item><title>On Abuse Mitigation</title><link>https://surkatty.org/blog/2016/01/23/on-abuse-mitigation.html</link><description>&lt;p&gt;Over the past several years I had the pleasure of mitigating abuse for a small
community forum as well as large hosting provider. I hadn’t intended on dealing
with service abuse in my technology career, but it had just happened to fall
into place. Before I go further into this post I should take some time to
explain what I mean by “abuse”. Abuse is any action that is explicitly
prohibited by a site’s or service’s Acceptable Use Policy (AUP). In this post I
won’t cover fraudulent activities, which some organizations consider to be one
and the same as far as abusive activity goes, rather I will focus on how
service providers can help identify and mitigate abuse on their own service.&lt;/p&gt;
&lt;p&gt;Written by lawyers, AUPs are intentionally vague policies which encompass
things like prohibition of illegal, undesirable, or unwanted activity on a
given service. This can be things like DoS, spamming, web crawling, hosting of
potentially unwanted programs, or running other troublesome services. Services
like IRC servers, Tor exit nodes, and BitTorrent are generally called out by
name due to the headache and liability that they are to service providers. AUPs
are generally used as the guiding rulebook for what constitutes abuse on a
given service provider.&lt;/p&gt;
&lt;p&gt;Without a dedicated team to mitigate abuse on your service, it can be a taxing
task to continually adapt to new abuse threats. These threats, which are
constantly evolving, can be as complicated as running your own core business so
it is important for you to understand what makes them tick. As you approach
your own battles with abuse, I think it is wise to think about the following
approaches to mitigating abuse: know thy customers, profile the abusers, and
understand their business models.&lt;/p&gt;
&lt;p&gt;As an average citizen of the Internet, you have a moderate amount of anonymity
and you can (generally) move relatively unencumbered throughout the Internet.
For example, anybody can sign-up for an email account, your customers can
sign-up for your service from any geolocation, and use any user agent to
accomplish this. This freedom is what allows any arbitrary citizen of the
Internet the ability to sign-up for your service. However as a service
provider, this is the bane of your existence when it comes to mitigating abuse.
Therefor you need to enact certain controls which allow you to positively
identify your customer through a variety of means. The simplest of which is a
simple pair of identifying credentials which usually take the form of an
email/password pair. Though you shouldn’t stop there as this is only the
beginning when it comes to knowing your customer. The true challenge is to
discover whether or not the customer who just signed-up for your service is
indeed a real human. Providers can implement a variety of controls like email
verification, risk based profiling, blacklisting of abusive IP addresses, and
more. This helps increase the confidence level that a given user is indeed a
real human being and not a bot that was designed to take advantage of your
service. A &lt;a href="https://en.wikipedia.org/wiki/Blade_Runner#Voight-Kampff_machine"&gt;Voight-Kampff
test&lt;/a&gt; for
bots is an art that requires constant refinement based on your service’s use
case and its threats. For example, how likely is it for a customer to click on
the email verification link from a different user agent than the one they used
to sign up for the service? What are the amount of minutes from completing the
sign-up process to the first API call? Being able to answer questions like
these will help you better know what constitutes a real human customer, which
will of course help you answer who is unlikely to be a real human.&lt;/p&gt;
&lt;p&gt;The United States Secret Service (USSS), whose responsibilities include the
prevention and investigation of counterfeit US currency, had a problem in their
anti-counterfeit training. They needed to identify counterfeit bills which were
circulating throughout the economy. They found that there are nearly endless
ways that US currency could be counterfeited and new techniques continue to
crop up each day. So after years of trial and error in their training process,
the USSS instead focused their training on what a real US currency looked like
or what its attributes are. Specifically what a real bill feels like, what
countermeasures exists on real bills, its dimensions, its weight, and a variety
of other telltale signs of a real bill. Once you know what the expected normal
US bill would look like, it is relatively simple to detect counterfeit
techniques.&lt;/p&gt;
&lt;p&gt;Much like counterfeit bills once you know what a genuine customers look like,
we can now focus on what an abusive customer looks like. Abusive customers are
generally trying to take advantage of your service to accomplish a particular
goal. This can be either for spamming purposes, DoS, or other common abuse
patterns mentioned above. The type of abuse you will see will undoubtedly
change as the return on investment from their abusive activities shift. It is
important that you understand how they are making money from their actions as
this will help you identify ways to reduce their revenue. Once you understand
their revenue source, you can focus your efforts on lowering the overall
utility that your service provides to their goals. For example, an email
spammer may only get paid if they are able to send a high amount of email for
their spam campaign. By not allowing new customers to send a high rate of
emails or capping the total number of email recipients to a moderate amount,
this will lower the usefulness a given account will have to a would be email
spammer.&lt;/p&gt;
&lt;p&gt;From a personal experience in running a small forum for a number of years, I
found that one constant angle that spammers would like to take advantage of is
Blackhat SEO spamming. Specifically these spammers tried to inject links to
their client’s website onto your site in the hopes that search engines would
rank their own websites higher because of page rank association. To help lower
the utility of a link inserted into my site, I added &lt;code&gt;rel=“nofollow”&lt;/code&gt;
attribute on all links submitted by users and disallowed the insertion of links
for new users. This greatly reduced this type of spam overnight. The spammers
identified my site was of no use to them and moved on to their next victim
website. There is simply no substitute for hitting the abusers in their
pocketbooks.&lt;/p&gt;
&lt;p&gt;Mitigation of abuse is a constantly evolving issue that service providers will
need to cope with. Much like fraud, it is a battle that is never ever truly won
as new abuse techniques emerge. In fact when you become complacent in
mitigating abuse, you will likely find a new wave of abuse will come to take
advantage of your service.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Sat, 23 Jan 2016 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2016-01-23:/blog/2016/01/23/on-abuse-mitigation.html</guid><category>misc</category></item><item><title>Certificate Authorities, the shady world of trust</title><link>https://surkatty.org/blog/2013/07/21/certificate-authorities-the-shady-world-of-trust.html</link><description>&lt;p&gt;In 2011 Moxie Marlinspike gave his &lt;a href="http://www.thoughtcrime.org/blog/ssl-and-the-future-of-authenticity/"&gt;SSL And The Future Of
Authenticity&lt;/a&gt;
talk at DEFCON 19 and I was fortunate enough to be there in the audience. He
spoke of the current state of trust in Certificate Authorities (CA) and the
associated problems with it. His talk concluded by introducing
&lt;a href="http://convergence.io/"&gt;Convergence&lt;/a&gt;, an alternative way to verify trust for
SSL certificates without a CA. In listening to him talk I become enamored by the
topic and wanted to learn a whole lot more after DEFCON. Shortly after this I
began toying with the idea of becoming my own Certificate Authority and wanted
to learn more about the vetting process associated with CAs.&lt;/p&gt;
&lt;p&gt;In my naiveness I assumed the process would be easy and that I would be able to
usurp various root trust stores with very little vetting. Thankfully I was
proven wrong. In my journey I discovered that the only thing in my way from
being added to various trust stores was a third party audit which costs a lot of
money. Darn!&lt;/p&gt;
&lt;p&gt;With the new found knowledge that it was in fact &lt;em&gt;kind of&lt;/em&gt; hard to become
a CA, I decided to change my focus to learn more about the vetting process and
share the knowledge of what I've learned there. This culminated into a talk that
I gave at Black Lodge Research. I'd recommend that you my dear reader review the
slides and feel free to &lt;a href="/contact"&gt;reach out to me&lt;/a&gt; if you have
any questions. I purposefully left out much context from the slides, but I'd be
willing to share context for each slide if there is interest in it.&lt;/p&gt;
&lt;p&gt;Slides: &lt;a href="/files/ca_presentation.pdf"&gt;Certificate Authorities, the shady world of
trust&lt;/a&gt; (PDF)&lt;/p&gt;
&lt;p&gt;If you see any errors in my slides, please let me know and I'll be sure to make edits where appropriate.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Sun, 21 Jul 2013 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2013-07-21:/blog/2013/07/21/certificate-authorities-the-shady-world-of-trust.html</guid><category>misc</category></item><item><title>Responsible Disclosure List</title><link>https://surkatty.org/blog/2013/06/17/responsible-disclosure-list.html</link><description>&lt;p&gt;Recently I became enamored by the concept of &lt;a href="https://en.wikipedia.org/wiki/Responsible_disclosure"&gt;Responsible
Disclosure&lt;/a&gt;. After reading
up on the topic, I began digging at what various companies are doing on this
particular topic. Unfortunately I found that this information was extremely hard
to come by. Information on points of contact, disclosure policies, and various
other bits are well fragmented.&lt;/p&gt;
&lt;p&gt;I also searched for some sort of database or website on the topic and I was only
met by other websites or blogs that noted how hard it was to find information on
the topic.  The only standard I found on the topic was a &lt;a href="https://tools.ietf.org/id/draft-christey-wysopal-vuln-disclosure-00.txt"&gt;draft
IETF document from May
2002&lt;/a&gt;
which was never ratified. IETF did ratify &lt;a href="https://www.ietf.org/rfc/rfc2142.txt"&gt;RFC
2142&lt;/a&gt; which noted that
companies should maintain a &lt;strong&gt;security@&lt;/strong&gt;&lt;em&gt;example.com&lt;/em&gt; mailbox for the
purpose of "Security bulletins or queries." Unfortunately most companies either
do not know about this RFC or simply choose to not follow it.&lt;/p&gt;
&lt;p&gt;To help solve this issue, I've put together a comprehensive list of various
"Responsible Disclosure" webpages for various vendors, companies, and
organizations that post their information publicly. I plan on hosting and
maintaining the document perpetuity.&lt;/p&gt;
&lt;h4&gt;&lt;a href="https://docs.google.com/a/surkatty.org/spreadsheet/lv?key=0AhJcgEMWwpzLdFpaa0YyVk9ydUZSdmktZjRfWGxiTEE&amp;amp;rm=full#gid=0"&gt;Responsible Disclosure List&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;If you discover any errors or would like to include your organization's
information, all I ask is that you &lt;a href="/contact"&gt;contact me&lt;/a&gt; with
the relevant pieces of information to update.&lt;/p&gt;
&lt;h3&gt;Recommendations for companies&lt;/h3&gt;
&lt;p&gt;From forming the list above I've come up with a non-exhaustive list of
recommendations to companies that are thinking about posting policies publicly.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Do it&lt;/strong&gt;. You have everything to gain and nothing to lose from being open and transparent&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Have a point of contact and be responsive&lt;/strong&gt;. As noted earlier, security@ is RFC2142 compliant
in lieu of this list, researchers would likely try that email address.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reward researchers.&lt;/strong&gt; Whether that is through a &lt;a href="https://www.google.com/about/appsecurity/reward-program/"&gt;Bug Bounty
program&lt;/a&gt;,
&lt;a href="http://www.reddit.com/wiki/whitehat"&gt;a funny hat&lt;/a&gt;, or a simple &lt;a href="https://www.facebook.com/whitehat/thanks/"&gt;thank
you&lt;/a&gt;,
researchers will be more likely to responsibly disclose if they are incentivized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Generate and publish a PGP key&lt;/strong&gt;. It is amazing how many organizations do not do this
for such a sensitive topic as vulnerabilities.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Recommendation for researchers&lt;/h3&gt;
&lt;p&gt;If you're thinking about reporting a vulnerability to a company on the list, I'd
recommend that you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Know your rights&lt;/strong&gt;. EFF published the &lt;a href="https://www.eff.org/issues/coders/vulnerability-reporting-faq"&gt;Coders’ Rights Project Vulnerability
Reporting FAQ&lt;/a&gt;
which covers many commons questions that you may have when reporting a vulnerability&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Understand the company's policy&lt;/strong&gt;. Some companies have very strict and
well thought out policies on this topic. If you're seeking monetary or other
rewards from a Bug Bounty program, make sure you read it front to back before
moving forward. When in doubt, ask the company to clarify their policies&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Be responsible&lt;/strong&gt;. Understand that real people with busy schedules are
on the other side of email address you reached out to. For a rule of 
thumb you should: expect a non-robot replies within 48 hours and up to 60 days of
time required to resolve the issue (although Google claims most issues can be
solved &lt;a href="http://googleonlinesecurity.blogspot.com/2013/05/disclosure-timeline-for-vulnerabilities.html"&gt;within 7
days&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope I was able to cover this topic in some level of detail that was useful
to you my dear reader. If you have a question or would like me to clarify 
something, feel free to &lt;a href="/contact"&gt;reach out to me&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Mon, 17 Jun 2013 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2013-06-17:/blog/2013/06/17/responsible-disclosure-list.html</guid><category>misc</category></item><item><title>On Running Tor Relays</title><link>https://surkatty.org/blog/2013/04/12/on-running-tor-relays.html</link><description>&lt;p&gt;When I first learned about the &lt;a href="https://www.torproject.org/"&gt;Tor Project&lt;/a&gt; in late 2000's, I immediately wanted to contribute. There are many
ways for individuals to contribute to the project such as through
&lt;a href="https://www.torproject.org/donate"&gt;donating&lt;/a&gt;,
&lt;a href="https://www.torproject.org/getinvolved"&gt;volunteering&lt;/a&gt;, or by telling
your friends and family about the project. One of the ways I chose to contribute
is by running a Tor exit node. Before I go into my experience and
recommendations in successfully running an exit node, I'd like to cover some
basic terminology. In general there are three types of relays or nodes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tor Relay: These hosts are the backbone of the Tor network. They act as an
entry point into the network and they pass traffic between relays as well.&lt;/li&gt;
&lt;li&gt;Bridge relays: These relays act just like regular relays, but are not
published in the public Tor directory&lt;/li&gt;
&lt;li&gt;Exit nodes: In addition to acting like a Tor relay, they also act as a last
hop (or exit) for the Tor network&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For those who are unfamiliar or would like to contribute by running a relay,
I would recommend beginning with either a regular Tor Relay or a Bridge. Both of
those choices are safe because they will not allow any of Tor's traffic to exit
through your node. The relay will simply increase the overall bandwidth and host
diversity of the overall Tor network.&lt;/p&gt;
&lt;p&gt;Once you've had some experience running a Tor relay or Bridge for awhile, I
would encourage you to consider running a full-fledged Exit node. From my
personal experience, the switch was relatively painless and seamless. As long as
you follow project's recommended practices, you should be able to run one with
minimal issues.&lt;/p&gt;
&lt;p&gt;In order to reduce and/or eliminate the number of complaints you may receive,
you should consider running a reduced exit policy. Exit policies are a way for
Tor to limit what ports/protocols can exit through your node. You can find a 
recommended &lt;a href="https://trac.torproject.org/projects/tor/wiki/doc/ReducedExitPolicy"&gt;reduced exit
policy&lt;/a&gt; on
the project's website. This exit policy covers some of the most common
ports/protocols that have a low likelihood of being abused by a malicious actor.&lt;/p&gt;
&lt;p&gt;I would discourage you from running a wide open Exit node, as you will likely
run into issue rather quickly. When I first started runnin an Exit node, I
decided to runa wide open policy. This resulted in me receiving 17 DMCA
complaints after a week of running the node. Once I switched to a reduced exit
policy, I never received another complaint from my ISP.&lt;/p&gt;
&lt;p&gt;Many ISPs and companies do not explicitly deny Tor, but it is always a good idea
to check their Acceptable Use Policy or Terms of Service to ensure you are not
violating any rules. In reviewing these policies, you should search for sections
specifically prohibiting the running of a "proxy" or other network services.&lt;/p&gt;
&lt;p&gt;If you cannot find anything specifically prohibiting Tor, you should take a look
at the community maintained list &lt;a href="https://trac.torproject.org/projects/tor/wiki/doc/GoodBadISPs"&gt;Good/Bad
ISPs&lt;/a&gt;. If your
ISP or hosting provider is not on the list, then you should contact them
directly for clarification on running an exit node.&lt;/p&gt;
&lt;p&gt;From my personal experience of running an exit node on and off for the past
~3 years, the biggest challenge is just to ensure you keep your tor server
up-to-date. Running a responsible exit node will likely not land you in hot
waters, though you should still educate yourself on the possible legal
consequences. Here are a few supplemental articles that I'd recommend you
review:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.torproject.org/blog/tips-running-exit-node"&gt;Tips for Running an Exit Node&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.torproject.org/eff/tor-legal-faq.html"&gt;Legal FAQ for Tor Relay Operators written by
EFF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.torproject.org/docs/faq-abuse.html.en"&gt;Abuse FAQ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The aforementioned articles should assist you in understanding many possible
scenarios that you may need to deal with as a relay operator.&lt;/p&gt;
&lt;p&gt;One interesting thing I've found from running an exit node, is where you
choose to run it matters. The Tor project does not recommend volunteers to run
relays from your own home/residence because of the issues it can cause. Now if
you choose to do so, you will find out that the web becomes a little more
restricted. Many network and service operators actively monitor for known Tor
exit nodes and may either temporarily or permanently ban your IP address. Some
of the more notable companies that do this are: Yelp.com, Craigslist.org,
4chan.org, Google Search &amp;amp; Maps, and CloudFlare. If maintaining access to these
websites or companies are important to you, then I would recommend that you not
run your exit node and/or relay from home's Internet connection.&lt;/p&gt;
&lt;p&gt;In closing, the Tor project depends entirely on volunteers to provide network
capacity to the Tor network in order to serve the ever increasing demand it has.
If you can spare the cycles, I'd recommend that you consider running a relay. If
you have any other questions about becoming a relay operator, feel free to
&lt;a href="/contact"&gt;contact me&lt;/a&gt; or the Tor Project directly.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Fri, 12 Apr 2013 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2013-04-12:/blog/2013/04/12/on-running-tor-relays.html</guid><category>misc</category></item><item><title>Snowflake Passwords</title><link>https://surkatty.org/blog/2013/01/14/snowflake-passwords.html</link><description>&lt;p&gt;A while back I wrote about using a &lt;a href="/blog"&gt;three tier password management&lt;/a&gt;
in which I described a plausible system that anybody could utilize without using
third party software to manage passwords for you. Since then I've had a change
of heart. I was able to find the ideal password manager for my purposes. This
ideal solution didn't come right away, it took time and some trial and error.
Mainly due to the managers not really fulfilling my basic set of needs. Here are
just a handful of them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cross platform and device support&lt;/li&gt;
&lt;li&gt;Sync capabilities&lt;/li&gt;
&lt;li&gt;Sufficient review by peers&lt;/li&gt;
&lt;li&gt;Great security&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I never though I'd find this mythical solution that would take care of all my
needs. I've heard many praises about &lt;a href="https://lastpass.com/"&gt;LastPass&lt;/a&gt;, but it
unfortunately fell short in other non-critical categories. Specifically
advertisements and requirement of their Premium subscription service in order to
sync between devices. Furthermore, their syncing requires the user to utilize
their centrally managed web service. This of course can and have lead to
&lt;a href="https://en.wikipedia.org/wiki/LastPass#Security_issues"&gt;unexpected
consequences&lt;/a&gt;.
So a centrally managed solution will not work.&lt;/p&gt;
&lt;p&gt;Other possible candidates have included the well known
&lt;a href="http://keepass.info"&gt;KeePass&lt;/a&gt; and the well reviewed &lt;a href="https://www.schneier.com/cryptography/passsafe/"&gt;Password
Safe&lt;/a&gt;. Unfortunately
both of these candidates have poor cross device support as they rely on the open
source community to provide it. Sure some support exists, but they generally
rely on a third-party individual to maintain it and they are likely several
versions behind when it comes to feature set.&lt;/p&gt;
&lt;p&gt;So what option is left? 1Password. With support for every major platform and
device (&lt;a href="https://agilebits.com/onepassword"&gt;link&lt;/a&gt;), strong security design
(&lt;a href="http://help.agilebits.com/1Password3/agile_keychain_design.html"&gt;link&lt;/a&gt;), and
it is actively being developed on
(&lt;a href="https://agilebits.com/onepassword/mac/release_notes"&gt;link&lt;/a&gt;). Is it perfect?
Not at all. They do not have the same &lt;a href="http://keepass.info/help/v2/autotype_obfuscation.html"&gt;keylogger
protection&lt;/a&gt; that KeePass
has, they've previously been &lt;a href="http://www.elcomsoft.com/WP/BH-EU-2012-WP.pdf"&gt;chastised for their mobile
application&lt;/a&gt;, and their &lt;a href="http://help.agilebits.com/1Password3/agile_keychain_design.html"&gt;Agile
Keychain
design&lt;/a&gt; leaks
information about what is contained in its database.&lt;/p&gt;
&lt;p&gt;After a year of utilizing the software, I'm glad to say that I know literally
only one password, my database password. All of my other passwords are randomly
generated. Each a unique and strong snowflake for each service that requires it.
All of the passwords are safely backed up on multiple systems and I have
revisions via Dropbox just incase any item gets corrupted. It has a been a great
setup and I hope you will give it a try as well and let me know how it goes for
you.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Mon, 14 Jan 2013 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2013-01-14:/blog/2013/01/14/snowflake-passwords.html</guid><category>misc</category></item><item><title>Getting Hired</title><link>https://surkatty.org/blog/2012/10/02/getting-hired.html</link><description>&lt;p&gt;As I was going through the process of deciding what I wanted to do for the rest
of my life, I had only a general idea of what I needed to do in order to get
there. Get a degree in my field and I would eventually land an awesome job. The
reality is there is much more involved in getting there than just that. I gave
this presentation to a group of students at the University of Washington's
&lt;a href="http://ischool.uw.edu/"&gt;iSchool&lt;/a&gt; to hopefully inspire them to
prepare with the things they actually need to do before graduation. Because it
is better to prepare sooner rather than later.&lt;/p&gt;
&lt;p&gt;Slides: &lt;a href="/files/get_hired.pdf"&gt;Getting Hired&lt;/a&gt; (PDF)&lt;/p&gt;
&lt;p&gt;For questions or feedback, please feel free to &lt;a href="/contact"&gt;contact me&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Tue, 02 Oct 2012 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2012-10-02:/blog/2012/10/02/getting-hired.html</guid><category>misc</category></item><item><title>Defending the Castle</title><link>https://surkatty.org/blog/2012/06/17/defending-the-castle.html</link><description>&lt;p&gt;On 2012-06-17 I presented on the topic of home defense at the &lt;a href="http://www.dc206.org/?p=156"&gt;June DC206
meeting&lt;/a&gt; at
&lt;a href="http://www.blacklodgeresearch.org/"&gt;Black Lodge Research&lt;/a&gt;. Based on the
research I've done, I provided recommendations on different passive defenses
that folks can utilize in order to minimize the chances of becoming a victim.
Recommendations were provided in order of cost effectiveness all the way to
defenses that were &lt;em&gt;nice-to-haves&lt;/em&gt;. You can find the slide deck
&lt;a href="/files/defending_the_castle.pdf"&gt;here&lt;/a&gt;. If you have feedback or questions,
please feel free to &lt;a href="/contact"&gt;contact me&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Sun, 17 Jun 2012 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2012-06-17:/blog/2012/06/17/defending-the-castle.html</guid><category>misc</category></item><item><title>Remaining Anonymous</title><link>https://surkatty.org/blog/2012/02/01/remaining-anonymous.html</link><description>&lt;p&gt;On 2012-02-01 I presented how a person can "Remain Anonymous" on the Internet.
It covered topics such as current threats, real world examples, and defensive
tools to protect your anonymity. Slides can be found
&lt;a href="/files/remaining_anonymous.pdf"&gt;here&lt;/a&gt;. I'd like to thank
&lt;a href="http://www.dc206.org"&gt;DC206&lt;/a&gt; and &lt;a href="https://www.blacklodgeresearch.org/"&gt;Black Lodge
Research&lt;/a&gt; for allowing me to use their
facilities to give this talk.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Wed, 01 Feb 2012 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2012-02-01:/blog/2012/02/01/remaining-anonymous.html</guid><category>misc</category></item><item><title>Speeding Up Websites</title><link>https://surkatty.org/blog/2011/02/20/speeding-up-websites.html</link><description>&lt;p&gt;Recently I've found myself trying to find ways to speed up a website I run
beyond server level optimizations. What I've found is that there are a multitude
of ways for anybody (or any webmaster in particular) to improve the speed at
which is content is delivered on the web. To boil it down, there are essentially
three bottlenecks in anything that resides on the web:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Network (content delivery)&lt;/li&gt;
&lt;li&gt;Client side&lt;/li&gt;
&lt;li&gt;Server side&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So to help you make sense of it all, here are some helpful resources, tips,
and tricks that I&amp;#8217;ve discovered along the way. Since I&amp;#8217;ll be
covering this topic in some depth, I will break the topics up into multiple
posts to make it easier to digest.&lt;/p&gt;
&lt;h2&gt;Delivery of content&lt;/h2&gt;
&lt;p&gt;The first topics I&amp;#8217;d like to cover, is the speed at which your content is
delivered (network bottleneck). This optimization technique probably requires
the least amount of effort on the part of the webmaster, yet it yields the least
amount of benefit unless the content is intended for a global audience. To
summarize this section, here are the following topics I&amp;#8217;ll be covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Content Distribution Networks&lt;/li&gt;
&lt;li&gt;Content Optimization&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Content Distribution Networks&lt;/strong&gt; (CDNs) are a system of computers that cache
content for you around the globe. In short, there is no way you can improve the
speed that it takes a network cable to bring your content faster to your
customers other than placing your content closer to your customers. A round trip
connection between the north pole and south pole is relatively stay the same if
unlimited amount of bandwidth was available between the two points. In network
terms, this is also referred to as &lt;em&gt;Latency&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;If you are a big organization, you can possibly afford to setup multiple data
centers around the globe to ensure that your content is close to your customers.
This approach however is much less feasible to smaller businesses like the SMB
market, this is also one of the best reasons to use a CDN, to level the playing
field for small-to-medium businesses while also providing your content globally
fast!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Content optimization&lt;/strong&gt; will also help improve the speed of your site. When I
say content optimization, I am referring to data on the wire that is transfered
between the content provider and the customer. Content optimization includes the
following tactics (ordered from easiest to hardest to implement):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Compression to reduce the amount of data needed to be transfered. This can be
done through minifying CSS, JavaScript, and HTML&lt;/li&gt;
&lt;li&gt;Lossless compression images&lt;/li&gt;
&lt;li&gt;Reducing network requests. This includes reducing  DNS lookups, HTTP requests,
and image requests&lt;/li&gt;
&lt;li&gt;Combining images and utilizing CSS sprites&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All of these tactics are quite easy to do, but simply take way too much time to
do if not automated or thought of beforehand. The benefit of each tactic also
isn&amp;#8217;t realized without performing the rest of the operations. A
difference of 10Kb or 5 HTTP requests may not be significant to one user,
but when multiplied exponentially it can make a notable difference for all
parties involved.&lt;/p&gt;
&lt;p&gt;Here are some tools to help you get started with all the suggestions noted above:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CDN: &lt;a href="http://aws.amazon.com/cloudfront/"&gt;AWS's CloudFront&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Minify: &lt;a href="http://refresh-sf.com/yui/"&gt;JS/CSS Minify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CSS Sprites: &lt;a href="http://spritegen.website-performance.org/"&gt;CSS Sprite Generator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Misc: &lt;a href="http://www.webpagetest.org/"&gt;WebPageTest.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Sun, 20 Feb 2011 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2011-02-20:/blog/2011/02/20/speeding-up-websites.html</guid><category>misc</category></item><item><title>How To Recover From A Hacking</title><link>https://surkatty.org/blog/2011/01/12/how-to-recover-from-a-hacking.html</link><description>&lt;p&gt;Shortly after writing my first post, a close friend of mine had his email
account compromised. His main email account began sending spam to everybody in
his contact list, this included his close friends, professors, and professional
contacts. He asked me, &amp;#8220;What do I do now?&amp;#8221;. Clearly he needed it to
stop ASAP and a moderate amount of  damage control needed to be done to identify
what had happened and how the hacker was able to recover his credentials.&lt;/p&gt;
&lt;p&gt;Did somebody shoulder surf him? Was his computer infected with a virus or a
keylogger? Is the perpetrator a malicious individual who happened to see his
account logged in at a public terminal? We don't know. Thus thus the
paranoid geek in me would like to rule out any and all possibilities to minimize
the chance of reoccurrence. Time was of the essence and there was no time to
spare.&lt;/p&gt;
&lt;p&gt;My friend - we'll call him Bob - wanted to know what he could do &lt;em&gt;right now&lt;/em&gt; to
minimize the damage done. Clearly he didn't want to have old colleagues contact
him saying, "Hey Bob, I don't need those pills. Thanks for thinking of
me," from a perspective employer he just applied to. Nor does he need a
message from his mother asking him what '\/14GR4' is. I outlined a
plan for him to recover ASAP to minimize damages. I propose the following steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Change the locks&lt;/li&gt;
&lt;li&gt;Stop &amp;amp; think&lt;/li&gt;
&lt;li&gt;Clean your computer&lt;/li&gt;
&lt;li&gt;Damage Control&lt;/li&gt;
&lt;li&gt;Monitor&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Change the locks&lt;/strong&gt; - The first thing I told Bob to do was to change his
password. If his credentials were stolen by a malicious friend, co-worker, or
keylogging software, they will no longer be valid once he changed his
credentials. Most malware tend to send captured credentials to their Command and
Control servers on a schedule. This will buy Bob some time before his
credentials are potentially leaked out again to the Spammers. Thankfully Bob's
email account was through Gmail, which means he was able to log-out the
attackers as well remotely through his current session. For more information on
how to do this, see this following &lt;a href="http://gmailblog.blogspot.com/2008/07/remote-sign-out-and-info-to-help-you.html"&gt;blog
post&lt;/a&gt;
from Google's Gmail team.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stop &amp;amp; think&lt;/strong&gt; - Think about your computer activities for the past week.
What locations have you used to log into your account within the past 7 days?
Has anything unusual happen with your account as of late (i.e. logged in from
friend's house, lent your personal computer to a friend, installed a new piece
of software on your computer)? Any and all of these activities could have been
your undoing. If you have used a public terminal, chances are your home computer
is fine. If you've just downloaded the latest Just Bieber Concert video from a
non-reputable site or service and proceeded to jam out to it, you might have
been attacked through that vector as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Clean your computer&lt;/strong&gt; - After thinking through the possible scenarios that may
have caused you to be infected in the first place, you can begin cleaning your
personal computer. Why? Because chances are that you were infected through your
personal computer, and I did mention that we'd err on the side of caution (see:
paranoia).  This will take some time and will not be easy. HardForum has an
excellent how-to guide on &lt;a href="http://hardforum.com/showthread.php?t=1426658"&gt;how to remove
Virus/Trojan/Malware&lt;/a&gt; from your
computer. Once you've followed the guide, move on to the next step.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Damage Control&lt;/strong&gt; - Now you will need to clean up the damage that was left
behind by the attackers. The type of account compromised really dictates how you
should move forward. For example, if your email account was compromised, you
will need to notify all people that have been spammed (see your Sent folder)
that the previous message was not sent by you. You will need to explain to
people the steps that you've taken in order to prevent it from happening again.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Monitor&lt;/strong&gt; - You will now need to closely monitor your account activity for the
next few months. If your account once again becomes compromised, if can mean a
multitude of things. Most likely is that you were unable to clear out all the
infections on your computer. Clearly drastic measures are needed if you hope to
get rid of the infection once and for all. The only known 99.999% effective
measure is to completely wipe and reload your computer. Alternatively you may
have been re-infected due to an activity that you are doing on your computer.
This activities may include visiting questionable sites, participating in
illegal file sharing, and not having proper counter-measures up to protect
yourself (i.e. anti-virus, firewall, updated computer)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Wed, 12 Jan 2011 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2011-01-12:/blog/2011/01/12/how-to-recover-from-a-hacking.html</guid><category>misc</category></item><item><title>Improving The Update Experience</title><link>https://surkatty.org/blog/2010/12/16/improving-the-update-experience.html</link><description>&lt;p&gt;Updating out-of-date software and applications seem like such a simple task for
technology savvy users that it is quickly overlooked. Developers assume
&amp;#8220;Oh but of course, users simply need to click on my little notification
box&amp;#8230;accept terms&amp;#8230;choose a installation location&amp;#8230;&amp;#8221; Do you
see where I am going with this? I think it is time to re-think how we (IT
professionals) think and approach about the simplest of tasks for our user base.&lt;/p&gt;
&lt;p&gt;Let me run you through the scenario of what a typical Windows user has to run
through for updating their computer third-party applications. For this example,
I will lay out how some companies perform updating elegantly (Google&amp;#8217;s
Chrome) and how others fail to achieve an acceptable experience (Oracle&amp;#8217;s
Java); and finally I will lay out an overall plan how all of these seemingly
disparate platforms can unify their experience and improve the overall
experience for each of their user bases.&lt;/p&gt;
&lt;p&gt;Adobe has a page on their site that discusses the varying levels of Adobe Flash
version penetration among its user base (&lt;a
href="http://www.adobe.com/products/player_census/flashplayer/version_penetration.html"&gt;located
here&lt;/a&gt;). Sample data from September 2010 shows that at least a quarter of its
user base does not have the most up-to-date version of the player (in this case,
it is version 10.1). This is an unfortunate statistic, because in addition to
the new features and performance improvements that are released with each new
version, it also bring with it numerous bug and security fixes.&lt;/p&gt;
&lt;p&gt;Oracle&amp;#8217;s Java, which is approximately supported by well over 700 million
PCs (&lt;a href="http://en.wikipedia.org/wiki/Java_%28software_platform%29"&gt;source&lt;/a&gt;),
has the following process for users to update their pieces of software:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The Java Scheduler (a background process named &lt;em&gt;jusched.exe&lt;/em&gt;&lt;em&gt;) &lt;/em&gt;determines that the current version is out of date.&lt;/li&gt;
&lt;li&gt;A small pop-up appears on the lower right hand corner of your screen that says &amp;#8220;Java Update Available&amp;#8221;&lt;/li&gt;
&lt;li&gt;The user clicks on this pop-up, assuming they&amp;#8217;ve seen it when it first popped up.&lt;/li&gt;
&lt;li&gt;The user is prompted with a window that states the latest version is &amp;#8220;&lt;em&gt;Java X Update XX &lt;/em&gt;&amp;#8220;, the user clicks &lt;em&gt;Install&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Java Scheduler begins to download in the background, when that is completed a new pop-up appears at the bottom right of the screen notifying the user to click on it once more.&lt;/li&gt;
&lt;li&gt;The user clicks on the pop-up and clicks &lt;em&gt;Next &lt;/em&gt;and agrees to the License Agreement.&lt;/li&gt;
&lt;li&gt;The user is prompted with an additional screen to install some toolbar or additional software that Oracle has an agreement with&lt;/li&gt;
&lt;li&gt;Java goes through the process of updating&lt;/li&gt;
&lt;li&gt;Java is now updated&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This process depends on many variables that puts the onus on the 700 million
users to ensure that they know what the Java is, see the icon in the taskbar or
the dock, and verify multiple times that they indeed want to update it. No
wonder products aren&amp;#8217;t often updated. Although this is one example of how
users are faced to update their applications, it is very similar to many others
out there today.&lt;/p&gt;
&lt;p&gt;The second update method we will take a look at is the method that Apple&amp;#8217;s
App Store uses on the iPhone. This process is slightly less intrusive than
Java&amp;#8217;s, but can still use some improvements. Here is the process that
users must go through:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The App Store periodically checks to see if any updates exist for installed
applications. If an update is identified, the App Store application subtly
notifies its user by putting a number on the application badge.&lt;/li&gt;
&lt;li&gt;The user notices an update exists for one of their applications and click on the App Store badge.&lt;/li&gt;
&lt;li&gt;The user clicks &lt;em&gt;Update All&lt;/em&gt; and enters their iTunes password and clicks &lt;em&gt;Ok&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;The App Store then minimizes and begins downloading and installing all updated applications&lt;/li&gt;
&lt;li&gt;The application in question is updated.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The only interaction required by the user is to notice that an application
requires updating and to act on it by confirming that the user wants to update
all applications in question. Again this puts the duty of application updating
to the users.&lt;/p&gt;
&lt;p&gt;Now let&amp;#8217;s take a look at a third and final method of delivering software
updates to users. Google&amp;#8217;s web browser, Google Chrome, has a very stealthy
way of updating its software. Here Chrome&amp;#8217;s process:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Chrome determines that the current version is out of date&lt;/li&gt;
&lt;li&gt;Chrome downloads an updated version of the browser in the background. No notification is given to the user.&lt;/li&gt;
&lt;li&gt;The user is done with their browsing session and closes all windows.&lt;/li&gt;
&lt;li&gt;Chrome remains open in the background to begin installing the updated version. Again, no notification or disruption to the user.&lt;/li&gt;
&lt;li&gt;Google Chrome is now updated.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Although on the surface this may only appear that the update process only chops
off four steps, it is like comparing apples and oranges. Java&amp;#8217;s method of
update method requires multiple confirmations from the user and disruptions.
Google&amp;#8217;s process is completely transparent to the user as no
confirmations, pop-up boxes, dialogs, and any other type of disruption occurs
for the user. The only thing the user has to worry about is what blog to read
next.&lt;/p&gt;
&lt;p&gt;So which system is best? I propose that designers should combine the last two
methods (Apple&amp;#8217;s App Store &amp;amp; Google&amp;#8217;s Chrome). By combining
background updates (Chrome) and a centralized update repository (App Store)
users would be able to update all of their applications efficiently. This can
only be achieved if we could provide an unified approach for updating any type
of application.&lt;/p&gt;
&lt;p&gt;As it stands today it is up to each individual application/software to manage
its update process. I call on OS developers to provide a method for users to
utilize their current update method (&lt;a href="http://update.microsoft.com/"&gt;Microsoft&amp;#8217;s Windows
Update&lt;/a&gt; &amp;amp; &lt;a href="http://support.apple.com/kb/ht1338"&gt;Apple&amp;#8217;s Software
Update&lt;/a&gt;) to third party developers. With
that said, if the OS update methods were to implement background installs and
allow for third-party software developers to utilize their update process, it
would greatly increase the overall user experience for computer users.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Thu, 16 Dec 2010 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2010-12-16:/blog/2010/12/16/improving-the-update-experience.html</guid><category>misc</category></item><item><title>Three Tier Password Management</title><link>https://surkatty.org/blog/2010/11/03/three-tier-password-management.html</link><description>&lt;p&gt;&lt;em&gt;Updated on 2013-01-14: I've since had a change of heart. See &lt;a href="/blog"&gt;Snowflake
Passwords&lt;/a&gt; post. I'm keeping this post here for posterity and future
embarassment material.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Many noted security practitioners advise users that they need to ensure that
their financial passwords are kept separate from other web services they use.
Some even advocate for a unique password for each service they use. Both methods
I believe are ultimately flawed as they swing the pendulum of password
management from the side of overly simplistic to extremely complicated.&lt;/p&gt;
&lt;p&gt;I propose a simple three tier system for easy password management. This system
ensures a simple separation of passwords to prevent cross access of your digital
life.&lt;/p&gt;
&lt;p&gt;The first tier (or the lowest) is known as the simple password. This password is
used for random websites &amp;amp; services that you may come across during your
journey through the internet. This password would be simple in nature and would
fulfill the most basic password requirements. Requirements for this password is
that it contains 6-8 characters and a minimum of either one upper case
character, number, or special character. Examples include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Password&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;letme1n&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wh0doneit&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The second tier is reserved for passwords of medium complexity. It is reserved
for reputable services that could be tied back to your real identity. These
services contain no personal information other than your name, birth
month/year, and zip code. If the service or website requests more
information then that, it likely falls under the third tier of this system.
Requirements for this password is 8-12 characters, a minimum of two
combinations of a digit, upper case, or a special character. This password
also may not contain any dictionary words (even altered). Password examples
include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Sup3rS3cr3T&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Ple4s3_l3t_me_in&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;p4$$w()rD&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The third and last tier is for passwords that you absolutely do not want to
have disclosed. This tier would include passwords that are linked to your
personal identity, financial information, &amp;amp; personal information. To
effectively eliminate any compromise, ensure that you only access these services
from trusted terminals. Examples of services or sites that would use this tier
would be: shopping websites, email accounts, and your bank accounts. Due to the
sensitivity of these accounts, I would recommend using separate passwords for
each account. If that isn&amp;#8217;t possible, ensure that at least your email
password is unique. The reason behind this is because generally of your other
accounts can be reset via your email. As such, you want to ensure that you
protect your email account as much as possible. Requirements for this password
is &amp;gt;15 upper or lower case characters, minimum of two numbers, and two
special characters. Password examples include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Sup3rS3cr3T_p4$$w0rd&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dont_hack_ME_br0_12&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1984won'thappentome_IHOPE&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please keep in mind that this system may need to be altered to fit specific
password requirements for each service. Good luck and be safe!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Osman Surkatty</dc:creator><pubDate>Wed, 03 Nov 2010 00:00:00 +0000</pubDate><guid isPermaLink="false">tag:surkatty.org,2010-11-03:/blog/2010/11/03/three-tier-password-management.html</guid><category>misc</category></item></channel></rss>