일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Bigdata
- docker
- 스노트
- GitLab
- 유닉스
- Snort
- Python
- 보안기사실기
- DreamHack
- 데이터모델링
- snort2.9
- 정보보안산업기사
- gns3
- 정보보안기사
- 드림핵
- 정보보안
- dreamhack.io
- 모의해킹
- 리눅스보안
- 기아
- NQ5
- VMware
- 취약점진단
- 리눅스
- 웹모의해킹
- NEXUS
- 보안컨설팅
- M1
- AI
- Synology
- Today
- Total
목록취약점진단 (5)
Security_Analysis

직접 진단한 결과를 DB에 저장까지 했으니, 이 결과들을 가지고 취약점 예측 모델을 만들어야 한다. 진단 Tool 제작_4 (데이터 저장) 내가 생각한 학습 모델은 다음과 같다. 1). DB에 저장된 현황과 결과를 학습하여 각 "양호", "취약", "N/A", "인터뷰" 등의 결과를 내야 하고 2). 진단 시 오탐률은 최대한 적어야 한다. 맨 처음글에서도 썼지만, 취약점 자동화 솔루션들은 특정 설정값 존재여부에 대해 확인하고 존재하는 경우 : 양호 / 존재하지 않는 경우 : 취약 => 즉 설정값 과 기준 값의 1 : 1 Mapping 을 통한 진단 이라는 것그럼 기준에는 적합하지 않지만 양호의 결과가 존재한다면..? 예를 들어 이런 항목이다. =================..

이제 데이터를 저장해야 한다. 진단 Tool 제작_3 (데이터 분할 및 데이터 프레임화 코드 변경) DB에 Label 결과가 없는 상태로 1차 저장을 하고 Label 값을 사람이 넣고 난 후에 해당파일을 다시 넣으면 Label을 진행하여 각 현황에 맞는 결과를 DB에 저장한다. DB에 저장을 하기 위해서 코드를 작성했다.if os_db_path: os_conn = sqlite3.connect(os_db_path) os_cursor = os_conn.cursor() os_cursor.execute('SELECT COUNT(*) FROM processed_files WHERE filename = ?', (file_name,)) i..

앞서 글에서 데이터 분할은 완료하였고, 데이터 프레임도 했었는데 한가지 의문이 생겼다. 진단 Tool 제작_1 (데이터 분할) (tistory.com) 데이터 분할을 한다는 것은 "Script 결과" 를 특정 항목별로 분리해서 U-01.txt 와 같이 분리하는 것이였다. 그렇다면, 구조는 아래와 같다 " 원본 스크립트 파일 " 을 분할하여 "항목별 텍스트 파일" 결과를 가지고 "데이터 프레임화" 하는 것이다. 원본 결과를 가지고도 데이터프레임화를 할 수 있는데 굳이 항목별로 텍스트 파일을 만들어야 하는 의문이 생겼다. 특정 문구를 가지고 Parsing 하면서 나머지 데이터를 지우면..항목별 텍스트 파일 결과가 왜 필요하지..??그리하여, 나는 "원본 스크립트 결과 파일" 을 통해 데이터 프레임화 하기로..
주요정보통신기반시설, 전자금융기반시설, ISMS 등 ... 각 취약점 진단에 항목이 존재한다. 스크립트를 수행하면 그 항목의 1번부터 마지막번호까지 합쳐져서 하나의 텍스트파일로 떨어진다. 물론 이 텍스트 파일을 열어서 특정 값을 기준으로 데이터를 추출할 수도 있지만, 사내 스크립트에는 Reference 기능이 있다. 내가 사용하고 검색한 파일에 대해서 내용을 긁어오는 것이다. 그러다보니, 불필요한 정보들이 너무 많아서 파일의 크기가 큰 경우에는 100MB를 넘어가기도 한다. 이런 파일들을 Open 하고 Readline 으로 한줄씩 읽어버리면 너무나도 많은 시간이 소요되기 때문에하나의 스크립트 결과를 항목 코드별로 분할했다. U-01.txtU-02.txtU-03.txtU-04.txtU-45.txtU-..