• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      常見源代碼安全漏洞分析與研究

      2017-03-10 21:40黎新
      網(wǎng)絡(luò)空間安全 2017年1期
      關(guān)鍵詞:源代碼安全漏洞

      【 摘 要 】 隨著計(jì)算機(jī)在各行各業(yè)的大量普及,滿足各種應(yīng)用需求的應(yīng)用程序越來越多,在程序?qū)嶋H開發(fā)過程中,由于軟件規(guī)模及復(fù)雜程度的提高,不可避免地會出現(xiàn)安全漏洞,造成安全漏洞因素有很多。論文將主要針對源代碼方面的安全漏洞進(jìn)行分析和研究。

      【 關(guān)鍵詞 】 源代碼;安全漏洞;漏洞檢查;靜態(tài)分析

      【 中圖分類號 】 TP309.2

      【 文獻(xiàn)標(biāo)識碼 】 A

      Analysis and Research on Common Source Code Security Vulnerabilities

      Li Xin

      (Institute of Electric Power Research, Guangxi Power Grid Company Limited GuangxiNanning 530023)

      【 Abstract 】 With the popularization of computers in all walks of life, to meet various application needs more and more applications in the program, the actual development process, the software scale and complexity, inevitably there will be security vulnerabilities caused by security vulnerabilities, there are many factors, in this article, we will focus on the source of security vulnerabilities the code for the analysis and research.

      【 Keywords 】 source code; security vulnerability; vulnerability checking; static analysis

      1 引言

      隨著軟件工程及網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,目前在計(jì)算機(jī)領(lǐng)域,應(yīng)用軟件的規(guī)模、數(shù)量都非常大,在軟件開發(fā)過程中,漏洞的產(chǎn)生是不可避免的,漏洞的存在會嚴(yán)重威脅系統(tǒng)的安全穩(wěn)定運(yùn)行,使病毒、惡意代碼輕易的入侵系統(tǒng),導(dǎo)致用戶的損失。尤其是在軍事、經(jīng)濟(jì)等領(lǐng)域,對于軟件安全有著更高的要求,會因?yàn)檐浖┒炊斐蔀?zāi)難性的后果及巨大的經(jīng)濟(jì)損失。為了避免安全漏洞的產(chǎn)生,在軟件開發(fā)過程中,要對漏洞的類型、特點(diǎn)及如何防范有一個(gè)全面的了解,進(jìn)而避免漏洞的產(chǎn)生。論文將簡單介紹源代碼安全漏洞的基本概念及危害性,并重點(diǎn)對典型的幾個(gè)漏洞進(jìn)行分析。

      2 漏洞的類型

      源代碼漏洞根據(jù)不同的分類方法,有不同的類型和數(shù)量,對程序可能造成的影響也不同。通過對漏洞進(jìn)行分類,能夠使我們很容易地對漏洞進(jìn)行全面描述,如成因、作用等。理論上我們可以用一個(gè)分類屬性來表達(dá)漏洞的一個(gè)本質(zhì)特征,而為漏洞的每個(gè)屬性賦值的過程,就是給漏洞在該維屬性上分類的過程。源代碼的漏洞主要有XSS漏洞、CSRF漏洞、Info漏洞、Json-Hijacking漏洞、注入缺陷漏洞、并非漏洞、高危端口漏洞等,下面我們以注入缺陷及XSS漏洞為例,對其進(jìn)行簡單分析。

      2.1 注入缺陷

      源代碼中存在的注入缺陷能夠使攻擊者通過操縱輸入來實(shí)現(xiàn)改變應(yīng)用程序的行為,這種行為上的改變可以使攻擊者避開程序的訪問控制,使其能夠創(chuàng)建、修改、刪除或閱讀應(yīng)用程序可以訪問的任何信息。注入缺陷是一般都是由于開發(fā)者在源代碼中的假設(shè)(被一個(gè)應(yīng)用程序處理的輸入字符串不包含語法)而造成的,這個(gè)假設(shè)會導(dǎo)致有效輸入確認(rèn)的缺失。注入缺陷主要包括系統(tǒng)調(diào)用、Shell命令和SQL注入。在這里我們主要對SQL注入攻擊進(jìn)行分析。

      SQL注入是目前黑客對數(shù)據(jù)庫進(jìn)行攻擊的常用手段之一,一般可分為SQL操縱、代碼注入、函數(shù)調(diào)用注入和緩沖區(qū)溢出四種攻擊方法。在程序的使用過程中為了方便快捷的管理相關(guān)數(shù)據(jù),就需要應(yīng)用到數(shù)據(jù)庫,數(shù)據(jù)庫可以便于程序快速的對相關(guān)數(shù)據(jù)信息進(jìn)行存儲、分類及查詢。當(dāng)用戶使用程序時(shí),程序可以自動通過對數(shù)據(jù)庫的查詢,將所獲取的信息按照一定格式反饋給用戶,同時(shí)用戶也是通過交互式的對話框提交給程序數(shù)據(jù),從而使程序按照用戶想要的信息進(jìn)行查詢,反饋給用戶想要的信息。通過控制傳遞給程序數(shù)據(jù)庫操作語句的關(guān)鍵變量來獲得惡意控制程序數(shù)據(jù)庫,從而獲取有用信息或者制造惡意破壞的,甚至是控制用戶計(jì)算機(jī)系統(tǒng)的漏洞,就稱之為“SQL注入漏洞”。

      SQL注入漏洞完全是利用了將包含了某種目的的SQL語句,通過關(guān)鍵變量插入到程序中正常的數(shù)據(jù)庫操作語句里。程序一旦發(fā)生注入漏洞,就會引發(fā)一系列安全隱患。SQL注入漏洞是不分語言的,用任何語言開發(fā)的程序,只要是會涉及到對數(shù)據(jù)庫的操作,就可能會存在SQL注入漏洞。雖然有時(shí)會因?yàn)榫帉懻Z言的要求或者程序設(shè)置環(huán)境的不同,導(dǎo)致SQL注入漏洞難以被常用方法所利用,但是總會找到方法進(jìn)行突破。

      通過對造成SQL注入漏洞原因的總結(jié)分析,具體包括六個(gè)原因:1)類型處理不當(dāng);2)數(shù)據(jù)庫配置不安全;3)查詢集處理不合理;4)錯(cuò)誤處理不恰當(dāng);5)轉(zhuǎn)義字符處理不當(dāng);6)多個(gè)提交處理不當(dāng)。[2]

      源代碼中存在SQL注入漏洞,在軟件、系統(tǒng)應(yīng)用過程中會造成幾個(gè)方面的危害:1)敏感數(shù)據(jù)被惡意獲?。?)網(wǎng)絡(luò)釣魚;3)被獲取WEB用戶的網(wǎng)頁內(nèi)容;4)受到CSRF攻擊;5)用戶的鍵盤擊鍵數(shù)據(jù)被盜;6)成為WEB僵尸。下面我們舉一個(gè)最簡單的例子,對漏洞的利用方式進(jìn)行了解:

      假設(shè)在一個(gè)登錄界面,要求用戶輸入用戶名及密碼,但是由于開發(fā)人員失誤將用戶名及密碼直接拼接在了SQL查詢語句中:

      Mysql_query(“select * from user where

      (email=$emailand

      Password=$password)”)

      在存在這一漏洞的情況下,攻擊者只需要構(gòu)造Password為‘空or‘1=‘1的非法輸入,就可將實(shí)際執(zhí)行的SQL語句變?yōu)椋?/p>

      Mysql_query(“select * from user where

      (email=attack@abc.comand

      Password=‘‘or‘1=‘1)”)

      在這個(gè)例子中,SQL漏洞是由于開發(fā)人員直接將用戶輸入當(dāng)做可信部分直接和SQL語句拼接而造成的。

      在實(shí)際應(yīng)用過程中對于SQL漏洞的防御手段主要包括:1)使用參數(shù)化的過濾性語句;2)避免使用解釋程序,因?yàn)檫@是黑客借以執(zhí)行非法命令的手段;3)避免出現(xiàn)一些詳細(xì)的錯(cuò)誤消息,要使用一種標(biāo)準(zhǔn)的輸入確認(rèn)機(jī)制來驗(yàn)證所有輸入數(shù)據(jù)的長度、類型、語句、企業(yè)規(guī)則等;4)使用專業(yè)的漏洞掃描工具;5)在程序開發(fā)的所有階段都對代碼進(jìn)行安全檢查。[3]

      2.2 跨站腳本漏洞

      跨站腳本攻擊(XSS)是一種被動的安全攻擊方式。攻擊者通過在看上去安全可靠的鏈接中嵌入惡意代碼,當(dāng)用戶點(diǎn)擊這一鏈接時(shí),嵌入的惡意代碼作為用戶請求進(jìn)行提交,并在用戶電腦上運(yùn)行,這一漏洞常常被用來竊取用戶信息。由于網(wǎng)絡(luò)環(huán)境的復(fù)雜程度及跨站腳本攻擊方式的多樣性,導(dǎo)致這類攻擊很難得到徹底防御。

      攻擊者通過跨站腳本漏洞可實(shí)現(xiàn)幾種目的:1)盜取用戶賬號、密碼;2)控制企業(yè)數(shù)據(jù),讀取、篡改、添加、刪除企業(yè)敏感數(shù)據(jù);3)盜竊企業(yè)重要的資料;4)進(jìn)行非法轉(zhuǎn)賬;5)強(qiáng)制發(fā)送電子郵件;6)安裝木馬、后門程序;7)控制受害者機(jī)器向其它網(wǎng)站發(fā)起攻擊。下面我們以實(shí)例來分析如何利用跨站腳本漏洞:

      在正常情況下,WEB應(yīng)用與數(shù)據(jù)庫之間的正常調(diào)用鏈接方式為:

      $comments=db.get_comments(news-id):

      “;

      Foreach($comments as $c){

      Echo“

      1.”.$c.”

      ”;

      }

      echo”echo””;

      如果在這段源代碼中插入一條惡意JS腳本,如:

    1. 公司地址: 北京市西城區(qū)德外大街83號德勝國際中心B-11

      客服熱線:400-656-5456??客服專線:010-56265043??電子郵箱:longyuankf@126.com

      電信與信息服務(wù)業(yè)務(wù)經(jīng)營許可證:京icp證060024號

      Dragonsource.com Inc. All Rights Reserved

      icp

    2. 猜你喜歡
      源代碼安全漏洞
      芻議計(jì)算機(jī)軟件中的安全漏洞檢測技術(shù)
      基于TXL的源代碼插樁技術(shù)研究
      智能設(shè)備安全漏洞知多少
      淺析計(jì)算機(jī)網(wǎng)絡(luò)安全漏洞及防范措施
      保護(hù)好自己的“源代碼”
      計(jì)算機(jī)軟件安全漏洞檢測技術(shù)
      解密別克安全“源代碼”
      民用飛機(jī)A級別機(jī)載軟件項(xiàng)目源代碼到目標(biāo)代碼追溯性分析研究
      基于Android平臺的飛行射擊游戲設(shè)計(jì)
      兴义市| 那曲县| 都江堰市| 兴安盟| 柞水县| 望城县| 宣城市| 金乡县| 永新县| 博客| 班戈县| 汕头市| 澄江县| 南川市| 岳阳县| 奎屯市| 兰州市| 南开区| 河东区| 闽清县| 万源市| 上蔡县| 奈曼旗| 横峰县| 吐鲁番市| 长宁县| 海门市| 淅川县| 靖远县| 巧家县| 平原县| 茶陵县| 广灵县| 清苑县| 宜君县| 鄢陵县| 湘潭县| 富顺县| 湘潭市| 南陵县| 三门峡市|