成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

常見Web安全問題及防御策略

安全 應用安全
一切的安全方案設計的基礎,都是建立在信任關系上的。我們必須相信一些東西,必須要有一些最基本的假設,安全方案才能得以建立。

[[387405]]

本文轉載自微信公眾號「架構精進之路」,作者架構精進之路。轉載本文請聯系架構精進之路公眾號。

1、安全世界觀

安全世界觀一詞是《白帽子講Web安全》一書的開篇章節,多年后再讀經典,仍然受益匪淺!

正如開篇所說的:“互聯網本來是安全的,自從有了研究安全的人,互聯網就不安全了。” 世上沒有攻不破的系統,只有還沒攻破的系統,有多少條路可以通羅馬,大概就有多少種攻克之道。

1.1 Web安全的興起

“破壞往往比建設容易”,但凡事都不是絕對的。

跟機場安全檢查進行類比。通過一個安全檢查(過濾,凈化)的過程,可以梳理未知的人或物,使其變得可信任。被劃分出來的具有不同信任級別的區域,我們成為信任域,劃分兩個不同信任域之間的邊界,我們稱之為信任邊界。

數據從高等級的信任域流向低等級的信任域,是不需要經過安全檢查的;數據從低等級的信任域流向高等級的信任域,是需要經過信任邊界的安全檢查。

安全問題的本質是信任的問題。

一切的安全方案設計的基礎,都是建立在信任關系上的。我們必須相信一些東西,必須要有一些最基本的假設,安全方案才能得以建立。

1.2 安全的三要素

安全的三要素是安全的基本組成元素,分別為:

  • 機密性(Confidentiality)

機密性要求數據內容不能泄露,加密是實現機密性要求的常見手段。如果不將文件存在抽屜里,而是放在透明的盒子里,那么雖然無法得到這個文件,但是文件的內容將會被泄露。

  • 完整性(Integrity)

完整性則要求保護數據內容是完整,沒有被篡改的。常見的保證一致性的技術手段是數字簽名。

  • 可用性(Availability)

可用性要求保護資源是“隨需而得”。

舉例來說,假如有100個車位,有一天一個壞人搬了100塊大石頭將車位全占了,那么停車場無法再提供正常服務。在安全領域中叫做拒絕服務攻擊,簡稱DoS(Denial of Service)。拒絕服務攻擊破壞的是安全的可用性。

1.3 白帽子兵法

Secure By Default原則

1)黑名單、白名單

實際上,Secure By Default原則,也可以歸納為白名單,黑名單的思想。如果更多地使用白名單,那么系統就會變得更安全。

2)最小權限原則

最小原則要求系統只授予主體必要的權限,而不要過度授權,這樣能有效地減少系統,網絡,應用,數據庫出錯的機會。

如果網站只提供Web服務,只允許開啟80,443端口,屏蔽其它端口。

縱深防御原則

縱深防御原則包含兩層含義:

1)要在各個不同層面,不同方面實施安全方案,避免出現疏漏,不同安全方案之間需要相互配合,構成一個整體;

2)要在正確的地方做正確的事情,即:在解決根本問題的地方實施針對性的安全方案。

數據與代碼分離原則

這一原則適用于各種由于“注入”而引發安全問題的場景。

實際上,緩沖區溢出,也可以認為是程序違背了這一原則的后果——程序在棧或者堆中,將用戶數據當做代碼執行,混淆了代碼與數據的邊界,從而導致安全問題的發生。

不可預測性原則

微軟使用的ASLR技術,在較新版本的Linux內核中也支持。在ASLR的控制下,一個程序每次啟動時,其進程的棧基址都不相同,具有一定的隨機性,對于攻擊者來說,這就是“不可預測性”。

不可預測性,能有效地對抗基于篡改,偽造的攻擊。

不可預測性的實現往往需要用到加密算法,隨機數算法,哈希算法,好好利用這條規則,在設計安全方案時往往會事半功倍。

2、常見WEB安全

2.1 XSS

XSS (Cross Site Script),跨站腳本攻擊,因為縮寫和 CSS (Cascading Style Sheets) 重疊,所以只能叫 XSS。

XSS 的原理是惡意攻擊者往 Web 頁面里插入惡意可執行網頁腳本代碼,當用戶瀏覽該頁之時,嵌入其中 Web 里面的腳本代碼會被執行,從而可以達到攻擊者盜取用戶信息或其他侵犯用戶安全隱私的目的。XSS 的攻擊方式千變萬化,但還是可以大致細分為幾種類型:

非持久型XSS

也叫反射型 XSS 漏洞,一般是通過給別人發送帶有惡意腳本代碼參數的 URL,當 URL 地址被打開時,特有的惡意代碼參數被 HTML 解析、執行。

持久型XSS

持久型 XSS 攻擊不需要誘騙點擊,黑客只需要在提交表單的地方完成注入即可,但是這種 XSS 攻擊的成本相對還是很高。

未經驗證的跳轉XSS

一些場景是后端需要對一個傳進來的待跳轉的 URL 參數進行一個 302 跳轉,可能其中會帶有一些用戶的敏感(cookie)信息。

2.2 CSRF

CSRF(Cross-Site Request Forgery),名為:跨站請求偽造攻擊。

那么 CSRF 到底能夠干嘛呢?

你可以這樣簡單的理解:攻擊者可以盜用你的登陸信息,以你的身份模擬發送各種請求。攻擊者只要借助少許的社會工程學的詭計。

例如通過 QQ 等聊天軟件發送的鏈接(有些還偽裝成短域名,用戶無法分辨),攻擊者就能迫使 Web 應用的用戶去執行攻擊者預設的操作。例如,當用戶登錄網絡銀行去查看其存款余額,在他沒有退出時,就點擊了一個 QQ 好友發來的鏈接,那么該用戶銀行帳戶中的資金就有可能被轉移到攻擊者指定的帳戶中。

所以遇到 CSRF 攻擊時,將對終端用戶的數據和操作指令構成嚴重的威脅。當受攻擊的終端用戶具有管理員帳戶的時候,CSRF 攻擊將危及整個 Web 應用程序。

CSRF 原理

下圖大概描述了 CSRF 攻擊的原理:

CSRF 攻擊必須要有三個條件 :

1. 用戶已經登錄了站點 A,并在本地記錄了 cookie

2 . 在用戶沒有登出站點 A 的情況下(也就是 cookie 生效的情況下),訪問了惡意攻擊者提供的引誘危險站點 B (B 站點要求訪問站點A)。

3 . 站點 A 沒有做任何 CSRF 防御

預防 CSRF

CSRF 的防御可以從服務端和客戶端兩方面著手,防御效果是從服務端著手效果比較好,現在一般的 CSRF 防御也都在服務端進行。服務端的預防 CSRF 攻擊的方式方法有多種,但思路上都是差不多的,主要從以下兩個方面入手 :

1 . 正確使用 GET,POST 請求和 cookie

2 . 在非 GET 請求中增加 token

CSRF 的防御可以根據應用場景的不同自行選擇。CSRF 的防御工作確實會在正常業務邏輯的基礎上帶來很多額外的開發量,但是這種工作量是值得的,畢竟用戶隱私以及財產安全是產品最基礎的根本。

2.3 SQL 注入

SQL 注入漏洞(SQL Injection)是 Web 開發中最常見的一種安全漏洞。攻擊者利用這個漏洞,可以訪問或修改數據,或者利用潛在的數據庫漏洞進行攻擊。

而造成 SQL 注入的原因是因為程序沒有有效的轉義過濾用戶的輸入,使攻擊者成功的向服務器提交惡意的 SQL 查詢代碼,程序在接收后錯誤的將攻擊者的輸入作為查詢語句的一部分執行,導致原始的查詢邏輯被改變,額外的執行了攻擊者精心構造的惡意代碼。

如何預防

防止 SQL 注入主要是不能允許用戶輸入的內容影響正常的 SQL 語句的邏輯,當用戶的輸入信心將要用來拼接 SQL 語句的話,我們應該永遠選擇不相信,任何內容都必須進行轉義過濾,當然做到這個還是不夠的,下面列出防御 SQL 注入的幾點注意事項:

  • 嚴格限制Web應用的數據庫的操作權限,給此用戶提供僅僅能夠滿足其工作的最低權限,從而最大限度的減少注入攻擊對數據庫的危害;
  • 后端代碼檢查輸入的數據是否符合預期,嚴格限制變量的類型,例如使用正則表達式進行一些匹配處理;
  • 對進入數據庫的特殊字符(',",\,<,>,&,*,; 等)進行轉義處理,或編碼轉換;
  • 所有的查詢語句建議使用數據庫提供的參數化查詢接口,參數化的語句使用參數而不是將用戶輸入變量嵌入到 SQL 語句中,即不要直接拼接 SQL 語句。

2.4 DDoS 攻擊

DDoS 又叫分布式拒絕服務,全稱 Distributed Denial of Service。

其原理就是利用大量的請求造成資源過載,導致服務不可用,這個攻擊應該不能算是安全問題,這應該算是一個另類的存在,因為這種攻擊根本就是耍流氓的存在,「傷敵一千,自損八百」的行為。

DDoS 攻擊可以理解為:「你開了一家店,隔壁家店看不慣,就雇了一大堆黑社會人員進你店里干坐著,也不消費,其他客人也進不來,導致你營業慘淡」。

也許你的站點遭受過 DDoS 攻擊,具體什么原因怎么解讀見仁見智。DDos 攻擊從層次上可分為網絡層攻擊與應用層攻擊,從攻擊手法上可分為快型流量攻擊與慢型流量攻擊,但其原理都是造成資源過載,導致服務不可用。

主要分類

網絡層的 DDoS 攻擊究其本質其實是無法防御的,我們能做得就是不斷優化服務本身部署的網絡架構,以及提升網絡帶寬。

應用層 DDoS 攻擊不是發生在網絡層,是發生在 TCP 建立握手成功之后,應用程序處理請求的時候,現在很多常見的 DDoS 攻擊都是應用層攻擊。

  • 應用層的防御有時比網絡層的更難,因為導致應用層被 DDoS 攻擊的因素非常多,有時往往是因為程序員的失誤,導致某個頁面加載需要消耗大量資源,有時是因為中間件配置不當等等。
  • 而應用層 DDoS 防御的核心就是區分人與機器(爬蟲),因為大量的請求不可能是人為的,肯定是機器構造的。因此如果能有效的區分人與爬蟲行為,則可以很好地防御此攻擊。

總結

Web 安全的對于 Web 從業人員來說是一個非常重要的課題。本文介紹了安全世界觀,以及常見Web 相關的三種安全防御知識,希望大家以后的工作中不要誤入踩雷,希望對大家有所幫助!

安全是一門樸素的學問,也是一種平衡的藝術,無論是傳統安全,還是互聯網安全,其內在原理都是一樣的。我們只需抓住安全問題的本質,之后無論遇到任何安全問題,都會無往而不利!

 

責任編輯:武曉燕 來源: 架構精進之路
相關推薦

2013-11-11 16:06:38

2013-02-27 15:49:22

2019-04-04 11:55:59

2020-10-30 08:50:25

2013-11-19 15:48:34

電商安全網購安全

2023-06-14 11:59:55

2015-07-09 09:35:37

2022-02-24 09:00:00

AD安全漏洞

2021-04-22 21:58:51

云計算IaaS安全

2021-11-12 10:31:11

云計算云計算環境云應用

2021-04-20 10:54:47

云計算IaaS安全云安全

2021-08-02 18:08:53

網站安全SQL技術

2017-03-14 13:39:08

2010-09-13 13:37:59

2020-04-10 08:34:58

網絡安全郵件安全網絡釣魚

2009-07-30 21:34:45

2021-03-14 18:25:32

網站安全網絡攻擊漏洞

2017-10-17 15:12:25

數據庫MySQLWeb安全

2014-10-21 10:30:33

2012-11-20 10:47:16

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩中文字幕视频 | 中文字幕免费 | 精品综合久久 | 日韩欧美精品一区 | 国产一区欧美一区 | 在线观看中文字幕视频 | 中文字幕久久精品 | 国产精品明星裸体写真集 | 亚洲综合在线一区 | 欧美成人精品在线 | 国产91精品久久久久久久网曝门 | 免费一二区 | 日批免费在线观看 | 国产高清视频在线观看 | 国产精品久久久久久久久久久久冷 | 精品一区二区久久 | 福利片在线观看 | 中文字幕高清免费日韩视频在线 | 国产日屁| 色资源站| 美女中文字幕视频 | 日韩欧美大片在线观看 | 欧美一区二区激情三区 | 日韩中文字幕一区 | 久久精品网| 北条麻妃av一区二区三区 | 中文字幕一区二区三区四区五区 | 最新中文字幕一区 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 国产精品99久久久久久久久 | 国产乱码久久久久久 | 国产99久久 | 一级做a爰片性色毛片 | 国产在线观看一区 | 狠狠狠干 | 一区二区三区精品在线视频 | 国产精品久久久99 | 在线观看三级av | 男人av在线| 日日骚网 | 精品国产91乱码一区二区三区 |