[인공지능 보안을 배우다] 나홀로 프로젝트 도전_1130

daniayo·2024년 11월 30일

오늘의 목표 : 시험기간 이슈로 많은 욕심을 버리고,, 악성코드 분석 전까지만 해보겠다.

3장. 핵심 파이썬 기능

핵심 패키지


실습자료를 찾기 위해 정말 머나먼 길을 걸었습니다..
하지만 저는 결국 찾아냈지요. 하하. 근데 다운로드 겁나 오래 걸려요..
https://github.com/bjpublic/Ai-learnsecurity?tab=readme-ov-file

3가지 데이터 조작 패키지에 대해 공부해보았다.

1. Numpy (Numpy.ipynb)
Numpy는 대규모 다차원 배열을 자르고, 붙이고, 뽑아내고, 정리하는 작업을 도와주는 패키지이다.

  • Numpy 사용하기
  • Numpy 배열
  • 배열 생성하기
  • 배열 요소 접근 및 범위 선택
  • 배열 다루기

2. Pandas (Pandas.ipynb)
Pandas는 데이터프레임 자료형을 제공하는 패키지로, 데이터 분석을 보다 쉽고 직관적으로 할 수 있도록 도와준다. 데이터프레임도 배열과 마찬가지로 행과 열을 가지는 자료형이지만, 행 번호와 열 이름을 가질 수 있다는 점에서 차이를 보인다.

  • Pandas 사용하기
  • 파일 불러오기 / 저장하기
  • Pandas 자료형
  • DataFrame

3. Matplotlib (Matplotlib.ipynb)
Matplotlib는 대표적인 파이썬 시각화 패키지로, 주어진 데이터를 다양한 형태의 그림으로 표현해준다.

_시각화 기능을 사용할 때 반드시 알아야 할 주의사항
1. 그래프마다 요구되는 입력 데이터의 조건과 형식이 다르다.
2. 모든 그래프에는 옵션값이 존재한다.
3. 2차원 그래프가 가장 직관적이다.

4. Scikit-learn (sklearn)
제공하는 기능으로는 분류, 회귀, 클러스터링, 차원 축소, 모델 선택, 전처리가 있다.

  • 모델 구축 과정 (데이터 준비됨을 가정함)
    1. 적용할 모델 알고리즘 선택
    2. sklearn 문서에서 해당 알고리즘 검색
    3. 알고리즘 설명과 함께 제공되는 예시 코드 확인
    4. 예시 코드를 참고해 코드를 작성

4장. 악성코드 탐지와 분석

1. 악성코드 이해

악성코드는 컴퓨터(사용자)에 악영향을 끼칠 수 있는 모든 코드 또는 프로그램을 의미한다.

악성코드 유형

  • 바이러스 : 다른 파일을 감염시키는 악성 프로그램
  • 웜 : 자기 복제와 확산 기능을 가지는 악성 프로그램
  • 트로이 목마 : 정상 프로그램으로 가장한 악성 프로그램
  • 스파이웨어 : 컴퓨터 사용자의 활동을 감시하는 프로그램
  • 애드웨어 : 악성 광고를 담고 있는 프로그램
  • 랜섬웨어 : 데이터를 암호화하여 볼모로 잡고 몸값을 요구하는 프로그램

악성코드의 최종 목적은 코드를 실행하는 것이다.
악성코드 제작자가 모든 윈도우 제품군에 존재하는 치명적인 원격 취약점 공격 코드를 확보하는 것을 제로데이 취약점이라고 한다. 즉, 방어자 입장에서 한번도 보지 못한 새로운 소프트웨어 취약점이다.
악성코드의 동작 방식은 악성코드의 유포 및 형식에 따라 달라진다. 악성코드가 실행하는 코드는 2가지 부분으로 나눌 수 있다.

  • 운영체제 상호작용 부분 : 파일, 네트워크, 프로세스, 레지스트리 등
  • 악성코드 자체 알고리즘 : 보호 기법, 데이터 암호화, 기능 실행 순서/방법

모든 악성코드는 최초 감염부터 목적 코드 실행, 추가 감염 또는 지속적인 권한 유지의 흐름을 가지고 있다.

profile
댜니에요

0개의 댓글