有组织的黑客攻击到底是想要做什么?

本文深入探讨了近年来黑客攻击事件的演变,从八十年代初的个人行为到九十年代的组织化行动,再到二十一世纪的企业级攻击。分析了黑客群体的性质、目的以及对网络安全的影响,强调了加密数据、加强安全设置和定期测试防御的重要性。

看看最近发生的这些大公司被黑客成功攻击新闻,让人不得不想问这个问题。这一连串的受害者都是赫赫有名的大企业,例如Google、RSA、VISA、万事达、花旗银行、EPSILON、美国参议院、英国国家医疗保健服务、Fox,当然还有SONY。然后就在几天前,美国中央情报局的网站也变成分布式拒绝服务攻击的目标。最近大量发生的这些攻击也让很多问题浮上台面:这种集团式的攻击手法是新出现的吗?这是否已成为网络间谍活动,甚至是网络战争了?这对我或是未来的互联网有什么样的影响?

图片来自brittgow的Flickr

作者:Rik Ferguson,趋势科技资深分析师

八十年代初期黑客开始组织化

黑客组织的想法肯定不是新出现的,其实早在八十年代初期他们就开始蓬勃发展。在早期的家庭计算机时代,社区成员互相分享信息,学习和比赛计算机技能。早期这些团体会取一些类似军团末日、死牛邪教,或欺骗大师之类的名称,他们的特别之处并不仅仅是造就了初期的网络黑客场景和催生黑客主义,更严重的做法则是盗打电话,滥用公共电话网络。

九十年代的另类黑客团体,组织运作类似研究机构

九十年代则出现了另一种黑客团体,例如L0pht,他们的组织运作比较像是研究机构,提供用作渗透和安全测试的工具软件,以及发布信息安全新闻。这类团体还曾有个知名的举动,他们曾于1998年在美国国会作证,宣称他们可以在30分钟内瘫痪整个互联网。

21世纪初展开全球性企业攻击

随后在21世纪的前十年,我们看到了Anonymous的崛起,以及最近的LulzSec。Anonymous这个团体的形成,一开始是出现在留言板上,例如臭名昭著的4chan,其主要目的是攻击山达基教会,然后在媒体大幅报导之后规模越来越大。他们并不是一个封闭的组织,相反,当Anonymous开始表示对维基解密的支持后,他们积极寻求普通人的参与。数以万计同样感到不满的志愿者下载工具,并参与到针对全球企业的攻击活动中。最新版本的这类工具让用户将他们手上可以当做攻击武器的计算机的控制权交给中央,以便更好地指挥和控制攻击活动。而另一个团体LulzSec则保持了传统的封闭特性,根据他们网站上的介绍,他们并没有特别的动机,只是想表现出无政府状态。

“我们是LulzSec,一群有着开心笑脸的小团队,我们觉得网络社群的无聊会影响到真正重要的事情:乐趣。考虑到现在的乐趣只局限在周五,我们期待着周末,在周末,我们决定采取自己的方式来散播乐趣,乐趣,乐趣,全年无休”。

当然,世界各地逐渐冒出了类似的团体,偏远如巴基斯坦和印度,那里各个团体彼此间的竞争非常激烈。在罗马尼亚的团体,例如HackersBlog已经攻击了许多公司。在中国和俄罗斯,许多黑客都被认为是政府的打手。

窃取资料卖售赚钱

但并非所有黑客都是为了乐趣或是荣誉,有组织的犯罪集团已经出现多年了,在过去12个月内,针对大批量和网络数据的攻击频率明显增加了,如针对SONY、EPSILON,或是花旗银行的攻击,他们窃取数据的目的主要是为了赚钱。只要一次成功的攻击,就可以拿到大量可供出售的个人资料。

在技术和密码学领域的大量进步,其实都是根源于百年来的的间谍活动艺术,我们应该不会惊讶于看到各国的情报部门利用先进的工具和技术,来进一步获取国家或经济利益。

我们知道这些并不代表全球网络在崩溃,或是网络经济和国家安全的终结。其实这就像世界上的其他任何事物一样,我们也渐渐地在进化发展。信息安全公司、个人,以及企业的发展必须跟上步伐,也许从这些家伙这几年来一直对我们的教导中,我们能够学到一些教训。加密您的数据,发展信息安全,正确的设置,有效地测试防御措施,使用复杂的密码,修补您的安全漏洞,以便在这些攻击真正发生之前加固您自己的防御系统。

@原文出处:What the Hack is going on?

本文版权为趋势科技所有,对于非赢利网站或媒体转载请注明作者以及原文链接。谢谢合作!

爱趋势社区--下载,论坛,分享http://www.iqushi.com

官方微博—拿礼品,分享最新IT资讯http://t.sina.com.cn/trendcloud

趋势科技CEO:陈怡桦EvaChen的微博http://weibo.com/evatrendmicro

RSA封装类 ,完整的RSA加密解密 public class RSAUtilEncrypt { public static final String KEY_ALGORTHM = "RSA";// public static final String KEY_ALGORTHM_RSA_ECB_PKCS1PADDING = "RSA/ECB/PKCS1Padding"; public static String RSA_PUBLIC_KEY = "rsa_public_key"; public static String RSA_PRIVATE_KEY = "rsa_private_key"; private int KeySize = 1024; private Map keyMap; private static String RSA = "RSA"; private static PublicKey publickey; public RSAUtilEncrypt(int KeySize,String publickey) { this.KeySize = KeySize; try { this.publickey=generatePublicKeyByString(publickey); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } private RSAPublicKey generatePublicKeyByString(String publicKeyStr) throws Exception { try { BASE64Decoder base64Decoder = new BASE64Decoder(); byte[] buffer = base64Decoder.decodeBuffer(publicKeyStr); X509EncodedKeySpec keySpec = new X509EncodedKeySpec(buffer); KeyFactory keyFactory = KeyFactory.getInstance("RSA"); return (RSAPublicKey) keyFactory.generatePublic(keySpec); } catch (NoSuchAlgorithmException e) { throw new Exception("No Algorthm,Checked by cemung!"); } catch (InvalidKeySpecException e) { throw new Exception("InvalidKeySpec!"); } catch (IOException e) { throw new Exception("Io exception!"); } catch (NullPointerException e) { throw new Exception("Illegle pointer reference!"); } } // Encypt public byte[] RSAEncrypt(byte[] data, RSAPublicKey publickey) throws Exception { Cipher cipher = Cipher.getInstance(KEY_ALGORTHM_RSA_ECB_PKCS1PADDING); cipher.init(Cipher.ENCRYPT_MODE, this.publickey); byte[] cipherbytes = cipher.doFinal(data); return cipherbytes; } // Encypt public byte[] RSAEncrypt(byte[] data) throws Exception { Cipher cipher = Cipher.getInstance(KEY_ALGORTHM_RSA_ECB_PKCS1PADDING); cipher.init(Cipher.ENCRYPT_MODE, this.publickey); byte[] cipherbytes = cipher.doFinal(data); return cipherbytes; } // Get Public key with format byte[] public byte[] getPublicKeyByte() { RSAPublicKey pubkey = (RSAPublicKey) keyMap.get(RSA_PUBLIC_KEY); return pubkey.getEncoded(); } public static byte[] decryptBASE64(String key) throws Exception { return (new BASE64Decoder()).decodeBuffer(key); } public static String encryptBASE64(byte[] key) throws Exception { return (new BASE64Encoder()).encodeBuffer(key); } public static byte[] decryptByPrivateKey(byte[] data, String key) throws Exception { byte[] keyBytes = decryptBASE64(key); PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new PKCS8EncodedKeySpec( keyBytes); KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORTHM); Key privateKey = keyFactory.generatePrivate(pkcs8EncodedKeySpec); Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); cipher.init(Cipher.DECRYPT_MODE, privateKey); return cipher.doFinal(data); } public static byte[] encryptByPublicKey(byte[] data, String key) throws Exception { byte[] keyBytes = decryptBASE64(key); X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(keyBytes); KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORTHM); Key publicKey = keyFactory.generatePublic(x509EncodedKeySpec); Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); cipher.init(Cipher.ENCRYPT_MODE, publicKey); return cipher.doFinal(data); } public static byte[] decryptByPublicKey(byte[] data, String key) throws Exception { byte[] keyBytes = decryptBASE64(key); X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(keyBytes); KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORTHM); Key publicKey = keyFactory.generatePublic(x509EncodedKeySpec); Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm()); cipher.init(Cipher.DECRYPT_MODE, publicKey); return cipher.doFinal(data); } 使用方法 private RSAUtilEncrypt rsa = new RSAUtilEncrypt(1024, publikey); /* * 给信息加密,获取密文 */ public String getCiphertext(String str_encrode) { try { byte[] estr = rsa.RSAEncrypt(str_encrode.getBytes()); // 密文 String ciphertext = Base64.encodeToString(estr, Base64.DEFAULT); return ciphertext; } catch (Exception e) { e.printStackTrace(); } return null; } 有疑问的留言
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值