Ejemplo n.º 1
0
        private void ParseStigChildNodes(DataRow dataRow, StigCheck stigCheck)
        {
            DataRow[] childRows = dataRow.GetChildRows("VULN_STIG_DATA");
            foreach (DataRow childRow in childRows)
            {
                switch (childRow["VULN_ATTRIBUTE"].ToString())
                {
                case "Vuln_Num":
                {
                    stigCheck.VulnId = childRow["ATTRIBUTE_DATA"].ToString();
                    break;
                }

                case "Severity":
                {
                    stigCheck.Severity = childRow["ATTRIBUTE_DATA"].ToString();
                    break;
                }

                case "Rule_Title":
                {
                    stigCheck.Title = childRow["ATTRIBUTE_DATA"].ToString();
                    break;
                }

                case "Rule_ID":
                {
                    stigCheck.RuleId = childRow["ATTRIBUTE_DATA"].ToString();
                    break;
                }

                case "Responsibility":
                {
                    stigCheck.Responsibility = childRow["ATTRIBUTE_DATA"].ToString();
                    break;
                }

                case "Documentable":
                {
                    stigCheck.IsDocumentable = bool.Parse(childRow["ATTRIBUTE_DATA"].ToString());
                    break;
                }

                default:
                { break; }
                }
            }
        }
Ejemplo n.º 2
0
        private List <StigCheck> IngestChecklist(string checklist)
        {
            List <StigCheck> stigList = new List <StigCheck>();
            DataSet          dataSet  = new DataSet();

            dataSet.ReadXml(checklist);
            foreach (DataRow dataRow in dataSet.Tables["VULN"].Rows)
            {
                StigCheck stigCheck = new StigCheck();
                stigCheck.Status                = dataRow["STATUS"].ToString();
                stigCheck.FindingDetails        = dataRow["FINDING_DETAILS"].ToString();
                stigCheck.Comments              = dataRow["COMMENTS"].ToString();
                stigCheck.SeverityOverride      = dataRow["SEVERITY_OVERRIDE"].ToString();
                stigCheck.OverrideJustification = dataRow["SEVERITY_JUSTIFICATION"].ToString();
                ParseStigChildNodes(dataRow, stigCheck);
                stigList.Add(stigCheck);
            }
            return(stigList);
        }