Orga­ni­za­tions of all shapes and sizes are vul­ner­a­ble to social engi­neer­ing attacks. It’s human nature to want to be help­ful and to trust those that ask ques­tions of us. This is espe­cially true from peo­ple or orga­ni­za­tions we feel has author­ity over us. This is why phish­ing attacks are so suc­cess­ful. We give our infor­ma­tion over to emails and web sites because we feel there is a bond of trust. It’s not about being sus­pi­cious or not, we are taught from a young age to trust those within places of power. So our bank ask­ing for val­i­da­tion of our infor­ma­tion at first glance doesn’t seem sus­pi­cious. Our com­pany report­ing a pass­word inci­dent ask­ing for reme­di­a­tion is per­fectly plau­si­ble. The prob­lem is unless you’ve heard about the poli­cies from these com­pa­nies on how they will han­dle this, the request may be gen­uine and you want to do all you can to help.

The first step in min­i­miz­ing your organization’s expo­sure to a phish­ing attack is to edu­cate users and have poli­cies they can refer back to. The best approach to this is to train them when you first adopt them as users. If you are a bank you post your poli­cies on pass­word and account poli­cies when they first sign up for online ser­vice. If you are a pri­vate web site send them a blurb of infor­ma­tion in the ver­i­fi­ca­tion email (users will glaze over at long pri­vacy agree­ments so have a sum­mary pre­pared for the email body and append any poli­cies after the main text). If you are an organization/company you edu­cate the users when they are in their new hire ori­en­ta­tion. For com­pa­nies there should be a fol­low up yearly or bi-yearly on pol­icy changes and a short train­ing ses­sion may be required depend­ing on the amount of edu­ca­tion you need to impart on entrenched employees.

Com­pa­nies should have a cor­po­rate web­site that states if there is a time where the IT needs to request your pass­word how this will be han­dled. It is inad­vis­able to have users to respond to any pass­word request with their user­name and or pass­word in email form. This trains the users to accept this type of reply no mat­ter if it’s a real request or a phish­ing attack. The same holds true for attempt­ing to col­lect or update their pass­word infor­ma­tion on an inter­nal website.

Some com­pa­nies to alle­vi­ate helpdesk calls have setup a pass­word reset web site inter­nally. Users should be taught to ver­ify they are going to the cor­rect URL before enter­ing any infor­ma­tion. To secure these con­fig­u­ra­tion users should login while they know their pass­words and have 2–3 challenge/response ques­tions before it will allow you to change their pass­word. To make this more secure allow your users to make up their own ques­tions, since they will rec­og­nize the ques­tions they have writ­ten them­selves and make it harder for attack­ers to just spoof the site and auto accept answers to things that are indus­try default ques­tions such as “Mother’s Maiden Name:”.

Unfor­tu­nately since all authen­ti­ca­tions are tied together you nor­mally would not want to send a ver­i­fi­ca­tion email before reset­ting the pass­word, since the user prob­a­bly isn’t able to get into email either. You can how­ever make the change tem­po­rary for 24-hours unless they click the ver­i­fi­ca­tion email to con­firm they did this make this change. If they do not click the email the account auto­mat­i­cally locks and users then have to call the help desk. Inform users of this behav­ior before imple­ment­ing this and have it state so implic­itly on the pass­word reset page.

We have dis­cussed how to raise user aware­ness and min­i­mize the chance of users unwit­tingly enter­ing in their infor­ma­tion but how do we min­i­mize expo­sure to the users on these attacks? The eas­i­est approach is to han­dle this at your bor­der infra­struc­ture. For sim­pli­fi­ca­tion I am going to lump the email infra­struc­ture together in my expla­na­tions, these parts are your bor­der fire­wall, any inter­nal fire­walls, your anti-spam solu­tions, and your inter­nal mail server. I am group­ing these together because depend­ing on which prod­uct you use for these func­tions dif­fer­ent options are avail­able to you.

The first step for lock­ing this down is to have all of your inter­nal users authen­ti­cate before send­ing mail. Authen­ti­ca­tion require­ments may include authen­ti­cated SMTP or IMAP ses­sions, VPN to the inter­nal net­work, Web­mail, or any other options that give you some sort of con­fi­dence level that the user you are respon­si­ble for is who they say they are. It will also make the next step a lot eas­ier to imple­ment depend­ing on your cur­rent cor­po­rate policies.

The next thing you do is dis­al­low any mail from out­side your orga­ni­za­tion allow a “Sent From:” address. For exam­ple if your domain is “mydomain.com” your mail server will not except mail from bob@mydomain.com going to sally@mydomain.com unless they have been authen­ti­cated via one of the ear­lier pro­scribed meth­ods or through a desk­top email client inter­nally. Make sure that your exter­nal fire­wall does not per­form NAT on incom­ing pack­ets or oth­er­wise your mail server will think all the mail is from an inter­nal source.

Imple­ment a pol­icy to dis­al­low your inter­nal mail server to accept mail con­nec­tions via tel­net. This can be done by smarter fire­walls that inspect layer 7 pack­ets and some mail servers. These devices can dis­tin­guish the dif­fer­ence between a mail server or client send­ing the mail by packet length and activ­ity type com­pared to man­u­ally typ­ing in the mes­sage by tel­net­ting to port 25 on your mail server and send­ing mail via telnet.

For phish­ing and other rea­sons your orga­ni­za­tions should develop or sub­scribe to a real time black­hole list (RBL). Any­time an indi­vid­ual attempts to your inter­nal mail server in an attempt to spam or per­form a phish­ing oper­a­tion unsuc­cess­fully against your mail server they can be added to the RBL data­base. This allows you to track and block attempts from the same IP over and over again and reduce over­head on your inter­nal mail server.

To reduce rogue mail servers on your inter­nal net­work and enforce traf­fic to tra­verse the inter­nal mail server the best meth­ods for per­form­ing this is to block port 25 on all of your inter­nal routers unless the traf­fic is des­tined for your inter­nal mail server. Include another rule that allows only your mail server to send email to the inter­net on port 25 on your fire­wall. This helps against inter­nal users that may attempt a tar­geted phish­ing attack against another inter­nal user.

The next step depends on how smart your mail fil­ter­ing soft­ware is. Have a queue where sus­pect email is for­warded if they include strings sim­i­lar to your own domain (exam­ple bob@my-domain.com, bob@mydomian.com, or bob@mydomain.com.com) this is all depen­dent on how well your mail fil­ter­ing soft­ware can detect these mis­spellings. From this queue have a trusted admin­is­tra­tor ver­ify if that these mail­ing are not spam (if so imple­ment appro­pri­ate fil­ters) or not a phish­ing attack (add IP address to your RBL). Since in the scope of this doc­u­ment I can not scope out how sim­i­lar your domain is to another domain that may be send­ing you mail I sug­gest this as a last resort if you are under a heavy load of phish­ing attempts. I would not rec­om­mend out­right block­ing this type of mails since it may inter­fere with legit­i­mate business.

If you dis­cover a phish­ing attack that has bypassed your bor­der and made it directly to the user the rec­om­mended approach is to imme­di­ately send a mail to all the effected users as soon as this is detected. When send­ing the email alert about this include your stan­dard pol­icy on if, how, and when you will col­lect pass­words or user­names from them when it is a legit­i­mate email. This informs the users that you are pay­ing atten­tion; they can gain con­fi­dence that you are mon­i­tor­ing for this type of attack, and they are rein­forced when and where to give out their pri­vate information.

Phish­ing attacks will never be stopped one hun­dred per­cent, but rep­e­ti­tion and edu­ca­tion can greatly min­i­mize it’s impact on your organization.

blog comments powered by Disqus