周耀鵬 王暉 陳嘉倫
摘要:本文設(shè)計(jì)了一種針對(duì)企業(yè)網(wǎng)絡(luò)空間安全需求的掃描平臺(tái)。首先介紹了常見的網(wǎng)絡(luò)系統(tǒng)安全問題,然后介紹了系統(tǒng)的主要功能,通過7x24小時(shí)主動(dòng)掃描實(shí)時(shí)分析資產(chǎn)信息,查看端口開放情況、banner等,使得企業(yè)網(wǎng)管安全人員能夠通過平臺(tái)快速了解安全情況。實(shí)現(xiàn)通過網(wǎng)絡(luò)掃描的方式來提高對(duì)計(jì)算機(jī)系統(tǒng)的安全防護(hù),是一款適用于局域網(wǎng)的漏洞快速應(yīng)急、漏洞攔截,SQL注入漏洞掃描,同時(shí)對(duì)搜索結(jié)果進(jìn)行快速漏洞檢測并輸出信息報(bào)表。平臺(tái)主體分為端口掃描、SQL注入漏洞掃描、漏洞攔截三部分,端口掃描器采用Python語言開發(fā)。最后通過SQLMAP介紹和相關(guān)借口列表展示了部分核心代碼,并給出了系統(tǒng)成效與后續(xù)完善方向。
關(guān)鍵詞:網(wǎng)絡(luò)安全;漏洞掃描;SQL注入測試;SQLMAP
中圖分類號(hào): TP311 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)31-0059-03
Abstract:This paper has designed a scanning platform that addresses the security needs of corporate cyberspace. First introduced the common network system security issues, then introduced the main functions of the system, through 7x24 hours active scanning real-time analysis of asset information, view port opening, banner, etc., so that enterprise network security personnel can quickly understand the security situation through the platform. It realizes the security protection of the computer system through network scanning. It is a rapid emergency response, vulnerability interception, and SQL injection vulnerability scanning for local area network. It also performs rapid vulnerability detection on the search results and outputs information reports. The main body of the platform is divided into three parts: port scanning, SQL injection vulnerability scanning, and vulnerability interception. The port scanner is developed in Python. Finally, part of the core code was displayed through the introduction of SQLMAP and the list of related excuses, and the system effectiveness and subsequent improvement directions were given.
Key words: Network security;Vulnerability scanning; SQL injection testing; SQLMAP
在信息化時(shí)代計(jì)算機(jī)網(wǎng)絡(luò)已全面深層融入社會(huì)生活的方方面面,網(wǎng)絡(luò)安全威脅滲透至各個(gè)層面,人們對(duì)網(wǎng)絡(luò)安全的重視程度也在不斷提高,然而市面上針對(duì)企業(yè)內(nèi)部掃描平臺(tái)少之又少。[6]
1常見網(wǎng)絡(luò)系統(tǒng)安全問題
我們根據(jù)日志分析對(duì)每次黑客攻擊事件進(jìn)行追溯后,往往發(fā)現(xiàn)基本是系統(tǒng)、Web、弱口令、配置這四個(gè)方面中的其中一個(gè)出現(xiàn)的安全問題導(dǎo)致黑客可輕松入侵。原因大致如下:
1)操作系統(tǒng)的版本落后、沒及時(shí)更新系統(tǒng)補(bǔ)丁,導(dǎo)致安全問題暴露;
2)Web 問題因使用公有代碼,代碼編寫不合規(guī)導(dǎo)致的安全問題;
3)系統(tǒng)配置不遵循流程規(guī)范導(dǎo)致嚴(yán)重泄露了各類隱私數(shù)據(jù)。
1.1 系統(tǒng)漏洞
系統(tǒng)漏洞問題導(dǎo)致的安全問題有兩種起因:第一種屬于未知的,被黑客最新發(fā)現(xiàn)的安全漏洞。第二種屬于安全漏洞已經(jīng)被軟件廠商進(jìn)行公布并進(jìn)行了修復(fù),但漏洞一直存在,并被黑客發(fā)現(xiàn)后利用后,竊取重要數(shù)據(jù)并發(fā)生安全事件。
1.2 Web 漏洞
Web 漏洞的范圍比較廣,主要涉及代碼、中間件軟件、數(shù)據(jù)庫等軟件搭建的網(wǎng)站環(huán)境。代碼問題主要涉及公有代碼和代碼編寫不規(guī)范。中間軟件主要是 Apache、Tomcat這類軟件。數(shù)據(jù)庫的問題主要是黑客使用 SQL 語句讓數(shù)據(jù)庫報(bào)錯(cuò),從而發(fā)現(xiàn)安全漏洞。
1.3 弱口令
原因在于幾乎所有設(shè)備在出廠時(shí),往往默認(rèn)密碼都十分簡單或是賬戶和密碼相同。簡單的密碼使得黑客破解的時(shí)間縮短,破解簡單。
2系統(tǒng)原理及特點(diǎn)
鑒于上述網(wǎng)絡(luò)安全問題,我們?cè)O(shè)想可設(shè)計(jì)實(shí)現(xiàn)一種網(wǎng)絡(luò)安全掃描系統(tǒng)。從設(shè)計(jì)原理來講系統(tǒng)可劃分為漏洞掃描器和端口掃描器。掃描后實(shí)施攔截,端口與進(jìn)程一一對(duì)應(yīng),通過端口掃描器同時(shí)監(jiān)聽等待連接的進(jìn)程,由此可以判斷目標(biāo)服務(wù)器有哪些通行進(jìn)程正在等待連接。系統(tǒng)實(shí)現(xiàn)特點(diǎn)如下:
1)用戶可基于云端,實(shí)時(shí)查看網(wǎng)絡(luò)空間信息,并可以生成可視化圖表;
核心交互函數(shù)
@get("/option/
@post("/option/
@post("/option/
@post("/scan/
@get("/scan/
@get("/scan/
@get("/scan/
@get("/scan/
@get("/scan/
@get("/download/
sqlmapapi具體的接口用法從源碼中的注釋中摘錄了出來,這些接口方法都在sqlmap/lib/utils/api.py文件中可以查閱,如有興趣可詳細(xì)翻閱。
開啟 sqlmapapi,我們使用-s(server)參數(shù)讓sqlmapapi以服務(wù)端模式運(yùn)行。這里我們只使用-s參數(shù),可以發(fā)現(xiàn)sqlmapapi默認(rèn)運(yùn)行在8775端口,后端使用的bottle框架,bottle是一個(gè)python web快速開發(fā)框架。Admin ID是用來管理task所用的token值,每次重啟sqlmapapi應(yīng)用都會(huì)改變,也可以通過修改其源碼的方式將其唯一,或是寫入本地文件供第三方程序讀取。
4.3 基本用法
這些api的使用方法相對(duì)比較簡單,注意其中有幾個(gè)api是post的方法。調(diào)用過程大致如下:
1)創(chuàng)建新任務(wù)
使用@get("/task/news")接口方法創(chuàng)建一個(gè)新的漏掃任務(wù)。返回信息中的taskid就是之前創(chuàng)建的漏掃任務(wù)的id,是我們后面需要用的id。
2)指定參數(shù)
使用@post("/options/
3)開始掃描
使用@post("/scan/
4)輪詢掃描是否結(jié)束
使用@get("/scan/
5)如果結(jié)束則獲取結(jié)果
使用@get("/scan/
{u'data': [], u'success': True, u'error': []}
5系統(tǒng)成效與后續(xù)完善
系統(tǒng)實(shí)現(xiàn)了漏洞發(fā)現(xiàn)、端口掃描、web安全、SQL注入等實(shí)驗(yàn)。實(shí)現(xiàn)了nginx負(fù)載均衡、多線程并發(fā)。針對(duì)測試數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗、數(shù)據(jù)分析,實(shí)現(xiàn)后端代碼,并測試平臺(tái)穩(wěn)定性、安全性。可運(yùn)用到實(shí)際環(huán)境中,編寫相關(guān)使用說明書等,已達(dá)到預(yù)期效果。
在這次系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)過程后,針對(duì)掃描規(guī)則將完善常規(guī)漏洞檢測規(guī)則與業(yè)務(wù)邏輯漏洞模式;針對(duì)掃描誤報(bào)率將發(fā)現(xiàn)漏洞進(jìn)行二次驗(yàn)證,如:awvs+sqlmap驗(yàn)證SQL注入漏洞;針對(duì)造成臟數(shù)據(jù)將使用掃描器時(shí)過濾POST提交參數(shù)請(qǐng)求;針對(duì)造成服務(wù)不可用將合理選擇掃描策略,避開業(yè)務(wù)高峰期掃描。
參考文獻(xiàn):
[1] 邢立國,劉玉坤.網(wǎng)絡(luò)安全機(jī)制研究與Python實(shí)現(xiàn)[J].科學(xué)與信息化,2018(27):57-58.
[2] 張鑫,張婷,段新東,林玉香.Web應(yīng)用SQL注入漏洞檢測工具的設(shè)計(jì)與實(shí)現(xiàn)[J].信息安全與技術(shù),2014,5(8):45-47,57.
[3] 易永紅.計(jì)算機(jī)網(wǎng)絡(luò)安全中的漏洞掃描技術(shù)運(yùn)用[J].電子技術(shù)與軟件工程,2017(7):217.
[4] 葉磊,文濤,劉立亮,等.基于python的網(wǎng)絡(luò)及信息系統(tǒng)安全過程管理工具[J].數(shù)字技術(shù)與應(yīng)用,2017(10):187-188.
[5] 劉健,曹耀欽.網(wǎng)絡(luò)隱蔽掃描技術(shù)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2004,25(2):239-242,270.
[6] 徐貴江,黃媛媛,陳子豪,等.基于Python的Web漏洞掃描器[J].軟件工程,2020,23(4):19-21,11.
【通聯(lián)編輯:唐一東】