セキュリティシステムおよびエンタープライズセキュリティ

第1節  SDLの説明

また、読書:

セーフティ開発プロセス(SDL)学習概要http://www.cnblogs.com/whoami101/p/9914862.html

SDLます。https://www.microsoft.com/en-us/SDL/process/training.aspx

SDLソフトウェアのセキュリティ設計ファーストルック:https://xz.aliyun.com/t/226

SDLは、セキュリティ開発ライフサイクルは、また、実際にセキュアな開発プロセスのものとして知られていたされて中国語に翻訳、セキュリティ開発ライフサイクルの略です。

SDLは、Microsoftの最初に提案され、開発者がより安全なソフトウェアを構築し、ソリューションはソフトウェア開発プロセスつつ、セキュリティコンプライアンス要件の開発コストを削減する、ソフトウェア開発プロセスの安全性とセキュリティに焦点を当てています。エンドユーザーを保護するという目標を達成するためには、ソフトウェア開発プロセスの活動のすべての段階で、セキュリティとプライバシーの問題を紹介します。Microsoftは2004年以来、全社必須ポリシーとして、それが効果的に問題のセキュリティの脆弱性の根本に対処することができます。

 

また、読書:

セーフティ開発プロセス(SDL)学習概要http://www.cnblogs.com/whoami101/p/9914862.html

SDL:https://www.microsoft.com/en-us/SDL/process/training.aspx

SDLソフトウェアのセキュリティ設計ファーストルック:https://xz.aliyun.com/t/226

 

画像は背景がhttps://shimo.im/docs/gOzSUgU0Zj4NWHzX/を表示するグラファイトリンクを開く、アップロードすることはできません、大きすぎる「11-1 SDLプレゼンテーション - 。学習教材を」

これはすなわち7つの段階に分け、SDLの全体のプロセスです。

1、安全教育

イェジンハオはこの事実を理解し、安全性は、関連するセキュリティの背景の基本的なセキュリティとプライバシーの知識と理解があなたが理解するのに役立つとの安全性を確立するためのプロセスに従いますマスターするセキュリティ研修留学生を通じてソフトウェア開発者に、主要な開発ライフサイクルの要件であります行きました。

 

2、需要

主な要求は、3つの部分に、セキュリティとプライバシーのリスク評価を実施し、品質のドア/バグバーを作成するには、セキュリティニーズの確立が含まれています。

アプリケーションプロセスにおけるセキュリティ上の欠陥は、セキュリティの専門家を割り当てる必要があり、最低限のセキュリティとプライバシー基準が規定され、展開、セキュリティとプライバシーのニーズは、それが簡単に主要なマイルストーンと成果物を識別するために作るできるだけ早く計画とスケジュールへの干渉を最小限に決定します/問題追跡システム。その開発チームが特定し、開発プロセスにおけるセキュリティリスクを修正し、この標準を実装することができるように安全性と品質要件の最低基準を設定するの開始時に、セキュリティ上の問題やリスクを理解するために開発チームに貢献しています。

主にセキュリティ上の脆弱性のしきい値を定義するために、高品質のゲートやバグバーを作成します。

そして、最終的な評価のどの部分が大きなプロジェクトのいくつかは、脅威モデリングやセキュリティレビューを含み、インパクトの対応レベルを決定する前に解放する必要が識別チームを支援することです。

 

また、ある閾値と標準を設定する必要があり、人気の理解が番組スケジュール変更の開発につながっまた、開発者の心は底部を有することができ、セキュリティ要件にハーフウェイを避けるために、セキュリティ要件を定義し、できるだけ早期にセキュリティ要件を決定することですそして最終的にプロジェクトが治安状況だけでなく、脅威のモデリングを評価することである;例えば、セキュリティの脆弱性のレベルを決定するセキュリティ問題のフィードバックメカニズムを確立する方法として。

 

3、デザイン

デザインは、確立された設計要件に分割され、脅威モデルを使用して、攻撃面分析を減らしています。

セキュリティ要件を考慮しなければならない初期の設計では、製品では、攻撃の可能性表面を分析し、修復し、このようなアクセス制限、ように最小特権の適用原則として、攻撃面を減らすために、そして最終的に、それは安全性を決定するために、より有効であることができるアプリケーション脅威のモデリング手法を持っています脆弱性と脅威のリスク、対策を確立します。

 

再強調した初期段階におけるセキュリティ要件の決意は、通常の開発プロセスのセキュリティ要件への影響を回避するために、目的です。実際には、紛争の安全保障と開発や運用・保守の便利な点は、常に、あった、さらに関連するメカニズムとレビュープロセスのセキュリティを高める関連の手続きが早い対価のセキュリティはできるだけ多くを必要とする推進と考えるべきであるので、当然、通常の開発プロセスを破壊するために、避けます操作の干渉真ん中。

 

図4に示すように、実施の形態

主要な実施形態はまた、三つの部分、すなわち、指定されたツールは廃止安全でない機能、静的分析を含みます。

出版物は、低コストの自動化を促進し、定期的にツールを更新することができ、情報セキュリティ対策を警告ツールやコンパイラなどの関連するセキュリティチェックを、指定します。危険な関数を使用して分析し、避けるため、上のようにヘッダファイルの一部として、潜在的な安全上の欠陥を減らすことができます。静的ソースコード解析は、問題を識別しやすくし、関連するコードの開発を確保するために、一方で、安全なコーディング標準に従いました。

 

ここでの焦点は、指定されたツールによってチェックされる、静的解析では、問題を見つけましたが、問題を導入することを避けるために非セキュリティ機能を放棄しました。

 

5.確認してください

動的解析、ファジング、攻撃面の検査が含まれていることを確認します。

最後は完全なコードです後、動的解析ソフトウェアの実行時監視を通じてようにセキュリティ上の問題のメモリの破損、ユーザー特権アクセスとを検出するために、同時に、意図的にテストを失敗するプログラムを引き起こし、不正な形式またはテスト・モード、ランダムなデータによって、同じことは、セキュリティ上の問題で見つけることができます再び攻撃面を確認するか、システムは、プログラムが、表面分析および修理を攻撃するように設計されていることを確認することができます。

 

動的解析することで、ファズテスト、もう一度セキュリティ状況を確認するために、プロジェクトの3つの次元を攻撃する事を確認します。

 

6、リリース

緊急時計画、最終的に安全性評価、出版、アーカイブを作成します。

状況の最終評価に続いては、監査が以前に定義された品質ドア/バグバーを含めたなど;緊急プログラムが重要である緊急連絡先を決定するなど、言ったことはなかっただろうし、すべてのコードの仕様をアーカイブおよびその他の関連文書。

 

に対応して7、

私たちは事前に確立されたインシデントレスポンスを行うことで、セキュリティやプライバシーの脆弱性の影響から、ヘルプの顧客を最大限にすることを計画、インシデント対応計画を実行します。

 

これは、それぞれが開発プロセスの異なる段階に対応する7つのフェーズのSDL、である、核となるアイデアは、開発の各段階で安全性を統合することである、つまり、私たちはしばしば言う要求分析、設計、コーディング、テスト、保守の各対応する部分は、それがセキュリティ開発プロセスにおけるセキュリティリスクを最小限に抑えるために可能になり、セキュリティ活動を増加させています。

 

その6つのコア設計の原則:

  • 攻撃を受ける危険性を低減する:攻撃面を最小限に抑えます
  • 基本的なプライバシー:ベーシックプライバシー
  • 最小特権:最小化するためのアクセス許可
  • セキュアデフォルト:デフォルトのセキュリティ
  • 深さの防衛:深層防護
  • 脅威モデリング:脅威モデリング

 

2脅威インテリジェンスと企業のセキュリティ

また、読書:

痛みのピラミッド:http://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html

STIX:https://stixproject.github.io/

CybOX:https://cyboxproject.github.io/

TAXII:https://taxiiproject.github.io/

標準参照を構築する1、脅威インテリジェンス

STIX - 構造化脅威情報表現

TAXII - インジケータ情報の信頼自動エクスチェンジ

CybOX - サイバー観察可能な表現

MAEC - マルウェア属性列挙とキャラクタリゼーション

OpenIOC - Mandiantからソースのスキーマを開きます

IODEF - インシデントオブジェクト説明交換フォーマット

CIF - 集合知の枠組み

IDXWG - インシデントデータ交換作業部会

2、STIX標準キーポイント

メインシナリオでは、次の4つのカテゴリに適用可能です

1、脅威分析。判断、分析、調査の脅威は、レコードの使用を維持します。

2、機能分類の脅威。脅威のシグネチャは、手動分類やツールを自動化されています。

3、脅威とセキュリティインシデント対応プロセス:だからない取引は、イベント詳細情報の前に行われず、セキュリティインシデントの取り扱いプロセスは適切な参照することができるなど、セキュリティインシデントを防止する検出、処理、要約します。

4、脅威情報を共有します。そして、共有が標準化されたフレームワークを用いて説明します。

 

3、TAXII標準キーポイント

サービス仕様:サービスTAXIIの型の定義、知性との情報交換フォーマットのTAXIIタイプ

メッセージ仕様:XML形式

プロトコル仕様:送信TAXIIなどのプロトコルHTTP / HTTPSを決定します。安全性の観点からのHTTPSプロトコルことができます。クエリフォーマットの指定:デフォルトのクエリの形式と処理規則を定義します。

 

 

3点の状況把握と監視と早期警戒

1、状況認識製品

1.1 Mingjianネットワークのセキュリティ状況認識速報警告プラットフォーム

1.2 360状況認識とセキュリティ運用プラットフォーム

 

2、ご理解の状況認識に

(1)状況認識は、状態識別および検証(発見された攻撃)、および必要な情報と物質の供給源の品質評価のための状況認識を含む、現在の状態を理解することです。

(2)态势理解则包括了解攻击的影响、攻击者(对手)的行为和当前态势发生的原因及方式。简单可概括为:损害评估、行为分析(攻击行为的趋势与意图分析)和因果分析(包括溯源分析和取证分析)。

(3)态势预测则是对态势发展情况的预测评估,主要包括态势演化(态势跟踪)和影响评估(情境推演)

3、在线态势感知平台

1、全景网络安全防御系统

http://guanjia.qq.com/system/preloader.html

2、网络安全威胁信息共享平台

https://share.anva.org.cn/index

3、腾讯位置大数据

https://heat.qq.com/

4、360流量监控平台

http://scan.netlab.360.com/#/dashboard

4、态势感知的应用价值

1、应对关键性威胁:快速发现失陷主机;全面的Web安全保障。

2、提升分析研判能力:分析研判保障事件正确响应处置、逐步完善防御架构;依赖外部威胁情报和本地的流量日志进行有效的分析研判。

3、信息与情报共享:实现本行业、本领域的网络安全监测预警和信息通报;研判分析和情报共享是预警、预测的基础。

4、履行行业监管职责:边界流量探针、云监控和外部情报监测等优选检测手段,实现对行业的监管。

 

4 漏洞生命周期与漏洞的披露

扩展阅读

漏洞披露究竟怎么做更”合适“?看看美国相关部门怎么看 https://www.freebuf.com/articles/neopoints/123847.html

专家 | 黄道丽:网络安全漏洞披露规则及其体系设计 https://blog.csdn.net/kevin_bobolkevin/article/details/79408610

谷歌披露Windows关键漏洞惹怒微软 因只给了10天反应期 http://tech.qq.com/a/20161101/040313.htm

1、安全漏洞生命周期

         安全漏洞指信息系统中存在的缺陷或不适当的配置,它们可使攻击者在未授权情况下访问或破坏系统,导致信息系统面临安全风险。利用安全漏洞来造成入侵或破坏效果的程序就称为渗透代码(Exploit),或者漏洞利用代码。

围绕着安全漏洞生命周期所进行的攻防技术,一直是安全社区永恒的话题,而一个典型的安全路东生命周期包括如下7部分:

一、 安全漏洞研究与挖掘

         由高技术水平的黑客与渗透测试师开展,主要利用源代码审核(白盒测试)、逆向工程(灰盒测试)、Fuzz测试(黑盒测试)等方法,挖掘目标系统中存有的可被利用的安全漏洞。

二、渗透代码开发与测试

         在安全漏洞挖掘的同时,黑客会开发概念验证性的渗透攻击代码(POC),用于验证找到的安全漏洞是否确实存在,并确认其是否可被利用。

三、安全漏洞和渗透代码在封闭团队中流传

         在发现安全漏洞并给出渗透攻击代码后,负责任的“白帽子”们采取的处理策略是首先通知厂商进行修补,而在厂商给出补丁后再进行公布;而“黑帽子”与“灰帽子”一般在封闭小规模团队中进行秘密地共享,以充分地利用这些安全漏洞和渗透攻击代码所带来的攻击价值。

四、安全漏洞和渗透代码开始扩散

         由于各种原因,在封闭团队中秘密共享的安全漏洞和渗透代码最终会被披露出来,在互联网上得以公布,“黑帽子”会快速对其进行掌握和应用,并在安全社区中快速扩散。

五、恶意程序出现并开始传播

“黑帽子”将在掌握安全漏洞和渗透代码基础上,进一步开发更易使用、更具自动化传播能力的恶意程序,并通过黑客社区社会组织结构和互联网进行传播。在此过程中(或之前或之后),厂商完成补丁程序开发和测试,并进行发布。

六、 渗透代码/恶意程序大规模传播并危害互联网

厂商发布补丁程序和安全警报将进一步地让整个黑客社区了解出现新的安全漏洞和相应的渗透代码、恶意程序,更多的“黑帽子”将从互联网或社区关系网获得并使用这些恶意程序,对互联网的危害也在这个阶段达到顶峰。

七、渗透攻击代码/攻击工具/恶意程序逐渐消亡

在厂商补丁程序、安全公司提供的检测和移除机制得到广泛应用后,相应的渗透代码、恶意程序将被“黑帽子”逐渐抛弃,从而慢慢消亡。

         安全漏洞生命周期如下图所示:

 在安全漏洞生命周期内,从安全漏洞被发现到厂商发布补丁程序用于修补该漏洞之前,安全社区普遍称为"0day"。在这段时间,黑客们攻击存有该安全漏洞的目标可以达到百分之百的成功率,同时也可以躲避检测,在“0day”的安全漏洞和对应的渗透代码对于黑客社区具有很高的价值,挖掘“0day”安全漏洞并给出渗透代码也成为高水平黑客的追求目标。

参考链接:https://blog.csdn.net/henni_719/article/details/77947938

 

5 安全自动化协议SCAP

扩展阅读:

SCAP官方页面: https://csrc.nist.gov/projects/security-content-automation-protocol/

 

1、SCAP中文社区

SCAP中文社区是一个开放的安全资讯聚合与利用平台,其使命是促进SCAP系列标准在中国的采纳与应用。当前的社区中集成了SCAP框架协议中的CVE、OVAL、CPE等3种网络安全相关标准数据库。用户可以方便地使用本站对CVE漏洞库、OVAL漏洞检查语言以及CPE平台列表进行查询。

 

截止现在,SCAP中文社区主要收录了近6万条CVE数据(2002年以来),以及14000余条OVAL数据。并提供了有史以来最为详细的CVE中文解释以和OVAL的判定逻辑表达式的解析。SCAP中文社区在深入分析大量数据的基础上,完成了CVE与OVAL之间的映射:即如果一个CVE漏洞存在相应的OVAL漏洞检查技术细节,那么在在两个数据之间会有直接的链接,点击相关链接能够相互跳转(如CVE-2013-0095),这为漏洞分析人员的工作提供了极大的方便。此外,社区还完成了与CNNVD完整库的映射,通过CVE可以很方便地查看相关的中国国家信息安全漏洞库资源。

 

CVE数据库:http://cve.scap.org.cn

可以通过关键字、厂商和软件名称对CVE数据进行检索分析:http://cve.scap.org.cn/

OVAL数据库:http://oval.scap.org.cn

 

2、OVAL

OVAL由MITRE公司开发,是一种用来定义检查项、脆弱点等技术细节的一种描述语言。OVAL同样使用标准的XML格式组织其内容。它提供了足够的灵活性,可以用于分析Windows、Linux、Unix以及各种嵌入式操作系统的系统状态、漏洞、配置、补丁等情况,而且还能用于描述测试报告。OVAL能够清晰地对与安全相关的检查点作出描述,并且这种描述是机器可读的,能够直接应用到自动化的安全扫描中。OVAL的核心是“公开”(Open),这就意味着任何人都可以为OVAL的发展作出自己的贡献,共享知识和经验,避免重复劳动。 实际上XCCDF设计的目标是能够支持与多种基础配置检查技术交互。其中推荐的,默认的检查技术是MITRE公司的OVAL。在实际的SCAP应用中,XCCDF和OVAL往往是成对出现,XCCDF定义检查单,而OVAL定义每个检查项的具体实施细节。

 

OVAL以XML格式描述,包含如下几种XML格式(Schema):OVAL定义格式(OVAL Definition Schema),OVAL系统特性格式(OVAL System Characteristics Schema)与OVAL结果格式(OVAL Result Schema)。OVAL系统特性格式用于描述系统信息快照,该快照可用于和OVAL定义文件进行匹配以得出评估结果,OVAL结果格式用于描述评估结果。

 

在三种OVAL格式中,OVAL定义格式占有较为重要的位置,OVAL定义格式提供了一种机器可读的对系统进行安全评估的操作指南,它可用来描述系统的配置信息、分析系统的安全状态、报告评估结果等。典型的OVAL定义格式的XML文档由定义(Definition)、测试(Test)、对象(Object)、状态(State)和变量(Variable)等要素构成,其结构比较简单,主要是将各个要素以枚举的方式列出,如图1所示。

 

 

6 SCAP的应用与示例

扩展阅读:

分值计算的示例可以参考: https://www.first.org/cvss/examples          https://www.first.org/cvss/specification-document

心脏出血漏洞:

https://nvd.nist.gov/vuln/detail/CVE-2014-0160

CVSS 3.0计算器: https://www.first.org/cvss/calculator/3.0

CWE树状图: https://nvd.nist.gov/vuln/categories/cwe-layout

利用SCAP有效进行主机安全管

理: https://www.edu.cn/info/fei/wang_luo/an_quan_ji_shu/201303/t20130306_912136.shtml

 

 

1、OVAL学习笔记

OVAL由MITRE公司开发,是一种用来定义检查项、脆弱点等技术细节的一种描述语言。OVAL同样使用标准的XML格式组织其内容。它提供了足够的灵活性,可以用于分析Windows、Linux、Unix以及各种嵌入式操作系统的系统状态、漏洞、配置、补丁等情况,而且还能用于描述测试报告。OVAL能够清晰地对与安全相关的检查点作出描述,并且这种描述是机器可读的,能够直接应用到自动化的安全扫描中。OVAL的核心是“公开”(Open),这就意味着任何人都可以为OVAL的发展作出自己的贡献,共享知识和经验,避免重复劳动。 实际上XCCDF设计的目标是能够支持与多种基础配置检查技术交互。其中推荐的,默认的检查技术是MITRE公司的OVAL。在实际的SCAP应用中,XCCDF和OVAL往往是成对出现,XCCDF定义检查单,而OVAL定义每个检查项的具体实施细节。

 

OVAL以XML格式描述,包含如下几种XML格式(Schema):OVAL定义格式(OVAL Definition Schema),OVAL系统特性格式(OVAL System Characteristics Schema)与OVAL结果格式(OVAL Result Schema)。OVAL系统特性格式用于描述系统信息快照,该快照可用于和OVAL定义文件进行匹配以得出评估结果,OVAL结果格式用于描述评估结果。

 

 

 

 在三种OVAL格式中,OVAL定义格式占有较为重要的位置,OVAL定义格式提供了一种机器可读的对系统进行安全评估的操作指南,它可用来描述系统的配置信息、分析系统的安全状态、报告评估结果等。典型的OVAL定义格式的XML文档由定义(Definition)、测试(Test)、对象(Object)、状态(State)和变量(Variable)等要素构成,其结构比较简单,主要是将各个要素以枚举的方式列出

定义”是最重要的构成元素,它会引用一个或多个“测试”,根据“测试”的结果综合判定整体的结果,“测试”使用“对象”和“状态”与系统交互并得出检查结果,“状态”可以使用固定值或引用“变量”中的值。OVAL各组成要素之间的逻辑关系如下图。在下图中,Definition1包含两个“测试”Test1和Test2,假设其判定标准为AND的逻辑关系,那么如果两个Test均为True,整个Definition1结果为True。举例来说,如果Test1测试结果为True,Test2测试结果为False,根据Definition1中的判定条件Test1=True AND Test2=True,整个Definition的测试结果为False。

 

 

OVAL定义

 

“定义”(Definition)用于描述如何对某一特定安全问题进行检查,通常一个OVAL文档中包含多个“定义”。主要有四类定义,分别是漏洞(Vulnerability):描述如何根据系统状态判定系统中是否存在某个特定漏洞;补丁(Patch):与漏洞定义类似,但它更关注如何判定系统中是否安装了某个特定补丁;软件(Inventory):描述如何对系统中是否安装了某个特定的软件进行判定;合规(Compliance):描述如何对系统是否满足某个特定的配置要求进行判定。表1是一个OVAL定义的示例数据。

 

OVAL测试

“测试”(Test)通过定义一组OVAL对象(Object)和OVAL状态(State)执行,OVAL 测试的数据结构如表2所示,而图2则较为清晰地表达了OVAL测试中OVAL对象与OVAL状态是如何相互配合执行测试。

 

 

OVAL对象

 

“对象”(Object)用来描述测试主体,由于测试主体类别众多(如注册表、组策略、文件、软件包等),因此Object的类型也很多,且每种类型的数据结构各不相同。下面是一个passworkpolicy_object的定义,可以看出系统策略类的OVAL对象只需要指明一个id即可被解释器识别:

<passwordpolicy_object id="oval:gov.nist.usgcb.windowsseven:obj:27" version="2"/>

 

下面是一个registry_object的定义,可以看到注册表类OVAL对象需要指明注册表Hive、注册表键和注册表项的名称:

 

<registry_object id="oval:gov.nist.usgcb.winseven:obj:16" version="2">

<hive>HKEY_LOCAL_MACHINE</hive>

<key>SOFTWARE\Policies\Microsoft\PCHealth\ErrorReporting\DW</key>

<name>DWAllowHeadless</name>

</registry_object>

 

OVAL状态

 

“状态”(State)用来描述测试主体的参考状态值,同OVAL对象类似,State也分为多种类型,每种类型的数据结构不相同,下面是一个passwordpolicy_state的定义:

 

<passwordpolicy_state id="oval:gov.nist.usgcb.winseven:ste:33" version="2">

<min_passwd_len operation="greater than or equal" datatype="int" var_ref="oval:gov.nist.usgcb.winseven:var:22"/>

</passwordpolicy_state>

可以在Value中使用正则表达式以更好的完成字符串匹配工作。下面是一个registry_state的定义,用来识别注册表中获取的值能与字符串“Windows 7”相匹配。

 

<registry_state id="oval:org.mitre.oval:ste:5027" version="4" comment="Matches with Windows 7">

<value operation="pattern match">

^[a-zA-Z0-9\(\)\s]*[Ww][Ii][Nn][Dd][Oo][Ww][Ss] 7[a-zA-Z0-9\(\)\s]*$

</value></registry_state>

可以看出,OVAL状态中可以使用var_ref引用一个OVAL变量表示OVAL状态的值,或者直接将值写入到value节点中。

 

OVAL变量

 

“变量”(Variable)定义了执行测试时State所需的值,其有三种类型:常量(constant_variable)、本地变量(local_variable)和外部变量(external_variable)。常量定义一个不能在运行时改变的值,本地变量定义在OVAL中直接使用的值,而外部变量通常用于将XCCDF的Value值传递到OVAL中。下面是一个外部变量的定义:

 

<external_variable comment="Minimum Password Length is greater than or equal to the prescribed value" datatype="int" id="oval:gov.nist.usgcb.winseven:var:22" version="2"></external_variable>

 

 

 

 

 注:以上大多转自破壳笔记学习资料,欢迎大家前来报名学习

 

おすすめ

転載: www.cnblogs.com/klsfct/p/11204588.html