亚洲精品亚洲人成在线观看麻豆,在线欧美视频一区,亚洲国产精品一区二区动图,色综合久久丁香婷婷

              當(dāng)前位置:首頁 > IT技術(shù) > 其他 > 正文

              填空題 && 選擇題 && 討論 - 軟件安全
              2022-05-11 11:05:06

              一、填空題

              1.?軟件安全中,軟件安全測試和開發(fā)過程包括:軟件安全(??)、軟件安全(??)、軟件安全(??)、軟件安全(??)、軟件安全(??)。

              我的答案:
              (1) 需求分析
              (2) 設(shè)計
              (3) 編碼
              (4) 測試
              (5) 部署

              2.?網(wǎng)絡(luò)空間包含電子設(shè)備、基礎(chǔ)設(shè)施、應(yīng)用、數(shù)據(jù),還有(??)。

              我的答案:
              (1) 人

              3.?網(wǎng)絡(luò)安全框架的核心PDRR模型中,P指(? ? )、D指(? ?)。

              我的答案:
              (1) Protection
              (2) Detection

              4.?Win32系統(tǒng)中,進(jìn)程空間按功能分為4個區(qū)域,從低地址到高地址依次為()、()、()、()。

              我的答案:
              (1) 棧區(qū)
              (2) 堆區(qū)
              (3) 代碼區(qū)
              (4) 數(shù)據(jù)區(qū)

              5.?棧增長方向是從()地址到()地址;堆增長方向是從()地址到()地址。

              我的答案:
              (1) 高
              (2) 低
              (3) 低
              (4) 高

              6.?數(shù)據(jù)區(qū)存儲()變量和()變量。

              我的答案:
              (1) 全局
              (2) 靜態(tài)

              7.?緩沖區(qū)溢出指向緩沖區(qū)寫數(shù)據(jù)時,沒有做()檢查,緩沖區(qū)的數(shù)據(jù)超過預(yù)先分配的(),使得一簇數(shù)據(jù)覆蓋在合法數(shù)據(jù)上引起的系統(tǒng)異常。

              我的答案:
              (1) 邊界
              (2) 邊界

              8.?下列程序的的運(yùn)行結(jié)果是(),如果不相等,第二空填寫修改后的判斷語句(不敲空格,不敲結(jié)束的分號),如果相等,第二空填無。

                char *s1="abcd";
              
                char s2[5];
              
                strcpy(s2,s1);
              
                if(s1==s2){
              
                   printf("equal!");
              
                }
              
                else{
              
                  printf("not equal!");
              
                }
              我的答案:
              (1) not equal!
              (2) if(strcmp(s1,s2)==0)

              9.?補(bǔ)充for循環(huán),實(shí)現(xiàn)任意元素數(shù)組的遍歷打印,填寫完整的for()語句,不加任何空格。

              int a[]={..............};
              
              for(int i=0;                   )
              
              {
              
                 System.out.println(a[i]);
              
              }
              我的答案:
              (1) for(int i = 0; i < a.length; i++)

              10.?定義數(shù)組,使用下列語句對嗎?對則回答對,不對則修改該語句,語句中不加空格。

              int *a=new int(10);
              我的答案:
              (1) int*a=newint[10]

              11.?下列語句,根據(jù)注釋填空,不敲空格。

              Obj * obj=new Obj[10];
              
              delete         //釋放
              
               
              
              OObj * obj=new Obj(10);
              
              delete       //釋放
              我的答案:
              (1) []obj
              (2) obj

              12.?下列程序有無漏洞,無則填無,有則把該代碼行拷貝到答案中。

                void foo(const char *s){
              
              }
              
               
              
              void main(int a, char *v[]){
              
                static char buf[10];
              
                static void(*p)(const char * s);
              
              p=&foo;
              
              strncpy(buf,v[1],strlen(v[1]));
              
              (void )(*p)(v[2]);
              
              }?
              我的答案:
              (1)?strncpy(buf,v[1],strlen(v[1]));

              13.?下列代碼有錯嗎,無則填無,有則把錯誤行修改填入空中。

              class Foo{
              
                private:
              
                int id;
              
                char * name;
              
                public:
              
                Foo(int i){
              
              id=i;
              
              name=new char [20];
              
              }
              
               ~Foo()(
              
                delete []name;
              
              }
              
              };
              
              void delete_object(void * p){
              
                 delete p;
              
              }
              
              int main(){
              
              Foo * f=new Foo(100);
              
              delete_object(f);
              
              }
              我的答案:
              (1) delete f;

              14.?下列程序打印出的結(jié)果分別是什么?

              unsigned short int a =32768;
              
              short int i=a;
              
              printf("%d",i);
              
              a=65535;
              
              i= a;
              
              printf("%d",i);?
              我的答案:
              (1) -32768
              (2) -1

              15.?下列程序打印的結(jié)果是什么?

              int bigint=2147483647;
              
              printf("%d",bigint++);
              
              unsigned int z=0;
              
              printf("%d",--z);
              我的答案:
              (1) 2147483647
              (2) -1

              16.?程序的打印結(jié)果是什么?

              unsigned int i=ULONG_MAX;
              
              int c= -1;
              
              printf("%d", c==i);?
              我的答案:
              (1) 1

              17.?下列程序的打印結(jié)果是什么?如何修改(只改一句)?

              unsigned short s=4;
              
               while (--s >=0)
              
              {
              
               printf("%d",s);
              
              }
              我的答案:
              (1) 無限循環(huán)
              (2) while(--s>0)

              18.?在32位系統(tǒng)中,size_t相當(dāng)于類型???????最大值是???????

              我的答案:
              (1) unsigned int
              (2) 4294967295

              19.?下列代碼有漏洞嗎?把有漏洞的行進(jìn)行改正,每一句改正的代碼填一個空。

                char s1[5];
              
                char s2[5];
              
                char s3[10];
              
               
              
                strcpy(s1,"12345");
              
                strcpy(s2,"abcde");
              
                strcpy(s3,s1);
              
                strcat(s3,s2);
              
                cout<<s1<<endl;
              
                cout<<s2<<endl;
              
                cout<<s3<<endl;
              我的答案:
              (1) char s1[6]
              (2) char s2[6]
              (3) char s3[11]

              20.?下列代碼段有漏洞,把有漏洞的行進(jìn)行改正,每一句改正的代碼填一個空。

                char s[10];
              
                puts("input a string:") ;
              
                gets(s); 
              
                cout<<s<<endl;?
              我的答案:
              (1) fgets(s,sizeof(s),stdin);

              21.?下列程序有漏洞嗎?第幾行的程序有漏洞,問題在哪里?(把有漏洞的語句粘貼在答案里)

              void test(char *c)
              
              {
              
                  short s=strlen(c);
              
                  char buf[100];
              
                  cout << "strlen(c)=" << strlen(c)<<endl;
              
                   if(s<100){
              
                       strcpy(buf,c);
              
                  }
              
                  else{
              
                       cout<<"overflow!" <<endl;
              
                  }
              
              }?
              我的答案:
              (1) short s=strlen(c)

              22.?整數(shù)n的初值為10,寫出下列語句n的值是多少?

              n=(2* ++n)*(n = 'a')+ (n>0?1:-1);?
              我的答案:
              (1) 2135

              ?

              二、單選題

              1.?下列程序是否存在內(nèi)存泄露?

              int  **a =new int *[3];
              
              for (int i=0;i<3;i++){
              
                   a[i]=new int[2];
              
               }
              
               delete []a;
              • A. 不存在
              • B. 存在
              我的答案:?B
              ?

              三、討論

              1.C語言為什么容易產(chǎn)生棧溢出漏洞?我們在編程中怎么防止棧溢出漏洞?

              1.棧溢出是由于C語言系列沒有內(nèi)置檢查機(jī)制來確保復(fù)制到緩沖區(qū)的數(shù)據(jù)不得大于緩沖區(qū)的大小,因此當(dāng)這個數(shù)據(jù)足夠大的時候,將會溢出緩沖區(qū)的范圍。
              2.為了防止棧溢出攻擊,最直接和最根本的辦法當(dāng)然是寫出嚴(yán)謹(jǐn)?shù)拇a,剔除任何可能發(fā)生棧溢出的代碼。但是當(dāng)程序的規(guī)模大到一定的程序時,代碼錯誤很難被發(fā)現(xiàn),因此操作系統(tǒng)和編譯器采取了一些措施來防護(hù)棧溢出攻擊,主要有以下措施。
              ①棧不可執(zhí)行機(jī)制:操作系統(tǒng)可以利用cpu硬件的特性,將棧設(shè)置為不可執(zhí)行的
              ②棧保護(hù)機(jī)制:檢查查棧上的數(shù)值有沒有被改寫,若被改寫了,則中止程序運(yùn)行。
              ③內(nèi)存布局隨機(jī)化機(jī)制:用戶程序都是加載到固定位置運(yùn)行。

              ?

              2.人臉識別有哪些安全性問題?

              ?

              1.人臉識別技術(shù)濫用無度,人臉特征隨意采集。公民的隱私受到極
              大威脅,在使用人臉識別技術(shù)之前,信息采集者和持有者并未有效評
              估了人臉識別應(yīng)用的必要性。
              2.人臉識別技術(shù)中對用人臉特征數(shù)據(jù)的保密性、完整性和可用
              性維護(hù)值得懷疑
              保密性、完整性和可用性被稱為信息安全的 CIA 三要素。App 違
              法違規(guī)收集使用個人信息專項治理工作組在 2020 年 9 月曾曝光某些
              APP 使用明文傳輸人臉圖片數(shù)據(jù);“深網(wǎng)視界”被曝出人臉識別數(shù)據(jù)
              庫,可供任何人查找,并允許完全訪問,上述兩個案例嚴(yán)重違背了保
              密性原則;目前幾乎所有的 APP 在用戶注銷 APP 賬號之后,APP 未
              提供用戶刪除人臉信息的渠道,此項違背了數(shù)據(jù)可用性原則。
              3.人臉識別技術(shù)的安全技術(shù)標(biāo)準(zhǔn)和使用規(guī)范滯后于技術(shù)的發(fā)展
              規(guī)制在人臉數(shù)據(jù)采集、使用與銷毀等方面的缺位,讓人臉識別技
              術(shù)看起來很高大上,但實(shí)際上危險性極大。雖然《中華人民共和國網(wǎng)
              絡(luò)安全法》明確將個人生物特征納入個人信息保護(hù)范圍,但個人信息
              的使用、存儲、運(yùn)輸、管理相關(guān)的法律條例仍需進(jìn)一步細(xì)化,目前手
              機(jī) APP 未在明確告知用戶的情況下就對用戶的人臉數(shù)據(jù)進(jìn)行收集的
              現(xiàn)象比比皆是,甚至還出現(xiàn)移動 APP 存在強(qiáng)制收集用戶的人臉信息,
              否則 APP 無法正常使用的情況;
              4.地下黑色產(chǎn)業(yè)鏈導(dǎo)致用戶數(shù)據(jù)被非法販賣
              黑客或者內(nèi)部員工將非法獲得的人臉身份數(shù)據(jù)販賣給人臉識別
              資源商,資源商將身份信息販賣給無法或不想用自己信息完成人臉識
              別認(rèn)證的客戶,以幫助其通過人臉識別實(shí)名認(rèn)證,進(jìn)而牟取巨額暴利。

              3.Web系統(tǒng)對安全有很高的要求,例如登錄口令應(yīng)該具有強(qiáng)口令的設(shè)計,你認(rèn)為應(yīng)該從哪些方面設(shè)計強(qiáng)口令?請列舉出你能想到的所有設(shè)計點(diǎn)。

              1.口令長度大于等于14位且包含數(shù)字、大小寫字母及特殊字符;
              2.不使用個人信息;
              3.不對每個帳戶使用相同的密碼;
              4.避免使用字典中可以找到的單詞;
              5.使用密碼生成器生成隨機(jī)密碼。

              ?

              ?

              ?

              ?

              ?

              ?

              ?

              本文摘自 :https://www.cnblogs.com/

              開通會員,享受整站包年服務(wù)立即開通 >