讓“無聲的漏洞”無可遁形:詳解2023 數(shù)據(jù)庫頂會SIGMOD最佳論文
時間:2023-06-24 04:27:37
【編者按】 2 0 23 數(shù)據(jù)庫頂會 SIGMOD 在美國西雅圖頒出最佳論文。阿里云與浙江大學(xué)合作的 《 Detecting Logic Bugs of Join Optimizations in DBMS 》獲 得最佳論文,成為 自 1975 年該會議 至今 49 年以來 ,中國大陸研究團(tuán)隊 首次斬獲該獎項 。
這項工作聚焦數(shù)據(jù)庫邏輯測試,始于阿里云PolarDB云原生數(shù)據(jù)庫的內(nèi)核測試,通過開發(fā)創(chuàng)新的自動化數(shù)據(jù)庫邏輯測試方案TQS,檢出不易察覺的邏輯漏洞予以修復(fù)。實驗發(fā)現(xiàn),TQS運行僅24小時就檢測出4大商用數(shù)據(jù)庫管理系統(tǒng)的邏輯漏洞115個,予以修復(fù)后,大幅提升數(shù)據(jù)庫穩(wěn)定性。
該論文一作唐秀系浙江大學(xué)博士,這一工作是她在阿里云數(shù)據(jù)庫進(jìn)行研究型實習(xí)時的成果;阿里云數(shù)據(jù)庫負(fù)責(zé)人李飛飛也是作者之一,此前他曾以一作身份憑借《Wander Join: Online Aggregation via Random Walks》拿下2016年SIGMOD最佳論文。本次論文獲獎,完成了中國大陸研究團(tuán)隊在數(shù)據(jù)庫頂會的歷史性突破,也成為了中國校企合作攻克科研難題的典范之一。
(資料圖片僅供參考)
我們特別邀請到唐秀博士,為我們深入淺出地解讀這篇論文的關(guān)鍵成果。
背景與動機(jī)
我國數(shù)據(jù)庫正處于高速發(fā)展期,并且隨著應(yīng)用復(fù)雜程度的增加,企業(yè)和用戶對于更強(qiáng)大、更安全的數(shù)據(jù)庫的需求也越來越迫切。因此,如何檢查數(shù)據(jù)庫漏洞和錯 誤,成為保障數(shù)據(jù)庫安全、提升數(shù)據(jù)庫穩(wěn)定性的關(guān)鍵之一。
在數(shù)據(jù)庫查詢執(zhí)行期間,主要有兩類錯誤(bug):一種常見的錯誤是數(shù)據(jù)庫突然崩潰停止,這種錯誤對于開發(fā)人員來說相對容易檢測,因為數(shù)據(jù)庫連接會突然中斷。然而,還存在一類隱藏的錯誤,即邏輯漏洞。在這種情況下,數(shù)據(jù)庫正常運行并返回結(jié)果,但實際上并非正確的結(jié)果。
圖說:邏輯漏洞舉例
以上圖中的兩個邏輯漏洞為例,圖a展現(xiàn)了MySQL的一個哈希連接錯誤,這種錯誤發(fā)生在錯誤地將零和負(fù)零視為不同值的情況下,導(dǎo)致最終返回一組空集合;b圖涉及數(shù)據(jù)類型轉(zhuǎn)換和數(shù)據(jù)精度損失導(dǎo)致的錯誤半連接:在MySQL中,當(dāng)比較兩個值是否相等時,數(shù)據(jù)類型轉(zhuǎn)換和精度損失可能導(dǎo)致意外的結(jié)果,從而影響查詢結(jié)果集的構(gòu)建。
邏輯漏洞很難檢測,但其導(dǎo)致的后果確很嚴(yán)重,重則會導(dǎo)致“上萬航班延誤癱瘓”級別的大規(guī)模宕機(jī),因此也被視為“無聲的漏洞” 。本論文便主要聚焦于此。
針對邏輯漏洞,目前已經(jīng)有一些檢測方法,例如部分查詢語義(PQS),但這些方法通常只支持針對單表選擇查詢的檢測,在涉及多表查詢以及不同的連接算法和連接結(jié)構(gòu)的情況下,仍存在大量的研究空白。
而最常用的差分測試,通過在不同數(shù)據(jù)庫中執(zhí)行相同操作,以驗證其一致性,這種測試仍存在問題:假如兩個數(shù)據(jù)庫返回相同的結(jié)果,也有可能是基于同樣錯誤的邏輯生成了一樣的結(jié)果, 也即如何驗證查詢結(jié)果正確性的關(guān)鍵問題 。
同時,測試數(shù)據(jù)庫現(xiàn)在面臨的搜索空間是非常龐大的, 如何引導(dǎo)測試以盡可能消耗最小的資源窮盡全部測試 ,也是一個需要解決的問題。
研究思路與核心內(nèi)容
圍繞這兩個關(guān)鍵問題,我們引入了一個名為TQS(轉(zhuǎn)換查詢合成)的全新解決方案,以解決MySQL數(shù)據(jù)庫中可能出現(xiàn)的邏輯錯誤。
圖說:TQS架構(gòu)圖
TQS包括DSG和KQE兩部分,分別為數(shù)據(jù)驅(qū)動的模式和查詢生成,與知識引導(dǎo)的查詢空間探索。
為解決真值生成問題,我們采用了以下方法:首先,根據(jù)給定的寬表,使用函數(shù)依賴(FD)將該表拆分為多個表。
圖說:DSG是如何拆分寬表的
同時,為了進(jìn)行邊緣測試,我們還插入了一些噪聲數(shù)據(jù)作為邊緣情況的樣本(圖中彩色數(shù)據(jù)),并基于數(shù)據(jù)庫的模式圖模型,隨機(jī)游走生成一系列查詢。
圖說:DSG構(gòu)建針對表連接的Bitmap 索引
在此基礎(chǔ)上,構(gòu)建RowID映射表,用于記錄在表拆分過程中,寬表中的行和拆分后表的行的對應(yīng)關(guān)系。根據(jù)表連接是表拆分的逆向過程的直覺,構(gòu)建基于構(gòu)建RowID映射的Bitmap索引,以便從寬表中檢索到連接查詢的理論真值。 這些真值生成后,便是檢測潛在邏輯錯誤的參照樣本。
然而,對于給定的數(shù)據(jù)庫模式,可生成的連接查詢的數(shù)量會隨著表格和列的數(shù)量呈指數(shù)級增長,顯然無法使用枚舉法一一驗證。那么,要如何更高效地探索查詢未知空間呢?我們提出了TQS的第二部分設(shè)計——KQE。
圖說:KQE原理圖
KQE首先將模式圖進(jìn)一步拓展為一個規(guī)劃迭代圖,來表示整個查詢生成空間。同時,在大量的歷史查詢圖中,KQE構(gòu)建了一個基于嵌入的圖索引,以確保新生成的查詢圖盡可能地遠(yuǎn)離其在歷史查詢中的近鄰,探索更多的未知空間。
總體來看,KQE可基于結(jié)構(gòu)相似性為生成的查詢圖評分,同時也通過自適應(yīng)隨機(jī)游走多樣化查詢生成, 從而極大降低了對于重復(fù)查詢的概率,節(jié)省了計算資源開支。
實驗結(jié)果分析
我們的研究在MySQL、MariaDB、TiDB 和 PolarDB 等4大常用DBMS上進(jìn)行了實驗。
運行了 24 小時后,TQS 成功找到了 115 個漏洞:MySQL 中 31 個、MariaDB 中 30 個、TiDB 中 31 個、PolarDB 中 23 個。通過最小化測試樣例,我們進(jìn)一步將它們分為20種類型。
圖說:實驗檢出漏洞分類詳表
我們已經(jīng)將檢測到的漏洞提交給相應(yīng)數(shù)據(jù)庫社區(qū),并得到了他們積極的反饋。這些漏洞的危機(jī)程度被數(shù)據(jù)庫社區(qū)判定為首要危急或嚴(yán)重級別,一些漏洞已經(jīng)修復(fù)在了其數(shù)據(jù)庫最新版本中。
具體來說,MySQL 的錯誤主要集中在Semi-join和Sub-query的執(zhí)行過程中,其中,幾個錯誤被評定為首要危急,即最緊急的錯誤,這些錯誤已經(jīng)在MySQL 版本中得到修復(fù),并提供了相應(yīng)的修復(fù)說明。而對于已使用SQLancer進(jìn)行全面測試的TiDB,TQS也測出了一些首要危急錯誤,TiDB對其進(jìn)行了修復(fù)。另外,針對PolarDB,我們則直接提交錯誤報告,相關(guān)錯誤已經(jīng)被修復(fù)。
圖說:TQS與原有方法的有效性對比
總的來說,相比于其它方法,TQS在多項指標(biāo)上取得了更優(yōu)的效果,較原有方法實現(xiàn)高達(dá)100倍的性能提升,各組件的有效性也通過控制變量實驗得到了檢驗。
6月21日晚上8點整,本文一作唐秀將直播解讀論文,歡迎廣大讀者預(yù)約收看。
相關(guān)稿件
讓“無聲的漏洞”無可遁形:詳解2023 數(shù)據(jù)庫頂會SIGMOD最佳論文
焦點快看:河南省第十屆中華軒轅龍舟大賽(淅川站) 明日盛大開賽
逐月向好!廣州1-5月社會消費品零售總額同比增長9.2%|看點
白玉蘭紅毯亮點多:金晨發(fā)型引群嘲,秦嵐腰出圈,雷佳音眉毛搶鏡
全球資訊:1.83米iPhone驚現(xiàn),喬布斯或氣壞
今日熱訊:美國最大報業(yè)集團(tuán)Gannett起訴谷歌壟斷在線廣告市場
【天天新要聞】性別保密!TVB小花懷孕第4個月已明顯見肚,已知男女但仍未要公開
金融數(shù)智化由繁至簡,華為云數(shù)智算融合為良方|全球今日訊
焦點日報:7月22日開始,招財添貴興家業(yè),求財順心,富貴享不盡的3大生肖
參觀泰坦尼克號失聯(lián)!工程師:失蹤潛艇可能會發(fā)生坍塌 天天短訊
鄰苯二甲酸二辛酯商品報價動態(tài)(2023-06-23)-觀焦點
環(huán)球焦點!陶粒濾料商品報價動態(tài)(2023-06-23)
今日快看!四川一車輛沖卡 警察開槍示警 采取強(qiáng)制截停措施
環(huán)球最新:50歲女人想要穿得優(yōu)雅,學(xué)會這三要三不要,極簡風(fēng)穿出高級感
女星姜塵定居美國惹爭議!自稱建立高端華人圈,呼吁大家都來看看_焦點簡訊
為什么我不推薦買酷開電視 網(wǎng)友:看啥都得開會員|焦點快播
全球消息!47歲林心如也發(fā)腮了!罕見穿紅裙扮嫩真顯黑,口紅粘牙更尷尬
【搶抓機(jī)遇促發(fā)展·青海在行動】聞“機(jī)”起舞 蓄勢待發(fā)——西寧曹家堡國際機(jī)場三期擴(kuò)建工程現(xiàn)場見聞 世界觀速訊
首次創(chuàng)業(yè)者,這里有份8000元的一次性補(bǔ)貼你申請了嗎?
每日簡訊:星島申訴王有獎活動反響熱烈,現(xiàn)升級為多輪評選獲獎機(jī)會更多
“鄖縣人”3號頭骨化石 證實東方人類故鄉(xiāng)歷史源遠(yuǎn)流長
教育頻道
金融數(shù)智化由繁至簡,華為云數(shù)智算融合為良方|全球今日訊
鄰苯二甲酸二辛酯商品報價動態(tài)(2023-06-23)-觀焦點
號稱不降價的蔚來,突然全系降價3萬,現(xiàn)在適不適合出手?|環(huán)球熱訊
知識產(chǎn)權(quán)法庭設(shè)在哪里 環(huán)球滾動

環(huán)球最新:漫步者股東肖敏減持?jǐn)?shù)量過半后持有公司股份比例降至約21.35%
柯林斯法語分類詞匯_關(guān)于柯林斯法語分類詞匯概略 環(huán)球快看點
