I am happy to announce a new scanning API for golem security scans! All subscribers get this automatically now as part of their plans. This allows customers to embed scanning functionality into their products and services with a completely custom feel and pricing. Customers can even replicate the Golem functionality completely using our scanning technology on the back end.
Pricing is simple - the API uses scans which come with our plans automatically. Going beyond the number of allowed scans incurs a small $5 charge per additional scan, automatically billed, so there is no hassle about accounting for the total number of scans remaining.
Happy scanning!
I had just finished college and was working my first job. I had control over a suite of customer applications. My manager was tough as nails. Quick to shout, slow to praise, and I was a little bit scared of him. He wanted some enhancements to the customer portal yesterday, and I had only just started today. My predecessor had left without leaving anything in the way of documentation behind, so I had to scrape the bits and pieces together into something coherent.
To learn the application, I started using it – both as an admin (company employee) and as a customer. I didn’t have a lot of security training at the time – I had a couple of security courses from university only – but I was a bit of a hobbyist. The enhancements were handed to me by the development team with a promise everything was right – but all I had to go on were a 100MB file of zipped emails between the various stake holders from the past year. I learned that the main enhancement was new functionality allowing online customers to login, and view their invoices and pricing agreements.
If you have never worked in old school manufacturing shops with regional sales offices, you may not have an understanding of how pricing works for them – every customer gets different pricing based on a number of factors – and every sales person gets a different price book too. Pricing was considered highly secret to everyone but senior management, who set the pricing book once a year and then lent it out. Sales staff guarded their pricing religiously, from customers and each other. One of the main requirements of any system which worked with pricing was tight access and data controls around setting and viewing pricing information.
So when I was testing the customer side, and logged in as first the largest customer, then the second largest customer, I noticed something interesting. Invoices could be viewed as PDF documents, and they were viewable by invoice number in the URL. Orders which happened on the same day sometimes had sequential numbers, so I guessed that the invoice numbers were generated sequentially. When opening an invoice, the invoice number was passed into the application. The URL looked something like:
customerportal/viewinvoicepdf.asp?invoice=123456
If you punched in “123457” instead, a different invoice came up. Guess what? As the second largest customer, I pulled up the largest customers invoices after guessing a few numbers. Pricing and all.
I was scared of my boss. I knew this had the potential to delay migrating the code out to customers. I told him anyway. I showed him what I could do. “So what?” he asked, “What are the chances of someone doing that? Release it now, and then fix it and patch it. How long will that take?” Well it ended up taking 3 months to fix with all the back and forth with the shared development team and the various controls around code promotion.
In the end, system went live with the security issue, and stayed that way for 3 months. I never found out if it had been used by customers or salespeople to view private information or not.
There are many reasons to go anonymous online - preventing tracking from authoritarian regimes in certain countries, maintaining privacy from companies who track online usage, or simply a desire to remain anonymous. Some people want to avoid company or school tracking. These methods will get around web filters or site blockers in most cases, as well as ensure anonymity even with paid content or sites which require identifying information.
Every method outlined below is legal to the best of my knowledge (In the USA) and used to ensure anonymity online. However, use your best judgement when using any method outlined below. These are meant to secure legal activities only, and can often be broken quickly by law enforcement, especially where financial transactions occur. Additionally, some companies may have policies against using these methods while on company equipment. When in doubt, don't.
Note that the financial anonymity methods will not stop the US government from finding you, or people with access to your financial data.
There are a number of methods websites can use to track online behavior. Knowledge of these methods will help you avoid them over time. These are the methods websites can use to track you.
There are three main ways websites can track who you are online:
There are additional ways you can be tracked by your PC directly, and not by the sites you visit.
Any website requiring payment or personal information has tracking information by default. Common ways of tracking:
Behavior based tracking is the most insidious form of tracking and the hardest to prevent. Thankfully it is also the most difficult to implement effectively.
This tracking depends on analysis of how users interact with the site. Any behavior which you think might indicate a pattern, could be. Some examples:
Behavior which could easily be attributed to many users would not likely be used – for instance, if most people login after work around 5:30 PM. Too many people would do this to make it useful information for tracking. This method is also unlikely to be used across numerous sites, although certain advanced user tracking algorithms could try to detect it if they cross multiple sites (such as Google adsense).
Following the steps outlined in this section should allow you to surf anonymously online, and avoid all attempts to track you. Not all of these methods may be needed at any given time, depending on your needs.
All four forms of technical tracking can be avoided by using online anonymity sources. The one I most highly recommend is Tor. The best way to use this is to download the Tor browser bundle and use the startup program and included browser. It is pre-configured to avoid tracking. Using other tor methods requires additional vigilance (See the warning list of ways misusing tor may result in tracking. In general, if not using the browser bundle, you must be sure to manually clear cookies, history, and plugins manually. I recommend also installing some form of JavaScript blocker such as NoScript.
While using Tor, you can generate new “identities” anytime using the toolbar and clicking new identity.
If you do this without closing the browser, make sure you delete all cookies, as these can persist through new identities. Do this by clicking tools->options, then going to the privacy section, click on show cookies, and remove all cookies.
This will give you a new identity, completely distinct from the old one. Alternately, you can close the browser and restart tor for a new identity with no old cookies. Using this method, you can have multiple anonymous sessions with the same website, or browse from one place to another without fear of having tracking cookies watching you from site to site.
If you only want to avoid someone sitting at your PC from finding out what you have been doing online, simply setting the browser to Private mode should do the trick. This removes history, cookies, and other things which can be easily used to track your activity. This method will not stop servers, proxies, internet service providers, or your own modem from tracking you.
Sometimes TOR is blocked and it won't connect. Even the TOR website is blocked. If this is the case, simply send an email to [email protected] with the subject "get bridges", and it will return new IP's to use. How to set this up can be found on Tor's bridges page. If this is blocked, do a google search and use the view cache function of Google to view it anyway.
TOR is great, but it will slow down your internet connection, sometimes significantly. It also doesn't prevent things like viruses, keyloggers, or other software installed on your machine from spying on you. Finally, it only protects connections via web browser unless you specifically setup other programs to use TOR. As a result, it will not allow you to, say, pirate music and video games anonymously simply by installing it.
Tracking from installed spyware programs can be very hard to detect. If you suspect you have something installed on your PC which is used to track online behavior, it is best to re-install your operating system from scratch. This is the only sure way to prevent a program from capturing data about what sites you visit.
For advanced users, a PC can be booted to a static operating system from DVD or USB drives. I personally use Knoppix for this purpose. Using this method, no data will be saved to the computer hard drive, and any programs loaded onto the normal operating system will not be run using this method, including all viruses, spyware, or other tracking programs.
Some sites require financial transactions to gain access. If so, you need a service which allows you to create one time use personal and financial information. Shop Shield is my preferred choice for this.
Shop Shield is the least expensive and simplest solution at $4.50/month or $45/year. It generates new Visa credit card numbers on demand for each transaction, and can be used with any address and name. They also generate email addresses for you which will receive e mail automatically for you. Refunds or credits applied to the same card will be correctly applied back to you.
Shop Shield offers a browser plugin, however I recommend not using this with Tor as it could be used to track you by browser fingerprinting. Instead, use the plugin in a separate browser, or log in to the shopshield site directly to generate information.
Full disclosure: I have never used shop shield myself, but I did read multiple reviews and researched many similar products. This product has been endorsed by a group of credit issuers as a secure method of transactions on the internet.
Because ShopShield is linked to your actual identity, US law enforcement can still trace any transactions using ShopShied, though other governments would be less able depending on international and local laws. Unforutnately, it is currently only available in the US. See the appendix for international options.
While it is unlikely any given site will apply behavior tracking, it is possible that certain advanced data collection agencies use this method to overcome anonymous web surfing. Following the rules below for manual transactions or automated transactions should severely reduce the likelihood of being tracked through behavior:
Most likely, you do not need to follow every action in this guide religiously. Following the guidelines above will make you nearly impossible to track online, though it also increases the overhead you must manage for each website you visit. For instance, Tor often slows down internet access and knoppix prevents you from getting full use of your PC.
Using some measure of the above will increase anonymity and make you harder to track. Overtime, you can pick and choose which measures work most effectively for you and with each site. I also provide alternates and their pros and cons in the appendix sections. Some of them may make more sense in some scenarios.
There are many ways other than Tor. Here are a couple of common ones:
Avoidance Method |
Benefits over Tor |
Weaknesses compared to Tor |
VPN tunnel – There are many providers, just google “private vpn tunnel” for good providers. |
|
|
Public Proxies – You can configure your browser to use open, public proxies. A well maintained list of public proxies. |
|
|
Other Anonymous card providers / methods
Update 1/18/12: This post received a lot of attention. More than I would have thought. It is written in a negative tone, which is perhaps not the ideal way to communicate this. Although many job seekers disagree with the sentiments expressed, I have had dozens of hiring managers and recruiters reach out to tell me they feel the same way. Although the tone may need some work and people may not like it, the point of the article is that what most people do to get jobs isn't working, and their attitude should change accordingly.
Update 1/20/2012: To those who believe this is not realistic, see a job posting for a software engineer which references this article:
"...We have an energetic and inspired team and have an immediate need to add like minded people to our group. Prior to applying, you are encouraged to read the blog post below. While not authored by us, it's a pretty accurate and candid description of our interview thought process: <link here>"
I will be very honest with you in this post. Most interview articles only show obvious mistakes, as if most people don’t know showing up late is bad form. I will tell you the things I didn’t really know about until I was the one interviewing, and interviewing for a variety of positions and person-types. No interview prep article ever prepared me in the right way for how interviewers really think. That is what I will be sharing with you today.
When you first walk in to my office, I am expecting you to be one of the 99%+ people who I know I won’t hire in the first 5 minutes. I am hoping I will be proven wrong, because I really want to hire you and be done interviewing. Unfortunately, most people looking for jobs don’t deserve them. Here are the most common ways I know you don’t deserve any job I have to offer.
If I have to spend more than 30 seconds finding out what you have accomplished, forget it. You have annoyed me. Somehow, since resumes went digital, people feel like they can cram in 10 pages of boring essays talking about this achievement or that role, and expect me to read every juicy word. More likely, I will ignore the whole thing, write down in my notes “poor communicator”, and move on. If you have a good set of skills or something catches my eye, you might still get an interview, but I’ll still never read the resume. And you had better be a better communicator on the phone or in person.
Think about it this way – the resume items communicate to me your past successes in a (supposedly) succinct manner. If you can’t nail it in one sentence, do I really want to look forward to your rambling emails every day? If I can’t read your resume, it doesn’t bode well for your emails, and I get enough of those in my inbox as it is.
To craft a great resume, tailor it to my job posting. If I have a skill set in there like “Windows Administration”, make sure you have at least one bullet point talking about success in a project where you used that skill. Make the bullet no longer than three sentences. One is better. I am likely to read one sentence. I might read three. More than that and I won’t even know what you wrote there. You wasted my time and your own.
I always ask people what they like most about their current job before I get into any details about a role. Why? I want to see if you’ll be happy working in this new job. If you can’t tell me anything you like, or you tell me something you like but it sounds really generic? Then forget it, I have no idea what you want to do in life and you probably don’t either. Come see me when you know what you want to do. I would even be happy with something like “Well, this job doesn’t enliven me, but my last job, I loved doing XXX every day, and man, I miss that. It looks like this role will let me get back to that.” Let me know you're passionate or don’t waste my time.
The worst answers? “Well I like the challenge” or some other BS. Don’t BS me. I have a super BS detector, and most other interviewers do too. The worst BS is the kind where more than 50% of candidates say the same thing. If you can’t be original about what you like about your unique job how can I expect you to be creative working for me?
If you have a generic answer like you enjoy learning, the challenge, helping customers, that can be alright. Just sound excited when you talk about it. Give me an example of a time when you got really fired up about it. I don’t mind if it doesn’t relate to the job I am interviewing you for, though that helps. Just expect me to ask why you think this job will give you the same passion – and have a good answer ready. Really, why else are you applying if you don’t know this?
When I ask you what your next role is going to be after the one you’re interviewing for, you had better have a good answer. Everyone should have a story about why you want to come work for me, in this specific role. If you can tell me how this role helps you accomplish your long term goals, I’m much more likely to think you’ll be happy here and work hard in the job. If you just want a job, why should I care? Someone else will come to me with their vision. Eventually.
A good answer is a well thought out vision. You should have that anyway. Here is a good example: “I am looking to move away from working in my current small company to a bigger company with more career growth and opportunities. I want to rise to an executive level in the next 10 years, but my current company is too small to allow me to stretch effectively in that way. [This role] builds on my strengths in communication and project management, and will help me grow as a leader and improve my influencing skills. In a few years, I would look to becoming a senior manager…” and on with how this role fits into your life vision.
Please, don’t bother applying if you don’t have the required skills. I will know. If you’ll be programming, expect to program in the interview. And program well. If you’ll be project managing, you had better be able to tell me about the right way to build a project plan and project vision. I’ll probably even describe a project and ask you to build a plan right there, with me. Just because the title has something in it you vaguely think you can do, if you don’t meet the requirements, please don’t waste my time. I might be ok if you are up front with me and tell me you want a career change and are willing to take a more junior position to learn. I might take a chance on you if everything else is solid. But tell me that in your resume so we don’t waste time. Yes, telling me that in your resume improves your chances of getting hired, even if not necessarily for this job or winning an interview. I won’t claim this is true for all interviewers, but it is true for me.
It’s about setting expectations. If you come in, and my expectation is, for instance, that you know Unix administration, and then you tell me “Well, I read a book and I really want to learn it”, no, I won’t like that. If instead you put in your resume an objective line “Looking to grow skills in Unix administration from a project background”, now we are on the same page. If I don’t need an expert right now, maybe I will invest in training you since you have the vision and self-motivation. Oh, and describing what you are doing to prepare is also good, even if you don’t have on the job experience. See how the expectation can change my perspective? Give me happy surprises, not unhappy surprises.
I will test you in a lot of ways. I will ask you to describe a lot of situations – where you failed, where you succeeded, what you would change, what you hate and what you love. Don’t sit there and tell me what you would do in the future. I didn’t ask what you would do, I asked what you did. If I have to wait for you to finish talking, then say “Could you give me a specific example where you did something like that?” Then you have failed to answer my question. If I ask for an example, please give me one. If you don’t have one, that’s ok, tell me you have never been in that situation, but you have some ideas if I would like to hear them. Yes, I probably would like to hear them, but I might also have another question with different examples I would rather know about.
If you don’t think well on your feet, spend some time reading through and practicing situational interview questions. I won’t ever use one I see online, but it will help train your mind to answer, and give you fresh memories to draw from. I also don’t mind when a candidate pauses to think. I will wait. I know everyone has different styles of thinking and responding.
I think it’s pretty simple. I look for a few traits in people I am going to hire. If you are missing even one, I’m probably going to pass you up for someone who doesn’t. Do your best to show off these traits and you’ll win. This is true in every case, from hiring a janitor to an executive.
Most of the stuff I am talking about here has nothing to do with Golem Technologies, but more about what it is like to hire in the first place. There are so many articles out there with bad advice for both those hiring and those trying to be hired, I wanted to inject some raw honesty into the equation. If you are looking to hire people, then I would recommend you use my 5 points above to screen people. As for me hiring, no, I am not currently hiring, so please don’t ask me. When I am hiring though, and if you happen to apply, the above is the criteria I will use to decide.
This is true across business functions and across companies. The people who have the stuff I listed to win the interview will get jobs they want consistently. If you are lacking something, then figure out a way to get there. Just having a plan puts you ahead of 99% of job candidates. I also like giving people a chance whenever they let me, as long as I have the flexibility to do so. So far, I haven’t been disappointed.
Do you have hiring war stories (interviewer or interviewee)? Share them in the comments!
Today marks a major shift in how I do business with Golem Technologies. In the months since I launched, I have enjoyed a spike in sales, a lot of wonderfully positive feedback from my customers, and modest growth in both sales and search traffic. You have told me you loved my scanner, raved about how simple and easy it was to use, told me you never expected such great customer service for the price, and told me stories about how the scanner helped stop hackers repeatedly defacing your sites by finding the root causes and helping you close them.
The past few months, this site has scanned a celebrity’s personal website, several banks, startups, businesses, IT departments, blogs, and hundreds of other sites.
Unfortunately, it wasn’t enough to really sustain the business in the long run, and growth has not been sustained.
Many of you have been in contact with me over the past few months about what you wanted me to offer. Namely, the ability to have more control over when and how you scan websites, the ability to become a security consultant using the Golem tool and offer white label reporting. I have listened to you and changed my entire product offering around these needs. I still offer the lowest price cloud scan anywhere. I still maintain the highest quality standards for scans among all security scanners available. I still have the easiest to use scanner on the market. Those things will never change.
What is changing is how you can use the scanner. Gone are the days where you had to decide what to scan right away, or the requirement that you could only scan a site once a week. Instead, I have added the following abilities to the site:
Those of you who signed up for Golem Security Monitor in the past, I am no longer offering that product. Instead, I have upgraded you to Security Professional, which includes more options and products. The price you paid for Security Monitor will not increase for as long as you choose to stay my customer, though you are welcome to enjoy the full benefits of the new and improved plan, and let me know your feedback.
To all my customers who worked with me on these changes, I thank you. Please continue to send me your feedback so I can continue to improve my product to better serve you, your businesses, and your IT departments.
Looking forward to a new year together, with heightened security,
Charlie
I am happy to announce that I have fully implemented dynamic security seals. If you are running scans, you can let your customers know by including a security seal, which will dynamically announce the security of your site to visitors. This has been shown to increase conversions on e-commerce sites.
Take a look at a sample seal:
Unlike other seals on the market, this one is most definitely NOT BS (See the CBS news report on some competitor seals). I care about your customers as much as you do, so if your site looks like it may have an issue, the security seal won't return a verified secure message. It won't return a not secure message, but it will just display a generic seal, which the customer can click on to read more about what exactly it means. (this page). This way, your customers are protected, and you can increase conversions. Win-win right?
Existing customers can update their site with the following code to add a badge:
After much debate with myself, I have decided to stop allowing free scans from this site. This significantly changes how I originally envisioned the site working at the beginning, but overall I believe it to be a very positive change for my users and customers, and the security community in general. Here is why I made this decision.
I am pleased to announce a major upgrade has been completed to the security scanner today. Starting today, all scans will have the following enhancements;
Enjoy!
This morning our main database server went down, and the Golem service was unavailable for several hours. For that, I apologize.
Several paid scans errored out as a result, which I am in the process of restarting. It looks like at least one purchase transaction did not complete successfully. I will be contacting the users affected personally to let them know exactly what happened and how I am working to fix it. For those of you who were affected without my knowledge, please give us another chance.
I am digging into the exact causes of the problem. It seems that an influx of users from hacker news gave me a nice traffic spike, but also a large number of free scan requests which caused my server to run out of memory. My hosting company took several hours to respond to my requests for a forceful server restart to correct this faster, so here is what I am doing to prevent this from happening again.
Thank you customers!
"Your service is crap. It says I have several ‘Major’ issues. That can’t be right. We’re a bank!” said John, the security officer of a local bank. He had called me to discuss his report findings after I had recommended he scan the bank site, just in case of course.
I told him I would certainly refund his money if it turned out to be true, but it deserved a closer look. I was away from my computer at the time so I couldn’t really check anything immediately. I only asked him if I had permission to dig deeper and if he would say so in writing. He did.
It turned out, the scanner was right: it did find a major security flaw on their site: a SQL Injection. It was on some calendar application they paid a developer in India to write for $9 bucks an hour. They put it in a separate database schema with a separate username and password, and called it secure, though it was using the same master database their website ran off of. The same server some of their user information and encryption keys were stored on. Small businesses have so many security holes most of them are like swiss cheese – they just don’t realize it. No one thinks they are a target until they are. And they make easy pickings for the smart criminals.
The database was an older version, unpatched, with a known vulnerability allowing SQL Injection to gain root on the server. I didn’t go that far – I just dumped out some admin tables and sent him an email letting him know that in a couple of hours, I could probably have access to his bank accounts and encryption keys.
I was interested by then, so I kept tabs on their site, but it didn’t get fixed. Not for 2 months. They decided by then to just remove the whole thing and be done with it – they didn’t have a development team and had trouble finding someone qualified to write secure code. They had to pull in and brief the CEO. This was a one hundred million in assets bank. One Hundred Million.
After the changes were done, John wanted another scan. I asked him, out of curiosity, how much would you have paid consultants for the same work? “Easily $10,000, maybe more.”
Back then I was charging forty bucks a scan, but I have since lowered my prices (I love my customers, and want them to be secure).
Today it would be $13.