引言兼序
前面的嘻話里我介紹了軟件開(kāi)發(fā)工程項(xiàng)目中通用一些的“錦囊妙計(jì)”酣溃,目的是幫助團(tuán)隊(duì)更好地協(xié)作逸月。
在軟件安全和商業(yè)運(yùn)作方面更要用計(jì)栓撞。由于是跟人斗,軍事上的計(jì)謀更有用武之地。我們這里還是輕松點(diǎn)瓤湘,舉一些民間喜聞樂(lè)見(jiàn)的例子瓢颅,比如“三十六計(jì)”,啟發(fā)一下大家的思路弛说。至于孫子兵法挽懦,鬼谷子和孟德新書(shū),留待以后再深入探討吧木人。
在開(kāi)講我們老祖宗的三十六計(jì)之前信柿,先說(shuō)下西方歷史上有名的“特洛伊木馬”。當(dāng)年希臘人圍城十年無(wú)法攻克特洛伊城邦醒第,最后想出一條妙計(jì)渔嚷,把甲士若干藏于十丈高的木馬腹中,讓敵人以為是撤退以后留下的戰(zhàn)利品稠曼,拖入城中形病。乘夜黑風(fēng)高,敵人慶功大意之時(shí)霞幅,士兵以繩索魚(yú)貫而下漠吻,攻其不備,一舉打開(kāi)了勝利之門(mén)司恳。
在惡意軟件中途乃,也有這么一類“病毒”,以無(wú)辜的形態(tài)捆綁在其它功能的華麗外表下被用戶復(fù)制或者下載到計(jì)算機(jī)里抵赢。然后乘其不備發(fā)作欺劳,盜取有價(jià)值的信息,或者破壞操作系統(tǒng)令其癱瘓铅鲤。雖然千年來(lái)大家早就明白了這個(gè)計(jì)謀,可還是屢屢上當(dāng)枫弟,究其原因邢享,還是源于這類“欺騙性”的外表和受害者獲取戰(zhàn)利品的貪婪,讓人防不勝防淡诗。
現(xiàn)在就回過(guò)頭來(lái)說(shuō)說(shuō)這個(gè)三十六計(jì)中的第一計(jì)骇塘,金蟬脫殼。
金蟬脫殼的典故
參見(jiàn)百科詞條韩容】钗ィ“原文為:「存其形,完其勢(shì)群凶;友不疑插爹,敵不動(dòng)。巽而止蠱≡玻」(保持原來(lái)的形態(tài)力穗,完整原來(lái)的陣勢(shì),(使)友軍和敵人既不懷疑又不輕舉妄動(dòng)气嫁,隱蔽轉(zhuǎn)移主力当窗,必須要先迷惑敵人。)
同友軍聯(lián)合對(duì)敵作戰(zhàn)的時(shí)候寸宵,要冷靜地觀察陣地形勢(shì)崖面。如果存在另一股敵人,需要分兵迎擊時(shí)梯影,必須表面保持原來(lái)陣容的空架子嘶朱。金蟬脫殼并不是一走了事,而是分身戰(zhàn)術(shù)光酣。因此疏遏,當(dāng)我方的大軍主力轉(zhuǎn)移后,依然要使原來(lái)的陣地旌旗招展救军,鑼鼓喧天财异,要十分逼真的保持原來(lái)的陣容。只有這樣才可以使敵人不敢輕舉妄動(dòng)唱遭。友軍也對(duì)我不生疑心戳寸。”
在三國(guó)演義里拷泽,諸葛亮用了很多次金蟬脫殼疫鹊,保證了大軍全身以退。
軟件行業(yè)中什么時(shí)候用此計(jì)合適呢司致?我在軟件安全和商業(yè)運(yùn)作領(lǐng)域給兩個(gè)例子拆吆。
軟件安全里的金蟬脫殼
成功的黑客入侵,全身而退的案例是很多的脂矫,多到你可能都不知道的程度枣耀。因?yàn)槲覀兟?tīng)到的故事通常都是收尾不干凈,留下把柄庭再,才被暴露出來(lái)捞奕。
這里所謂“金蟬脫殼”,就是在完成盜取用戶資產(chǎn)等惡意行為的過(guò)程中拄轻,貌似正在進(jìn)行正常的操作颅围,在不知不覺(jué)中,就完成撤退恨搓,把中間的結(jié)果清除干凈院促,不落痕跡。
計(jì)算機(jī)法證學(xué)(Yu et al, 2017)告訴我們,軟件操作時(shí)常輸出文件一疯,文件系統(tǒng)在磁盤(pán)上記錄這些變更的同時(shí)撼玄,顧及效率,往往只更新文件區(qū)塊分配表墩邀,而不一定徹底把數(shù)據(jù)清除掌猛。這樣的例子很多,比如瀏覽器記下的Cookie文件眉睹,瀏覽歷史荔茬,USB設(shè)備接入歷史,甚或云計(jì)算服務(wù)器的內(nèi)存映像等等竹海。如果有心慕蔚,還是可能用適當(dāng)?shù)墓ぞ甙堰^(guò)往的變更,恢復(fù)出來(lái)斋配,露出原形孔飒。在術(shù)語(yǔ)里這叫做持久性(persistence),是金蟬脫殼過(guò)程的天敵艰争。
我們?cè)谛枨蠊こ棠陼?huì)上有篇論文(Pasquale et al., 2013)坏瞄,提出了預(yù)防性地獲取呈堂證據(jù)的需求,有興趣的讀者可以參考一下甩卓。
論文提出的觀點(diǎn)是鸠匀,防止(或者能夠)金蟬脫殼,關(guān)鍵是獲扔馐痢(或者銷毀)證據(jù)缀棍,最好要在不知不覺(jué)中,事先規(guī)劃机错,充分準(zhǔn)備爬范,才能最后達(dá)到目的。
商業(yè)運(yùn)作里的金蟬脫殼
商業(yè)運(yùn)作領(lǐng)域固然合作共贏是主流毡熏,也充滿了爾虞我詐坦敌。相信在商場(chǎng)上的三十六計(jì)大家已經(jīng)有所了解。這里就講個(gè)軟件商業(yè)領(lǐng)域的實(shí)例痢法,增加些感性認(rèn)識(shí)。
話說(shuō)當(dāng)年微軟(Microsoft)和開(kāi)源軟件之間勢(shì)同水火杜顺,歐盟希望裁定微軟壟斷财搁。具體到開(kāi)源代碼,還是開(kāi)放標(biāo)準(zhǔn)各執(zhí)一詞躬络。
歐盟認(rèn)為尖奔,微軟故意不把產(chǎn)品的內(nèi)部設(shè)計(jì)提供給公眾,使得其他從業(yè)人員無(wú)法公平競(jìng)爭(zhēng)。
但是提茁,在開(kāi)源領(lǐng)域有那么一些奇葩的項(xiàng)目淹禾,比如Samba,通過(guò)黑客們的不懈努力茴扁,掌握了微軟文件服務(wù)和網(wǎng)絡(luò)協(xié)議的技術(shù)堆棧铃岔,從而保證了Windows和Linux在文件系統(tǒng)卷和網(wǎng)絡(luò)打印共享之間的兼容。
對(duì)于微軟的律師來(lái)說(shuō)峭火,這個(gè)項(xiàng)目的存在是把雙刃劍毁习,既說(shuō)明了微軟產(chǎn)品需要額外的工作才能同其他系統(tǒng)兼容,又說(shuō)明了微軟的技術(shù)標(biāo)準(zhǔn)足夠開(kāi)放卖丸,能夠讓外部項(xiàng)目建立這種兼容性纺且。
在雙方律師唇槍舌箭交鋒之后,微軟的反壟斷官司并沒(méi)有賠償多少錢(qián)稍浆,可以說(shuō)基本不了了之载碌,全身以退了。
這個(gè)例子帶來(lái)的一項(xiàng)啟示是衅枫,只要你的軟件公司能制定一個(gè)開(kāi)放的標(biāo)準(zhǔn)(哪怕僅僅是事實(shí)上的標(biāo)準(zhǔn))嫁艇,打開(kāi)一道口子,允許外界擴(kuò)展你的產(chǎn)品为鳄,那么從法律上講裳仆,別人就不能告你壟斷市場(chǎng),金蟬脫殼了孤钦。
當(dāng)然歧斟,自此以后,微軟的產(chǎn)品標(biāo)準(zhǔn)文檔和白皮書(shū)就汗牛充棟了偏形。
兩條實(shí)用招數(shù)
如何才能識(shí)破金蟬脫殼計(jì)呢静袖?要領(lǐng)在于“明察秋毫”。比如俊扭,司馬懿能從蜀軍埋鍋造飯的細(xì)節(jié)看到其相持還是撤軍的策略队橙,而不是靠清點(diǎn)外在的旌旗數(shù)量。
如何才能防范金蟬脫殼計(jì)呢萨惑?未雨綢繆(Proactive)捐康,提前做好充分準(zhǔn)備(Pasquale et al.,2013)庸蔼〗庾埽“若要人不知,除非己莫為”姐仅。只要惡意軟件和商業(yè)利益在搞怪花枫,金蟬脫殼就大行其道刻盐。要知道“螳螂撲蟬,黃雀在后”的道理劳翰,隨時(shí)要做好全身而退的準(zhǔn)備敦锌。喜迎財(cái)神的同時(shí)減少失控的風(fēng)險(xiǎn),是不是更難了佳簸?
僅以此說(shuō)乙墙,拋磚引玉。
參考文獻(xiàn)
Pasquale, Liliana; Yu, Yijun; Salehie, Mazeiar; Cavallaro, Luca; Tun, Thein Than and Nuseibeh, Bashar (2013). Requirements-driven adaptive digital forensics. In: 21st IEEE Requirements Engineering Conference, 15-19 July, 2013, Rio de Janeiro, Brazil.
Yijun Yu, Blaine Price, Andrew Smith. Digital Forensics, Security and Information Forensics pathway. The Open University Postgraduate Course. 2017.
參見(jiàn)嘻話
讓普通人像搭“樂(lè)高”積木那樣開(kāi)發(fā)物聯(lián)網(wǎng)軟件
開(kāi)放系統(tǒng)的哲學(xué)思考之二:開(kāi)源軟件和開(kāi)放標(biāo)準(zhǔn)
Facebook的開(kāi)源軟件怎樣進(jìn)行專利保護(hù)溺蕉?