国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

關于優(yōu)化互聯(lián)網(wǎng)系統(tǒng)安全開發(fā)方法的研究

2022-03-18 01:47馬全斌
科海故事博覽 2022年25期
關鍵詞:系統(tǒng)安全口令密碼

馬全斌

(天津市住房公積金管理中心,天津 300042)

1 互聯(lián)網(wǎng)系統(tǒng)安全開發(fā)過程中的常見手段

隨著我國信息化產(chǎn)業(yè)的不斷發(fā)展,互聯(lián)網(wǎng)系統(tǒng)規(guī)模的不斷加大,安全問題的重要性不容忽視,開發(fā)安全更是重中之重?;ヂ?lián)網(wǎng)系統(tǒng)在開發(fā)過程中必須要遵守適用的安全開發(fā)規(guī)范,保證在系統(tǒng)設計的時候能夠抵御可預見的安全風險。在集成測試時,應進行源代碼掃描和基礎滲透測試,提早發(fā)現(xiàn)問題的時間,保證項目的如期上線。因此,在實施互聯(lián)網(wǎng)項目時,在開發(fā)階段和測試的早期階段,應通過遵守安全開發(fā)規(guī)范,及時、多次進行源代碼掃描和基礎滲透測試來保證系統(tǒng)安全。

1.1 安全開發(fā)規(guī)范

在系統(tǒng)設計時應符合安全開發(fā)規(guī)范,安全開發(fā)規(guī)范主要包含以下相關內(nèi)容:

1.1.1 驗證輸入內(nèi)容

有許多方式可以對用戶的輸入進行處理,不同的輸入類型以及不同的應用場景適用不同的驗證方式,必要的情況下還可以進行組合驗證。

1.黑名單。黑名單包含一系列具有風險的字符串清單,可以解析已知的攻擊模式,通過對用戶的輸入內(nèi)容進行匹配,一旦匹配命中,系統(tǒng)會拒絕用戶的請求,保證系統(tǒng)安全。如果有新的攻擊字符串產(chǎn)生,黑名單需要立刻更新,因此時效性比較差。

2.白名單。白名單包含一系列安全的字符串清單,驗證用戶輸入是否符合安全內(nèi)容,符合的請求才能被處理,其他數(shù)據(jù)會被阻止。這種方式可以有效地解決安全問題,但是通用性較差。

1.1.2 加密或者編碼輸出內(nèi)容

對輸出內(nèi)容加密或者進行編碼可以有效地防止跨站攻擊,同時也可以保證輸出內(nèi)容的完整性以及正確性,對輸出內(nèi)容加密或者進行編碼主要有以下幾種方式:

1.對HTML 代碼的輸出進行過濾。

2.對HTML 代碼的輸出進行加密或者編碼。

3.對非HTML 代碼的輸出,先對內(nèi)容進行加密或者編碼,再輸出到頁面。

4.對特殊符號進行編碼形式的轉換。

1.1.3 安全審計

安全審計分為白盒安全審計和黑盒安全審計,具有以下特點:

1.白盒安全審計。對系統(tǒng)代碼應進行安全審計,及時發(fā)現(xiàn)由代碼造成的安全問題,并進行修改。白盒審計通常采取自動靜態(tài)分析技術對應用程序的源代碼進行掃描,定位可能存在問題的環(huán)節(jié)以及數(shù)量,驗證應用程序的安全性。執(zhí)行自動靜態(tài)分析時,不需要運行待分析的系統(tǒng),因此在查詢已知或未知跨站攻擊以及SQL注入漏洞時更為高效,同時白盒審計過程能與系統(tǒng)開發(fā)并行,可以節(jié)約大量研發(fā)時間并且節(jié)省巨大的成本。

2.黑盒安全審計。在信息化項目的實施過程中,應對已經(jīng)開發(fā)完成的系統(tǒng)進行黑盒安全審計。黑盒安全審計不需要了解系統(tǒng)內(nèi)部程序邏輯,僅需要模擬用戶操作行為,分析程序輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應關系,針對目前主流的安全漏洞進行檢測和驗證。

1.2 源代碼掃描

源代碼掃描通常采用靜態(tài)分析方法。靜態(tài)分析是指不運行被測程序本身,通過工具掃描和人工確認來檢查源程序的語法、結構、過程、接口等來檢查程序的正確性。找出程序中存在的漏洞和缺陷,例如不匹配的參數(shù)、邏輯錯誤的循環(huán)嵌套、不允許的遞歸、未使用過的變量和可疑的計算等。

靜態(tài)分析不需要代碼的運行環(huán)境,因此適合在項目早期的編碼階段,可以在編碼階段找出可能存在的安全風險代碼,這樣開發(fā)人員可以在早期解決潛在的安全問題。

通常聘請第三方安全公司對系統(tǒng)進行安全掃描,會有明確的掃描次數(shù),一般是兩次掃描:初測和復測。因此為了掃描得更全面,初測一般放在系統(tǒng)測試中后期進行,這個階段系統(tǒng)開發(fā)工作已經(jīng)結束,測試工作也到了收尾階段,很少會因為系統(tǒng)修改導致新的安全問題,但是缺點也很明顯,就是一旦測試出需要較大改動的安全問題,修改的時間通常不夠。

1.3 滲透測試

滲透測試是動態(tài)分析,在測試的實施過程中,通常會從以下幾個維度來進行:

1.數(shù)據(jù)傳輸及身份認證。

暴力破解:認證方式存在漏洞,可以被繞過,或者沒有抵御暴力破解的策略。

密碼安全:默認密碼未修改,或者密碼復雜度不足。

傳輸安全:隱私數(shù)據(jù)傳輸未加密,或者加密的方式存在風險。

信息泄露:敏感信息未經(jīng)轉換就提示給用戶,造成信息泄露。

密碼修改:修改密碼不需要認證,修改密碼不需要提供原始密碼,修改密碼時可窮舉原始密碼。

登錄漏洞:登錄存在SQL 注入。

密碼找回:找回密碼問題簡單,找回密碼問題的答案可被窮舉,依據(jù)找回密碼的步驟限定邏輯,找回的密碼以非安全方式通知用戶。

管理后臺泄漏:管理后臺對外開放,管理后臺密碼復雜度無要求。

2.會話管理。令牌安全:令牌可被猜測,會話令牌固定。

3.數(shù)據(jù)驗證。路徑遍歷:惡意的文件讀寫,以及文件上傳、下載漏洞。

XSS:存儲型,反射型。

4.訪問越權。用戶可訪問其他同級別用戶的數(shù)據(jù)內(nèi)容,低權限用戶可訪問高權限用戶的數(shù)據(jù)內(nèi)容。

5.跨站腳本攻擊(XSS/CSS)。

6.配置管理。使用了不安全的HTTP 方法,造成遍歷網(wǎng)站目錄,取得中間件的版本以及服務器開放的端口。

7.偽造跨站請求(CSRF)。

1.4 系統(tǒng)缺乏安全設計

以電子公積金項目為例,該項目的安全評測報告問題如下:

1.源代碼掃描問題。

2.漏洞掃描問題。

3.滲透測試問題。

其中跨站請求偽造,參數(shù)硬編碼,框架問題,密碼加密存儲,使用弱加密算法,敏感信息泄露,身份認證,數(shù)據(jù)驗證和配置管理均為安全設計問題,應在安全架構時,充分考慮這些安全問題,在開發(fā)過程中注意避免。

2 互聯(lián)網(wǎng)系統(tǒng)安全開發(fā)的優(yōu)化方案

2.1 加強系統(tǒng)安全設計

系統(tǒng)承建商在進行系統(tǒng)設計時,應該充分考慮系統(tǒng)的安全需求,有針對性地進行設計,系統(tǒng)設計階段通常包括概要設計和詳細設計,當系統(tǒng)規(guī)模較小時也可以合并為一個階段,該階段的主要安全性工作是進行系統(tǒng)的安全性設計,系統(tǒng)安全設計工作應與常規(guī)的設計緊密結合,貫穿在系統(tǒng)設計過程始終。此外,隨著系統(tǒng)細節(jié)的展開,還要進一步展開安全性分析以發(fā)現(xiàn)新的危險,補充系統(tǒng)安全性需求。

在系統(tǒng)建設時,需要考慮該系統(tǒng)涉及了哪些相關系統(tǒng)和硬件,實現(xiàn)了哪些數(shù)據(jù)的采集、傳遞、加工和處理功能,系統(tǒng)之間是否有明確的界限,是否存在敏感數(shù)據(jù)丟失的疑慮,系統(tǒng)管理員是否可信,系統(tǒng)如何初始化,如何建立一個可信的口令機制,如何確認某個操作人員的行為等問題。為了解決這些不確定因素,系統(tǒng)在設計時應建立相應的安全模型,包括:

1.系統(tǒng)用戶應劃分為:普通用戶、管理員和系統(tǒng)管理員。管理員負責應用配置管理,系統(tǒng)管理員負責管理員和系統(tǒng)后臺的管理。

2.系統(tǒng)劃分為以下三個部分:用戶界面邏輯、業(yè)務邏輯和異常處理。以用戶界面邏輯為例,用戶界面邏輯主要包括兩個部分:數(shù)據(jù)訪問和登錄控制。系統(tǒng)在啟動時,用戶首先要登錄系統(tǒng),通過驗證后才可以進行數(shù)據(jù)訪問。通過登錄控制界面,可以完成的主要功能包括:口令驗證、口令修改、口令相關數(shù)據(jù)加密、記載登錄日志。登錄控制在設計時應考慮使用用戶ID,用戶輸入用戶ID,從權限數(shù)據(jù)表中提取出相應的用戶名,在密碼輸入時,應考慮使用密碼控件,對密碼數(shù)據(jù)進行加密并防止用戶遠程登錄,同時獲取一定的客戶端信息,建立系統(tǒng)黑名單數(shù)據(jù)。對于用戶的口令修改,應由客戶自行完成,而不是系統(tǒng)管理員,系統(tǒng)管理員對用戶授權,但是口令由用戶在用戶界面輸入,并加密存儲至后臺數(shù)據(jù)庫中,避免系統(tǒng)管理員獲取用戶口令造成泄密,口令的加密方式應使用不可逆的算法,推薦使用SHA256 或者復合算法。對于初始口令,應要求用戶第一次登錄時必須更改,強制要求口令為數(shù)字加字母加符號的組合,越復雜越長越好。

3.在系統(tǒng)安全方面要實現(xiàn)的功能包括:訪問控制,抗抵賴、數(shù)據(jù)保密、身份鑒別、授權機制、日志審計。

4.對應開發(fā)規(guī)范,應充分考慮系統(tǒng)的身份認證、會話管理、訪問授權、數(shù)據(jù)驗證、配置管理、跨站腳本攻擊(XSS/CSS)和跨站請求偽造(CSRF)的相關設計。在設計時:第一,要確定系統(tǒng)的安全目標,目標清晰有助于將注意力集中在威脅建?;顒由希约按_定后續(xù)步驟的工作量。第二,創(chuàng)建系統(tǒng)應用程序概述,逐條列出系統(tǒng)應用程序的重要特征和參與者,有助于確定相關威脅。第三,分解系統(tǒng)應用程序,全面了解系統(tǒng)應用程序的結構,盡量發(fā)現(xiàn)更相關、更具體的威脅。第四,確定威脅,使用步驟二和步驟三中的詳細信息來確定與系統(tǒng)應用程序方案相關的威脅。第五,確定漏洞,檢查系統(tǒng)應用程序的各層以確定與威脅有關的弱點。

2.2 定期進行安全開發(fā)和測試培訓

互聯(lián)網(wǎng)系統(tǒng)應用安全開發(fā)是一項系統(tǒng)工作,安全意識的培養(yǎng)、技術的學習和應用、思路和眼界的開拓三方面內(nèi)容必不可少,因此需要對相關人員進行必要的培訓。

2.2.1 安全意識的培養(yǎng)

從安全事件切入,使相關人員重視系統(tǒng)安全問題,培養(yǎng)安全意識,在工作中充分考慮系統(tǒng)的安全問題。

2.2.2 技術的學習和應用

通過應用來驗證自身技術的掌握情況,制定短期目標和長期目標,通過短期目標的不斷積累,完成從量變到質(zhì)變的過程。技術的學習一定要與應用實踐相結合,找到差距,認清需求,通過培訓不斷提高。

2.2.3 思路和眼界的開拓

通過一定的技術和應用實踐的積累,擺脫被動接受培訓的階段,對系統(tǒng)應用安全有一定的見解,思路清晰,并向既定目標不斷探索和前進。

2.3 自主開展安全開發(fā)和測試

2.3.1 提前進行測試,盡早發(fā)現(xiàn)問題

與第三方安全評測公司合作,存在一定的約束,主要是評測次數(shù)和評測時間需要與公司進行協(xié)調(diào),通常情況是兩次,第一次安排在系統(tǒng)測試后期,這個階段系統(tǒng)功能開發(fā)基本完畢,大部分測試問題也得到解決,代碼相對固定,做安全測試比較具有代表性。第二次安排在上線前一周左右,主要針對第一次測試出現(xiàn)的問題,檢查其修改情況。這種安排受公司資源的約束和次數(shù)的限制,發(fā)現(xiàn)問題較晚,通常不能全部修改,而是根據(jù)問題的優(yōu)先級,著重解決互聯(lián)網(wǎng)系統(tǒng)的高危問題,時間緊任務重,壓力較大。

為徹底解決以上約束,建議自主開展安全開發(fā)和測試,不受公司限制,使用內(nèi)部人員,在開發(fā)階段按照開發(fā)的實際情況進行安全測試,包括源代碼掃描和滲透測試,其中滲透測試會相對晚一些,需要一定的部署后才能進行,但仍早于公司測試,這樣可以提前發(fā)現(xiàn)問題,即便是設計問題,也有充足的時間進行調(diào)整,早發(fā)現(xiàn)早解決。同時,使用第三方安全評測公司進行配合,形成雙保險,解決系統(tǒng)的安全開發(fā)問題。

2.3.2 熟練使用工具,結合人工篩查

自主開展安全開發(fā)和測試,必要的工具是不可缺少的,根據(jù)經(jīng)驗,通常使用以下工具:Fortify SCA、AppScan、Kali Linux、Nessus 等,需要注意的是,工具畢竟是自動化測試,會有一定的誤報率和漏報率,因此需要定期升級。對于測試結果,需要手工核對,并且按照經(jīng)驗進行手工滲透,完善安全測試結果。

2.4 加強APP 項目更新的靈活性

APP 項目與普通的web 項目不一樣,APP 升級會對用戶體驗造成一定的影響,在設計開發(fā)時,使用智能更新技術可以解決這個問題。智能更新基于類加載技術,無需Root 權限自動完成對APP 更新資源包的檢測,下載和資源文件替換,整個更新過程對終端用戶的透明化,讓Android 用戶享有IOS 的體驗,提升了用戶的留存率和轉化率。

使用智能更新技術可以帶來的好處有:

1.易操作:上傳移動應用后,快速接受并處理,下發(fā)處理后程序供用戶發(fā)布。

2.可更新范圍廣:APK 包中的除androidmanifest.xml 文件和圖標文件外的所有文件都可以更新。

3.增強安全性:可實現(xiàn)對原包APK 整包加密,并對APK 包內(nèi)的所有文件進行單個加密,運行時在內(nèi)存中文件動態(tài)解密,解密后的數(shù)據(jù)不落地。

4.強大的版本控制:隨時更新、強制更新??梢圆唤?jīng)過用戶同意進行后臺靜默更新。

5.更新包體積?。焊掳鼮椴町惛掳?,能最小化減少下載時間和下載流量,增強用戶體驗,減緩服務器壓力。

6.不需要權限:無論用戶手機是否root,都能正常運行。

7.增強用戶體驗:用戶只需安裝一次,后續(xù)更新無需再次安裝即可達到更新效果。

8.零風險:防止應用被非法加入病毒、計費 SDK、廣告 SDK、惡意代碼,防止非法篡改。

3 結語

隨著互聯(lián)網(wǎng)的不斷發(fā)展,系統(tǒng)的安全開發(fā)工作越來越重要,本文總結了互聯(lián)網(wǎng)系統(tǒng)安全開發(fā)過程中的常見手段,并從加強系統(tǒng)安全設計、定期進行安全開發(fā)和測試培訓、自主開展安全開發(fā)和測試和加強APP 項目更新的靈活性四個方面提出了優(yōu)化互聯(lián)網(wǎng)系統(tǒng)安全性的方法,希望可以對互聯(lián)網(wǎng)信息化建設工作有所幫助。

猜你喜歡
系統(tǒng)安全口令密碼
新型電力系統(tǒng)安全穩(wěn)定運行分析
密碼里的愛
鐵路信號集中監(jiān)測系統(tǒng)安全隔離機制研究
高矮胖瘦
鐵路信號系統(tǒng)安全輸入輸出平臺
口 令
密碼抗倭立奇功
好玩的“反口令”游戲
SNMP服務弱口令安全漏洞防范
密碼藏在何處
青州市| 瑞丽市| 科技| 金溪县| 寿光市| 文成县| 西藏| 云安县| 巴林右旗| 博客| 重庆市| 松江区| 霍邱县| 济宁市| 剑河县| 施甸县| 武宣县| 三台县| 天全县| 恭城| 四子王旗| 乌拉特后旗| 夏邑县| 阳东县| 汕尾市| 长乐市| 武威市| 凤阳县| 景宁| 舞钢市| 罗城| 海阳市| 元朗区| 章丘市| 温泉县| 中方县| 丹凤县| 观塘区| 东丽区| 德州市| 金溪县|