JSP and WEB technolog
1 JSP Introduction
JSP (JavaServer Pages) is a Java-based scripting technology. Is advocated by Sun Microsystems Inc., together with a number of companies involved in the establishment of a dynamic web page technology standards. JSP technology is somewhat similar to ASP technology, It is a traditional HTML page file (*. htm, *. html) to insert Java program segment (Scriptlet) and JSP tag (tag), To form the JSP file(*jsp). Web development with JSP is a cross-platform applications that can run under Linux, but also in other operating systems. In the JSP of the many advantages, one of which is that it will be HTML encoded Web page from the business logic separated effectively. JSP access with reusable components, such as Servlet, JavaBean and Java-based Web applications. JSP also supports directly in the Web page embedded Java code. JSP can be used two ways to access documents: JSP documents sent by the browser request, the request sent to the Servlet. JSP technology uses Java programming language, XML-type tags and scriptlets, to have a package deal with the logic of dynamic pages. Page tags and scriptlets can also exist in the server access to the resources of the application logic. JSP logic and Web page design and display isolated and support reusable component-based design, Web-based applications more quickly and easily developed.
The Web server when meets visits the JSP homepage the request, first carries out segment, will then carry out the result code to return together with JSP in the document HTML for the customer. The insertion Java segment may operate the database, again the directional homepage and so on, realizes the function which the establishment dynamic homepage needs. JSP and Java Servlet are the same, is in the server end execution, usually returns to this client side is a HTML text, therefore client side, so long as has the browser to be able to glance over.
The JSP page is composed of the HTML code and the inserting Java code. The server in the page by the client side was requested that later will carry on processing to these Java code, will then produce the HTML page will return gives the client side the browser. Java Servlet is the JSP technology base, moreover the large-scale Web application procedures development needs Java Servlet and the JSP coordination can complete. JSP had the Java technology simply easy to use, complete object-oriented, had the platform independency, and safe reliable, mainly faced Internets all characteristics.
2 JSP computing technique
To carry on the dynamic website conveniently fast the development, JSP has made the improvement in the following several aspects, causes it to become builds the cross platform fast the dynamic website first choice plan.
2.1 carries on the content production and the demonstration separates
With the JSP technology, the Web page development personnel may use HTML or the XML marking design and the formatted final page, and uses the JSP marking or the tootsy produces on pages dynamic content originally. Production contents logic is sealed in marks and in the JavaBeans module, and ties up in the script, all scripts in server end movement. Because core logic is sealed in marks and in JavaBeans, therefore the Web administrative personnels and the page designer, can edit and use the JSP page, but does not affect the content the production. In the server end, the JSP engine explained that the JSP marking and the script, produce the content which requested, and (or XML) pages form transmits the result by HTML the browser. This both are helpful in the author protects own code, and can guarantee any based on the HTML Web browsers complete usability.
2.2 may entrust with heavy responsibility the module
The overwhelming majority JSP page relies on may entrust with heavy responsibility, the cross platform module (JavaBeans or Enterprise the JavaBeans module) carries out complex processing which the application procedure requests. The development personnel can share and exchange the execution ordinary operation the module, or causes these modules uses for more users and the customer association. Has accelerated the overall development process based on modules method, and causes each kind of organization obtains balanced in their existing skill and in the optimized result development endeavor.
2.3 uses marking
The Web page development personnel will not be the familiar script language programmers. The JSP technology has sealed many functions, these functions are easy to use, marking to carry on the dynamic content production with JSP in the related XML to need. The standard JSP marking can visit and the instantiation JavaBeans module, the establishment or the retrieval module attribute, downloads Applet, as well as the execution difficulty with codes and the time-consuming function with other methods.
2.4 adapts the platform
Nearly all platforms support Java, JSP JavaBeans to be possible to pass unimpeded nearly under all platforms. Transplants from a platform to other platform, JSP and JavaBeans does not even need to translate, because the Java byte code is standard has nothing to do with the platform.
2.5 database connection
In Java connects the database the technology is the JDBC, Java procedure is connected through the JDBC driver and the database, operations and so on execution inquiry, extraction data. Sun Corporation has also developed JDBC-ODBC bridge, uses this technical Java procedure to be possible to visit has the ODBC driver database, at present the majority database systems have the ODBC driver, therefore the Java procedure can visit such as Oracle, Sybase, MS SQL Server and databases and so on MS Access. In addition, through the development marking storehouse, the JSP technology may further expand. The third party development personne
剩余内容已隐藏,支付完成后下载完整资料
Google Android:全面的安全评估
这项研究提供了Android框架的安全评估 - Google的移动设备软件栈。作者确定了对该框架的高风险威胁,并提出了几个安全解决方案来减轻这些风险。
作为移动设备的操作系统,Google的Android是一个开放的,可编程的软件框架,容易受到典型的智能手机攻击。这种攻击可能使手机部分或完全不可用,导致不需要的SMS / MMS(短消息服务/多媒体消息服务)计费或公开私人信息。智能手机攻击向量包括蜂窝网络,蓝牙,互联网(通过Wi -Fi,通用分组无线业务/全球演进增强数据速率,或3G网络接入),USB和其他外围设备。智能手机恶意软件由于恶意软件编写者因PC恶意软件而获得的体验而非常快速地发展。正如亚历山大·戈斯特夫估计,3年的时间足以让智能手机病毒发展到计算机病毒20年后才达到的程度。因此,确保智能手机安全性方面的挑战与PC面临的挑战类似最突出的智能手机恶意软件类型有Lasco / Cabir5和Commwarrior / Mabir蠕虫家族,FlexiSpy,RedBrowser和Skulls Trojan,WinCE.Duts和CardTrap病毒,以及最近的iPhone ikee蠕虫和iPhone / Privacy.A黑客工具,利用破坏iPhone系统的漏洞。到目前为止,智能手机大流行疫情的规模和影响受到限制,原因是潜在受害者人数有限。然而,美国的智能手机市场份额从2008年的11%增加到2009年的17%,预计在未来几年将大幅增长。因此,智能手机有可能成为是各种恶意软件的肥沃之地。基于Google Android操作系统的智能手机数量预计在2010年将增长10%,Android的风险仍然很大,主要是因为它是一个在异构移动环境中运行的开源软件堆栈。因此,黑客可以更容易地访问,操纵和利用操作系统代码。在这里,我们会审查和评估Google新的Android框架中的安全机制,以及是否适应智能手机的新兴威胁。
Android安全机制Android是移动设备的应用程序执行环境。它包括一个操作系统,应用程序框架和核心应用程序。 Android软件堆栈建立在Linux内核上,用于其设备驱动程序,内存管理,进程管理和网络。下一级包含Android本机库。上层的各种系统组件使用C / C 编写的这些库。通过Java本机接口将这些库并入Android应用程序。下一个级别是Android运行时,包括Dalvik虚拟机和核心库。 Dalvik运行.dex(Dalvik-executable)文件,旨在比Java类文件更紧凑,内存高效。核心库是用Java编写的,并提供了大量的Java 5 SE软件包以及一些Android特定的软件包这项研究提供了Android框架的安全评估 - Google的移动设备软件栈。作者确定了对该框架的高风险威胁,并提出了几个安全解决方案来减轻这些风险。
全面使用Java编写的应用程序框架层包括Google提供的工具以及专有扩展或服务。最顶层的应用层提供了诸如手机,Web浏览器,电子邮件客户端等应用。 Android中的每个应用程序都封装在.apk存档中以进行安装。此存档类似于Java标准jar文件,其方式为其保存应用程序的所有代码和非代码资源(例如图像或清单)。Android应用程序是基于Android软件开发工具包(SDK)提供的API编写的。 William Enck和他的同事们讨论了Android应用程序的主要组件,以及如何使用Android特定机制来保护Android应用程序。一般来说,Android框架中将并入一些安全机制。我们可以将它们分为三个一般组:Linux机制,环境特征和Android特定机制。
Linux机制Android的Linux层有两个主要的安全机制:便携式操作系统接口(POSIX)用户和文件访问。这些机制的基本元素是用户(即实体)。每个对象(如进程或文件)由用户拥有(由整数或用户ID表示)。用户进一步分配给groups.POSIX用户。安装在设备上的每个Android软件包(.apk)文件具有唯一的Linux(POSIX)用户标识。因此,两个不同的软件包的代码不能在同一个进程中运行。在某种程度上,这将创建一个沙箱,并防止应用程序相互干扰。对于共享相同权限集并可能在同一进程中运行的两个应用程序,它们必须共享相同的用户ID,这只能使用sharedUserID功能。要共享相同的用户ID,两个应用程序必须明确声明它们使用相同的sharedUserID,并且两个应用程序必须由同一作者进行数字签名。
文件访问。 Android中的文件(应用程序和系统文件)都受到Linux权限机制的约束。每个文件与所有者的用户ID和组ID以及读,写和eXecute(rwx)权限的三个元组相关联。 Linux内核强制执行这些权限,并对所有者强加第一个元组,而第二个元素会影响属于所有者组的用户,第三个会影响其他用户。
机制描述安全问题Linux机制POSIX用户每个应用程序与不同的用户ID(或UID)相关联。防止一个应用程序干扰另一个文件访问应用程序的目录仅适用于应用程序。防止一个应用程序访问其他文件环境特性内存管理单元(MMU)每个进程都在自己的地址空间中运行。防止特权升级,信息泄露和拒绝服务类型安全类型安全性在编译时间和运行时都强制执行变量内容以符合特定格式。防止缓冲区溢出和堆栈崩溃移动运营商安全功能智能手机使用SIM卡对用户身份进行身份验证和授权。防止电话窃取Android特定机制应用程序权限每个应用程序都声明在安装时需要哪些权限。限制应用程序执行恶意行为的能力组件封装应用程序(如活动或服务)中的每个组件都具有一个可见性级别,可以调节其他应用程序对其的访问(例如,绑定到服务)。防止一个应用程序干扰另一个应用程序,或访问私有组件或API签名应用程序开发人员签署应用程序.apk文件,程序包管理器验证它们。匹配和验证两个应用程序来自相同的源Dalvik虚拟机每个应用程序都在自己的虚拟机中运行。防止缓冲区溢出,远程代码执行和堆栈崩溃。
一般来说,“系统”或“root”用户在Android中拥有系统文件,而应用程序专用用户拥有应用程序文件。为每个应用程序和系统文件分配不同的用户以及适当的权限设置提供文件访问所需的安全性。这些操作是必需的,因为应用程序文件将无法被其他应用程序访问(除非它们使用sharedUserID功能或被设置为全局可读/可写)。另外,Linux将许多系统功能作为伪文件处理。因此,文件访问机制有效地允许对驱动程序,终端,硬件传感器,电源状态改变,音频,直接输入读数等的设置权限。
环境特性周边的技术环境(例如硬件,编程语言和移动运营商的基础架构)提供了多种增强Android设备安全性的机制。
内存管理单元。许多现代操作系统的一个先决条件,尤其是Linux,它们有一个内存管理单元(MMU),一个便于将进程分离到不同的地址空间(虚拟内存)的硬件组件。各种操作系统使用MMU来确保一个进程不能读取另一个进程的内存页面(信息泄露)或损坏它们。这降低了权限升级的可能性,因为进程无法通过覆盖私有操作系统内存使其自己的代码在特权模式下运行。
类型安全类型安全是一种编程语言属性,它强制可变内容遵守特定格式,从而防止错误或不当使用。部分或缺少的类型安全或边界检查可能导致内存损坏和缓冲区溢出攻击,这反过来又提供了任意代码执行的手段。如前所述,Android采用了强大类型的编程语言Java。用Java编写的程序不太容易执行任意代码,而C语言允许不进行类型检查的转换,并且不执行边界检查,除非程序员具体包含它们。 Android允许使用C编写的本机组件的程序存在可能降低安全性的风险。 Binder,Android特定的进程间通信(IPC)机制也是类型安全的。开发人员在编译时使用Android界面定义语言(AIDL)来定义Binder传递的数据元素的类型。这样可以确保跨进程边界保留类型。
移动运营商安全功能。电话系统具有一组基本的属性和功能,这些属性和功能源于需要识别用户,监视使用情况以及相应地向客户收费。这些功能的更一般术语是AAA(认证,授权和计费)。作为智能手机平台,Android借鉴了手机设计中的这些经典安全功能。认证通常通过SIM卡和相关协议进行。
Android特定的安全机制Android提供了Google引入的以下专用安全机制:应用程序权限,组件封装和签名。
应用程序权限Android的应用程序权限机制强制执行应用程序可以执行的特定操作的限制。 Android拥有大约100种内置的权限,可以控制从拨打电话(CALL_PHONE),拍照(CAMERA),使用互联网(INTERNET),收听键盘(READ_ INPUT_STATE),甚至永久禁用手机(BRICK )。任何Android应用程序都可以声明其他权限。要获得权限,应用程序必须明确地请求它。权限具有相关的保护级别:
正常(应用程序级权限对拥有并不特别危险); 危险(高风险许可可能提供访问私人数据或有害功能;应用程序无法在没有用户明确确认的情况下获得此类权限); 签名(只能授予与声明权限相同签名的其他包签发的许可);和签名或系统(一种特殊类型的签名许可,也被授予系统映像中安装的任何软件包)。
在安装时,系统将基于对应用程序的签名的检查(针对签名或签名者 - 系统保护级别权限)以及用户的批准(针对正常或危险的保护)授予应用程序请求的权限级的权限)。在用户安装了应用程序并且它收到其权限之后,它将不能再请求任何更多权限。在安装时未获得许可的操作将在运行时失败。
组件封装。 Android应用程序可以将其组件封装在应用程序内容中。这可以防止其他应用程序访问它们,假设它们具有不同的用户标识。这主要发生在组件的“导出”属性的定义上。如果“导出”属性设置为“假”,那么手头的组件只能由拥有它的应用程序(以及通过sharedUserID功能共享相同用户ID的任何其他应用程序)访问。如果设置为“true”,外部实体可以访问它。这些实体通过上一节所述的权限进行控制。开发人员应始终手动设置“导出”属性,因为默认封装策略可能与预期封装策略不一致。
签署申请Android中的每个应用程序都打包在一个apk文件夹中进行安装。 Android系统要求所有已安装的应用程序进行数字签名(代码和非代码资源)。签名的apk只要其证书有效,附件公钥成功验证签名即可。在Android中签署应用程序会验证两个或多个应用程序来自同一作者(“同源”验证)。sharedUserId机制和权限机制使用此方法来验证签名和签名或系统保护级权限。
Android Framework安全评估我们使用HTC G1智能手机对Android框架中的各种安全方面进行了全面评估。我们的评估方法包括各种Android组件的代码审查,应用程序的授权机制分析和应用程序安装过程,以及现有Linux和Java恶意软件的可行性评估。鉴于攻击者(或合法所有者)可以在不操纵硬件的情况下,既不能替代核心组件也不能替代内核,因此Android设备处于正常状态,这是困难的。更改操作系统组件的唯一方法是识别内核模块或核心库之一的漏洞,这些漏洞将使攻击者获取root访问权限。每当攻击者发现核心组件中的漏洞或漏洞时,他或她都可以以高度特权的方式运行恶意代码,甚至可以完全控制该设备。由于某些系统进程以root权限运行,因此系统进程不存在细粒度的访问控制机制,Android的源代码是公开的,因此这种威胁将被放大。另一方面,这种公共可用性提供了一些好处,其中,多个人可以检查和验证代码。即使该平台从来不是完全安全的,开源方法也可以持续提升安全性。随着时间的流逝,我们预计这些bug会减少,而系统变得不那么脆弱。总而言之,我们认为攻击者利用核心组件中的漏洞或漏洞是可能的情况。要远程攻击Android设备,必须在Internet上暴露易受攻击的服务。此要求降低了远程攻击方案的可能性,因为默认情况下,它不运行任何服务正在监听传入连接。通过本地服务,设备驱动程序和内核代码在设备上运行的可利用代码的数量使基于主机的开发尝试更高的风险。因此,我们认为该设备更容易受到本地主机攻击的攻击。另一个问题是权限机制没有得到充分保护,并且安装恶意使用未知用户授予的权限的应用程序是可能的情况。该框架还提供了adb安装功能,允许安装应用程序并授予权限,而无需任何用户交互。此外,用户不能批准所请求的权限的一个子集(它是“全或无”),或验证应用程序仅将其授予的权限用于良性目的。此外,sharedUserID机制允许应用程序共享权限,而不需要用户的意识或需要明确的批准。我们还发现攻击者可能会通过Web浏览器恶意注入代码。 Android的开源Web引擎WebKit有这样的漏洞的历史。最近的一些攻击包括过时的本地库中的缓冲区溢出和明确的跨站点脚本(XSS)漏洞。这两种攻击都使攻击者在设备上运行恶意代码,并将能力和权限分配给浏览器应用程序。然而,通过蓝牙注入恶意应用程序不可能发生,因为存在几种保护机制:
bull;设备可以将蓝牙连接设置为不可发现; bull;如果蓝牙连接设置为可发现,则只有两分钟; bull;所有者需要接受连接;和bull;所有者需要手动安装该文件。
我们的安全检查表明,该系统受到对结构化查询语言(SQL)注入攻击的良好保护。但是,一些信息完全暴露给攻击者(例如,SD卡上的内容)。为每个应用程序分离的用户ID保护系统和应用程序免受篡改。图1显示了我们进行的定性风险分析的结果,以确定和设置Android设备可能面临的威胁。我们基于我们的评估来评估各种威胁的影响和可能性(有关详细的分类法,请参阅第43页的侧栏),利用Android框架中的漏洞来破坏,禁用或滥用以下内容的机密性,可用性或完整性Android资产:
bull;存储在设备上的私人/机密内容(图片,联系人,电子邮件,文档等); bull;应用和服务(电话和短信应用,互联网和电子邮件); bull;电池电量,通信,存储器和处理能力(CPU)等资源;以及bull;硬件,包括设备本身,外部存
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[484692],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。