安全设计原则都有哪些? -本文最全

一个完整的方案设计中应该包括哪些安全设计原则? 通过搜集和梳理材料,整理如下的设计原则

  • 统一规划、分步实施原则
    在信息安全的建设过程中,将首先从一个完整的网络系统体系结构出发,全方位、多层次的综合考虑信息网络的各种实体和各个环节,运用信息系统工程的观点和方法论进行统一的、整体性的设计,将有限的资源集中解决最紧迫问题,为后继的安全实施提供基础保障,通过逐步实施,来达到信息网络系统的安全强化。从解决主要的问题入手,伴随信息系统应用的开展,逐步提高和完善信息系统的建设,充分利用现有资源进行合理整合的原则。
    故安全解决方案将进行着眼未来的安全设计,并强调分步走的安全战略思想,着重描述本期应部署的安全措施,并以发展的眼光阐述今后应部署的安全措施。

  • 标准性和规范化原则
    信息安全建设应当严格遵循国家和行业有关法律法规和技术规范的要求,从业务、技术、运行管理等方面对项目的整体建设和实施进行设计,充分体现标准化和规范化。

  • 重点保护原则
    根据信息系统的重要程度、业务特点,通过划分不同安全保护等级的信息系统,实现不同强度的安全保护,集中资源优先保护涉及核心业务或关键信息资产的信息系统。

  • 适度安全原则
    任何信息系统都不能做到绝对的安全,在安全规划过程中,要在安全需求、安全风险和安全成本之间进行平衡和折中,过多的安全要求必将造成安全成本的迅速增加和运行的复杂性。
    适度安全也是安全建设的初衷,因此在进行设计的过程中,一方面要严格遵循基本要求,从物理、网络、主机、应用、数据等层面加强防护措施,保障信息系统的机密性、完整性和可用性,另外也要综合考虑业务和成本的因素,针对信息系统的实际风险,提出对应的保护强度,并按照保护强度进行安全防护系统的设计和建设,从而有效控制成本。

  • 技术管理并重原则
    信息安全问题从来就不是单纯的技术问题,把防范黑客入侵和病毒感染理解为信息安全问题的全部是片面的,仅仅通过部署安全产品很难完全覆盖所有的信息安全问题,因此必须要把技术措施和管理措施结合起来,更有效的保障信息系统的整体安全性。

  • 先进性和成熟性原则
    所建设的安全体系应当在设计理念、技术体系、产品选型等方面实现先进性和成熟性的统一。本方案设计采用国际先进实用的安全技术和国产优秀安全产品,选择目前和未来一定时期内有代表性和先进性的成熟的安全技术,既保证当前系统的高安全可靠,又满足系统在很长生命周期内有持续的可维护和可扩展性。

  • 动态调整原则
    信息安全问题不是静态的。信息系统安全保障体系的设计和建设,必须遵循动态性原则。必须适应不断发展的信息技术和不断改变的脆弱性,必须能够及时地、不断地改进和完善系统的安全保障措施。

  • 经济性原则
    项目设计和建设过程中,将充分利用现有资源,在可用性的前提条件下充分保证系统建设的经济性,提高投资效率,避免重复建设。

参考软件设计基本原则 http://www.github5.com/view/440

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
{************************************************************** 浅谈软件安全设计(一) code by 黑夜彩虹 & vxin with almost pure delphi 网站:http://soft.eastrise.net 2007-03-07 --- 转载时请保留作者信息。 **************************************************************} 此CM的设计模式: 1、插入一些花指令 2、写了一些代码迷惑Cracker 3、有简单的Anti_DEDE 和检测调试器 话不多说,请看以下代码: unit main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls,strutils; Const C1= 17856; C2= 23589; type TForm1 = class(TForm) Image1: TImage; Edit1: TEdit; Label1: TLabel; Label2: TLabel; Edit2: TEdit; Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} Procedure Anti_DeDe();//检测DEDE反编译器 var DeDeHandle:THandle; i:integer; begin DeDeHandle:=FindWindow(nil,chr($64)+chr($65)+chr($64)+chr($65)); if DeDeHandle0 then begin For i:=1 to 4500 do SendMessage(DeDeHandle,WM_CLOSE,0,0); end; end; Function ABC42():Boolean; //检测调试器; var YInt,NInt:Integer; begin asm mov eax,fs:[30h] movzx eax,byte ptr[eax+2h] or al,al jz @No jnz @Yes @No: mov NInt,1 @Yes: Mov YInt,1 end; if YInt=1 then Result:=True; if NInt=1 then Result:=False; end; function EncryptModule(SourceStr:String;Key:Word;N:Integer):String; var //加密函数 I:Integer; begin SetLength(Result,Length(SourceStr));//利用SetLength函数指定密文长度 //对每一个索引元素进行变换 for I:=1 to Length(SourceStr) do begin Result[I]:=Char(byte(SourceStr[I]) xor (Key Shr N)); Key:= (byte(Result[I]) + Key)*C1+C2; end; end; //==========以下是549的函数,据说没有暴破点,顺便试一试 //========函数作用:动态改变程序运行罗辑 function GetEIP: Integer;//自动生成address的方法 asm mov eax, [esp]; sub eax, 5; //call GetEIP占用5字节 end; function PatchOneItem(PatchItem: String): Boolean; var PatchAddress: Integer; PatchLength: DWord; PatchData: Pointer; PatchDataStr: String; i: Integer; PatchByte: Byte; PID, PHandle: THandle; WriteCount: DWord; begin Result := False; if Length(PatchItem) < 11 then Exit; PatchAddress := StrToInt(\'0x\' + LeftStr(PatchItem, 8)); for i := 1 to Length(PatchItem) do begin if PatchItem[i] \' \' then PatchDataStr := PatchDataStr + PatchItem[i]; end; PatchLength := (Length(PatchDataStr) - 9) div 2; GetMem(PatchData, PatchLength); try for i := 0 to PatchLength - 1 do begin PatchByte := StrToInt(\'0x\'+PatchDataStr[10 + i * 2] + PatchDataStr[10 + i * 2 + 1]); Byte(Pointer(Integer(PatchData) + i)^) := PatchByte; end; GetWindowThreadProcessId(Application.Handle, PID); PHandle := OpenProcess(PROCESS_ALL_ACCESS, False, PID); WriteProcessMemory(PHandle, Pointer(PatchAddress), PatchData, PatchLength, WriteCount); CloseHandle(PHandle); finally FreeMem(PatchData, PatchLength); end; Result := PatchLength = WriteCount; end; procedure Patch(PatchFile: String); var PatchItems: TStrings; PatchIndex: Integer; begin if not FileExists(PatchFile) then Exit; PatchItems := TStringList.Create; try PatchItems.LoadFromFile(PatchFile); for PatchIndex := 0 to PatchItems.Count - 1 do begin PatchOneItem(PatchItems[PatchIndex]); end; finally PatchItems.Free; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Anti_DeDe; //检测DEDE,检测到关闭它。 if ABC42 then ExitProcess(0); //检测调试器,终止。 end; procedure TForm1.Button1Click(Sender: TObject); //注册按纽,开始检测 begin //========在这里插入一些花指令 asm jz @Start jnz @Start db 0E8h, 24h, 0, 0 ; db 0, 8Bh, 44h, 24h db 4, 8Bh, 0, 3Dh db 4, 0, 0, 80h db 75h, 8, 8Bh, 64h db 24h, 8, 0EBh, 4 db 58h, 0EBh, 0Ch, 0E9h db 64h, 8Fh, 5, 0 db 0, 0, 0, 74h db 0F3h, 75h, 0F1h, 0EBh db 24h, 64h, 0FFh, 35h db 0, 0, 0, 0 db 0EBh, 12h, 0FFh, 9Ch db 74h, 3, 75h, 1 db 0E9h, 81h, 0Ch, 24h db 0, 1, 0, 0 db 9Dh, 90h, 0EBh, 0F4h db 64h, 89h, 25h, 0 db 0, 0, 0, 0EBh db 0E6h db 0EBh, 1, 0Fh, 31h ; db 0F0h, 0EBh, 0Ch, 33h db 0C8h, 0EBh, 3, 0EBh db 9, 0Fh, 59h, 74h db 5, 75h, 0F8h, 51h db 0EBh, 0F1h db 0B9h, 4, 0, 0 ; @Start: end; if length(edit2.Text)>3 then //比较大于3位 begin //============再写一些骗Cracker if edit2.Text=EncryptModule(Edit1.Text,12345,10) then begin showmessage(\'请重启本软件。\'); //=======还可以再写一些记号,这里我就不写了 end; PatchOneItem(edit2.Text); //真正的比较 showmessage(\'ok\'); //弹出OK对话框 end; end; end.  //====附件为CM,会破解的兄弟可以试试其强度....

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值