「藍色畫面」事件背後,保障軟體供應鏈安全的4個要素你知道嗎?

十月 19, 2024 by · Leave a Comment
Filed under: killtest 

微信图片_20241019101351
隨著軟體技術的發展以及產業情勢的變化,我們對軟體產品的關注角度也在不斷改變——從傳統的軟體產品品質(如功能、性能效率、相容性、可靠性等)到軟體產品的訊息安全性(如保密、完整性、抗抵賴性等),再到目前備受關注的軟體供應鏈安全。
2024年7月的微軟「藍色畫面」事件,再次引發了人們對軟體供應鏈安全的高度關注。那麼,我們該如何理解軟體供應鏈安全呢?首先,要了解軟體供應鏈的概念:軟體供應鏈是“需方和供方基於供應關係,開展並完成軟體採購、開發、交付、獲取、運維和廢止等供應活動而形成的網鏈結構” 。
其次,要了解軟體供應鏈常見安全風險:包括軟體漏洞、惡意篡改、軟體後門、供應鏈劫持、智慧財產權違規使用、供應中斷、資訊外洩等。再次,要了解軟體供應鏈安全的目標:在確保軟體程式碼安全的基礎上,使得使用者能夠安全、持續、穩定地使用軟體產品及軟體所涉及的支援服務。最後,要了解保障軟體供應鏈安全的4個要素(如圖1):軟體程式碼來源、軟體程式碼安全、軟體傳播與使用安全、軟體創新與演進。以下將為您詳細介紹這4個要素。
微信图片_20241019101454
圖1 保障軟體供應鏈安全的4個要素

掌握軟體程式碼來源確定軟體程式碼來源是分析軟體供應鏈的基礎,可以透過建立軟體物料清單(SBOM)明確技術來源,使軟體供應鏈清晰、透明。軟體物料清單包含建構軟體所使用的各種組件的詳細資訊及供應鏈上下游依賴關係。
確保軟體程式碼安全軟體程式碼安全依賴軟體生產過程及成果物的安全。一方面,確保軟體生產流程(即軟體開發)涉及的開發環境(包括各類開發工具、平台)、開發配置、安全功能設計、程式碼實現與託管、測試、開發人員等因素的安全;另一方面,確保最終成果物(即軟體)的程式碼品質符合安全要求,即對軟體原始碼、二進位程式碼等進行安全檢測,查看是否有病毒、安全漏洞、後門、惡意程式碼等。
確保軟體傳播與使用安全軟體的價值在於廣泛傳播和使用。軟體傳播主要從智慧財產權合規、軟體發布與交付2個面向考查其安全性。智慧財產權合規確保軟體的傳播不會引入與智慧財產權相關的法律風險,軟體發布與交付要確保使用者取得的軟體不會被惡意篡改。軟體使用主要從軟體的運作環境、升級維護及安全保障3個面向考查其安全性。運作環境包括底層的伺服器、虛擬機器、容器等,升級維護包括技術支援、版本升級、修補程式更新等,安全保障主要從漏洞的發現、影響範圍排查、處置、上報、修復等方面進行考查。
增強軟體創新與演進能力軟體供應鏈安全的關鍵在於對核心技術的掌控,不僅體現在能獨立自主研發及實現軟體的核心模組或元件,還包括對開源軟體中核心程式碼、核心技術的吸收。因此,可從軟體核心模組自主研發能力、核心模組替換方案、客製化最佳化能力、對上游社群的程式碼維護貢獻、社群及產業成熟度等方面衡量軟體的創新演進能力。

【摘编自《保密科学技术》2024年2月刊《软件供应链安全能力模型研究》一文,作者: 翟艳芬、袁薇、王郁】… Continue reading

为什麼配了ip地址还要配环回地址?

十月 18, 2024 by · Leave a Comment
Filed under: killtest 

原创 外太空的金山
一、環回接口
為了識別和管理網路設備(如路由器、pc),我們通常會利用這些設備的介面(包括實體介面和邏輯介面:如vlan)上設定的IP位址。但在許多情況下,儘管該設備未脫離網絡,由於其管理位址所處的介面狀態處於down,該設備便無法管理(因為實體連接斷開,介面協定起不來)。為了解決這個問題,於是便出現了loopback接口,該接口為設備上一個邏輯接口,接口狀態不受物理端口up/down的影響,只要設備的系統協議不出問題,該接口就不會down掉。順便補充一下,儘管3層vlan亦是邏輯接口,但通常我們使用的vlan都是居於端口的,而且核心層交換機vlan一般只關聯一個端口,當端口狀態處於down時vlan接口是無法up起來的。
由此可見loopback介面的位址無疑是標示實體設備本身的最佳選擇,因為只要設備運作正常,它將永遠處於up狀態。
微信图片_20241018102304
二、環回位址及環迴路由loopback位址即為loopback介面上設定的位址,此位址用於標示設備本身。
A類位址段127.0.0.0被用作本地環回位址,一般設備都預設採用127.0.0.1,當然也可在loopback介面上設定公網IP,作為全網路的設備識別。
當設備發送給自己資料包時,就是把該資料包送到其loopback介面(其實是直接送給cpu處理)。但如果目的IP不是其loopback位址,它要如何得知封包的目的位址就是它自己的IP位址呢?此時就需要環迴路由來辨識了。
一般pc網卡上的IP及一些低階網路設備的管理IP都預設指向其環回接口,但許多高階設備都需要手動設定環迴路由。例如一台路由器的其中一個介面位址為61.175.201.54,則環迴路由應該設定為61.175.201.54/32 127.0.0.1,以表示該位址就在自身介面上。
三、應用舉例就拿pc來說,pc的網卡就等於路由器的一個介面。
如於一台pc網路卡上所設定的位址為220.172.115.50,而網路卡連接正常時,協定狀態up,在dos命令列狀態下輸入ipconfig可看到此網路卡上的IP位址。
此時在主機上ping其網卡位址的過程如下:主機發送一個icmp包,目的位址為220.172.115.50,請對方回答;主機依據預設環回主機路由發現封包目的位址的下一跳指向其loopback介面(主機事先並不知道該位址就在其網路卡上),於是將封包發送到其loopback介面(即直接發送到cpu);之後主機收到來源IP為220.172.114.50的ping包,於是對該數據包進行回答,回應包亦根據環迴路由原路返回。
從這個過程可看出,該封包的始發點和被接收點都在同一個介面(即主機本身的loopback介面),尋址過程為一個環回過程,因此該介面稱之為「環回接口」。當網路卡連線中斷時,協定down下,使用ipconfig發現「media disconnected」等提示,無IP位址顯示。
ping 220.172.115.50便出現「destination unreachable」等提示(由於網路卡協定沒起來,主機沒能發現對應路由,無法做出轉送決定,從而提示路由不可達)。但此時ping 127.0.0.0/8網段的IP均能ping通,因為一般pc預設把127.0.0.0/8網段IP作為loopback位址,當主機發現該封包的目的位址為其自身的環回地址時,便將該資料包直接送到其cpu。
由此可看出ping通環回位址並不表示就能ping通網卡位址,因此不要拿ping 127.0.0.1來偵測網路卡的好壞,這樣做是行不通的。
微信图片_20241018102512
環回介面(Loopback interface)在路由器設定中的作用主要有以下幾點:
1. 建立路由鄰居:環回介面可以用來建立和維持路由鄰居的關係,這是網路中路由器之間的通訊方式,有助於確保網路中設備之間的連通性。
2. 作為 Router-ID:環回介面的位址通常被用作 Router-ID,即路由器的識別碼。由於環回介面的穩定性,使用其位址作為 Router-ID 可以使整個裝置的識別穩定可靠。
3. 虛擬隧道連線:在建立如 IPSec 或 GRE 等虛擬隧道時,使用環回介面可以確保整個隧道的穩定性。這是因為環回介面不受實際網路拓撲的影響,因此可以提供穩定的連接。
4. 網路連結性測試:建立並設定好環回介面之後,可以利用它的位址進行網路連結性測試,
例如實作 ping 或 telnet 作業。這可以幫助偵測和確認網路中的設備是否能夠互相通訊。
此外,環回功能還可以應用在連接埠、MAC、VLAN 和 IP 等多種網路層面上,用於偵測網路中的環路。例如,設備可以發送環路監測報文,並監測其是否返回本設備以確認是否有環路。這種方法適用於簡單的網路拓撲。
總的來說,環回介面在路由器配置中的主要作用是確保網路的穩定性和連結性,並提供路由標識以及進行網路測試等。… Continue reading

D-DS-FN-23:Dell Data Science Foundations 2023

十月 11, 2024 by · Leave a Comment
Filed under: killtest 

Warning: Division by zero in /var/www/html/wwwroot/itrenzheng.hk/wp-content/themes/code-blue_20/functions.php on line 16

Warning: Division by zero in /var/www/html/wwwroot/itrenzheng.hk/wp-content/themes/code-blue_20/functions.php on line 16

Warning: Division by zero in /var/www/html/wwwroot/itrenzheng.hk/wp-content/themes/code-blue_20/functions.php on line 16

考試編號: D-DS-FN-23:Dell Data Science Foundations 2023,數據科學基礎
可用語言:英語
此認證使學習者能夠立即參與大數據和其他分析專案。此認證驗證了資料科學家所需的實用基礎技能。
Dell Data Science Foundations Certification Description:
認證概覽
此認證使學習者能夠立即參與大數據和
其他分析項目。此認證驗證了實際的基礎技能數據科學家所要求的。
認證要求
要成功完成此認證,候選人必須:
1.透過實際操作產品擁有足夠的知識庫/技能經驗和/或接受推薦的訓練。
2. 通過戴爾資料科學基礎考試。
注意:這些詳細資訊反映了截至 2024 年 2 月 3 日的認證要求經過驗證的專業計劃定期更新認證以反映技術貨幣和相關性.
請查看經過驗證的專業網站定期了解最新資訊。
考試概述
該考試重點關注數據分析的實踐、數據科學家的角色、數據分析的主要階段
生命週期,使用 R 分析和探索數據,模型建立和評估的統計,理論和方法
進階分析和統計建模,可用於進階分析的技術和工具,
實施分析專案和資料視覺化技術。
考試主題
本次考試可能涵蓋的主題包括:
大數據、分析和數據科學家角色 (5%)
• 定義並描述大數據的特徵
• 描述大數據分析和資料科學的商業驅動因素
• 描述資料科學家的角色和相關技能
資料分析生命週期 (8%)
• 描述資料分析生命週期的目的和階段順序
• 發現 – 描述此階段的詳細信息,包括活動和相關角色
• 資料準備 – 描述此階段的詳細信息,包括活動和相關角色
• 模型規劃 – 描述此階段的詳細信息,包括活動和相關角色
• 模型建構 – 描述此階段的詳細信息,包括活動和相關角色
數據初步分析 (15%)… Continue reading

從Python到MicroPython如何轉變

十月 4, 2024 by · Leave a Comment
Filed under: killtest 

原创 Python教程
隨著物聯網(IoT)的快速發展,越來越多的開發者開始涉足嵌入式系統程式設計。而對於習慣使用 Python 的開發者來說,MicroPython 是一個理想的過渡工具。
MicroPython 是一種專為微控制器等資源受限裝置設計的精簡版 Python,它不僅繼承了 Python 的簡潔和高效,還適配了硬體資源的約束。本文將介紹如何從 Python 轉向 MicroPython,幫助你快速上手嵌入式開發。
微信图片_20241004160809
什麼是 MicroPython?

簡單來說,MicroPython 是 Python 3 的精簡版。它被專門設計用來運行在微控制器和其他嵌入式設備上,例如 ESP8266、ESP32 和 Raspberry Pi Pico 等。
MicroPython 保留了 Python 語言的大部分核心功能,因此對於 Python 開發者來說,轉向 MicroPython 不會感到太多陌生。然而,由於嵌入式設備的硬體限制,MicroPython 在記憶體、儲存空間以及處理能力上進行​​了最佳化,因此在效能和功能上與標準 Python 之間存在一些差異。
微信图片_20241004160912
MicroPython 與 Python 的主要區別

儘管 MicroPython 與 Python 非常相似,但兩者在開發環境、效能以及函式庫的支援上存在一些顯著差異。在轉向 MicroPython 之前,理解這些差異是至關重要的。… Continue reading

又拿35歲威脅我,但我偏要這樣做!

九月 28, 2024 by · Leave a Comment
Filed under: killtest 

架构师之路
昨天這篇《中國程式設計師的悲哀! (全球調查)》,評論區引發了大家對「35歲危機」的討論:在中國,工程師到底是創造性崗位,還是搬磚性崗位?為什麼我們會有「35歲危機」?為什麼我們不愛主動提升,主動學習? 35,這讓無數「打工人」聽了太多遍,甚至直呼「麻了」的數字,究竟該如何跨過去?

我想下面這篇文章,有必要分享給你。作者 | 楊毅來源 | 世界經理人互動社群不管是否承認,你都必須重視「35歲現象」—
很多企業在招募人才時,明確規定年齡在35歲以下。如果你的年齡到了35歲卻還在透過招募網站投遞履歷不斷跳槽的話,你就應該反省一下自己到底哪裡做錯了。當然,根據我們的實務諮詢經驗來看,如果你真到了35歲甚至更高的年齡才去思考這個問題的時候,很有可能這個問題你已經無力解決了,很多現實的困難會讓你有心無力,束手無策。為了不讓你35歲以後的職業生涯變得一塌糊塗,你至少應該在30歲就確立明確的目標,並利用5年的時間去追趕。這可能是你成長的最後的最佳時機。錯過了這個時機,你已不再年輕,社會也不會再以包容的心態去原諒你的年少輕狂。否則,你多走一步錯路,就必定在以後以十倍的代價補回來。

01.30歲:你必須面對的三大問題
1.能否擔起家庭與責任?如果你已經成家立業,你必須清醒地意識到:你的職業到底該如何發展,才能確保讓你支撐整個家庭的負擔?這不僅包括你的愛人,還包括你的孩子及父母(尤其是雙方都是獨生子女的時候,你要承擔的是雙方四位老人的供養)。到了這個階段,你的壓力是成倍增長的,但如果你在職場上的成長無法實現倍增,甚至還在以某種形式進行著倒退,那麼,你以後的職業發展就會面臨更多的壓力。而這種壓力,更多的時候,會使你沒有餘力去謀求更好的發展。很多人在跳槽時,往往會有一個很大的顧慮:如果我跳了,收入沒有現在的高,那麼,現在的工作,我還會輕易再動嗎?所以,要想行動,就趁早。趁你還沒背上家庭的包袱的時候,輕裝上陣,拼盡全力向前衝,這是你唯一的選擇。千萬不要在這個時候享受安逸,否則,你的後半生都將永遠在碌碌無為中「被安逸」下去。

2.你的能力與年齡是否相符?在我們的許多客戶中,其中較為棘手的一種情況,就是能力與年齡不符的問題。很多工作3年、5年的人,甚至和工作一年的人在能力上並沒有太大的差別,所以當他們的職業想向上突破時,會遇到很多的阻力。導致這種情況的產生有兩種原因:一種是頻繁跳槽,沒有在一個方向上積累,無一技之長;二是雖然在一個方向上長期積累,但只是第一年是成長的,剩下的幾年都是在做重複勞動,原地踏步。所以,對於那些年齡30歲的朋友來說,從現在開始,你必須要慎重審視一個問題:從畢業到現在,我工作幾年了?我身上所具備的能力是否與我的年齡相匹配?如果不匹配,那麼,你一定要及早建立危機感,並跑步前進,以彌補與那些先知先覺者之間的差距,確保自己不會在競爭的過程中被他人擠下馬。

3.你是否建構與提升了知識結構?身在職場,不同職位等級的人,所做的事情是不一樣的,他們所具備的眼光與思維模式同樣也有差別。一個最基礎的業務員,想著如何維護好終端,這是戰術層面的東西,也是他的職責所在;但如果一個營銷總監這樣的角色,還和業務員一樣天天想著如何去和終端老闆打交道,那就是他的失職了。每一個企業的運營,都會由戰略與戰術所構成。大的戰略會細分成小的戰略,小的戰略會細分成一個一個的執行戰術,由基層人員去付諸實行。不同層級的人,分別負責不同高度的工作,各司其職,這也是團隊協作的意義所在。同樣,每一個不同層級的人,也存在著不同的知識結構。層級越高,你看問題的眼光和思路就要越高,你的整體知識結構層次也要向上發展和突破。要不然,你的能力,永遠只能停留在具體的基層操作層面上,不會有大的發展,職位上更不可能有上升。

02.30歲前:如何打好基礎我建議你做兩件事。l
第一件,找準一個可以奮鬥5年、 10年甚至更久的目標。
這是一種最理想的狀態。因為一個清晰的目標,可以讓你的職涯成長圍繞著一個點去積累經驗,而這種日積月累的經驗積累,也是你日後升職加薪的籌碼。雖然經驗不一定與能力有關,但如果沒有經驗的積累,你的能力基本上沒有提升的可能。
Macolm Gladwell在他的著作《異類》中說:無論是最優秀的運動員,企業家,音樂家還是科學家,經調查,你都會發現他們至少都在付出了長達十年,每天不低於三小時的努力之後才嶄露頭角的。書中有這樣一個故事:馬克西姆·文格羅夫出生在西伯利亞,4歲的時候,他接觸到了第一把小提琴,展現出了過人的天賦。並且,他的天賦和敬業度是成正比的。他每天練習7小時,5歲就舉辦了獨奏會,15歲就獲得了國際大獎,34歲就成了世界頂尖小提琴家。文格羅夫說:「我母親每天晚上8點回到家,吃完晚餐後就教我小提琴直到凌晨4點。對於一個4歲的小孩來說,這簡直就是酷刑,但兩年後我變成了小提琴手。其實並非如此。肯特大學的社會學教授弗蘭克·弗雷迪認為,有效投入很多時間去練習的人自然會擁有自己的運氣:「他們近乎苛求地努力,當運氣來的時候,他們早就準備好了。」
如果你沒有遇到機會,不要抱怨,首先要反思:自己到底哪些方面準備不足?根據我們的經驗,只有你在一個方向上堅持至少5年以上,你才有可能得到回報,而且這種回報會對你以後的職業發展產生一個相對長期的影響。同時,也正是這麼長時間的積累,讓你的基礎非常紮實和牢固,你的腳步也會站得更穩。建議你要考慮的第二件大事,就是學會做人。我甚至認為,會做人比會做事還要重要百倍。找到一個合適的職業目標,對許多迷茫中的人來說可能並不是容易的事;但學會做人,則是你在任何公司、任何時候都可以修練的一種職業素養。
在做人的修行中,有四個要素,是能夠對你以後的職業發展起到致命性影響的:
1)你的人際關係處理能力這其中包括與你的上司的關係,以及與你的同事的關係。
2)不斷學習的能力我曾經碰到一個客戶,已經近40歲的人了,做會計做​​了14年,仍然只是一個基層主管的職位,在公司中也看不到晉升的機會,好多年沒有加薪了。我們問他:「在這14年中,你有沒有進行過培訓、進修或任何其他形式的充電?」「沒有。」「從來沒有嗎?」「從來沒有。」這是一個非常極端的例子,但這種現像在職場中卻是非常普遍的。沒有學習,你的職涯發展就會在原地踏步。你以為你沒有退步,但實際上別人在進步,你與別人之間的差距在不知不覺中拉開了,就等於退步了。
3)建立職業化精神不管你有沒有目標,不管這項工作是不是你願意做的,只要你在這個崗位上,你就應該把事情做好。即便這份工作你不喜歡,也不要用負面的方式去對待,因為你不只在浪費公司的時間,更是在浪費自己的時間。身在職場,你能收穫的無非是兩種東西:一是回報,二是成長。在沒有明確的目標之前,把眼前的事情做到極致,把所有你能夠在這個職位上得到的東西,統統用自己最大的努力去爭取。以消極的態度對待工作,你會兩手空空,什麼都得不到。 4)要有強大的內心我所遇到的很多人,其實內心裡都很脆弱,無法經受漫長人生道路上所降臨的各種苦難。要知道,每個人的成長都不是一帆風順。即使是耶穌,又何嘗不會遭受苦難的洗禮?強大的內心可以讓一個人在絕望中看到希望,而消極悲觀只會讓你在希望面前錯失良機。 《蕭申克的救贖》中有這樣一句台詞:「懦怯囚禁人的靈魂,希望可以令你感受自由。強者自救,聖者渡人。」你沒有本事成為聖者,但一定要變成強者。

03.30歲之後:如何實現質的突破?要讓你35歲以後的職業生涯實現比較大的發展,你應該從30歲開始,好好利用5年時間,著手準備以下3件至關重要的事情:
1.完成你的專業化品牌構建“日本戰略之父」大前研一提出了這樣的觀點:「你憑什麼勝出? 未來能夠牽動世界大勢的,是個人之間的競爭。唯一的依恃,就是專業。差別就在這裡!給自己一個專業定位,建立自己的品牌形象,會為你往後的職涯發展增加更多有價值的籌碼。為了支撐你「專業化」的品牌形象,你需要在以下兩個方面做出努力:
1)就是前面提到過的知識結構問題要脫離具體的操作層面的問題,把你看待問題的眼光放得更高一些,更遠一些,成為一個具有“遠見卓識”而不是“鼠目寸光”的人。你要向這個行業裡最優秀的人看齊,並以他們為目標,作為自己修練成長的榜樣,一步一步彌補與優秀之間的差距。這時候,在職學習、進修等等都需要提上日程,學習用新的知識充實自己的頭腦。
2)就是建立自己在行業內的影響力你要成為優秀的職場人士,也必須向那些最優秀的人看齊,樹立在這個行業內的影響力,用你的思想去影響別人。我們去年遇到一個非常優秀的小伙子,至今印象深刻。他是印刷專業的大專生,畢業後到印刷廠做銷售。正是這樣一個看起來沒有什麼含金量的職位,他卻用自己獨特的方式建構著自己的影響力。他給自己定了一個要求:每個月都要寫一篇文章,發表在這個產業內最具影響力的雜誌上。當然,並不是每篇文章都能夠達到發表的質量,但每個月必須保證質量寫一篇。這樣做的好處,第一是樹立了你在這個行業內的影響力;第二,可以讓你形成自己的知識結構。
2.把自己培養成一個優秀的中階管理者走上了管理者崗位,是你職涯成長的關鍵一步。以後的發展空間,都與此次的升遷密不可分。但這個位子並不是每個人都能夠坐穩。蓋洛普曾經做過一項調查,發現基礎員工之所以離職頻繁,很多時候問題不在於公司,而是在於其上司:公司的中階管理者。正因為中階管理的不善,而對於下屬員工的發展與成長造成了非常不利的影響,導致他們職業發展無論是在專業能力上,還是在職業修養上,均不能得到有效的成長。你必須意識到:你的管理,將有可能改變你的下屬的終身命運,是你錯誤的管理方式在不知不覺中傷害到你的下屬,迫使他們離開公司。當你的成長因為你的上司而受到阻礙的時候,這是你的不幸,你可以選擇「用腳投票」;當你某一天也成為管理者的時候,我們不希望把這種不幸繼續傳遞下去。
3.找一家成長中的公司,伴隨其成長這是一件非常重要的事。
一是你可以親眼目睹一家公司從小到大、由弱到強的成長歷程,對於公司的營運也會有更深入的理解,你也能夠體會到你的角色在公司成長中的位置和作用。
二是在公司成長的過程中,你的價值會有更大的發揮餘地,會更容易展現出來。很多人在找工作時都傾向於尋找大公司,這也可以理解,但是要想快速的成長,尋找規模不太大的成長中的公司,其實是更好的一種選擇。因為在成長的過程中,會對於人才的需求較為迫切,你的職位晉升也會更快。
三是你的忠誠度會為你的發展帶來更多的回報。企業用人,其中最重要的一條就是忠誠度。尤其是現在跳槽率、流失率在眾多企業居高不下的情況下,忠誠就變成一種非常難能可貴的職業精神。不論你現在已經“奔三”,還是正在“奔三”的路上,請始終告誡自己:不要虛度了大好年華,抓住所有能夠抓住的時間,為自己的生命多積累一些厚度。最後,借用我最喜歡的賈伯斯語錄,作為本文的結尾:人這輩子無法做太多的事情,所以每一件都要做得精彩絕倫。你的時間有限,所以不要為別人而活。不要被教條所限,不要活在別人的觀念裡。不要讓別人的意見左右自己內心的聲音。最重要的是,勇敢的去追隨自己的心靈和直覺,只有自己的心靈和直覺才知道你自己的真實想法,其他一切都是次要。… Continue reading

告別 Rust,低階語言新貴登場!

九月 27, 2024 by · Leave a Comment
Filed under: killtest 

原创 Ladybird 架构大师笔记
近年來,Rust 以其記憶體安全和高性能的特性,成為了系統級程式設計的寵兒。但如今,一位新的競爭者橫空出世,準備挑戰 Rust 的地位,它就是 Ladybird。
Ladybird 的獨特之處 Ladybird 最大的特點在於它並非基於任何現有的瀏覽器引擎,而是從零開始建造的。這意味著 Ladybird 不受限於其他瀏覽器的設計選擇和歷史包袱,可以更靈活地實現新的功能和最佳化。
Ladybird 的目標 Ladybird 的目標是成為一個安全、高效、易於擴展的瀏覽器引擎。
其主要特點包括:
安全性: Ladybird 採用嚴格的記憶體安全機制,防止緩衝區溢位等常見漏洞。
高效能: Ladybird 優化了程式碼執行效率,並支援多執行緒和非同步編程,提高了整體效能。
易於擴充: Ladybird 提供豐富的 API,方便開發者添加新的功能和擴充。
Ladybird 的優勢 與其他瀏覽器引擎相比,Ladybird 具有以下優勢:
更輕量: Ladybird 的程式碼庫比其他瀏覽器引擎小得多,這意味著它更易於移植和維護。
更靈活: Ladybird 不受限於其他瀏覽器引擎的設計選擇,可以更自由地進行優化和擴展。
更安全: Ladybird 採用更嚴格的記憶體安全機制,提高了安全性。
Ladybird 的未來 Ladybird 仍處於早期開發階段,但其潛力不容小覷。
隨著 Ladybird 的不斷發展,它有望成為下一代瀏覽器引擎的標桿,為開發者提供更安全、更有效率、更容易擴展的開發環境。
Ladybird 的啟示 Ladybird 的出現,不僅為瀏覽器領域帶來了新的競爭,也為低階語言的未來發展提供了新的思維。
隨著硬體技術的不斷發展,對低階語言的需求將越來越高,而 Ladybird 則為我們展示了一種新的可能性,即從零開始建立一個安全、高效、靈活的低階語言。
總結 Ladybird 的出現,標誌著低階語言領域的新一輪競爭的開始。它不僅挑戰了 Rust 的地位,也為我們展示了一種新的低階語言設計理念。相信隨著 Ladybird 的不斷發展,它將為我們帶來更多驚喜。… Continue reading

測試開發和開發的區別?

九月 21, 2024 by · Leave a Comment
Filed under: killtest 

原创 程大棉
是否直接產生效益?
測試開發的核心職能仍是測試,測試開發不屬於開發職位。開發直接開發一個產品,做的工作可以直接產生效益,測試開發是驗證產品是否符合需求,是否有 bug ,測試開發的工作並未直接產出效益。
測試開發具備測試經驗,能熟練使用自動化測試工具,能對開源專案做二次開發,能建置平台,透過這些技術手段來提升測試效率,確保產品品質。

技術棧的廣度和深度?
測試開發的技術廣度較好。作為測試,測試基礎知識必不可少,如測試類型、測試方法、測試案例編寫方法等。做 UI 自動化測試要學習自動化工具的使用、選擇開發語言,也要了解前端的知識,如HTML、JavaScript 等。開發平平台需要了解的技術更多,前後端、中介軟體、資料庫、維運等什麼都要懂,同時也要了解產品,營運的知識。
開發的技術深度更優。開發的技術堆疊確定只有,一般不會改變。做後端的就會一直做後端,而且專職做某個特定領域的後端,像是 Java 後端、Php後端。做前端的開發也不會做後端的工作,而是一直深耕自己的專業領域,所以做開發的技術都比較專精。
測試開發技術廣度好,並不是說不追求技術深度,測試開發也會選擇某個技術堆疊深入研究,例如自動化測試、持續整合等,許多測試開發大牛也是某技術領域的專家。

開發想要擁有更高的職業天花板,無非就兩條路,一條是走管理,一條是走技術專家路線。技術專家考慮的就是整體架構,是系統性的工作。技術專家除了要求技術深度,技術的廣度也不可或缺。
但本質上,測試開發技術堆疊還是偏向廣度,開發技術棧追求深度。
職業天花板?
我經歷的幾家公司,大部分公司測試開發薪資水準比同級開發的要高。但是要論職業的天花板誰比較高?我的答案是,開發。開發的工作更容易出成果,能直接產生效益,更容易受到領導賞識,也能提升。
好多大公司的技術負責人也都開發出身,也有很多著名互聯網公司的創始人也都是開發出身,比如:百度的李彥宏,字節的張一鳴,美團的王興等。… Continue reading

防火牆和Web應用防護系統(WAF)的區別

九月 19, 2024 by · Leave a Comment
Filed under: killtest 

Web應用防護系統(也稱為:網站應用入侵防禦系統。英文:Web Application Firewall,簡稱:WAF)。
利用國際上公認的一種說法:Web應用防火牆是透過執行一系列針對HTTP/HTTPS的安全策略來專門為Web應用提供保護的一款產品。
微信图片_20240919160052
WAF的出現是由於傳統防火牆無法對應用層的攻擊進行有效抵抗,且IPS也無法從根本上防護應用層的攻擊。 WAF與常規防火牆的區別在於,WAF能夠過濾特定Web應用程式的內容,而常規防火牆則充當伺服器之間的安全門。透過檢查HTTP流量,可以防止源自網路應用程式安全漏洞的攻擊,例如SQL注入、跨站點腳本,檔案包含和安全性錯誤配置。
WAF的工作原理WAF部署在web應用程式前面,在用戶請求到達web伺服器前對用戶請求進行掃描和過濾,分析併校驗每個用戶請求的網路包,確保每個用戶請求有效且安全,對無效或有攻擊行為的請求進行阻斷或隔離。透過檢查HTTP流量,可以防止源自web應用程式的安全漏洞(如SQL注入,跨站腳本攻擊,檔案包含和安全配置錯誤)的攻擊。 WAF的出現解決了傳統防火牆無法解決的針對應用層的攻擊問題WAF會對HTTP的請求進行異常檢測,拒絕不符合HTTP標準的請求,從而減少攻擊的影響範圍;WAF增強了輸入驗證,可以有效防止網頁竄改、資訊外洩、木馬植入等惡意網路入侵行為,減少Web伺服器被攻擊的可能;WAF可以對使用者存取行為進行監測,為Web應用提供基於各類安全規則與異常事件的保護;WAF還有一些安全性增強的功能,用於解決WEB程式設計師過度信任輸入資料所帶來的問題,如隱藏表單域保護、抗入侵規避技術、回應監視和資訊外洩保護等。
微信图片_20240919160219

什麼是DHCP?為什麼要用DHCP?

九月 14, 2024 by · Leave a Comment
Filed under: killtest 

動態主機設定協定DHCP(Dynamic Host Configuration Protocol)是一種網路管理協議,用於集中對使用者IP位址進行動態管理和設定。
DHCP於1993年10月成為標準協議,其前身為BOOTP協議。 DHCP協定由RFC 2131定義,採用客戶端/伺服器通訊模式,由客戶端(DHCP Client)向伺服器(DHCP Server)提出設定申請,DHCP Server為網路上的每個裝置動態分配IP位址、子網路遮罩、預設網關位址,網域名稱伺服器(DNS)位址和其他相關設定參數,以便可以與其他IP網路通訊。
01     為什麼要使用DHCP?
在IP網路中,每個連接Internet的設備都需要分配唯一的IP位址。 DHCP使網路管理員能從中心結點監控並分配IP位址。當某台電腦移到網路中的其它位置時,能自動收到新的IP位址。 DHCP實現的自動化分配IP位址不僅降低了配置和部署設備的時間,同時也降低了發生設定錯誤的可能性。另外DHCP伺服器可以管理多個網段的設定訊息,當某個網段的設定發生變化時,管理員只需要更新DHCP伺服器上的相關設定即可,實現了集中化管理。
整體來看,DHCP帶來瞭如下優勢:
準確的IP配置:IP位址配置參數必須準確,並且在處理「 192.168.XXX.XXX」之類的輸入時,很容易出錯。另外印刷錯誤通常很難解決,使用DHCP伺服器可以最大程度地降低這種風險。
減少IP位址衝突:每個連接的設備都必須有一個IP位址。但是,每個位址只能使用一次,重複的位址將導致無法連接一個或兩個裝置的衝突。當手動分配位址時,尤其是在存在大量僅定期連接的端點(例如行動裝置)時,可能會發生這種情況。 DHCP的使用可確保每個位址僅使用一次。
IP位址管理的自動化:如果沒有DHCP,網路管理員將需要手動指派和撤銷位址。追蹤哪個設備具有什麼位址可能是徒勞無功的,因為幾乎無法理解設備何時需要存取網路以及何時需要離開網路。 DHCP允許將其自動化和集中化,因此網路專業人員可以從一個位置管理所有位置。
高效率的變更管理:DHCP的使用使更改位址,範圍或端點變得非常簡單。例如,組織可能希望將其IP尋址方案從一個範圍變更為另一個範圍。 DHCP伺服器配置有新訊息,該訊息將傳播到新端點。同樣,如果升級並更換了網路設備,則不需要網路配置。
02 DHCP是怎麼運作的?
DHCP協定採用UDP作為傳輸協議,DHCP客戶端發送請求訊息到DHCP伺服器的68號端口,DHCP伺服器回應應答訊息給DHCP客戶端的67號端口。只有跟DHCP客戶端在同一個網段的DHCP伺服器才能收到DHCP客戶端廣播的DHCP DISCOVER封包。當DHCP客戶端與DHCP伺服器不在同一個網段時,必須部署DHCP中繼來轉送DHCP客戶端與DHCP伺服器之間的DHCP封包。在DHCP客戶端看來,DHCP中繼就像DHCP伺服器;在DHCP伺服器看來,DHCP中繼就像DHCP客戶端。
2.1  無中繼場景時DHCP客戶端首次接取網路的工作原理
如下圖所示,在沒有部署DHCP中繼的場景下,首次接取網路DHCP用戶端與DHCP伺服器的封包互動過程,此流程稱為DHCP封包四步驟互動。
微信图片_20240914110130
無中繼場景時DHCP用戶端首次接取網路的封包互動示意圖
第一步:發現階段
首次接取網路的DHCP用戶端不知道DHCP伺服器的IP位址,為了學習到DHCP伺服器的IP位址,DHCP用戶端以廣播方式發送DHCP DISCOVER封包(目的IP位址為255.255.255.255)給同一網段內的所有設備(包括DHCP伺服器或中繼)。 DHCP DISCOVER封包中攜帶了客戶端的MAC位址(chaddr欄位)、需要請求的參數清單選項(Option55)、廣播標誌位元(flags欄位)等資訊。
第二步:提供階段
與DHCP客戶端位於同一網段的DHCP伺服器都會接收到DHCP DISCOVER封包,DHCP伺服器選擇跟接收DHCP DISCOVER封包介面的IP位址處於同一網段的位址池,並且從中選擇一個可用的IP位址,然後透過DHCP OFFER封包傳送給DHCP客戶端。
通常,DHCP伺服器的位址池中會指定IP位址的租期,如果DHCP用戶端發送的DHCP DISCOVER封包中攜帶了期望租期,伺服器會將客戶端請求的期望租期與其指定的租期進行比較,選擇其中時間較短的租期分配給客戶端。 DHCP伺服器在位址池中為客戶端分配IP位址的順序如下:
DHCP伺服器上已設定的與客戶端MAC位址靜態綁定的IP位址。
用戶端所傳送的DHCP DISCOVER封包中Option50(請求IP位址選項)指定的位址。
在位址池內尋找「Expired」狀態的IP位址,即曾經指派給客戶端的超過租期的IP位址。
在位址池內隨機尋找一個「Idle」狀態的IP位址。
如果找不到可供指派的IP位址,則位址池會依序自動回收超過租期的(「Expired」狀態)和處於衝突狀態(「Conflict」狀態)的IP位址。回收後如果找到可用的IP位址,則進行分配;否則,DHCP客戶端等待應答逾時後,重新發送DHCP DISCOVER封包申請IP位址。
設備支援在位址池中排除某些無法透過DHCP機制進行分配的IP位址。例如,客戶端所在網段已經手動設定了位址為192.168.1.100/24的DNS伺服器,DHCP伺服器上設定的網段為192.168.1.0/24的位址池中需要將192.168.1.100的IP位址排除,不能透過DHCP分配此位址,否則,會造成位址衝突。
為了防止分配出去的IP位址跟網路中其他客戶端的IP位址衝突,DHCP伺服器在發送DHCP OFFER封包前透過發送來源位址為DHCP伺服器IP位址、目的位址為預分配出去IP位址的ICMP ECHO REQUEST封包對分配的IP位址進行位址衝突探測。如果在指定的時間內沒有收到應答封包文,表示網路中沒有客戶端使用這個IP位址,可以指派給客戶端;如果指定時間內收到應答封包文,表示網路中已經存在使用此IP位址的用戶端,則把此位址列為衝突位址,然後等待重新接收到DHCP DISCOVER封包後依照前面介紹的選擇IP位址的優先順序重新選擇可用的IP位址。
此階段DHCP伺服器分配給客戶端的IP位址不一定是最終確定使用的IP位址,因為DHCP OFFER封包發送給客戶端等待16秒後如果沒有收到客戶端的回應,此位址就可以繼續分配給其他客戶端。透過下面的選擇階段和確認階段後才能最終確定客戶端可以使用的IP位址。… Continue reading

數通與網路基礎:二層以太網路交換機技術基礎

九月 13, 2024 by · Leave a Comment
Filed under: killtest 

數通與網路基礎:二層以太網路交換機技術基礎
乙太網路的MAC位址MAC(Media Access Control,媒體存取控制)位址,或稱為MAC位址、硬體位址,用來定義網路設備的位置。 MAC位址整合在網路卡,Mac位址有48bit(位元)。通常被表示為12位的點分16進制數。 MAC位址全球唯一,由IEEE對這些位址進行管理和分配。 0~23位數字叫作組織唯一標誌符號(organizationally unique,是識別區域網路節點的識別)。 24~47位是由廠商自行分配,其中第48位是組播位址標誌位。網路卡的實體位址通常是由網卡生產廠商寫入網卡的EPROM晶片中,晶片中的資料可以透過程式進行擦寫,它儲存的是傳輸資料時真正賴以標識發出資料的電腦和接收資料的主機的地址。也就是說,在網路底層的實體傳輸過程中,資料傳輸是透過實體位址來辨識主機的,而它一定是全球唯一的。無論是區域網,或是廣域網路中的電腦之間的通信,最終都表現為將資料包從某種形式的鏈路上的初始節點出發,從一個節點傳遞到另一個節點,最終傳送到目的節點。封包在這些節點之間的移動都是由ARP(Address Resolution Protocol,位址解析協定)負責將IP位址對應到MAC位址上來完成的。 MAC位址和IP位址的區別1、MAC是實體的位址,IP是邏輯的位址。 2.MAC是設備出廠就有,唯一的,IP位址是可以隨網路拓樸變的。 3.尋址一個在連結層,一個在網路層。參:【重要】數據通訊與網路基礎知識(一):從小網到大網
微信图片_20240913114133
MAC位址和IP位址的聯繫:ARP協定ARP(Address Resolution Protocol,位址解析協定)是用來將IP位址解析為MAC位址的協定。所謂位址解析就是主機在傳送訊框前將目標IP轉換成MAC位址的過程。 ARP協定的基本功能就是透過目標設備IP查詢目標設備MAC位址,以確保通訊順利進行。每個主機或三層網路設備都有ARP緩存,裡面記錄有IP到MAC的映射表,裡面是該主機知道的一些位址,用於儲存IP位址和MAC位址的映射關係,一般ARP表項包括動態ARP表項和靜態ARP表項。注意:二層交換器中沒有ARP表,只有主機和三層交換器、路由器中才有ARP表。 L2交換器的功能1、基於來源位址“學習”
橋接器轉送資料幀是基於MAC位址表,而MAC位址表是網橋基於來源MAC位址學習得到的。 MAC位址表裡面是MAC位址和交換器的連接埠所建立的映射關係。 「學習」?
跟據交換器各個連接埠發送的arp請求取得各埠所連設備的來源位址來補充完善自身MAC位址表。 2、基於目的地址轉發
根據MAC位址表進行轉送。

L2交換器缺點廣播氾濫
安全性無保證

針對缺點,引入VLAN功能(虛擬的,邏輯的LAN)解決資源浪費和資源隔離問題。

透過VLAN技術,可以在交換器上,依照介面等資訊進行VLAN的劃定。 VLAN把使用者分割成多個邏輯的網路(group),群組內可以通信,群組間不允許通訊(即互相隔離)
劃分VLAN多基於交換器的介面分配。 VLAN工作於OSI二層。 VLAN是二層交換器的一個非常根本的工作機制。例如,同一棟辦公室的不同企業客戶,可以採用VLAN實現各企業共享LAN設施,同時確保各自的網路資訊安全。 VLAN標籤長4個位元組,直接加入在乙太網路封包頭中。例如某支援VLAN的交換器配置了僅1通過,那麼有5標籤的就會被丟棄。 VLAN標籤:實現轉送控制也就是說,支援VLAN的交換機,轉送訊框時不再只依據MAC位址,同時還要考慮該埠的VLAN配置狀況所以在一個乙太網路環境中,有兩種​​格式的訊框:有VLAN標籤的和沒有標籤的
VLAN連接埠類型基於連接埠對VLAN轉送控制不同,將二層交換器連接埠分為下列類型Access類型:介面只允許一個VLAN通過。主要用於交換器連接伺服器、儲存、路由器、防火牆等的連接埠。
Trunk類型:介面可以允許vlan-list中多個VLAN通過。主要用於交換器和交換器之間的連接。
Hybrid類型:前倆的結合,更靈活。可以處理多個VLAN。
乙太網路交換器基礎特性(常用技術)連接埠聚合技術外面看一個匯聚組好像一個埠鏈路聚合控制協定:LACP堆疊技術兩台變一台,六台變三台。… Continue reading

後一頁 »