国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

軟件開發過程中安全代碼的七大實踐

譯文
開發 前端
本文從加密、編碼、白名單、最小特權、以及轉義不可信的用戶輸入等方面,為您羅列了日常軟件開發過程中的七種安全編碼的實踐示例。

[[395151]]

【51CTO.com快譯】眾所周知,軟件的安全性如今已得到了前所未有的重視程度。許多企業會將安全性嵌入到應用程序的開發階段。這樣既能有利于整體安全性的遵守,又可以在軟件的不同層面上創建多個安全性檢查點。本文將通過如下圖所示的各種方面,以實例的形式,向您展示各種安全代碼的實踐。雖然主要是以Java為例,但是它們也可以被運用到任何其他編程語言上。

1.轉義/逃逸輸入(Escape the Input)

所謂轉義攻擊是指攻擊者將執行命令/查詢,偽裝并嵌入到普通的文字輸入中,通過欺騙應用程序的執行引擎,而讓其能夠向攻擊者提供各種信息與控制權。可見,為避免此類攻擊的發生,我們需要對用戶的輸入進行轉義,將其解釋為文字,而非某些命令。同理,我們也需要對存儲在數據庫中的數據進行轉義。

試想,如果某用戶在其回帖的文字輸入中帶有JavaScript,那么他就可以試圖從瀏覽器中竊取到Cookie。例如,當該回帖的內容被呈現在其他用戶的瀏覽器屏幕上時,一旦我們的程序代碼不去轉義帖子中的包含的惡意代碼。那么該JavaScript代碼將被執行,并為攻擊者提取各種所需的信息與控制權。以下是帶有潛在風險的數據庫查詢代碼,和相應的采取了轉義措施的Java代碼。

示例:

包含潛在風險的Java代碼

  1. String query = "SELECT user_id FROM user_data WHERE user_name = '" 
  2.               + req.getParameter("userID"
  3.               + "' and user_password = '" + req.getParameter("pwd") +"'"
  4. try { 
  5.     Statement statement = connection.createStatement( … ); 
  6.     ResultSet results = statement.executeQuery( query ); 

安全的Java代碼

  1. Codec ORACLE_CODEC = new OracleCodec(); 
  2. String query = "SELECT user_id FROM user_data WHERE user_name = '" 
  3. + ESAPI.encoder().encodeForSQL( ORACLE_CODEC, req.getParameter("userID")) 
  4. "' and user_password = '" 
  5. + ESAPI.encoder().encodeForSQL( ORACLE_CODEC, req.getParameter("pwd")) +"'"

2.避免將ID作為序列號

在某些情況下,攻擊者會設法超過現有的限制,以獲取更多的信息。例如,某個API的用戶只被允許查看ID號為1-100的用戶信息。而如果該系統采用的是以ID為順序的遞增編號方式,那么我們就可以預測到下一個用戶的序列號將是101。由此,攻擊者便可以利用這一邏輯上的漏洞,來獲取在其權限之外的信息。

示例:

包含潛在風險的Java代碼

  1. String sqlIdentifier = "select TESTING_SEQ.NEXTVAL from dual"
  2. PreparedStatement pst = conn.prepareStatement(sqlIdentifier); 
  3. synchronized( this ) { 
  4.    ResultSet rs = pst.executeQuery(); 
  5.    if(rs.next()) 
  6.      long myId = rs.getLong(1); 

安全的Java代碼

  1. // This example is for Oracle 
  2. String sqlIdentifier = "select TESTING_SEQ.NEXTVAL from dual"
  3. PreparedStatement pst = conn.prepareStatement(sqlIdentifier); 
  4. synchronized( this ) { 
  5.    ResultSet rs = pst.executeQuery(); 
  6.    if(rs.next()) 
  7.      long myId = rs.getLong(1) + UUID.random(); 

3.運用極簡主義方法

為了減少攻擊面,系統應采用最小的空間使用策略。從本質上說,這就意味著系統能夠很好地避免各種權限的暴露。例如,根據某項業務需求,系統需要使用代碼“HTTP 200”,來響應存在著被請求的資源。但是如果我們為REST API提供了get操作,那么就會增加攻擊者的攻擊面。相反,該系統應該只通過HTTP協議的head方法,來提供有關現有資源的信息,而不必提供更多的無關信息。

示例:

包含潛在風險的Java代碼

  1. //Get is allowed where we need to just check user exist 
  2. http://localhost:8080/User/id/1 

安全的Java代碼

  1. http://localhost:8080/User/id/1 
  2. Head 

4.最小特權原則

讓我們試想一個場景:通常,客服部門某個用戶的常規訪問權限是可以訪問訂單數據的API。但是為了簡便起見或是某種原因,系統為其分配了超級管理員的角色。那么一旦他所處的系統被黑或遭到了帳號破壞,攻擊者就可以利用他的超級管理員權限,來對該系統發起一系列的攻擊操作。可見,為了減少攻擊面,我們應當僅根據實際需求,以及既定的角色,來授予目標API相應的最小訪問權限,不應該在系統中設置所謂可以訪問所有內容的超級用戶角色。

5.盡可能使用H​​TTPS或雙向SSL

切勿以最原始的HTTP方式發布您的網站或是節點。畢竟如今大多數瀏覽器都會對那些單純的HTTP站點顯示警告。而且,業界建議針對集成的端點采用雙向(2-Way)SSL方式,而對網站或站點通過HTTPS的方式,實現端到端加密。

不過,由于HTTPS只能保護了通信信道免受攻擊,卻無法在通道的密鑰發生泄露時,保護數據。因此,業界建議使用強大的加密算法,對各種數據記錄先進行加密,再通過可信的網絡予以傳輸。

6.不要使用不安全的或弱的加密算法

如今,隨著計算機算力的不斷迭代與提高,弱的密鑰已不再能夠防止那些暴力破解的攻擊手段。一些知名組織甚至將如下不安全的、或弱的加密算法,列入了所謂的“黑名單”。因此您在日常進行安全編程時,應當盡量避免使用到它們。

  • SHA-1
  • 1024位RSA或DSA
  • 160位ECDSA(橢圓曲線)
  • 80/112位2TDEA(雙密鑰三重DES)
  • 與其他各種舊算法類似,MD5從來都不是政府可以接受的算法。

7.將動態可執行代碼(Dynamically Executed Code)列入白名單

如果您有一些代碼是從API或APP的用戶側傳入的,或者是在用戶輸入之后才生成的,那么為了讓它們能夠作為整體流程的一部分被執行,您需要讓系統將這些待執行的命令列入白名單。例如,如果系統需要公布某項服務,以列出服務器上的對應目錄,那么我們就需要將ls或dir之類的命令列入白名單,并轉義用戶輸入的標志。

小結

綜上所述,我們從加密、編碼、白名單、最小特權、以及轉義不可信的用戶輸入等方面,為您羅列了日常軟件開發過程中的七種安全編碼的實踐示例。希望它們能夠協助您大幅減少軟件所面臨的各種安全威脅,并提高自身的代碼級安全態勢。

原文標題:7 Practical Secure Coding Practices,作者:Awkash Agrawal

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:華軒 來源: 51CTO
相關推薦

2012-11-13 11:27:16

詳細設計

2010-06-12 15:41:28

UML建模

2010-06-18 10:21:01

UML建模

2010-07-06 14:35:22

RationalJazz

2011-09-05 17:07:45

MTK手機軟件

2015-04-23 16:34:29

軟件開發過程傻瓜式軟件

2009-07-16 09:28:37

軟件開發過程

2022-06-20 07:21:33

開發策略軟件

2010-11-17 13:35:50

BUG

2010-06-18 10:48:05

UML面向對象軟件開發

2010-06-11 13:45:30

UML建模

2023-10-20 15:23:57

人工智能軟件開發

2019-04-01 07:43:39

2022-05-27 16:40:24

軟件開發DevSecOps

2009-11-23 20:39:21

ibmdw敏捷開發

2010-03-04 09:54:24

Android開發

2012-08-27 14:15:01

2009-06-17 16:10:37

Java網站優勢

2011-07-06 16:00:28

ASP

2011-11-09 09:29:03

軟件項目
點贊
收藏

51CTO技術棧公眾號

99精品电影| www.av在线播放| 国产精品三级a三级三级午夜| 欧美涩涩网站| 色偷偷噜噜噜亚洲男人| 中文在线网在线中文| 成人少妇影院yyyy| 激情欧美一区二区三区中文字幕| 91精品尤物| 亚洲天堂av在线播放| 黄色软件在线观看| 亚洲少妇屁股交4| a级黄色小视频| 在线亚洲欧美| 国产日韩综合一区二区性色av| 久久久加勒比| 亚洲国产成人精品女人久久久| 三级毛片在线免费看| 欧美国产日韩亚洲一区| 欧美一级特黄aaaaaa在线看片| 欧美日韩国产高清| 国产欧美精品一区二区三区介绍| 视频在线观看免费影院欧美meiju 视频一区中文字幕精品 | 亚洲欧美激情视频| jizz性欧美| 欧美视频一区二| 日韩av高清在线| 亚洲一区二区在线免费观看视频| 日日碰狠狠躁久久躁婷婷| 国产成人在线视频播放| 亚洲激情电影在线| 香蕉精品999视频一区二区 | 久久久免费人体| 最近中文字幕在线中文视频| 欧美激情91| 中文字幕在线不卡国产视频| 国产成人精品久久二区二区91 | av成人黄色| 亚洲一区999| 日本在线播放| 国产高清精品久久久久| 国产一区二区免费在线观看| 欧美777四色影| 成人夜晚看av| 国产精品草草| 99re在线视频观看| 欧美.www| 欧洲av一区| 丝袜a∨在线一区二区三区不卡 | 第一中文字幕在线| 日韩女优电影在线观看| 日本孕妇大胆孕交无码| 精品国产乱码久久久久久1区2区| jizzjizz中国精品麻豆| 亚洲精品在线91| 久久69av| 国产精品久久久久久久久久久久| 午夜精品久久99蜜桃的功能介绍| 久久国产精品久久| 激情成人午夜视频| 日韩毛片在线免费看| 亚洲男人的天堂在线观看| 黄页网站在线播放| 91精品一区二区三区久久久久久| www.日韩| 91超碰中文字幕久久精品| 久久在线播放| 日韩一区国产在线观看| 国产综合久久久久久鬼色 | 91情侣偷在线精品国产| 911精品美国片911久久久 | 欧美亚洲精品在线| 成人国产在线视频| 亚洲自拍另类| 欧美久久久久久久久久久久久久| 欧美韩国日本不卡| 九色porny蝌蚪视频在线观看| 欧美激情视频在线观看| 九色91在线| 91麻豆精品国产91久久久更新时间| 5月婷婷6月丁香| 亚洲三区欧美一区国产二区| 久久综合免费视频影院| 一区在线免费观看| 久久久久久成人| 亚洲精品社区| 欧美成人性色生活仑片| 少妇精品久久久一区二区三区| 97免费资源站| 韩日精品视频一区| 男男视频在线观看网站| 欧美日韩久久一区| 成人在线视频免费看| 国产精品mp4| 日本在线不卡视频| 成人免费乱码大片a毛片软件| 最猛黑人系列在线播放| 日韩欧美电影| 日韩激情综合| 欧美日韩123区| 欧美激情www| 17videosex性欧美| 在线观看视频色潮| 亚洲一区二区在线免费观看| 另类天堂视频在线观看| 亚洲精品国久久99热| 日本91福利区| 国产精品一线天粉嫩av| 黄色成人在线视频| xxx.xxx欧美| 色综合影院在线观看| 亚洲自拍偷拍九九九| 欧美一级免费| 国模大尺度私拍在线视频| 久久九九精品99国产精品| 免费成人美女在线观看| 美女高潮在线观看| 色婷婷777777仙踪林| 精品国产亚洲一区二区三区在线观看 | 国内外成人免费激情视频| 国产精品黄色影片导航在线观看| 伊人久久精品视频| 亚洲欧美日韩国产精品| 日韩在线视频观看| 欧美高清你懂得| 国产一区二区不卡在线| 天堂久久一区| 欧美日韩福利在线| 这里精品视频免费| 精品久久久久久久久久久久包黑料 | 日韩精品久久久| 国产一级揄自揄精品视频| 国产精品久久网站| 欧美亚洲人成在线| 岛国在线视频免费看| 久久77777| gogo久久| 中文在线免费视频| 色成人免费网站| 精精国产xxxx视频在线中文版| 2020中文字幕在线| 伊人狠狠色丁香综合尤物| 亚洲国产一区二区三区在线播| 国产精品一区二| 日日骚av一区| 精品国产sm最大网站| 欧美r级在线观看| 精品国产一区二区在线观看| 日韩久久免费视频| 国产成+人+综合+亚洲欧洲| 欧美激情视频在线免费观看 欧美视频免费一 | 超碰99在线| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 精品国产免费久久久久久尖叫 | 日韩电影中文字幕av| 日韩黄色高清视频| 欧美一区二区三区精品电影| 精品国产一区二区在线观看| 91女厕偷拍女厕偷拍高清| 偷窥自拍亚洲色图精选| 国产美女特级嫩嫩嫩bbb片| 超碰成人在线免费观看| 欧美大片欧美激情性色a∨久久| 草草在线视频| 日韩不卡手机在线v区| 久久成人国产| 九九爱精品视频| 欧美精品自拍偷拍| 在线亚洲+欧美+日本专区| 色哦色哦哦色天天综合| 国产一区二区在线播放| 九九九热999| 日韩一级片一区二区| 91.com在线| 久久三级视频| 精品欧美色视频网站在线观看| 国产精品久久久久久久久久直播 | 成人一区二区三区中文字幕| 亚洲性视频大全| 香蕉成人久久| 91视频免费播放| 狠狠入ady亚洲精品| 欧美成va人片在线观看| 欧洲成人性视频| 国产精品自产拍在线观看| 久久本道综合色狠狠五月| 欧美日韩中文字幕在线播放| 国产综合在线观看视频| 91精品国产乱码久久蜜臀| 欧美1级日本1级| 91精选在线| 欧美成人精品免费| 97碰碰碰免费色视频| 欧美日韩在线视频一区| 亚洲免费激情| 成人免费无遮挡| 日韩中文字幕a| 97se在线视频| 亚洲精品中文字幕av| 国产精品拍天天在线|