Legal Issues (法律问题)

Legal Issues 法律问题
当使用得当,Nmap保护你的网络免于入侵。但是当使用不当时,Nmap 会(少数情况)被起诉,炒鱿鱼,被开除,监禁,或被
你的网络供应商限制访问,在启动Nmap之前读一下这个法律指南,以减少你的风险。
-未授权的端口扫描是犯罪?
用Nmap扫描网络的后果是复杂和有争议的,有第三方组织甚至在T恤衫和车标上贴上相关的标语。这个主题总是引出许多激情的
但无价值的争论和口水战。如果你曾经参加过这样的讨论,尝试着避免这种过火和不合适 类似地去敲某个人的家门或验证他
的门或窗是否上锁。
Figure 1.3
- 固执地认为端口扫描是合法和道德的
虽然我理解那种扫描合法的情绪,但从T恤中采纳法律建议是极不明智的。确实,从软件工程师和作者获取建议会更好。和律师
在你的司法权利以内讨论,以便更好的理解法律如何应用在特定的情况。对于那些重要的声明在讨论之外,我会提供一些
一般的信息,也许会有帮助。
最好的避免争论的方式是在准备扫描之前先获得目标网络的授权。但你任然可以有机会遇到麻烦,你可能被你的网络供应商注意到
(或目标管理员意外地注意到发送给他们的辱骂的报告),但这通常容易解决。当你在做渗透测试的时候,授权应该在工作声明
中。当测试你自己的公司时,确定活动明显地在你的工作描述之内,安全顾问应该熟悉很好的 开源安全测试方法(OSSTMM),为
这些情况提供最好的练习。
虽然民事和刑事犯罪的起诉对于Nmap使用罪是个噩梦,但这是极少的,毕竟,美国联邦法律没有明确端口扫描是非法的。更常有的
情况是目标主机管理员会注意到你正在扫描他的主机,他会向网络提供商抱怨。大多数的网络管理员似乎不会关心或注意谁日夜扫描
他的网络,只是一些抱怨。扫描者的网络提供商可能会跟踪扫描者的ip以及扫描的时间,然后谴责用户或甚至停止服务。未经授权的
端口扫描有时会违背网络提供商的可接受策略。举个例子,大型有线系统公司Comcast的可接受策略说:
网络探测或端口扫描工具只允许在局域网中使用,或被目标主机或网络授权,未被授权的扫描,无论任何理由,都是被禁止的。
虽然网络提供商不能明确地禁止非授权的端口扫描,他们可能会提出反黑客条款。当然这些不能使端口扫描非法。许多完全合法的
的(在美国)本质上的网络提供商的保护活动是被禁止的,举个例子,上面提到的可接受使用策略还不允许用户传递,保存,发送
任何合理人认为的的,攻击的,下流的,的...粗俗的,可憎的,种族攻击的或其它不合适的信息,无论这些信息或传播
是否合法。换句话说,很多网络提供商禁止任何让人讨厌的或冒犯的行为。无差别的对其他网络的扫描有这种潜在的趋向。无论如何,
如若你决定做这样有争议的扫描,不要在公司,学校这种对网络有本质控制的地方,可以使用商业宽带或无线网络。断掉你的网路
然后不得不更换提供商只是有点让人厌烦,但却可以明显更好地避免被开除或炒鱿鱼。
虽然涉及到端口扫描(没有进一步的黑客攻击)的案子是罕见的,但还是有的,其中一个最出名的案例是有关于一个名叫的Scott Moulton的男子
他有很多来自切诺基县和乔治亚洲紧急情况911系统的咨询合同。在1999年12月,他被分配的任务要安装一个路由器连接到坎顿,乔治亚警察部门
911中心担心会危害911中心的安全,Scott开始做对相关网络扫描的准备措施。在这个过程中他已经扫描了一个所属于切诺基,被一个名叫VC3的竞争
咨询公司维护的网络服务器。他们注意到这次扫描然后发email给Scott,Scott回复说他为911中心工作,正在测试安全性。VC3然后把这件事报告给了
警察.Scott失去了E911中心维护合同,并且被警察逮捕,根据他的供述,他违反了计算机行骗和滥用的法律。这个行为适用于所有未被授权故意访问
被保护的计算机,及这样的行为导致了危险(以及满足其他的要求)。
这个民事案件在审判前被驳回。判决让很多Nmap使用者笑了:
法院认为,原告的指控的未经授权的端口扫描和吞吐量测试服务器不构成被告违反乔治亚计算机系统保护法案或计算机欺诈。
在这个民事案件中,这是个兴奋的胜利,但是Scott仍然被指控犯罪。幸运的是,他保持着高尚的态度,发了一下日记到
nmap-hackers邮件列表:
我非常荣幸我能够有利于计算机协会,捍卫和保护专家在计算机领域的权力。然而,这是这个成果付出了昂贵的代价,这是我
不乐见的地方。但是我将继续奋斗和证明端口扫描不是非法的,尤其是这只是我的工作。
最后,法院维持同样地判决而且指控被撤销。虽然最后Scott被证明是无辜的,但他却面临6位数的罚单和通过法律系统的紧张压力,
好的一面是,他花了很多时间教他的律师相关的技术问题,Scott开了一家成功取证服务公司。
虽然莫尔顿案起了一个好的例子(如果没有法律的先例),不同的法院或情形将产生更糟糕的结果,记得有许多州有他们自己的糟糕
的法律,有的甚至无可争辩规定未经授权地ping远程主机也是非法的。法律在其他的国家也有明显的不同。举个例子,在芬兰,一个
年满17岁的少年试图侵入地扫描一个银行,他将被罚款包括目标的调查费用。莫尔顿的规定则不同,如果VC3的机器确实是崩溃了,那
他们将能够证明这个行为的损失是5000美元。
在另一个极端,一个以色列法官无罪释放一个早在2004年对摩萨德秘密服务进行弱点扫描的人。法官甚至在他的裁决中赞扬他:
在某种程度上,在互联网上检测网站弱点的行为是公益的,如果他们的意图不是恶意的且他们没有导致任何危险,他们甚至应该
被赞扬。
在07和08年,宽泛的新的网络犯罪法律在德国和英国带来影响。他们的法律意味着禁止,使用,甚至拥有黑客工具。举个例子:
英国关于计算机滥用的修正案规定接受或提供[程序],它们有可能用于犯罪的,或协助犯罪[违反计算机滥用罪]的,是非法的。
这些法律已经迫使一些安全工具作者关闭他们的商店或把他们的项目转移到其他国家。问题是大部分的安全工具既可以被道德
的安全专业人员(白帽子)用于保护他们的网络和黑帽子用于攻击。这些危险的法律基于工具的作者或用户的意图,是主观和难
以解释的。Nmap是被设计为帮助网络阿奴去哪,但是我讨厌被监禁以及被强迫地对法官和陪审团辩护我的意图是什么,尤其是
在一个外国城市如德国 我甚至不会说那里的语言的地方。这些法律不像Nmap工具广泛传播和流行,但它们已经产生了寒蝉效应
http://baike.baidu.com/view/2880804.htm,在计算机犯罪中普遍运用的小工具上(比如 漏洞利用平台)。
不管端口扫描的合法性,ISP账户将继续被结束如果网络提供商接到许多投诉的话。最好的避免ISP滥用报告或民事/刑事指控的
首先是避免骚扰目标网络管理员。这里有一些使用的建议:
* 确保你被已经授权扫描。大概90%的网络扫描都是无争议的。很少扫描自己的机器或自己管理的网络。扫描其它网络会带来争议。
这里有几个理由(好或坏)关于这类网络的探查。可能你正在用自己宿舍的或公司部门的电脑扫描其它网络的共享文件(FTP,SMB,WWW等)
或可能你只是试着找出打印机的ip地址。你可能已经扫描了你最喜欢的网站,来看它是否提供其它的服务。或因为你好奇他们运行的
是什么操作系统。又或者你只是测试连接,执行网络搜索。或者是为入侵作开始的侦查?远程管理员很少能知道你的真实意图,和做
什么事引起怀疑。最好的方法是首先获得授权。我已经看到许多人用非管理员的角色登陆遇到困难然后决定通过完全的入侵扫描公司
或学校来证明网络是不安全的。相比于在凌晨3点被IDS铃声叫醒,他们正处于大量攻击中,提前告知管理员,他会更倾向于合作。
所以无论何时,在扫描网络之前获得书面的授权。Adrian Lamo有可能会避免监禁如果他之前告诉纽约时报 他将测试他们的网络安全性,
而不是在之后向记者透露他们网络的缺陷。不幸的是,他们可能会说不。准备好接受这个答案。
尽可能紧密地扫描你的目标。任何连接到互联网上的机器被有规律的扫描,管理员都会忽略像这样的"噪音"
但是扫描过多的网络或弄出太大动静的扫描会增加被投诉的几率。所以如果你只要找到网络服务器,指定-p80选项
而不是在每一台机器上扫描所有的65536TCP端口。如果你只是试着找出有效的主机,做一次Nmap的ping扫描而不是
扫描所有端口。尽管netblock可以,但不要扫描网络供应商的主机。随机扫描模式现在可以带一个参数指定主机号,
而不是不断地运行。所以考虑用-iR 1000而不是用 -iR 10000 如果模型足够的话。用默认的速度(甚至-T polite)而不是-T
insane.避免动静大的扫描和相对入侵式的扫描像版本探测(-sV)或NSE:Nmap脚本引擎扫描(--script)。同样地,当提供相同
信息的时候SYN扫描(-sS)比连接扫描安静而且通常更快。


上面已经提到,不要用办公室或学校的连接做任何有争议的事。尽管你的意图可能是好的,你非常可能遭受损失,如果有权
的某个人(如:老板,院长)认为你是个恶意攻击者。你真的想对不知道扫描是什么的人解释你的行为?shell,单元数据,或
家用宽带账号,为它们花40美元每月的钱。不只是因为有更小的影响,如果你冒犯的某个人是来自于一个的账户,而且目标
网络管理员较少可能地向网络运营商投诉。还要看一看相关的可接受用户使用策略然后选择相应的供应商。如果你的供应商像
Comcast(上面讨论过的)禁止未授权的扫描和提交冒犯性的材料。不要惊讶,如果你的网络因为这些行为被停掉的话。通常,
你付给服务提供商越对,他们也会越友善。T1供应商更不太可能会因为你被举报扫描而突然地断掉你的网络没有任何提醒。
拨号网络或家用数字用户线路提供商非常有可能这样,尽管这个扫描是被其他人伪造的。


Nmap提供许多选项可执行隐秘的扫描。包括源IP欺骗,欺骗扫描,还有最近的闲置扫描技术。这些已经在IDS逃避章节讨论过了。
但需要记住的是这只是权宜之计。你很难在一个很远的WAP网络,用17层欺骗,虽然随后的探针通过一连串的9个代理。但是如果
有人跟踪你,他们会怀疑你的意图。


总是有一个合理的理由来执行扫描。一个被侵犯的管理员可能首先会写信给你(或你的网络供应商可能会向你抱怨)指望你对这个
扫描行为给个合理的解释。在上面讨论的Scott的案子中,VC3首先告诉Scott发生了什么。如果他们满意你的答案,事件可能到此
为止而不是上升为为民事和犯罪诉讼。当我以搜索为目的,扫描互联网的很大一部分的时候。我用了一个描述这个项目的域名,
以及在这个IP上运行了一个网络服务器,有着详细的描述和不参加入侵的声明。


要记得,辅助行为和随后的行为经常作为证明意图的证据。端口扫描自身并不总意味着是一次攻击。端口扫描和IIS exploit密切
相关,然而,宽带的意图显而易见。这很重要,因为起诉(或开除,驱逐,投诉等等)是基于这所有的事件而不是其中之一(如端口扫描)。
一桩引人注目的案子涉及到一个名叫沃尔特的加拿大男子,他通过某人的不安全的Wi-Fi访问网络,很明显他是一个因为通信盗
窃被起诉的人。每天有上千的加拿大“战争驾驶者”这样做,为什么单单他出事了?因为他的辅助行为和意图。他错误的驾驶方式,
光着下半身,拿着掌上电脑,通过前面提到过的不安全的无线访问点下载儿童资料。警察显然认为他的行为太过分了,所以
他们动脑筋想出相关的指控把通讯罪附加在许多儿童相关的指控中。


相似的,涉及到端口扫描的起诉通常为最臭名昭著的案子保留。即使当偏执的管理员通知警察他们被扫描了,起诉(或进一步的行动)
也是极其少的。你的作者因为要写书扫描数百万的网络主机,收到的投诉却少于十件。


为了描述完整的这一节,端口扫描是否合法问题没有简单的答案。我不能毫不含糊地说"端口扫描不是犯罪",我多么乐意是这样。
不同的管辖范围法律也戏剧化的不同,还有案子的关键是在它们的细节中的。即使当事实近乎相同,不同的法官和检察官也不总是
用相同的方式解释它们。我只能强烈地警告和重复以上建议。
作为测试目睹,允许你扫描scanme.nmap.org主机。你可能注意到它在几个例子中都已经用到了。注意,这个许可只包括用Nmap扫描
不包括漏洞利用测试或拒绝服务攻击。为了保护带宽,请不要过多地扫描那个主机。如果这个免费扫描目标被滥用,这会被记录下来
而且Nmap将报告 Failed to resolve given hostname/IP:scanme.nmap.org.


端口扫描使目标地电脑/网络崩溃?
Nmap没有设计任何使目标网络崩溃的特征。它通常只会有很轻的动作。举个例子,Nmap检查到下降包就会放慢速度,那是为了比避免
网络过载。Namp也不会发送任何损坏的包。IP,TCP,UDP和ICMP头总是合适的,虽然目标主机并不期待这个数据包。因为这些,应该
没有应用程序,主机或网络组件会因为Nmap扫描而崩溃。如果崩溃了,那是系统的bug,应该让厂商把它修好。
因为Nmap而使系统崩溃的事实罕见的,但也发生过。许多系统可能不稳定而Nmap使它们超过临界点或它们崩溃的和Nmap扫描只是时间
上的巧合。在其它情况下,写的不好的程序,TCP/IP 栈,甚至是操作系统已经被证明在给定Nmap命令时可导致崩溃。这些通常发生
在陈旧的设上上,新的设备很少会有这个问题。明智的公司会在发货之前用Nmap和其它常用的网络工具测试网络设备。这些被忽略的
预发布测试通常会找出在网络上首先发布的测试版的问题。...保持系统和设备更新补丁和厂商发布的一致,固件应减少产生问题的
敏感性,虽然还是要提高网络的安全性和可用性。
在许多情况下,探测一台机器在特定的扫描下崩溃是有价值的信息。之后,攻击者可做任何Nmap可做的事,通过Nmap自身或自定义脚本。
设备不应该因为被扫描而崩溃,如果崩溃了,厂商应该尽快提供补丁。在许多使用情景中,通过使他们的机器崩溃来检测他们脆弱
的机器是不受欢迎的。在这种情况中你可能想做一次轻的扫描来减少不良影响。这里有一些建议:


用SYN扫描(-sS)代替连接扫描(-sT)。用户态的应用程序诸如web服务器很少能到发现这种模型因为它被内核空间管理,而因此没有
理由导致崩溃。


版本扫描(-sV)和NSE(-sC or --script)有让写的不好的程序崩溃的风险。相似的,许多有漏洞的操作系统已经报告当使用OS指纹(-O)
时崩溃。忽略这些选项,在特定的敏感环境或你不需要用到的地方。


使用 -T2 或 更慢的 (-T1,-T0) 延时模式能减少端口扫描对系统的损害。虽然扫描明显更慢。旧的LINUX盒子有一个后台识别程序
可以临时地阻塞服务,如果访问过于频繁的话。这发生在端口扫描的时候,正常的高负载情况也一样。更慢的延时这时候就有用了。
这个慢延时模式应该用于最后的手段,因为他们能慢扫描在一个数量级以上。


要求限制端口数量和扫描的机器数量。每个扫描的机器有很小的机会崩溃,而且提高了让许多机器当机的几率。减少扫描的端口数
,减少风险到最后一台机器,网络也一样。许多NAT/防火墙设备为每一个端口探针保存一个入口状态。当这个表填满时,大部分旧
的入口到期,但是偶然地会崩溃。减少端口和主机扫描减少入口状态数量,因此可能帮助那些脆弱的有缺陷的设备挺住。

你可能感兴趣的:(问题)