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

?

基于抽象語法樹和XGBoost 的jsp_webshell 檢測方法研究*

2020-12-23 06:12茅雨綺
通信技術(shù) 2020年10期
關(guān)鍵詞:日志向量語法

茅雨綺,施 勇,薛 質(zhì)

(上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240)

0 引言

隨著互聯(lián)網(wǎng)應(yīng)用的不斷發(fā)展,在以瀏覽器/服務(wù)器(Browser/Server,B/S)架構(gòu)作為基礎(chǔ)的Web應(yīng)用逐漸成為主流的當(dāng)下,Web 安全面臨著更加嚴(yán)峻的考驗(yàn)。

國家互聯(lián)網(wǎng)應(yīng)急響應(yīng)中心(National Internet Emergency Center,CNCERT) 發(fā) 布 的《2019 年我國互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢綜述》[1]報(bào)告中提到,2019 年國家信息安全漏洞共享平臺(tái)(China National Vulnerability Database,CNVD)收錄安全漏洞數(shù)量創(chuàng)下歷史新高,共計(jì)16 193 個(gè),其中Web 應(yīng)用漏洞排名第二,占18.7%。2019 年監(jiān)測到境內(nèi)外約4.5萬個(gè)IP 地址對我國境內(nèi)約8.5 萬個(gè)網(wǎng)站植入后門,較2018 年增長超過2.59 倍。

Webshell 可以以多種語言編寫,包括php、asp以及jsp 等。由于php 語言不需要特殊的開發(fā)環(huán)境,被大多數(shù)系統(tǒng)支持,且php 語言的安全隱患較多,故基于php 的webshell 最常見。此外,使用jsp 開發(fā)的網(wǎng)站也越來越多,許多銀行、金融公司等均使用java 架構(gòu)進(jìn)行系統(tǒng)開發(fā)。在這種架構(gòu)中,攻擊者可以通過上傳jsp_webshell 來遠(yuǎn)程訪問并控制web 服務(wù)器,包括上傳、下載、修改、刪除文件,操作數(shù)據(jù)庫,執(zhí)行其他任意命令等,危害極大。因此,檢測jsp 類型的Webshell 是否存在,對防止攻擊者進(jìn)一步控制服務(wù)器、保障Web 服務(wù)器安全非常必要且急迫。本文提出了一種基于抽象語法樹和XGBoost 的jsp_webshell 檢測方法,首次將抽象語法樹序列特征和GloVe 詞嵌入算法應(yīng)用到Webshell檢測,提取jsp 文件的java 抽象語法樹(Abstract Syntax Tree,AST)序列特征,通過GloVe 模型得到詞向量特征文本,最后使用XGBoost 分類器進(jìn)行jsp_webshell 檢測。

1 相關(guān)研究

Webshell 是在服務(wù)器上運(yùn)行的可執(zhí)行代碼,可以視為一種遠(yuǎn)程訪問工具(Remote Access Tool,RAT)或后門特洛伊木馬文件。jsp_webshell 是用jsp 編寫的Webshell,文件可能非常小,只需要一行代碼,或者可以長達(dá)數(shù)千行,具有各種功能。有些是自給自足的,包含所有必需的功能;有些則需要外部操作或由“命令與控制”(Command&Control,C & C)客戶端與之進(jìn)行交互。攻擊者上傳Webshell 的常用方法是利用網(wǎng)站中常見的漏洞(如SQL 注入、文件包含和上傳等)遠(yuǎn)程生成或安裝Webshell 文件。一旦成功安裝了Webshell,遠(yuǎn)程攻擊者就可以使用嵌入命令直接向Webshell 發(fā)出HTTP 請求。該命令將被執(zhí)行,就好像攻擊者具有對Web 服務(wù)器的本地訪問權(quán)限一樣。

目前,國內(nèi)外對于Webshell 檢測的研究主要側(cè)重于php 類型的Webshell,使用的方法主要有基于靜態(tài)特征的檢測、基于流量特征的檢測、基于行為特征的檢測以及基于日志的檢測方法。

基于流量和行為特征的檢測屬于動(dòng)態(tài)檢測方法。Yang J 等人[2]提出了一種語義感知方法,通過分析Web 訪問流量,提取URL 資源和URL 查詢來檢測惡意Web 流量。王應(yīng)軍等人[3]通過提取Webshell 流量中HTTP 請求的參數(shù)名和參數(shù)值作為特征,并使用機(jī)器學(xué)習(xí)模型對Webshell 進(jìn)行檢測。杜海章等人[4]針對php 類型的Webshell 進(jìn)行實(shí)時(shí)動(dòng)態(tài)的檢測,在php 擴(kuò)展中對php 代碼編譯和運(yùn)行的過程進(jìn)行監(jiān)控,從而檢測并阻止惡意的php_webshell。Wrench 等人[5]也提出了動(dòng)態(tài)檢測方法,通過去混淆和相似度矩陣分析方法提高了召回率,但誤報(bào)率較高。Canali D 等人[6]通過構(gòu)建蜜罐網(wǎng)站進(jìn)行實(shí)時(shí)監(jiān)測,解析惡意代碼的行為,建立惡意行為庫檢測Webshell,但需要消耗大量資源,部署難度大,且只能檢測處于活動(dòng)狀態(tài)的Webshell。

基于日志的檢測方法可用于系統(tǒng)被入侵失陷后進(jìn)行排查,通過區(qū)分正常Web 網(wǎng)頁和Webshell 在日志文件中的不同特征檢測是否存在Webshell。石劉洋等人[7]分析服務(wù)器的日志文本,通過文本特征、統(tǒng)計(jì)特征和頁面關(guān)聯(lián)特征的匹配進(jìn)行檢測,區(qū)分Webshell 和正常網(wǎng)頁文件的日志文本。潘杰[8]使用單分類支持向量機(jī)和神經(jīng)網(wǎng)絡(luò)算法對日志進(jìn)行了聚類,并通過遺傳算法優(yōu)化模型,提高了模型的準(zhǔn)確率。Miao Xie 等人[9]通過K 最鄰近(K-Nearest Neighbor,KNN)算法檢測日志中的疑似Webshell行為。Yixin Wu 等人[10]從Web 日志中的原始序列數(shù)據(jù)中提取特征,通過基于時(shí)間間隔的統(tǒng)計(jì)方法識(shí)別會(huì)話,發(fā)現(xiàn)基于LSTM 的模型保持了較高的召回率和準(zhǔn)確性,但基于日志檢測的方法可能會(huì)產(chǎn)生大量誤報(bào),且由于日志數(shù)量龐大,大量的讀寫日志很可能會(huì)對服務(wù)器的性能造成影響。

基于文件特征的檢測屬于靜態(tài)檢測方法,通過文件的靜態(tài)特征對Webshell 進(jìn)行檢測,檢測速度較快,而且能夠在攻擊者利用Webshell 代碼執(zhí)行前進(jìn)行檢測,是目前檢測Webshell 的最常見方法。Truong 等人[11]提出了基于最佳閾值的方法來識(shí)別包含來自Web 應(yīng)用程序的惡意代碼文件。利用統(tǒng)計(jì)學(xué)方法統(tǒng)計(jì)Webshell 文件中出現(xiàn)的惡意函數(shù)、命令執(zhí)行函數(shù)等頻率,但易被加密混淆的Webshell繞過。易楠等人[12]提出了一種基于語義分析的Webshell 檢測方法,通過構(gòu)建抽象語法樹,使用節(jié)點(diǎn)評分表對語法樹進(jìn)行風(fēng)險(xiǎn)評估,對危險(xiǎn)節(jié)點(diǎn)進(jìn)行污點(diǎn)子樹定位,最終通過構(gòu)建風(fēng)險(xiǎn)模型進(jìn)行匹配評估,實(shí)現(xiàn)對Webshell 的檢測,但該方法對于變種的Webshell 的檢測效果并不理想。隨著機(jī)器學(xué)習(xí)模型的不斷成熟,機(jī)器學(xué)習(xí)的方法被廣泛運(yùn)用于Webshell 的檢測來提高有效性和準(zhǔn)確性。文獻(xiàn)[13]使用word2vec 模型將HTTP 請求中的每個(gè)單詞表示為一個(gè)向量,并將Web 請求表示為固定大小的矩陣。使用基于CNN 的模型來對惡意Webshell 和普通Webshell 進(jìn)行分類,實(shí)現(xiàn)了較高的精度。文獻(xiàn)[14]使用了fastText 文本分類器和隨機(jī)森林算法來構(gòu)建php_webshell 的檢測模型。文獻(xiàn)[15-16]使用php 操作碼序列作為特征,分別結(jié)合TF-IDF、Word2Vec和多層感知器(Multi-Layer Perceptron,MLP)神經(jīng)網(wǎng)絡(luò)對Webshell 進(jìn)行檢測。

2 基于抽象語法樹和XGBoost 的jsp-webshell檢測模型

目前,基于靜態(tài)特征和機(jī)器學(xué)習(xí)的檢測模型的研究主要針對php_webshell。為研究針對jsp 類型的Webshell 檢測方法,本文提出了基于抽象語法樹和XGBoost 的jsp_webshell 檢測模型,訓(xùn)練框架如圖1所示。本節(jié)先介紹jsp_webshell 的特征和jsp 代碼的編譯過程,獲得jsp 文件執(zhí)行的java 代碼,然后介紹java 抽象語法樹的特征提取及其對Webshell 檢測的作用,闡述提取語法樹詞向量的GloVe 算法,最后介紹本文使用的XGBoost 算法。

圖1 基于抽象語法樹和XGBoost 的jsp_webshell 檢測模型訓(xùn)練框架

2.1 jsp_webshell 原理與特征

2.1.1 攻擊原理

webshell 典型的功能包括文件操作、目錄操作、對數(shù)據(jù)庫的操作、端口掃描、注冊表操作、查看系統(tǒng)信息、掛馬功能、執(zhí)行系統(tǒng)函數(shù)以及加密函數(shù)等敏感操作。圖2 是一個(gè)簡單的jsp_webshell 的源代碼,其中的java 代碼部分是將request 請求中的“cmd”參數(shù)的值作為系統(tǒng)命令執(zhí)行的參數(shù)。攻擊者可以通過GET 請求構(gòu)造惡意的請求注入cmd 參數(shù),從而實(shí)現(xiàn)遠(yuǎn)程調(diào)用服務(wù)器端的控制臺(tái),達(dá)到任意命令執(zhí)行的目的。

2.1.2 靜態(tài)特征

jsp_webshell的靜態(tài)特征包括兩個(gè)方面。一方面,危險(xiǎn)函數(shù)的調(diào)用,如圖2 所示的Webshell 代碼中調(diào)用的getRuntime().exec(),可將函數(shù)內(nèi)的命令行參數(shù)作為系統(tǒng)命令執(zhí)行。為了繞過一些傳統(tǒng)的靜態(tài)特征檢測機(jī)制,Webshell 會(huì)進(jìn)行編碼或加密,可能用到base64_decode 等函數(shù),而這些都是正常頁面文件很少用到的函數(shù),可作為Webshell 檢測的一個(gè)特征。另一方面,最長字符的長度,即文件中最長不間斷字符串的長度。由于一些Webshell 會(huì)使用base64等編碼或加密函數(shù)來進(jìn)行混淆,從而繞過簡單的特征碼匹配檢測方式,因此會(huì)產(chǎn)生較長的無空格間斷的字符串,而正常的頁面文件在對參數(shù)進(jìn)行命名時(shí)幾乎不會(huì)產(chǎn)生這樣的字符串。因此,通過獲取文本的最長字符串長度,也可以作為Webshell 檢測的一個(gè)特征。

圖2 jsp_webshell 源代碼

由于jsp_webshell 主要通過嵌入其中的java 語句實(shí)現(xiàn)其功能,因此首先對jsp 文件進(jìn)行預(yù)處理,將其轉(zhuǎn)化為對應(yīng)的java 文件后對其進(jìn)行語法分析,剝離token、注釋、字符串、變量以及語言結(jié)構(gòu),得到抽象語法樹序列,包含了函數(shù)調(diào)用的名稱、參數(shù)名以及參數(shù)類型等特征。為了避免一些Webshell為繞過檢測而添加一些無用的不可讀注釋,通過語法樹提取刪除無用注釋,最終得到了語法樹結(jié)構(gòu)序列特征。

圖3 jsp 文件編譯與執(zhí)行流程

2.2 jsp 編譯與執(zhí)行

為提取java 抽象語法樹特征,需要對jsp 源代碼進(jìn)行轉(zhuǎn)換,得到對應(yīng)的java 文件。jsp 文件無法直接運(yùn)行,需要經(jīng)過如圖3 所示的編譯與執(zhí)行流程。當(dāng)客戶端訪問jsp 文件時(shí),jsp 引擎會(huì)將jsp 文件中的HTML 代碼和Java 代碼全部轉(zhuǎn)換為java 代碼,并編譯生成class 文件。編譯后的class 對象被加載到容器中,根據(jù)用戶的請求生成HTML 格式的響應(yīng)頁面返回給客戶端。

2.3 抽象語法樹(AST)特征提取

抽象語法樹是程序編譯的中間表示形式,使用樹狀的形式直觀標(biāo)示出源程序的語法結(jié)構(gòu),具有較高的存儲(chǔ)效率,在語義分析、程序分析等領(lǐng)域具有廣泛應(yīng)用。Java 語言的抽象語法樹會(huì)把java 源代碼中的各種元素,如類、屬性、方法、代碼塊以及注釋等定義成相應(yīng)的對象。由于java 是一種強(qiáng)制類型的語言,與php 等弱數(shù)據(jù)類型語言相比,數(shù)據(jù)類型和語法結(jié)構(gòu)定義更嚴(yán)格,因此通過提取java 文件的語法樹序列特征,可以更好地表征jsp 執(zhí)行的java代碼結(jié)構(gòu),保留了代碼的上下文語境信息,避免無意義的注釋等Webshell 逃逸方法,從而分析其是否執(zhí)行了惡意代碼。

為了獲取java 語法樹的特征,需要對java 代碼進(jìn)行解析,包括詞法和語法分析,得到j(luò)ava 抽象語法樹。遍歷該抽象語法樹對其進(jìn)行分詞和過濾,刪除對檢測Webshell 無用的節(jié)點(diǎn),如注釋、html 語句等,得到抽象語法樹的序列特征,其中包括調(diào)用函數(shù)名稱、參數(shù)名稱以及參數(shù)類型等。一個(gè)簡單的helloworld 代碼得到的語法樹序列特征如圖4 所示。

圖4 helloworld 語法樹序列特征

2.4 GloVe 模型

學(xué)習(xí)詞向量表示的方法主要有以下兩種。一是基于全局矩陣分解的方法,如LSA,對詞匯-文本矩陣進(jìn)行奇異值分解構(gòu)造潛在語義空間,并得到文本在語義空間的表示。該方法雖有效利用了全局統(tǒng)計(jì)信息,但是在詞匯類比方面能力較差。二是局部上下文窗口的方法,如Mikolov 在2013 年提出來的Word2Vec 算法,包括CBOW 和skip-gram 兩種模型,能夠較好地進(jìn)行詞匯類比,但未有效利用全局統(tǒng)計(jì)信息。為了結(jié)合以上兩種方法的優(yōu)點(diǎn)、克服其缺陷,2014 年Jeffrey Pennington 等人提出了一種新的基于詞共現(xiàn)矩陣?yán)碚摰腉loVe 模型[17]。該模型基于全局詞匯共現(xiàn)的統(tǒng)計(jì)信息來學(xué)習(xí)詞向量,從而結(jié)合了全局統(tǒng)計(jì)信息與局部上下文窗口方法的優(yōu)點(diǎn),提升了應(yīng)用效果。

使用GloVe 模型進(jìn)行訓(xùn)練時(shí),會(huì)將每個(gè)詞降維表示為詞向量。對于給定的特征詞i,其詞向量vi可以表示為:

其中,n為向量的維度,wj是特征詞i的第j個(gè)維度。GloVe 模型構(gòu)造了一個(gè)詞共現(xiàn)矩陣的近似矩陣X。矩陣中的每一個(gè)元素Xij表示詞匯j出現(xiàn)在詞匯i的窗口大小固定的上下文中的次數(shù)總和。GloVe 模型使用的損失函數(shù)J如下:

(1)f(0)=0,當(dāng)詞匯共現(xiàn)的次數(shù)為0 時(shí),此時(shí)對應(yīng)的權(quán)重應(yīng)該為0;

(2)f(x)必須是一個(gè)非遞減函數(shù),目的是保證當(dāng)詞匯共現(xiàn)的次數(shù)增大時(shí),權(quán)重不會(huì)出現(xiàn)下降的情況;

(3)f(x)的值應(yīng)較小,使得對于頻繁的共現(xiàn)組合也不會(huì)賦予很大的值,從而防止過度加權(quán)。

綜合以上3 點(diǎn)特性,提出了下面的權(quán)重函數(shù):

試驗(yàn)發(fā)現(xiàn)xmax=100、α=3/4 時(shí)效果較好。

本文設(shè)定維度n=100,特征詞閾值m=800,將提取到的AST 特征文本進(jìn)行分詞,并視為一個(gè)句子s。若句子s中的特征詞數(shù)量少于m,則取前m個(gè)特征詞;若少于m,則以0 補(bǔ)全。使用GloVe 模型對語法樹序列特征文本進(jìn)行詞向量提取,得到的m×n的特征矩陣如下:

2.5 XGBoost

梯度提升樹(Gradient Boosting Decision Tree,GBDT)是Friedman 等人在2001 年提出的一種boosting 算法[18],采用加法模型(即基函數(shù)的線性組合),通過多輪迭代,不斷減小學(xué)習(xí)過程產(chǎn)生的殘差,從而對數(shù)據(jù)進(jìn)行分類或回歸。XGBoost(eXreme Gradient Bosoting)[19]是Tianqi Chen 在GBDT 的基礎(chǔ)上提出的改進(jìn)算法。與傳統(tǒng)的GBDT相比,XGBoost 對損失函數(shù)進(jìn)行優(yōu)化,保留了二階泰勒展開,并對樹的復(fù)雜度項(xiàng)增加了一個(gè)L2 正則化項(xiàng),還引入了縮減因子和列抽樣,避免了過擬合。同時(shí),該算法在尋找最優(yōu)分割點(diǎn)的算法上加以改進(jìn),提高了分類的精確度。本文試驗(yàn)了KNN、支持向量機(jī)、隨機(jī)森林和XGBoost 等幾種機(jī)器學(xué)習(xí)算法對jsp_webshell 檢測的性能,最終選取性能最優(yōu)的XGBoost 算法作為機(jī)器學(xué)習(xí)檢測模型的算法。

3 實(shí)驗(yàn)與結(jié)果分析

3.1 實(shí)驗(yàn)數(shù)據(jù)與過程

本文收集的jsp_webshell 樣本和正常樣本均來自github 等開源網(wǎng)站,共收集了2 137 個(gè)樣本,其中Webshell 樣本507 個(gè),正常樣本1 630 個(gè)。

對照實(shí)驗(yàn)中,分別選取KNN、支持向量機(jī)、隨機(jī)森林和XGBoost 這4 種機(jī)器學(xué)習(xí)算法,并選取了Word2Vec 和TF-IDF 兩種詞特征提取方法和GloVe方法進(jìn)行對比。具體實(shí)驗(yàn)過程如圖5 所示,先將正常樣本和Webshell 樣本進(jìn)行預(yù)處理,得到j(luò)ava 文件,并對其進(jìn)行AST 特征提?。皇褂肳ord2Vec 和TFIDF 算法與GloVe 算法進(jìn)行對比,提取詞特征矩陣;為了驗(yàn)證XGBoost 算法的性能,分別使用python 的sklearn 模塊中的KNN、支持向量機(jī)以及隨機(jī)森林算法與XGBoost 算法進(jìn)行對照實(shí)驗(yàn)。

3.2 模型訓(xùn)練與參數(shù)選擇

本文通過4 折交叉法,將訓(xùn)練數(shù)據(jù)分為4 個(gè)子集。每次訓(xùn)練將其中一個(gè)子集作為測試集,剩余子集作為訓(xùn)練集。隨機(jī)抽樣訓(xùn)練4 次,取4 次訓(xùn)練的平均準(zhǔn)確率作為參考指標(biāo)進(jìn)行模型參數(shù)的選擇。最后,選取參數(shù)如下:KNN的鄰居數(shù)n_neighbors 設(shè)為3;支持向量機(jī)的懲罰系數(shù)C 設(shè)為10;隨機(jī)森林的決策樹個(gè)數(shù)n_estimators 為200,最大深度max_depth 為37;XGBoost 的決策樹的個(gè)數(shù)n_estimators 為125,最大深度max_depth 為5;TF-IDF 的最大特征數(shù)為500;Word2vec 和GloVe 的窗口大小為100。

3.3 實(shí)驗(yàn)結(jié)果與分析

使用機(jī)器學(xué)習(xí)算法進(jìn)行二分類時(shí),會(huì)產(chǎn)生4 種結(jié)果,即正樣本被判定為正樣本(True Positive,TP)、正樣本被判定為負(fù)樣本(False Negative,F(xiàn)N)、負(fù)樣本被判定為負(fù)樣本(True Negative,TN)和負(fù)樣本被判定為正樣本(False Positive,F(xiàn)P)。本文將Webshell文件定為正樣本,將正常文件定為負(fù)樣本。

圖5 實(shí)驗(yàn)過程

本文選擇機(jī)器學(xué)習(xí)中的準(zhǔn)確率(accuracy)、精度(precision)、召回率(recall)以及F1 值(F1-score)4 個(gè)指標(biāo)進(jìn)行模型評價(jià)。其中,準(zhǔn)確率表示預(yù)測正確的樣本數(shù)占所有樣本的比例;精度表示被預(yù)測為Webshell 的樣本中實(shí)際為Webshell的比例;召回率表示W(wǎng)ebshell 樣本中被正確預(yù)測為Webshell 的比例,召回率越高,意味著漏報(bào)率越低;F1 值是精度和召回率的調(diào)和平均值。由于精度和召回率的度量角度是矛盾的,F(xiàn)1 值綜合了兩者的度量,因此F1 值是一個(gè)很好的綜合性評價(jià)指標(biāo),能更好地表示模型的檢測性能。以上4 種指標(biāo)的計(jì)算方式如下:

使用4 折交叉驗(yàn)證法對以上4 種指標(biāo)計(jì)算平均值,實(shí)驗(yàn)結(jié)果如表1 所示。

表1 jsp_webshell 檢測模型的實(shí)驗(yàn)結(jié)果

從實(shí)驗(yàn)結(jié)果可得,使用GloVe 算法提取詞向量特征比使用TF-IDF 算法和Word2Vec 算法的性能更優(yōu)。在機(jī)器學(xué)習(xí)算法選取上,KNN 算法的性能最差;支持向量機(jī)和隨機(jī)森林算法雖然精度很高,但是召回率較低,綜合性能不高;XGBoost 算法雖然在精度上略低于隨機(jī)森林算法和支持向量機(jī)算法,但在召回率、準(zhǔn)確率和綜合性能上均優(yōu)于其他算法。綜合以上結(jié)果,使用GloVe 算法提取詞向量特征,結(jié)合XGBoost 分類器進(jìn)行檢測,綜合性能最優(yōu),尤其在召回率方面,相比其他算法具有顯著優(yōu)勢,對jsp 類型的Webshell 有更好的檢測效果,準(zhǔn)確率高達(dá)98.73%。

4 結(jié)語

本文提出的基于抽象語法樹和XGBoost 的jsp_webshell 檢測方法,首次針對jsp 類型的Webshell進(jìn)行語法樹特征提取,并首次使用了在自然語言處理中較為新穎的詞向量訓(xùn)練方法GloVe,對jsp 文件預(yù)處理后提取的java 語法樹序列特征進(jìn)行詞向量提取,結(jié)合XGBoost 分類器進(jìn)行有監(jiān)督的學(xué)習(xí),從而檢測jsp_webshell。通過與傳統(tǒng)的機(jī)器學(xué)習(xí)模型和其他詞向量特征提取方法進(jìn)行對比實(shí)驗(yàn),結(jié)果表明提出的jsp_webshell 檢測模型性能得到了提升。后續(xù)工作是擴(kuò)大訓(xùn)練數(shù)據(jù)的規(guī)模,并加入字節(jié)碼的特征,使用深度學(xué)習(xí)算法改進(jìn)模型的檢測性能,并將該方法用于其他惡意代碼的檢測。

猜你喜歡
日志向量語法
向量的分解
一名老黨員的工作日志
聚焦“向量與三角”創(chuàng)新題
扶貧日志
跟蹤導(dǎo)練(二)4
雅皮的心情日志
雅皮的心情日志
參考答案
向量垂直在解析幾何中的應(yīng)用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
当涂县| 大冶市| 柞水县| 六盘水市| 开封市| 阳曲县| 基隆市| 黄梅县| 黄大仙区| 安溪县| 邵东县| 天峨县| 桃园县| 吴桥县| 肃宁县| 黄浦区| 桐庐县| 靖江市| 塘沽区| 寻甸| 玉树县| 宜宾市| 铜梁县| 星子县| 宣武区| 忻城县| 盘山县| 营山县| 青田县| 祁连县| 呼伦贝尔市| 礼泉县| 青浦区| 加查县| 大宁县| 遂宁市| 昌黎县| 高尔夫| 咸阳市| 元谋县| 珠海市|