Windows10和Spartan瀏覽器 產品與技術特性簡介

騰訊電腦管家 · 2015/04/10 9:46php

目錄html

0x00 Windows10產品新特性


一、自動選擇默認桌面 二、開始菜單迴歸 三、Metro應用窗口化 四、虛擬桌面 五、智能分屏 六、全局搜索 七、其它產品新特性 八、Windows10產品新特性總結web

0x01 Windows10內置特性和安全特性


一、In-place升級 二、Stay Current保持最新 三、UPAO (User Protection Always On) 四、Secure ETW Channel(安全ETW通道) 五、Lockdown Mode和虛擬化安全 六、AMSI (Antimalware Scan Interface) 七、WinRE Offline掃描算法

0x02 微軟爲何要開發新瀏覽器

0x03 Spartan產品特性


一、取代IE 二、網頁標註 三、閱讀模式 四、全新的EDGE渲染引擎 五、網絡模型 六、號稱將支持新的擴展shell

0x04 Spartan安全特性

一、框架進程也運行在了AppContainer完整性權限 二、渲染進程(tabs)缺省運行在EPM下 三、IE下的Toolbars、BHO等瀏覽器擴展都再也不支持 四、ActiveX控件受到更加嚴格的限制,權限極低 五、禁用vbscript,減小攻擊利用手段,安全性更高 六、更完善的堆保護 七、CFG默認開啓 八、沙箱windows

0x05 參考文檔

0x00 Windows10產品新特性


一、自動選擇默認桌面

Windows10在啓動時會對用戶的硬件設備進行判斷,對於PC進入的是經典操做界面(以下圖所示),而智能設備(支持觸屏)則進入支持觸屏手勢的開始屏幕。瀏覽器

Windows8的開始屏幕(metro UI)一直被詬病,傳統的PC用戶顯然不買帳,對於辦公用戶來講無疑更喜歡傳統桌面,而對於普通用戶來講可能對於這個新桌面不知所措。也許windows8和8.1就相似Vista同樣是一個實驗版本,微軟終於明白應該怎麼作。贏得用戶口碑纔是最重要的。安全

enter image description here

二、開始菜單迴歸

開始菜單從Windows8,8.1到Windows10經歷了幾回大的演變,最開始居然把開始菜單整沒了,到了8.1的時候搞了一個半吊子開始菜單,點開以後居然跳轉到metroUI,用戶顯然不買帳,幾十年的使用習慣,沒有革命性的變化,是不太可能改變的。Windows10裏面微軟終於妥協了,乖乖把開始菜單放出來了,雖然結合了一些metroUI的特色,可是和Windows7相比在使用上已經沒有大的區別了。網絡

enter image description here

三、Metro應用窗口化

在Windows10裏面,Metro應用默認以窗口化方式運行,窗口能夠最大化,最小化,和普通的窗口程序在操做體驗上其實已經很一致了。有些metro應用還提供了全屏功能。 以下面就是「著名」的Spartan瀏覽器的窗口界面。架構

enter image description here

而下面這款天氣metro應用則提供了全屏功能。

enter image description here

四、虛擬桌面

Windows10的任務欄上面新增一個「任務視圖」按鈕(能夠用快捷鍵Win+Tab直接調出,其實在Window7上面,這個快捷鍵也能夠調出一個3D的任務選擇界面出來,你們能夠試試),點擊後可查看當前桌面正在運行的程序,在右下角有一個新建桌面的+,能夠新建出新的桌面(最多9個),同時在底部區能夠快捷的添加、切換、關閉虛擬桌面。虛擬桌面自己不是什麼新的技術,有些小軟件就能夠作到,只能說是對桌面操做系統的一個完善吧。好處就是當一個桌面太繁雜的時候,用戶能夠在一個新的桌面去作一些新的任務,或者把不一樣性質的事情放在不一樣的桌面,提升工做效率,有點相似多顯示器體驗。

enter image description here

五、智能分屏

整個屏幕能夠分紅4個屏幕來使用,實際上就是把幾個任務放到顯示器的4個角來分別處理,若是顯示器不夠大,建議就不要使用了,估計只有那些超大屏幕的用戶比較感興趣吧。操做方法,經過把不一樣的窗口拖拽到桌面的四個角來分屏放置。

enter image description here

六、全局搜索

任務欄上新增了搜索功能,點擊後會打開一個小的搜索窗口。默認先搜索本機程序,而後再搜索互聯網內容,也會給出相應的搜索建議,至關智能。

enter image description here

七、其它產品新特性

通知中心:後續應該會作成相似於Android和IOS的通知欄。

語音助手Cortana:補齊和競爭對手的差別,平板上面應該更普遍。

SpartanBrowser:全新的瀏覽器,後面會詳細介紹。

八、Windows10產品新特性總結

明顯開始照顧傳統用戶的感覺。

PC端和終端的體驗開始大一統。

設計上更加趨於扁平化。

0x01 Windows10內置特性和安全特性


一、In-place升級

爲使Windows可以方便地升級到Windows10,微軟對Windows七、8和8.1的用戶提供了保留軟件、配置和數據的In-place升級方式。它經過Windows Update實現系統升級,相似IOS和Android的系統升級方式。

第三方軟件要提早佈局的是,開發出兼容Windows10的版本,提示升級或自動升級到用戶的當前系統,避免系統升級後沒法使用。對於殺毒軟件,由於有驅動等能夠形成新系統Crash的模塊,須要額外知足一些要求。

二、Stay Current保持最新

微軟但願儘量多的用戶保持Windows10系統最新,解決當前系統和瀏覽器碎片化問題,但同時也給企業用戶控制更新策略的能力。

Win7及以前的操做系統聚焦於生產力,較少關注用戶是否使用最新特性;而Win八、8.1則聚焦於普通用戶的設備,尤爲是移動設備,對桌面版的效率方面帶來負面效應,如Metro開始菜單。

Win10在兩者之間作了平衡,並按期持續更新。系統更新主要有兩類:

(1) 每個月的Patch Tuesday - 安全和可靠性相關的補丁

(2) 按期的Rollup – 新特性、內置軟件更新。

三、UPAO (User Protection Always On)

Windows8以上的用戶都安裝有安全軟件,但並非全部的用戶的安全軟件都處於保護狀態。微軟有過一份統計數據代表,收費安全軟件處於非保護狀態的比例更大。

根據另一份根據統計數據,處於安全軟件保護狀態的用戶惡意軟件中招率明顯低於不處於安全軟件保護狀態的用戶。

所以在Windows10中,引入一個新流程,但願保證用戶一直處於AV保護狀態。主要用了兩個方法,一個是通知提示,一個是過時自動啓用Windows Defender。

其中的通知比之前版本作了很大的優化,安全軟件過時前5天,系統會通知用戶即將過時,引導更新,最後一天的通知是模態的。過時後3天通知用戶已過時,引導更新,最後一天的通知也是模態的。

過時當天,Windows Defender會自動啓用,同時禁用原安全軟件。用戶更新原安全軟件或安裝一個新的安全軟件以後,Windows Defender纔會失效(兼容性考慮)。

四、Secure ETW Channel(安全ETW通道)

安全軟件爲實現某些防禦功能,常會Hook內核,來監視系統裏進程的各類行爲。這種Hook方式容易產生兼容性問題,會對系統內核穩定性形成負面影響。遇到內核更新,可能須要相應更新才能使功能繼續生效。

安全ETW通道,是Windows10的一個新安全特性,可擴展,可提供進程行爲的實時數據。安全軟件的受保護進程,不需內核層Hook就能夠監聽內核、安全、Win32事件。

五、Lockdown Mode和虛擬化安全

爲了安全和管理,設備可配置爲僅容許受信軟件運行的模式。特別適用於財經、政府等安全要求高的行業,這個模式會在企業版和教育版SKU中提供。

啓用Lockdown模式,須要虛擬化特性支持Virtual Secure Mode(VT-d)、UEFI 2.4及更新的版本支持安全啓動、打開UEFI安全啓動選項並禁止用戶修改。

基於虛擬化的KMCI(Kernel Mode Code Integrity),爲防止一些內核Exploits,Hypervisor層能夠執行簽名校驗檢查。Page只有在經過了校驗後纔會被標記爲可執行,動態分配的代碼被阻止。

六、AMSI (Antimalware Scan Interface)

新增Win32 API,支持軟件集成已安裝的安全軟件掃描能力。當前支持對文件、內存、流、URL、IP的檢查。

enter image description here

新增Provider接口IAntimalwareProvider提供安全相關服務。

七、WinRE Offline掃描

內核rootkit難以在受感染的系統內清除,當前的Offline掃描工具使用比較複雜。所以WSC給第三方AV提供了WinRE執行環境作掃描、清除。

優勢是Offline清除Rootkit較容易,再也不須要安全軟件本身創建Offline環境和使用所需的設備(如CD、USB)。主要要求有,掃描模塊須要WHQL簽名,兼容WinRE環境,放置在WSC可讀取位置等。

0x02 微軟爲何要開發新瀏覽器


IE的一些很差評價,尤爲是安全性上的評價,已經直接在影響業界對微軟技術能力的評價,不少軟件公司甚至不肯意開發與IE兼容的軟件。事實上,因爲IE瀏覽器在網頁響應速度、抵擋黑客或病毒攻擊、對最新技術的兼容度、人性化瀏覽設置等方面一直存在缺陷,使得近年來軟件業圍繞瀏覽器的爭奪戰愈演愈烈。谷歌、火狐、360等中外軟件企業都開發出了本身的瀏覽器,並各自吸引了一批用戶,致使IE的市場份額持續下滑。

新的Spartan瀏覽器主打輕快安全特色,恰好對應IE的重慢不安全等不良因素,微軟計劃憑藉Spartan扭轉在瀏覽器市場的地位,同時塑造更好的企業形象。

全球瀏覽器市場份額一覽(時間點:2014年11月)。

enter image description here

統計方法不一樣致使市場份額有較大差別,可是不變的是IE的市場份額在持續下滑。

enter image description here

Spartan在這場角力中將扮演繼續沉淪仍是逆襲的角色,讓咱們拭目以待。

enter image description here

0x03 Spartan產品特性


一、取代IE

取代IE這是確定的,正式版本將取代IE11的位置,被固定在任務欄。

enter image description here

二、網頁標註

Spartan支持網頁標註,而且能夠與其它Spartan用戶分享。這是要給瀏覽器帶上社交屬性了,但不得不說這是一種很好的分享途徑。

enter image description here

標註的結果能夠存放在本地,也能夠放到oneNote,前提是你安裝了oneNote(Windows默認集成),擁有這一個功能以後,你能夠和別人分享你的標註結果。

enter image description here

三、閱讀模式

用過Chrome的擴展「印象筆記」的應該很熟悉這一應用,簡直就是逆天。開啓閱讀模式以後,瀏覽器經過摘要算法提取當前頁面的正文內容以後,覆蓋原頁面新起一個窗口進行瀏覽,廣告,雜亂的信息都沒了,只剩下乾淨的正文,你們能夠經過下面的圖片對比體驗一下。

enter image description here

開啓閱讀模式以後。

enter image description here

四、全新的edge渲染引擎

enter image description here

拋棄IE的兼容性包袱,跑得更加輕快,對網頁新特性支持得也更好,估計能更好的吸引Web開發者。另外值得稱道的是Edge引擎的接口(包括EdgeHtml.dll渲染引擎和Chakra.dll JS引擎)徹底和IE的引擎一致(MsHtml.dll和jscript*.dll),所以實際上IE是能夠直接使用Edge引擎的,實際上也確實能夠的,目前Windows10上面的IE11是經過實驗功能提供的。在IE地址欄輸入about:flags,而後將Enable Experimental Web Platform Features功能設置爲已啓用,而後應用更改(要禁用設置爲Disabled便可)。即上演替代大法,IE的渲染引擎就徹底被Edge替代了。

enter image description here

從這裏也能夠看出國內其它的IE內核瀏覽器(譬如QQ瀏覽器)要使用Edge引擎也是垂手可得的。

五、網絡模型

網絡模型上沿用了IE11的最新架構,效率極高,IE11的成功給了Spartan不少借鑑。

HTTP請求使用了完成端口模型,並用系統高效線程池優化數據收發,每次收數據時,預收1K數據,合理控制收包數量。對HTTP Response也進行了解析優化,只認爲第一個回包是HTTP頭,其它都是數據,顯然這是一個策略上合理改變,同時也提高了解析效率。

六、號稱將支持新的擴展

截至發文前Spartan瀏覽器還不支持擴展和插件(如今仍是Project Spartan呢)。微軟以前曾經號稱Spartan要兼容Chrome的擴展,若是微軟真的能兼容一部分Chrome的擴展,已經很不錯了。Chrome的擴展已經被證實是易開發,易使用的,並且不像Native插件飽受漏洞的困擾。

0x04 Spartan安全特性


對於IE11已經啓用的安全特性,Spartan也是繼續延續的,但願能甩掉IE的不安全帽子,每個月的補丁日都來個IE累積安全更新,一年還來一兩次IE緊急更新也是醉了。 下面咱們瞭解下這些新的安全特性。

一、框架進程也運行在了AppContainer完整性權限

完整性權限並非一個新東西。從已有一些瀏覽器的架構來講,框架進程通常都是Medium權限,Spartan的作法是再次從系統層面下降了框架進程的權限,框架進程運行在AppContainer完整性權限的好處是整個瀏覽器訪問系統資源更加受限。在進行沙箱突破時也會更加困難,在突破Chrome的沙箱時,一種思路就是利用Chrome的框架進程和渲染進程的IPC通訊來進行突破,由於Chrome的框架進程的權限仍是Medium,權限相對AppContainer來講高了幾個等級。

二、渲染進程(tabs)缺省運行在EPM下

IE11通常狀況下須要啓動EPM(加強保護模式)才能讓渲染進程運行在AppContainer權限(進沙箱),默認進入顯然更加安全。

三、IE下的Toolbars、BHO等瀏覽器擴展都再也不支持

減小攻擊平面,安全性更高。BHO等Native插件自己可能沒有什麼漏洞,可是BHO使用的一些技術手段,譬如經常使用的detours等庫,由於自己有一些實現上的缺陷,致使漏洞利用變得容易,譬如detours修改了PE頭的可執行屬性,跳板代碼放置在內存中的固定位置等等,直接不支持這些插件,可能對插件做者是一個打擊,可是對安全性來講顯然是更高的,不用再去考慮這些不可控的東西。

四、ActiveX控件受到更加嚴格的限制,權限極低

ActiveX控件的泛濫嚴重影響着IE的安全,雖然一些ActiveX控件的漏洞嚴格來講不屬於瀏覽器的漏洞,可是嚴重影響着IE的口碑,看來Spartan是要在這塊下很手了。

五、禁用vbscript,減小攻擊利用手段,安全性更高

利用vbscript來繞過nozzle已是比較成熟的技術,直接禁用vbscript則是從源頭上堵死了這種利用手段。2014年有一個神通常的漏洞被曝光,CVE-2014-6332,這個漏洞通殺IE3.0~IE11,破壞性可見一斑,這個漏洞自己並非vbscript的漏洞,可是它利用vbscript的一些語言上的特性,關閉了vbscript的SafeMode模式(傳說中的開啓上帝模式),而後直接得到系統權限,不用繞什麼DEP,ASLR了,也不用佈置什麼精巧的shellcode,在IE裏面想幹啥就幹啥。

六、更完善的堆保護

在微軟沒有啓用內存保護機制以前,對象和字符串都是從進程堆中分配的,對於UAF漏洞利用來講,一個對象被釋放後,能夠分配一樣大小的字符串,佔住以前對象的內存,因爲字符串能夠隨意修改,所以能夠修改對象的虛表,在這個對象再次被使用時,將會調用到咱們修改後的虛表函數,實現漏洞利用。以後微軟啓用了隔離堆,對象在隔離堆中分配,字符串在進程堆中分配,這樣使得對象被釋放後,不能用字符串來佔坑修改。緩解UAF漏洞利用。

斯巴達中新增長了一種內存保護堆機制(MemProtectHeap),由chakra.dll本身管理內存分配,再也不使用系統的堆機制。首先調用VirtualAlloc分配一大片內存,每次從中取一頁,從0開始依次分配。對象釋放時,只是簡單標記一下,而且清0。只有當一頁中全部對象被釋放時,這個頁才被釋放。這種管理機制的特色是內存申請很是快,而且難以佔坑,由於須要釋放一頁中全部的對象,而且要從新申請到這一頁。缺點也是顯而易見的,它的內存消耗很大,堆噴很方便,而且沒有隨機性。

七、CFG默認開啓

CFG(控制流保護),是對CFI(控制流完整性)的一個實用性實現。徹底實現CFI須要在jmp、call 一個寄存器(或者使用寄存器間接尋址)的時候,改寫目的地址內容,目的地址有時必須經過動態得到,且改寫的開銷又很大,這些都給CFI的實際應用形成了必定的困難。但CFG使用一種相對比較巧妙的方法,下降了內存消耗和對系統的影響。

微軟在最新的操做系統Windows10當中,對基於執行流防禦的實際應用中採用了CFG技術。它是一種編譯器和操做系統相結合的防禦手段,目的在於防止不可信的間接調用。對基於虛表進行攻擊的利用手段能夠有效防護。

漏洞攻擊過程當中,常見的利用手法是經過溢出覆蓋或者直接篡改某個寄存器的值,篡改間接調用的地址,進而控制了程序的執行流程。CFG經過在編譯和連接期間,記錄下全部的間接調用信息,並把他們記錄在最終的可執行文件中,而且在全部的間接調用以前插入額外的校驗,當間接調用的地址被篡改時,會觸發一個異常,操做系統介入處理。

八、沙箱

沙箱的發展歷史經歷了幾個階段,最開始的基於Hook的沙箱應該是最原始的應用,這種沙箱與系統容易產生兼容性問題,維護不方便,基本上系統更新一次(甚至打一個補丁),就可能要更改實現,不然就有可能致使兼容問題。

後來Chrome的沙箱沒有使用Hook的機制,而是儘可能利用藉助系統的一些安全機制,經過控制權限的方式來保護本身。這種沙箱機制已經在黑客大賽中被證實最難攻破,Spartan瀏覽器顯然借鑑了這一作法,並且作得更完全,連框架進程也被包含在了整個安全體系裏面,經過利用系統安全機制,下降瀏覽器的進程權限,限制它訪問資源的權限,達到防攻擊的目的。

固然Spartan上面應用的安全特性遠遠不止上面這些,還有不少已經在IE11裏面實現,Spartan直接就沿用過來了,這裏就再也不作過多解讀,有興趣的童鞋能夠去看看隔離堆(反heapspay),內存延遲釋放(反UAF攻擊)等等安全知識。

電腦管家的網頁防火牆已經第一時間對Spartan瀏覽器進行安全支持,管家用戶能夠安全瀏覽上網。

0x05 參考文檔


(1] http://www.mydrivers.com/

(2] http://www.cnbeta.com/articles/381555.htm

(3] Living on the edge – our next step in helping the web just work ttp://blogs.msdn.com/b/ie/archive/2014/11/11/living-on-the-edge-our-next-step-in-interoperability.aspx

(4] Project Spartan and the Windows 10 January Preview Build http://blogs.msdn.com/b/ie/archive/2015/01/22/project-spartan-and-the-windows-10-january-preview-build.aspx

(5] http://www.199it.com/archives/261940.html

(6] 有關IE VB神洞CVE-2014-6332 http://blog.vulnhunt.com/index.php/2014/11/18/about_cve-2014-6332/

(7] 斯巴達瀏覽器 http://baike.baidu.com/item/%E6%96%AF%E5%B7%B4%E8%BE%BE%E6%B5%8F%E8%A7%88%E5%99%A8

相關文章
相關標籤/搜索