課程:《密碼與安全新技術專題》javascript
班級: 1892php
姓名: 王子榛html
學號:20189206前端
上課教師:張健毅java
上課日期:2019年2月25日node
網絡化社會git
經過以上信息技術的發展階段,信息安全伴隨着通訊技術的出現而出現而且一直是信息技術中不可忽視的重中之重。web
以上信息安全技術的變化預示着攻擊方式的改變:可探測->可訪問->可掌控算法
震網攻擊 出現標誌着物理隔離也再也不安全sql
震網病毒又名Stuxnet病毒,是一個席捲全球工業界的病毒。
震網(Stuxnet)病毒於2010年6月首次被檢測出來,是第一個專門定向攻擊真實世界中基礎(能源)設施的「蠕蟲」病毒,好比核電站,水壩,國家電網。互聯網安全專家對此表示擔憂。
做爲世界上首個網絡「超級破壞性武器」,Stuxnet的計算機病毒已經感染了全球超過 45000個網絡,伊朗遭到的攻擊最爲嚴重,60%的我的電腦感染了這種病毒。計算機安防專家認爲,該病毒是有史以來最高端的「蠕蟲」病毒。蠕蟲是一種典型的計算機病毒,它能自我複製,並將副本經過網絡傳輸,任何一臺我的電腦只要和染毒電腦相連,就會被感染。
APT攻擊 高等級持續性攻擊
APT(Advanced Persistent Threat)是指高級持續性威脅,本質是針對性攻擊。 利用先進的攻擊手段對特定目標進行長期持續性網絡攻擊的攻擊形式,APT攻擊的原理相對於其餘攻擊形式更爲高級和先進,其高級性主要體如今APT在發動攻擊以前須要對攻擊對象的業務流程和目標系統進行精確的收集。在此收集的過程當中,此攻擊會主動挖掘被攻擊對象受信系統和應用程序的漏洞,利用這些漏洞組建攻擊者所需的網絡,並利用0day漏洞進行攻擊。
APT入侵客戶的途徑多種多樣,主要包括如下幾個方面。
——以智能手機、平板電腦和USB等移動設備爲目標和攻擊對象繼而入侵企業信息系統的方式。
——社交工程的惡意郵件是許多APT攻擊成功的關鍵因素之一,隨着社交工程攻擊手法的日益成熟,郵件幾乎真假難辨。從一些受到APT攻擊的大型企業能夠發現,這些企業受到威脅的關鍵因素都與普通員工遭遇社交工程的惡意郵件有關。黑客剛一開始,就是針對某些特定員工發送釣魚郵件,以此做爲使用APT手法進行攻擊的源頭。
——利用防火牆、服務器等系統漏洞繼而獲取訪問企業網絡的有效憑證信息是使用APT攻擊的另外一重要手段。
總之,高級持續性威脅(APT)正在經過一切方式,繞過基於代碼的傳統安全方案(如防病毒軟件、防火牆、IPS等),並更長時間地潛伏在系統中,讓傳統防護體系難以偵測。
xcodeGhost
Xcode Ghost,是一種手機病毒,主要經過非官方下載的 Xcode 傳播,可以在開發過程當中經過 CoreService 庫文件進行感染,使編譯出的 App 被注入第三方的代碼,向指定網站上傳用戶數據。
也就是說,開發者下載的非官方途徑的Xcode帶有XcodeGhost 病毒。
經過Xcode從源頭注入病毒Xcode Ghost,是一種針對蘋果應用開發工具Xcode的病毒。它的初始傳播途徑主要是經過非官方下載的 Xcode 傳播,經過 CoreService 庫文件進行感染。當應用開發者使用帶毒的Xcode工做時,編譯出的App 都將被注入病毒代碼,從而產生衆多帶毒APP。
因爲程序中對用戶輸入檢查不嚴格,用戶能夠提交一段數 據庫查詢代碼,根據程序返回的結果,得到某些他想得知 的數據,這就是所謂的SQL Injection,即SQL注入。
惡意攻擊者往Web頁面裏插入惡意html代碼,當用戶瀏覽該頁之時,嵌入其中Web裏面的html代碼會被執行,從而達到惡意攻擊用戶的特殊目的。
XSS, 即爲(Cross Site Scripting), 中文名爲跨站腳本, 是發生在目標用戶的瀏覽器層面上的,當渲染DOM樹的過程成發生了不在預期內執行的JS代碼時,就發生了XSS攻擊。
跨站腳本的重點不在‘跨站’上,而在於‘腳本’上。大多數XSS攻擊的主要方式是嵌入一段遠程或者第三方域上的JS代碼。其實是在目標網站的做用域下執行了這段js代碼。
分類
CSRF(Cross-site request forgery)跨站請求僞造 。
攻擊者盜用了你的身份,以你的名義發送惡意請求。CSRF可以 作的事情包括:以你名義發送郵件,發消息,盜取你的帳號, 甚至於購買商品,虛擬貨幣轉帳......形成的問題包括:我的隱私 泄露以及財產安全。
解析漏洞就是web容器將其餘格式的文件解析爲可執行腳本語言,攻擊者能夠利用這個特徵去執行一些攻擊行爲。
弱口令(weak password) 沒有嚴格和準確的定義,一般認爲容易被別人(他們有可能對你很瞭解)猜想到或被破解工具破解的口令均爲弱口令。
弱口令指的是僅包含簡單數字和字母的口令,例如「123」、 「abc」等,由於這樣的口令很容易被別人破解,從而使用戶的計 算機面臨風險,所以不推薦用戶使用。
提到了國外的strava戶外運動健身軟件使用手機的GPS功能追蹤用戶什麼時候何地進行鍛鍊,其發佈的數據可視化圖標上三萬億個經緯度點用戶進行的活動能夠輕易泄露軍事基地的位置和人員位置信息。
「黃金眼產品」患者手機只要處於開啓狀態,就能夠得到患者的用戶畫像包括性別、年齡、職業、搜索記錄,家庭住址等。
問題1解決方案: 因爲我本科所學專業是物聯網涉及知識較多,不少知識並無很深刻的瞭解,本次講座也詳細系統地講解了web安全和內容安全的相關知識。首先我須要掌握的概念就是什麼是web標準,web標準是如何定義的,針對與這個問題我查找了百度百科。
WEB標準不是一某一個標準,而是一系列標準的集合。這些標準大部分由萬維網聯盟(外語縮寫:W3C)起草和發佈,也有一些是其餘標準組織制定的標準。好比ECMA(Europe Computer Manufacturers Association)的ECMAScript標準。
網頁主要由三部分組成:
結構(Structure)
表現(Preseentation)
行爲(Behavior)
對應的標準也分三方面:
結構化標準語言主要包括XHTML和XML
表現標準語言主要包括CSS
行爲標準語言主要包括對象模型(如W3C DOM)、ECMAScript等
問題2解決方案: 本學期還選擇了網絡攻防這門課,一開始就對滲透測試這個名詞很好奇。滲透,顧名思義就是逐步深刻的意思,經過百度、參考課本等方式,對滲透測試有了初步的瞭解,可是具體滲透測試所要通過的步驟,如何纔是一個好的滲透測試,都是須要繼續學習。
滲透測試是經過模擬惡意黑客的攻擊方法,來評估計算機網絡系統安全的一種評估方法。這個過程包括對系統的任何弱點、技術缺陷或漏洞的主動分析,這個分析是從一個攻擊者可能存在的位置來進行的,而且從這個位置有條件主動利用安全漏洞。
問題3解決方案: 這個漏洞不是很懂,主要是由於不瞭解這個技術,通過百度,知道Struts2是一個基於MVC設計模式的Web應用框架,本質上至關於一個servlet,在MVC的設計模式中,Struts2做爲Controller來創建模型與視圖的數據交互。
MVC模式:MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典範,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯彙集到一個部件裏面,在改進和個性化定製界面及用戶交互的同時,不須要從新編寫業務邏輯。MVC被獨特的發展起來用於映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。
看到這裏又要問什麼是web容器?web容器是一種服務程序,在服務器一個端口就有一個提供相應服務的程序,而這個程序就是處理從客戶端發出的請求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是這樣的容器。一個服務器能夠有多個容器。
Struts2漏洞:Apache Struts 2被曝存在遠程命令執行漏洞,漏洞編號S2-045,CVE編號CVE-2017-5638,在使用基於Jakarta插件的文件上傳功能時,有可能存在遠程命令執行,致使系統被黑客入侵。惡意用戶可在上傳文件時經過修改HTTP請求頭中的Content-Type值來觸發該漏洞,進而執行系統命令。
聽完張健毅老師的講座,對網絡安全有了必定的瞭解,經過網絡安全與隱私安全兩個方面的相關知識的介紹以及對最後機器學習的大體瞭解, 有些內容因爲之前本科時並無接觸過,因此不是特別明白,知識大體知道其原理,若是真的想在這一領域方向進行研究仍是須要從基礎的知識學起,只有掌握了其中的基礎知識才能進一步瞭解在網絡安全這方面應該如何繼續深刻,網絡攻防一直以來是經久不衰的話題,學習網絡攻防,須要有多方面的知識,涉及知識面廣,多看書,多看文獻才能從中瞭解到最新的研究現狀,並找到學習的入口點。
老師在課上舉出的許多例子也十分發人深思,在技術飛速發展的今天,隱私保護難上加難,許多時候在咱們本身不經意間就泄露了我的信息,因此我認爲,保護隱私首先要學習隱私的保護方法,利用技術手段剋制技術手段。同時隨着大數據、雲計算的發展,咱們須要學會利用數據,來不斷提高技術手段。
Didn’t You Hear Me? — Towards More Successful Web Vulnerability Notifications |
針對於現存的安全威脅,主要因爲系統中存在的諸多漏洞,攻擊每每都是經過安全漏洞進行,因此,修復漏洞是一個十分必要的環節。老師在課上也介紹了許多常見的web漏洞,查閱相關資料,網絡攻防的週期中0day攻擊是尚未補丁漏洞,攻擊者利用漏洞進行攻擊。
即關注點不該僅僅侷限於如何查找漏洞,更是應該找到一種快速通知漏洞給受衆的方式。(文章這裏是指存在漏洞易受到攻擊的系統或網站的管理員,如何精確快速地通知到他們並讓管理員及時採起有效的措施)
這篇論文主要研究關於漏洞通知的方式,如何進行安全通知使漏洞獲得及時的修復,在以往的漏洞通知方式中,存在的問題仍然是修復不及時,這也正是最大的安全威脅。文章分析了哪些技術和人是阻礙大規模披露漏洞的,好比電子郵件中的垃圾郵件過濾、收件人缺少信任、有意識但在修復漏洞方面猶豫不決,最終肯定出將來如何改進安全通知的方式。
做者經過大規模地羣發全自動郵件、不一樣溝通渠道手動通知等方式,最後進行匿名調查,總結出的如何進行更加有效的安全漏洞通知的方式的報告。
在利用電子郵件通知漏洞的時候,最好的方式是用WHOIS技術聯繫管理員是當下最有效的方法。在對比了手動通知會消耗的人力物力、設立基礎架構以大規模檢測漏洞的方式等給前端加載的費用問題、全自動化方法產量不理想等,現下最有效的方式仍然是發送郵件,在WHOIS技術的支持下,創建良好的信任和相互合做關係。
經過這篇論文,我可以知道的是隨着大量應用的出現,應用中大規模漏洞的披露也不少,針對漏洞的及時修復相當重要,如今有不少工具可以方便地發現系統存在的漏洞,因此如何可以快速通知管理員及時修補漏洞是提高總體系統安全的重要方法。
Synode: Understanding and Automatically Preventing Injection Attacks on Node.js |
關於注入攻擊老師上課也講了不少,因而我找了一篇關於注入攻擊的論文,這篇論文的主旨是理解並在NODE.JS上執行JavaScript代碼所帶來的注入攻擊危害,經過自動化手段抵禦注入攻擊。本文介紹了一項涵235,850的大規模研究Node.js模塊用於探索注入漏洞。並提出了我一種自動緩解技術Synode,它結合了靜態分析和運行時實施
安全策略如何安全使用易受攻擊的模塊辦法。關鍵的想法是靜態計算模板傳遞給易於注入的API的值,並從中綜合基於語法的運行時策略這些模板。
Node 是一個讓 JavaScript 運行在服務端的開發平臺,它讓 JavaScript 成爲與PHP、Python、Perl、Ruby 等服務端語言分庭抗禮的腳本語言。 發佈於2009年5月,由Ryan Dahl開發,實質是對Chrome V8引擎進行了封裝。
Node對一些特殊用例進行優化,提供替代的API,使得V8在非瀏覽器環境下運行得更好。Node是一個基於Chrome JavaScript運行時創建的平臺,用於方便地搭建響應速度快、易於擴展的網絡應用。Node 使用事件驅動, 非阻塞I/O 模型而得以輕量和高效,很是適合在分佈式設備上運行數據密集型的實時應用。
JavaScript做爲Web應用程序客戶端最普遍使用的編程語言,其中超過90%的網站都在使用,利用其開發的服務器和桌面應用程序Node.js,移動編程甚至是操做系統……其普遍的使用得益於強大的可複用性,但可複用性也會致使新類型的漏洞和攻擊變得更多,文章完全研究了在Node.js上執行JavaScript特有的安全問題:eval API以及exec API
基本思想是:基本思想是檢查全部第三方模塊做爲其安裝的一部分並重寫它們以啓用本文提出的安全模式。兩種策略的混合做爲重寫的一部分應用。
Seeking Nonsense, Looking for Trouble: Efficient Promotional-Infection Detection through Semantic Inconsistency Search |
文章主要介紹了Promotional infection促銷感染應該如何防治,Promotional infection是指對手利用網站的弱點注入非法廣告內容,檢測這種感染具備挑戰性,由於這種非法廣告和合法廣告十分類似。做者發現這種攻擊每每在感染者之間產生很大的語義差距,基於語義差距開發出語義不一致性搜索,用於高效準確地檢測出非法廣告對頂級域名進行的注入。方法是使用天然語言處理(NLP)來識別「bad terms」,這些不相關的壞術語用於在sTLD下查詢搜索引擎以查找可疑域。
促銷感染是一種利用弱點的攻擊一個促進內容的網站。它已被用來服務各類惡意在線活動(例如,黑帽搜索引擎優化(SEO),網站污損,假冒防病毒(AV)促銷,網絡釣魚)經過各類利用渠道(例如,SQL注入,URL重定向攻擊和博客/論壇垃圾郵件)。
I Think They’re Trying to Tell Me Something: Advice Sources and Selection for Digital Security |
用戶天天都會收到大量的數字和物理安全建議。實際上,若是實施了收到的全部安全建議,就永遠不會離開家或使用互聯網。相反,用戶有選擇地選擇一些建議接受和一些(大多數)拒絕;然而,目前尚不清楚它們是否有效地優先考慮最重要或最有用的東西。若是可以從哪裏以及爲何理解用戶採起安全建議,能夠開發更有效的安全乾預措施。
做爲第一步,對人口統計學上普遍的用戶羣進行了25次半結構式訪談。這些訪談產生了一些有趣的發現:(1)參與者根據建議來源的可信度評估了數字安全建議,但基於對建議內容的直觀評估評估了物理安全建議; (2)精心設計的虛構敘事中描繪的負面安全事件具備相關的特徵,多是數字和物理安全行爲的有效教學工具; (3)參與者因多種緣由拒絕了建議,包括髮現建議包含過多的營銷材料或威脅他們的隱私。
研究結果代表,用戶認爲他們缺少評估數字安全建議內容的技能,而必須依賴於在肯定是否接受建議時對建議來源的可信度進行評估。他們信任的來源包括他們的工做場所,數字服務提供商,IT專業人士,家庭成員和朋友。的參與者也依賴媒體做爲建議的來源,但前提是它經過了啓發式可信度測試。
其次,發現用戶拒絕安全建議有一些使人驚訝的緣由,包括包含太多的營銷信息和威脅用戶的隱私感。此外,大多數參與者認爲某人或其餘人在至少一個數字域(例如,網上銀行)中對其安全性負責。
第三,發現證據代表電視節目或電影中的負面體驗的小插曲可能可以將相似經理中的行爲改變爲直接經歷的負面體驗。所以,經過進一步研究測試虛構的負面事件小插曲在安全行爲變化中的功效,或許可以開發出一種新穎,高效的干預措施。
Towards Realistic Threat Modeling: Atack Commodification, Irrelevant Vulnerabilities, and Unrealistic Assumptions |
當前的威脅模型一般考慮攻擊者能夠穿透系統的全部可能方式,並根據某個度量(例如,折衷時間)將機率分配給每一個路徑。 在本文中做者討論這種觀點如何阻礙當前威脅建模的技術(例如攻擊圖)和戰略(例如博弈論)方法的真實性,並建議經過更仔細地觀察攻擊特徵和攻擊者環境來避開。 做者使用玩具威脅模型進行ICS攻擊,以顯示如何經過對攻擊階段和攻擊者限制的簡單分析來呈現真實的攻擊實例視圖。
威脅建模是指利用抽象來幫助思考風險,經過識別目標和漏洞來優化系統安全,而後定義防範或減輕系統威脅的對策的過程。現代威脅建模從潛在的攻擊者的角度來看待系統,而不是防護者的觀點。威脅建模能夠在軟件設計和在線運行時進行, 按照「需求-設計-開發-測試-部署-運行-結束」的軟件開發生命週期,威脅建模在新系統/新功能開發的設計階段,增長安全需求說明,經過威脅建模知足軟件安全設計工做;若是系統已經在上線運行,能夠經過威脅建模發現新的風險,做爲滲透測試的輔助工做,儘量的發現全部的漏洞。
根據文章觀點,威脅建模分爲兩大類:漏洞和技術風險,漏洞在威脅建模中起着核心做用;戰略方法,攻擊者策略的模型採用了不一樣的視角,一般是針對目標的防護姿態。儘管採用的視角或應用場景存在多樣性,但全部當前的方法都有一個共同的基本假設:攻擊者能夠任意選擇他/她認爲最大化模型分配給他或她的功能的攻擊向量或序列。這會使防守者處於高壓狀態,防護全部漏洞。文章以ICS系統爲例子創建了一個玩具威脅模型顯示了一個真實的攻擊實例視圖。
以上是聽完講座後查閱資料的一些心得體會,因爲本科沒有過多學習過網絡編程這方面的知識,感受不少知識都不是很瞭解,在之後的學習中會慢慢補上,也會繼續積累這方面的知識。