軟件安全復習

文章目錄

  • 第一章 軟件安全概述
    • 1.1 信息定義
    • 1.2 信息的屬性
    • 1.3 信息安全
    • 1.4 軟件安全
    • 1.5 軟件安全威脅及其來源
      • 1.5.1 軟件缺陷與漏洞
        • 1.5.1.1 軟件缺陷
        • 1.5.1.2 漏洞
        • 1.5.1.3 軟件漏洞
        • 1.5.1.4 軟件缺陷和漏洞的威脅
      • 1.5.2 惡意軟件
        • 1.5.2.1 惡意軟件的定義
        • 1.5.2.2 惡意軟件的威脅
      • 1.5.3 軟件破解
    • 1.6 如何加強軟件安全防護
      • 1.6.1 安全設計
      • 1.6.2 保障運行環境
      • 1.6.3 加強軟件自身行為認證
      • 1.6.4 惡意軟件檢測與查殺
      • 1.6.5 黑客攻擊與防護
      • 1.6.6 系統還原
      • 1.6.7 虛擬隔離
    • 1.7 本章小結
  • 第二章 軟件安全基礎
    • 2.1 計算機磁盤的管理
      • 2.1.1 磁盤結構簡介
      • 2.1.2 主引導扇區結構
      • 2.1.3 文件系統
        • 2.1.3.1 FAT32文件系統
        • 2.1.3.2 NTFS文件系統
    • 2.2 計算機系統引導過程
      • 2.2.1 BIOS的定義
      • 2.2.2 BIOS引導模式
          • 2.2.2.1 傳統BIOS引導
        • 2.2.2.2 UEFI BIOS引導
    • 2.3 PE文件格式
    • 2.4 本章小結
  • 第三章 軟件漏洞利用與防護
    • 3.1 軟件漏洞
    • 3.2 漏洞分類及其標準
      • 3.2.1 漏洞分類
      • 3.2.2 軟件漏洞產生的原因
        • 3.2.2.1 技術因素
        • 3.2.2.2 非技術因素
    • 3.3 軟件漏洞的利用方式
      • 3.3.1 本地攻擊模式
      • 3.3.2 遠程主動攻擊模式
      • 3.3.3 遠程被動攻擊模式
  • 第四章 典型軟件漏洞機理分析
    • 4.1 緩沖區溢出漏洞
      • 4.1.1 棧溢出
      • 4.1.2 堆溢出
      • 4.1.3 格式化串漏洞
    • 4.2 Web應用程序漏洞
      • 4.2.1 Web應用安全概述
      • 4.2.2 SQL注入漏洞
      • 4.2.3 跨站腳本(XSS)
      • 4.2.4 跨站請求偽造(CSRF)
      • 4.2.5 其他Web漏洞
  • 第五章 軟件漏洞的利用和發現
    • 5.1 Exploit 結構
    • 5.2 漏洞利用的具體技術
    • 5.3 Shellcode開發
    • 5.4 軟件漏洞挖掘技術及工具
  • 第六章 Windows 系統安全機制及漏洞防護技術
  • 第七章 構建安全的軟件
  • 第八章 惡意代碼及其分類

第一章 軟件安全概述

1.1 信息定義

香農提出“信息是用來消除隨機不確定性的其他東西”,其他相關觀點:

  • 信息是主體相對于客體的變化。
  • 信息是確定性的增加。
  • 信息是反應客觀世界中各種事物特征和變化的知識,是數據加工的結果,信息是有用的數據。
  • 信息是有價值的消息。

信息的主要特點:

  • 信息是有價值的:信息的價值是相對的;
  • 信息是流動的:信源→信道→信宿。

1.2 信息的屬性

真實性:對信息來源進行判斷,能對偽造來源的信息予以鑒別;
保密性:保證機密信息不被竊聽,或竊聽者不能了解信息的真實含義;
完整性:保證數據的一致性,防止數據被非法用戶篡改;
可用性:保證合法用戶對信息和資源的使用不會被不正當地拒絕;
不可抵賴性:建立有效的責任機制,防止用戶否認其行為;
可控制性:對信息的傳播及內容具有控制能力;
可審查性:對出現的網絡安全問題提供調查的依據和手段。

1.3 信息安全

信息安全是對信息的保密性完整性可用性的保持。

1.4 軟件安全

軟件安全是使軟件在受到惡意攻擊的情形下依然能夠繼續正確運行的工程化軟件思想。

1.5 軟件安全威脅及其來源

1.5.1 軟件缺陷與漏洞

1.5.1.1 軟件缺陷

軟件缺陷,常常又被稱作Bug,是指計算機軟件或程序中存在的某種破壞正常運行能力的問題、錯誤,或者隱藏的功能缺陷。缺陷的存在會導致軟件產品在某種程度上不能滿足用戶的需要。

1.5.1.2 漏洞

漏洞,是在硬件、軟件、協議的具體實現或系統安全策略上存在的缺陷,從而使攻擊者能夠在未授權的情況下訪問或破壞系統。

1.5.1.3 軟件漏洞

軟件漏洞,是指軟件在設計、實現、配置策略及使用過程中出現的缺陷,其可能導致攻擊者在未授權的情況下訪問或破壞系統。

1.5.1.4 軟件缺陷和漏洞的威脅

軟件正常功能被破壞:如原有軟件功能無法正常運行;
系統被惡意控制:攻擊者獲得對目標系統的控制權;
信息泄露:重要信息被攻擊者獲取到。

1.5.2 惡意軟件

1.5.2.1 惡意軟件的定義

惡意軟件”是指那些設計目的是為了實施特定惡意功能的一類軟件程序。最典型的惡意軟件包括:計算機病毒、特洛伊木馬、后門、僵尸、間諜軟件、勒索軟件等。

1.5.2.2 惡意軟件的威脅

已有軟件的功能被修改或破壞

  • 惡意軟件運行之后,可對同一運行環境中的其他軟件進行干擾和破壞,從而修改或破壞其他軟件的行為。

目標系統中的重要數據被竊取

  • 惡意軟件運行之后,可以瀏覽、下載目標系統磁盤中的所有文件,甚至對目標系統的鍵盤擊鍵(如各類系統的登錄用戶名和口令)進行記錄和回傳。

目標系統中的用戶行為被監視

  • 對目標系統進行屏幕監視、視頻監視、語音監聽等,這也是目前絕大部分特洛伊木馬所擁有的基本功能。

目標系統被控制

  • 在屏幕監視的基礎上操控目標系統的鍵盤和鼠標輸入,從而達到對目標進行屏幕控制的目的。

1.5.3 軟件破解

軟件破解,即通過軟件自身程序進行逆向分析,發現軟件的注冊機制,對軟件的各類限制實施破解,從而使得非法使用者可以正常使用軟件。

1.6 如何加強軟件安全防護

1.6.1 安全設計

強化軟件工程思想,將安全問題融入到軟件的開發管理流程之中,在軟件開發階段盡量減少軟件缺陷和漏洞的數量。

  • 微軟:信息技術安全開發生命周期流程(Secure Development Lifecycle for Information Technology,縮寫為SDL-IT)。

1.6.2 保障運行環境

保障軟件自身運行環境,加強系統自身的數據完整性校驗。

  • 軟件完整性校驗:目前很多安全軟件在安裝之初將對系統的重要文件進行完整性校驗并保存其校驗值。
  • 系統完整性校驗:目前有些硬件系統從底層開始保障系統的完整性。

1.6.3 加強軟件自身行為認證

加強系統自身軟件的行為認證——軟件動態可信認證:

  • 在確保系統數據完整性的前提下,如何確保軟件的行為總是以預期的方式,朝著預期的目標運行,這就是軟件動態行為可信問題。

1.6.4 惡意軟件檢測與查殺

  • 惡意軟件是軟件安全的一個主要安全威脅來源,針對系統的外來入侵通常都離不開外來惡意軟件的支撐。
  • 反病毒軟件主要用來對外來的惡意軟件進行檢測。通常采用病毒特征值檢測、虛擬機、啟發式掃描、主動防御、云查殺等幾種方法來對病毒進行檢測。

1.6.5 黑客攻擊與防護

  • 防火墻:網絡,主機防火墻(如天網、OutPost等)可依據黑客防護策略對進出主機的網絡流量進行有效攔截。
  • 入侵檢測系統IDS
  • 入侵防護系統IPS:基于網絡、基于主機(HIPS)
    基于主機的漏洞攻擊阻斷技術:EMET

1.6.6 系統還原

系統還原技術的核心思想是將關鍵系統文件或指定磁盤分區還原為之前的備份狀態,從而將已有系統中的惡意程序全部清除,以保護系統安全。

  • Windows自帶的“系統還原”功能
  • Ghost還原軟件
  • 還原卡、影子系統(PowerShadow)

1.6.7 虛擬隔離

虛擬機(如VmWare)

  • 隔離風險:用戶可以通過在不同的虛擬機中分別進行相關活動(如上網瀏覽、游戲或網銀等重要系統登錄),從而可以將危險行為隔離在不同的系統范圍之內,保障敏感行為操作的安全性。

沙箱,也叫沙盤或沙盒(如SandBoxIE)

  • 隔離風險:在沙箱之中的軟件行為及其產生的系統修改是被隔離起來的
  • 常用于運行一些疑似危險樣本,從而可以隔離安全威脅,也可用于惡意軟件分析。

1.7 本章小結

1.什么是信息安全?信息為什么會存在安全問題?

2.什么是軟件安全?軟件為什么會存在安全問題?

3.軟件面臨的具體安全威脅有哪些?

4.什么是軟件缺陷和軟件漏洞?軟件缺陷和漏洞有何區別?軟件漏洞是否有可能轉變為軟件后門,為什么?

5.什么是惡意軟件?其對系統安全的具體影響包括哪些?

6.什么是軟件逆向工程?請舉例分析軟件逆向工程的積極意義,以及可能帶來的安全隱患。

7.為了保障軟件安全,目前典型的防護手段有哪些?

  1. 什么是沙箱與虛擬機?其在軟件安全領域有哪些具體應用?

第二章 軟件安全基礎

2.1 計算機磁盤的管理

硬盤是

  • 控制代碼的靜態存儲倉庫:系統引導代碼、各類程序與數據等
  • 惡意軟件進行控制權爭奪的中心

2.1.1 磁盤結構簡介

磁盤的三個基本參數:

  • 磁頭數(Headers):表示目標扇區所在的硬盤磁頭編號,硬盤是由多個盤片組成的,而每個盤片上都有一個讀寫磁頭負責該盤片的讀寫操作,磁頭數最大為255(8個二進制位存儲)。每個盤片有兩個面,每個面有一個讀寫磁頭。
  • 柱面數(Cylinders):表示目標扇區所在盤片的磁道號,最大為1023(10個二進制存儲)。每個盤片的半徑均為相同值R的同心圓(磁道)。
  • 扇區數(Sectors):表示目標扇區所在的在磁道扇區號,最大為63(6個二進制存儲),每個扇區一般是512個字節。每個磁道被劃分為幾十個扇區。

硬盤尋址方式:

  • 老式硬盤:每個磁道的扇區數相等,外道的記錄密度要遠低于內道
  • 當前硬盤:采用“等密度結構”提高硬盤容量,尋址方式采用線性邏輯塊尋址,即以扇區為單位進行線性尋址

2.1.2 主引導扇區結構

主引導扇區也就是硬盤的第一個扇區(0面0磁道1扇區):

  • 主引導記錄(MBR):前446個字節,存放著系統主引導程序(負責從活動分區中裝載并運行系統引導程序)
  • 硬盤主分區表(DPT):占64個字節,記錄了磁盤的基本分區信息,四個分區項,每項16字節,分別記錄了每個主分區的信息(最多四個主分區)
  • 引導扇區標記(ID):占2個字節,對于合法引導區,它等于0xAA55,判別引導區是否合法。

2.1.3 文件系統

文件系統是操作系統在計算機硬盤存儲和檢索數據的邏輯方法

2.1.3.1 FAT32文件系統

FAT32文件系統:文件分配表FAT是32位的,邏輯盤被劃分為三部分:引導區(BOOT區)、文件分配表(FAT區)、數據區(DATA區)

在這里插入圖片描述

2.1.3.2 NTFS文件系統

NTFS是一個功能強大、性能優越的文件系統,它是以簇作為磁盤空間分配和回收的基本單位

2.2 計算機系統引導過程

2.2.1 BIOS的定義

BIOS(Basic Input and Output System):基本輸入輸出系統

  • 存儲在主板BIOS Flas(或ROM)芯片
  • 為計算機提供最底層的、最直接的硬件設置于控制

2.2.2 BIOS引導模式

2.2.2.1 傳統BIOS引導

開機→BIOS初始化→POST自檢→MBR→DBR→bootmgr(或NTLDR)→讀取BCD(或boot.ini)→啟動對應的系統

在這里插入圖片描述

2.2.2.2 UEFI BIOS引導

UEFI(Unified Extensible Firmware Interface):統一可擴展固件接口,類似于一個低階操作系統,取消了POST自檢,速度快

開機→BIOS初始化→啟動管理器(EFI分區bootxxx.efi)→讀取BCD→啟動對應的系統

在這里插入圖片描述

2.3 PE文件格式

PE就是Portable Executable(可移植的執行體),它是Win32可執行文件的標準格式

在這里插入圖片描述

2.4 本章小結

1.硬盤主引導區由哪幾個部分構成?fdisk/mbr命令會重寫整個主引導扇區嗎?

2.打開一臺計算機,描述從按下Power 鍵開始計算機每一步所做的具體工作。

6.請比較“刪除文件到回收站”與“永久刪除文件”的具體技術區別,對于后者,如何手工恢復?請實踐。

7.快速格式化、普通格式化以及低級格式化的具體技術區別有哪些?請具體實踐和分析。
8.在使用某些數據恢復軟件進行數據恢復時,為何恢復.jpg和.doc類文件的成功率要高于.txt類文件?

第三章 軟件漏洞利用與防護

3.1 軟件漏洞

漏洞,通常也稱脆弱性(vulnerability),RFC2828將漏洞定義為“系統設計、實現或操作管理中存在的缺陷或者弱點,能被利用而違背系統的安全策略”。軟件漏洞的要素:

  • 受影響的軟件版本
  • POC(驗證漏洞存在的代碼,Proof of Concept)
  • 漏洞觸發的條件
  • 攻擊能力

3.2 漏洞分類及其標準

3.2.1 漏洞分類

按漏洞可能對系統造成的直接威脅,可分為:

  • 獲取訪問權限漏洞
  • 權限提升漏洞
  • 拒絕服務攻擊漏洞
  • 惡意軟件植入漏洞
  • 數據丟失或泄露漏洞

按漏洞的成因,可分為:

  • 輸入驗證錯誤
  • 訪問驗證錯誤
  • 競爭條件錯誤
  • 意外情況處理錯誤
  • 設計錯誤
  • 配置錯誤
  • 環境錯誤

按漏洞的嚴重性的分級,可分為:

  • A類漏洞(高):遠程和本地管理員極限。威脅性最大的漏洞,往往有較差的系統管理或錯誤設置造成。
  • B類漏洞(中):普通用戶權限、權限提升、讀取受限文件,以及遠程和本地拒絕服務。較為嚴重的漏洞,例如允許本地用戶獲得增加的和未授權的訪問。
  • C類漏洞(低):遠程非授權文件存取、口令恢復、欺騙,以及服務器信息泄露。嚴重性不是很大的漏洞,例如允許拒絕服務的漏洞。

按照對漏洞被利用方式的分類,可分為:

  • 主動攻擊
  • 遠程主動攻擊
  • 遠程被動攻擊

3.2.2 軟件漏洞產生的原因

3.2.2.1 技術因素

1.輸入驗證錯誤:缺少輸入驗證或輸入驗證存在缺陷,是造成許多嚴重漏洞的主要原因。這些漏洞包括緩沖區溢出、SQL注入以及、跨站點執行腳本,常見于web上的動態交互頁面,比如ASP頁面等。產生輸入驗證錯誤漏洞的原因是未對用戶提供的輸入數據的合法性做充分的檢查。原因主要有:

  • 沒有在安全的上下文環境中進行驗證
  • 驗證代碼不集中
  • 不安全的組件邊界

2.訪問驗證錯誤:訪問驗證錯誤漏洞的產生是由于程序的訪問驗證部分存在某些可利用的邏輯錯誤或用于驗證的條件不足以確定用戶的身份而造成的。可分為:

  • 會話管理薄弱或缺失
  • 身份鑒別薄弱或缺失
  • 授權薄弱或缺失

3.競爭條件:競爭條件攻擊是一種異常行為,是對事件相對緊湊的依賴關系的破壞而引發的,多線程并發訪問破壞事件間的依賴關系引發狀態的不一致。具備兩個必要條件:

  • 有兩個或兩個以上的事件發生:兩個事件間有一定的時間間隔并且有一定的依賴關系
  • 攻擊者可以改變兩個事件間的依賴關系

4.意外情況處置錯誤:意外情況處置錯誤漏洞的產生是由于程序在它的實現邏輯中沒有考慮到一些本應該考慮到的意外情況。

5.邏輯設計錯誤:包含了系統設計和系統實現上的錯誤,如整數溢出,密碼找回。

6.配置錯誤:配置錯誤漏洞的產生是由于系統和應用的配置有錯誤,或者是軟件安裝在錯誤的位置,或是參數配置錯誤,或是訪問權限配置錯誤等。

7.環境錯誤:是一些由于環境變量的錯誤或惡意設置而造成的漏洞。

3.2.2.2 非技術因素
  • 缺乏軟件開發規范
  • 缺乏進度控制
  • 缺乏安全測試
  • 缺乏安全維護
  • 不穩定的開發團隊

3.3 軟件漏洞的利用方式

3.3.1 本地攻擊模式

本地攻擊模式的攻擊者是系統本地的合法用戶或已經通過其他攻擊方法獲得了本地權限的非法用戶,它要求攻擊者必須在本地擁有訪問權限,才能發起攻擊。

3.3.2 遠程主動攻擊模式

攻擊者通過網絡連接目標,利用工具掃描目標,發現漏洞,利用漏洞工具自動植入攻擊代碼。

3.3.3 遠程被動攻擊模式

攻擊者通過網絡給目標發送郵件或者超鏈接,用戶打開網頁,點擊郵件附件或網頁中的文檔,觸發漏洞。

  • 網頁掛馬是結合瀏覽器或瀏覽組件的相關漏洞來觸發第三方惡意軟件下載執行的,也是目前危害最大的一種遠程被動攻擊模式。攻擊者通過在正常的網頁中插入一段漏洞利用代碼。瀏覽者在打開該頁面的時候,漏洞被觸發,惡意代碼代碼被執行然后下載并運行某木馬的服務器端程序,進而導致瀏覽器的主機被控制。

第四章 典型軟件漏洞機理分析

4.1 緩沖區溢出漏洞

“緩沖區”是指內存空間中用來存儲程序運行時臨時數據的一片大小有限并且連續的內存區域。 根據程序中內存的分配方式和使用目的,緩沖區一般可分為棧和堆兩種類型。

4.1.1 棧溢出

4.1.2 堆溢出

4.1.3 格式化串漏洞

4.2 Web應用程序漏洞

4.2.1 Web應用安全概述

4.2.2 SQL注入漏洞

4.2.3 跨站腳本(XSS)

4.2.4 跨站請求偽造(CSRF)

4.2.5 其他Web漏洞

第五章 軟件漏洞的利用和發現

5.1 Exploit 結構

5.2 漏洞利用的具體技術

5.3 Shellcode開發

5.4 軟件漏洞挖掘技術及工具

第六章 Windows 系統安全機制及漏洞防護技術

第七章 構建安全的軟件

第八章 惡意代碼及其分類

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/15950.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15950.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/15950.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

攜手AI,如何共贏未來?

5/25日參加了一個培訓分享會,由博奧研究院、武漢博奕咨詢和華工科技聯合舉辦,主題是“攜手Ai,共贏未來”。 抱著跟書友線下交流的心態我參與了,參與前我對博奧做了基礎了解,他們跟工信部考試和教育中心有合作&#x…

【C語言】指針作為參數(傳值調用vs傳址調用)

前言 在前面講了那些指針相關的內容后,是時候探討一下指針有什么作用了。 在C語言中,指針有多種各不相同的應用,在本篇文章中,我們探討一下指針作為函數參數的作用(對比傳值與傳址兩種不同函數調用方式)。…

【QGIS入門實戰精品教程】10.7: 基于DEM的地形因子分析(坡度、坡向、粗糙度、山體陰影、耐用指數)

文章目錄 一、加載dem二、山體陰影三、坡度四、坡向五、地形耐用指數六、地形位置指數七、地表粗糙度一、加載dem 二、山體陰影 方法一:符號系統 利用符號系統中的山體陰影,渲染出陰影效果。 方法二:山體陰影工具 該算法計算輸入中的數字化地形模型的山體陰影。根據太陽的位…

2024 年 5 個 GO REST API 框架

什么是API? API是一個軟件解決方案,作為中介,使兩個應用程序能夠相互交互。以下一些特征讓API變得更加有用和有價值: 遵守REST和HTTP等易于訪問、廣泛理解和開發人員友好的標準。API不僅僅是幾行代碼;這些是為移動開…

kali下載zsteg和stegpy

1.kali下載zsteg 從 GitHub 上克隆zsteg到kali git clone https://github.com/zed-0xff/zsteg 切換目錄 cd zsteg 用于安裝名為 zsteg 的 Ruby Gem 包 gem install zsteg 2.kali下載stegpy 下載網站內的stegpy-master壓縮包GitCode - 開發者的代碼家園 并拉到kali中 切換到s…

python數據分析——數據可視化(圖形繪制)

數據可視化(圖形繪制基礎) 前言一、圖形繪制基礎Matplotlib簡介使用過程sin函數示例 二、常用圖形繪制折線圖的繪制plot示例 散點圖的繪制scatter()示例 柱狀圖的繪制bar示例 箱型圖繪制plot.box示例 餅狀圖的繪制pie示例 三、圖形繪制的組合情況多個折線…

Sql Sever刪除數據庫時提示數據庫正在被使用,解決辦法

報錯解釋: 當您嘗試刪除SQL Server中的某個對象(如數據庫、表等)時,如果有程序或進程正在使用該對象,您可能會收到一個錯誤信息,提示該對象正被使用。這通常是因為還有一個或多個數據庫連接仍然保持著對該…

易備數據備份軟件: 快速備份 MySQL\SQL Server\Oracle\泛微 OA 數據庫

易備數據備份軟件支持對 SQL Server、Oracle、MySQL、PostgreSQL、MariaDB、泛微 OA 等數據庫進行快速備份,備份過程不會對任何服務造成中斷。 使用一份授權,可以備份無限量的數據庫,不管數據庫服務器是否在本機、本地網絡、或是遠程網絡。可…

【C++風云錄】光芒背后的功臣:醫療影像處理與醫學成像

打開技術寶庫:從視覺分析到醫學影像 前言 在信息技術的日益發展下,各種開源工具庫的出現大大促進了軟件開發的進步。本文將對六種主要的開放源碼軟件庫進行詳細的介紹和分析,包括其概述,主要功能以及應用實施案例。 歡迎訂閱專欄…

Vitis HLS 學習筆記--控制驅動TLP-處理deadlock

目錄 1. 簡介 2. 代碼解析 2.1 HLS kernel代碼 2.2 查看接口報告 2.3 TestBench 2.4 Dataflow 報告 3. Takeaways 4. 總結 1. 簡介 本文是對《Hardware Acceleration Tutorials: FIFO Sizing for Performance and Avoiding Deadlocks》實驗內容的詳細解釋。 首先需要…

如何實現高內聚低耦合

一、定義 內聚:一個模塊內各元素間,結合的緊密程度。 耦合:模塊之間聯系緊密程度 二、高內聚、低耦合的利弊 1、代碼關系過于緊密,往往改一小段代碼,需要整個項目做很大的改動。所以在實際開發中應該盡量避免過高的…

Python常見面試題(二)——numpy和pandas

一、NumPy和Pandas間的區別與練習 功能定位 NumPy主要用于數值計算,提供了多維數組對象ndarray,支持數組操作、線性代數、隨機數生成等功能。 Pandas則建立在NumPy之上,提供了更高級的數據結構,主要用于數據分析,尤…

自動駕駛場景中的長尾問題怎么解決?

自動駕駛長尾問題是指自動駕駛汽車中的邊緣情況,即發生概率較低的可能場景。感知的長尾問題是當前限制單車智能自動駕駛車輛運行設計域的主要原因之一。自動駕駛的底層架構和大部分技術問題已經被解決,剩下的5%的長尾問題,逐漸成了制約自動駕…

huggingface 筆記:查看GPU占用情況

0 準備部分 0.1 創建虛擬數據 import numpy as npfrom datasets import Datasetseq_len, dataset_size 512, 512 dummy_data {"input_ids": np.random.randint(100, 30000, (dataset_size, seq_len)),"labels": np.random.randint(0, 1, (dataset_size…

學習和分享關于 Vue.js 的路由(vue-router)

學習和分享關于 Vue.js 的路由(vue-router)是一個非常有價值的主題,因為路由是構建單頁應用程序(SPA)的核心部分。本文將介紹 Vue.js 路由的基本概念和實現,并展示一個典型的項目目錄結構。 目錄 Vue.js 路…

【代碼隨想錄訓練營】【Day 29】【回溯-3】| Leetcode 39, 41, 131

【代碼隨想錄訓練營】【Day 29】【回溯-3】| Leetcode 39, 41, 131 需強化知識點 startInex作用:一是處理是否可以有重復值,二是實現縱向遍歷(不能沒有)去重要在數組有序的前提下進行分割問題 題目 39.…

工業控制2D組態界面,丑是丑了點,但非常實用。

工業控制的2D組態界面是用于監控和控制工業過程的界面。它通常具有以下特征: 實時數據顯示:2D組態界面能夠實時顯示傳感器和設備的數據,如溫度、壓力、流量等。這些數據以圖表、儀表盤、數字顯示等形式呈現,使操作人員能夠實時了解…

Android:使用Kotlin搭建MVVM架構模式

一、簡介Android MVVM架構模式 MVVM全稱:Model、View、ViewModel; Model:負責數據的請求、解析、過濾等數據層操作,其中Repository: 提供數據的 API(從本地或者網絡)。View:負責視圖部分展示Vie…

Spring (18)什么是JdbcTemplate

JdbcTemplate 是 Spring 框架提供的一個主要的類,旨在簡化傳統 JDBC 的使用。它處理了諸如連接管理、異常處理等繁瑣的低級任務,讓開發者可以更專注于執行 SQL 語句和處理結果。JdbcTemplate 屬于 Spring JDBC 模塊(spring-jdbc)&…

每日力扣刷題day05(小白簡單題)

文章目錄 2024.5.26(5題)1446.連續字符題解一題解二 2824.統計和小于目標的下標對數目題解一題解二 1768.交替合并字符串題解一題解二題解三 796.旋轉字符串題解一題解二 1304.和為零的 N 個不同整數題解一題解二 2024.5.26(5題) …