姓名:顏皓 學(xué)號(hào):16020140084 電子工程學(xué)院
轉(zhuǎn)載自:http://www.yidianzixun.com/article/0HujWwmX?s=
【嵌牛導(dǎo)讀】一、Python 將成高考科目褂策,并列入全國(guó)計(jì)算機(jī)等級(jí)考試
二横腿、PHP、JS 等主流編程語(yǔ)言爆安全漏洞
【嵌牛鼻子】Python斤寂、高考科目耿焊、全國(guó)計(jì)算機(jī)等級(jí)考試、主流編程語(yǔ)言遍搞、安全漏洞
【嵌牛提問】如何解決當(dāng)前主流編程語(yǔ)言的安全漏洞罗侯?
【嵌牛正文】
Python 將成高考科目,并列入全國(guó)計(jì)算機(jī)等級(jí)考試
未來世界的人將會(huì)分成兩種人:一種是會(huì)編程的人溪猿,另一種是不會(huì)編程的人钩杰。人工智能時(shí)代的來臨,中國(guó)越來越重視編程教育诊县,特別是在編程語(yǔ)言的教育中讲弄,Python 越來越受歡迎。
近日翎冲,有新聞報(bào)道垂睬,全國(guó)計(jì)算機(jī)登記考試出臺(tái)了最新的調(diào)整方案:“Python 語(yǔ)言程序設(shè)計(jì)”將成為二級(jí)考試的新增科目。
如圖所示,在二級(jí)考試中驹饺,“Visual FoxPro 數(shù)據(jù)庫(kù)程序設(shè)計(jì)”科目(代碼:27)將被取消钳枕,2017 年 12 月是其最后一次組考。隨之新增“Python 語(yǔ)言程序設(shè)計(jì)”科目(代碼:66)赏壹,2018 年 9 月首次開考鱼炒。
除了全國(guó)計(jì)算機(jī)等級(jí)考試的變動(dòng)外,還有消息稱浙江省信息技術(shù)課程出臺(tái)的改革方案蝌借,已確定將 Python 納入浙江省信息技術(shù)高考范疇:從 2018 年起浙江省信息技術(shù)教材編程語(yǔ)言將會(huì)從 VB 更換為 Python昔瞧。也就是說:Python 語(yǔ)言將納入高考內(nèi)容之一。
隨著人工智能受重視程度的提升菩佑,作為其首選開發(fā)語(yǔ)言的 Python 也開始火爆起來自晰。在 12 月公布的 TIOBE 編程語(yǔ)言排行榜中,Python 僅次于 Java稍坯、C酬荞、C++,位列第四瞧哟。
未來是大數(shù)據(jù)和人工智能的時(shí)代混巧, Python 對(duì)數(shù)據(jù)的處理,有著得天獨(dú)厚的優(yōu)勢(shì)勤揩,我們似乎有理由相信咧党,Python 會(huì)越來越火。
PHP陨亡、JS 等主流編程語(yǔ)言爆安全漏洞
沒有不漏的鍋傍衡,如果底層的編程語(yǔ)言如果出現(xiàn)問題,頂層的應(yīng)用程序還能幸免于難嗎数苫?
這周在 Black Hat Europe 2017 安全會(huì)議上聪舒,一名安全研究員公開了幾款目前非常流行的解釋型編程語(yǔ)言中出現(xiàn)的漏洞。這些編程語(yǔ)言上存在的問題虐急,可能讓運(yùn)用這些語(yǔ)言開發(fā)的應(yīng)用程序因此也很容易遭受攻擊箱残。
這項(xiàng)研究的作者是 IOActive 的高級(jí)安全顧問 Fernando Arnaboldi。這位專家表示他使用了自動(dòng)化的模糊測(cè)試工具在解釋器中對(duì)五種編程語(yǔ)言進(jìn)行了測(cè)試:Java止吁,Perl被辑,PHP,Python和Ruby敬惦。在對(duì)默認(rèn)庫(kù)和內(nèi)置函數(shù)進(jìn)行模糊測(cè)試之后盼理,他在研究中公布了每種語(yǔ)言存在的一些問題。
使用 XDiFF 對(duì) 5 款語(yǔ)言進(jìn)行模糊測(cè)試
使用模糊測(cè)試工具俄删,對(duì)軟件進(jìn)行測(cè)試通常需要檢測(cè)到不尋常的行為宏怔,以及對(duì)內(nèi)存崩潰以及溢出進(jìn)行檢測(cè)奏路。
目前比較流行的測(cè)試工具(如AFL和Peach)通常需要在尋找漏洞的時(shí)候的時(shí)候采用相同的邏輯,而這些工具無法存儲(chǔ)執(zhí)行過的測(cè)試用例的信息臊诊。
在這位研究員的研究過程中鸽粉,他自定義了自己的模糊測(cè)試工具 XDiFF(擴(kuò)展差分模糊測(cè)試框架),以此適應(yīng)這幾款不同的編程語(yǔ)言抓艳。在測(cè)試過程中触机,他將每種編程語(yǔ)言都分解成了最基本的功能,然后使用XDiFF來提供各種payload輸入來進(jìn)行測(cè)試玷或。
在這次測(cè)試中儡首,我們的的輸入中主要使用了不到 30 種的原始數(shù)據(jù)類型,但也有一些特別的payload偏友。這些特別的payload 是用于測(cè)試程序獲取外部數(shù)據(jù)資源時(shí)是否會(huì)出現(xiàn)問題蔬胯。
以上這些測(cè)試都是用于分析測(cè)試目標(biāo)——是否會(huì)出現(xiàn)“暴露本地文件、未授權(quán)的代碼注入约谈、未授權(quán)的系統(tǒng)代碼執(zhí)行操作”等安全問題笔宿。
測(cè)試結(jié)果:均暴露出問題
而從他的測(cè)試結(jié)果來看,我們確實(shí)可以看到Java棱诱、PHP、Ruby涝动、Perl迈勋、Python分別在經(jīng)歷了多項(xiàng)測(cè)試之后,暴露出來了哪些問題醋粟。
Python中存在可用于OS命令執(zhí)行的未記錄方法和本地環(huán)境變量靡菇。
Perl 中有一種可執(zhí)行如 eval 的 typemap 函數(shù)。
NodeJS 中輸出的錯(cuò)誤信息會(huì)泄露部分文件內(nèi)容米愿。
JRuby 可以加載和執(zhí)行并非設(shè)計(jì)為遠(yuǎn)程代碼執(zhí)行的代碼
PHP中常量的名字可以用來執(zhí)行遠(yuǎn)程命令厦凤。
最安全的應(yīng)用層序也會(huì)因此“倒下”
Arnaboldi 表示攻擊者可以利用這些編程語(yǔ)言上的漏洞來“放倒”最安全的應(yīng)用程序。
一些軟件開發(fā)者可能會(huì)在沒有意識(shí)到的情況下將代碼包含在應(yīng)用程序中育苟,而這些代碼可能導(dǎo)致的后果卻是開發(fā)者沒有考慮到的较鼓。
即便是按照安全指南來進(jìn)行開發(fā)的最安全的應(yīng)用程序也可能會(huì)因此出現(xiàn)“安全隱患”。
即便開發(fā)者沒有惡意企圖违柏,但這些漏洞也可能因?yàn)殚_發(fā)者無意識(shí)或試圖簡(jiǎn)化開發(fā)而引入進(jìn)來博烂。
目前XDiFF已經(jīng)作為開源項(xiàng)目公布在GitHub上。