본문 바로가기

전체 글

API 호출 구간 특성 기반 악성코드 탐지 기술 1. 서론 - 4차 산업혁명 발전에 따라 악성코드 피해 심각해질 것으로 예측 악성코드 분류 기술- 실행기반 동적분석 ( 분석환경 회피 기술, 은닉화, 파일리스 등의 공격 방법으로 분석에 한계 존재)- 코드기반 정적분석 ( 코드난독화 등의 기술에 따라 분석에 한계 존재)  악성코드와 정상 파일을 분류하기 위해 머신러닝에서 사용할 수 있는 특성인자 추출 방법 제안- API (Application Programming Interface) 활용-> 바이너리에 포함된 API를 추출하여 aPI의 호출 빈도, 호출시간 등의 특성에 따라 정상과 악성 바이너리 학습,코드 엔트로피의 특성을 병합하여 다양한 기계학습 알고리즘을 적용하는 방법  2. 관련 연구 2.1. 서명 탐지- 전통적으로 악성코드의 특징들을 모아 저장 후.. 더보기
백준_1063번 킹 보호되어 있는 글입니다. 더보기
백준 queuestack 문제와 조건은 다음과 같다.   queue와 stack의 두 자료구조가 주어지며, 각각의 자료구조에는 여러 개의 원소가 들어갈 수 있다.입력받은 원소를 자료구조의 순서에 따라 삽입하고, 맨 앞부터 순서대로 처리해야 한다는 점에서 queue의 선입선출(FIFO)와 stack의 후입선출(LIFO) 성질을 고려해야 한다.N개의 자료구조 중 각 자료구조의 타입이 주어짐 (0은 큐, 1은 스택)N개의 자료구조에 각각 주어진 원소들이 리스트로 주어지고, 이를 순서대로 queue 또는 stack에 넣어야 한다.N개의 자료구조에 원소를 순서대로 삽입하고, 각 자료구조의 앞에 원소를 삽입할지 뒤에 삽입할지를 결정해야 한다.삽입된 원소들을 차례대로 꺼내야 하고 최종적으로 모든 원소를 차례대로 반환해야 한다.     imp.. 더보기
Rootme Directory traversal 문제에 들어오니 이와 같은 화면이 떴다. 각 메뉴들을 눌러보니 누를 때마다 url 끝 부분이 메뉴의 이름으로 바뀐다. url에 뒷 부분을 지워봤더니 86hwnX2라는 아이가 새롭게 생겼다. 클릭해보니 클릭이 안 돼서 저 이름을 galerie 뒤에 넣었다. 사라졌다;;; 풀네임이 r까지 붙은 86hwnX2r이었다. 제대로 된 이름으로 치니까 password 칸이 떴다. 얘도 마찬가지로 password.txt까지 url 끝 부분에 쳤다. 어라.. 어라....하하 galerie = 뒤에 붙이지 않고 galerie/뒤에 쓰니까 패스워드가 떴다. 더보기
악성코드-4주차 windows10 가상머신 생성 마이크로소프트 홈페이지에서 windows10 설치 미디어 만들기 다운로드를 눌렀다.   iso 파일을 만들었다.       여기서 하이퍼바이저 플랫폼을 키면 된다고 하는데 켜져 있는 상태이다...일단 급한대로 윈도우7으로 진행했다.본가에 가서 버추얼박스가 진행되는 다른 노트북으로 진행해보겠다...동적 분석- 실행 중인 프로그램의 행동을 관찰하여 악성코드, 소프트웨어 오류, 성능 문제 등을 분석하는 방법- 프로그램이 실행되면서 발생하는 실제 행위를 관찰할 수 있으므로 코드 내부의 숨겨진 동작이나 조건부 실행 부분도 파악할 수 있다.  동적 분석 목적악성코드의 실제 행동 분석: 악성코드가 실행되면서 어떤 파일을 생성하거나 네트워크에 접근하는지 레지스트리나 시스템 설정을 변경하.. 더보기
드림핵 file-download-1 문제 서버를 생성하고 들어가보니 이와 같은 화면이 떴다. Upload My Memo로 들어가니 무언가 작성할 수 있는 페이지가 떴다. 파일을 마음대로 만들어보니 파일 목록에 생성된 파일이 떴다. #!/usr/bin/env python3 import os import shutil from flask import Flask, request, render_template, redirect from flag import FLAG APP = Flask(__name__) UPLOAD_DIR = 'uploads' @APP.route('/') def index(): files = os.listdir(UPLOAD_DIR) return render_template('index.html', files=files) @APP... 더보기
드림핵 pathtraversal 문제를 열어보고 view를 누르니 이런 창이 떴다.#!/usr/bin/python3from flask import Flask, request, render_template, abortfrom functools import wrapsimport requestsimport os, jsonusers = { '0': { 'userid': 'guest', 'level': 1, 'password': 'guest' }, '1': { 'userid': 'admin', 'level': 9999, 'password': 'admin' }}def internal_api(func): @wraps(func) def deco.. 더보기
백준_2346번 풍선 터뜨리기 문제와 입출력 설명은 다음과 같다. N개의 풍선이 원형으로 배치됨각 풍선에는 이동할 거리와 방향을 나타내는 숫자가 있음무조건 1번 풍선부터 시작터진 풍선은 건너뛰고 이동해야 함결과는 터진 순서대로 풍선 번호를 출력 풍선 상태를 추적해야 하고 터진 순서를 기록, 각 풍선의 이동 값은 그대로 사용이 가능하다. 이동 로직현재 풍선을 터트리고 번호를 저장이동 거리와 방향을 확인 (양수: 오른쪽, 음수: 왼쪽)터진 풍선을 건너뛰면서 이동풍선 번호는 1부터 시작하지만, 내부 인덱스는 0부터 시작원형 구조를 고려한 이동 처리터진 풍선을 건너뛰는 로직 구현      def solve_balloon(N, numbers): # 풍선의 상태를 저장 (False: 터지지 않음, True: 터짐) popped = [.. 더보기