최근, 새로운 연구 주제 선정 겸 ML 및 DL을 사용한 악성코드 탐지 방법 동향이 궁금해져 논문 Review를 시작하였다. 기존에도 몇몇 논문들을 분석하였으나, 기록들을 하지 않았고 그로 인해 어떤 논문을 분석했는지 알 수 없어 기록하고자 한다. 이번에 분석하고자 하는 논문은 Feature Selection for Malware Detectiona Based on Reinforcement Learning이며 2019년에 IEEE Access에 Publish되었다. 추가적인 논문 정보는 아래와 같다. https://ieeexplore.ieee.org/document/8920059 Feature Selection for Malware Detection Based on Reinforcement Learnin..
1. NAT(Network Address Translation)란? NAT에 대해서 이해를 하기 위해서는 공인 IP(Public IP)와 사설 IP(Private IP)에 대한 사전 지식이 필요하다. (공인 IP 및 사설 IP는 더보기에 정리하였습니다!) 더보기 공인 IP와 사설 IP 공인 IP는 공용 IP로 불리며 외부에 공개되어 있는 IP를 의미하고, 사설 IP는 IPv4의 주소 부족 문제를 해결하고자 하나의 공인 IP에 사설망을 구성해 각기 다른 주소로 할당된 IP를 의미한다. 일반적인 블로그 및 여러 네트워크 관련 서적을 보면 NAT란 "IP 패킷에 적힌 소켓 주소의 포트 숫자와 목적지의 IP주소를 재기록하며 라우터(공유기 등)를 통해 네트워크 트래픽을 주고 받는 기술"로 정의되어 있다. 하지만,..
최근, 연구실의 서버를 설치하고 환경을 구축하는데 에러가 많이 발생하여 빠르게 해결하고 같은 실수를 하지 않기 위해 기록을 해야겠다고 생각했다. 1. 에러 내용 연구실의 Windows 컴퓨터에 OpenSSH Server를 설치하고 서비스를 실행하기 위해 Start-Service 명령어로 실행을 하였더니 "OpenSSH Service 서비스를 시작할 수 없다"는 에러가 발생하였다. #입력한 명령어 Start-Service sshd # 에러 내용 Start-Service : 다음 오류로 인해 'OpenSSH SSH Server (sshd)' 서비스를 시작할 수 없습니다. '.' 컴퓨터의 sshd 서비스를 열 수 없습니다. 위치 줄:1 문자:1 + Start-Service sshd + ~~~~~~~~~~~~~..
TCP1P CTF에 참가하여 Forensic 관련 문제를 풀던 중 NTFS의 ADS에 대해 새롭게 알게 된 부분이 있어 추가적인 공부를 진행하였다. 1. ADS(Alternate Data Stream)란? A다른 스트림 데이터 스트림으로 쉽게 설명하면 파일 내의 파일(데이터)이다. 일반적으로, 텍스트 파일(.txt)이나 실행 파일(.exe)의 텍스트 내용이나 실행 코드는 $Data 영역에 저장된다. 하지만, MacOS에서 사용하는 파일 시스템(HFS)은 Data 영역과 Resource 영역을 분리하여 사용하게 되는데 이러한 MacOS HFS과의 호환성을 위해 사용하는 기능이다. 2. ADS를 어떻게 사용할까? 우선, "ntfs ads test" 텍스트를 가진 텍스트 파일(.txt)을 하나 생성한 후 내용..
Dreamhack 웹 해킹 강의 중 Blind SQL Injection 부분의 코드를 보고 이때까지 해왔던 코딩과 다르다는 것을 느껴 코드 분석을 진행하고 Python에서 주로 사용하는 Class와 Self에 대해 추가적인 공부를 진행하였다. [그림 1]은 Dreamhack에서 제공하는 코드이다. 해당 코드 내부를 자세히 보면 __init__ 함수에 첫번째 인자가 self인 것을 볼 수 있다. import requests import sys from urllib.parse import urljoin class Solver: """Solver for simple_SQLi challenge""" # initialization def __init__(self, port: str) -> None: self._c..
1. 에러 내용 Git의 pull 명령어를 사용하여 원격 저장소에 존재하는 프로젝트를 가져오려고 하였으나 [그림 1]과 같이 fatal: not a git repository (or any parent up to mount point [Directory])에러가 발생하였다. Git에 대한 정보가 담긴 파일이 존재하지 않아 발생한 오류이다. 2. 해결방안 Git에 대한 정보가 없으므로 아래와 같이 Git을 초기화하고 새로운 Origin을 추가하면 해결된다. git init git remote add origin https://github.com/[Github 계정]/[저장소 주소].git
1. Autoencoder 란? Autoencoder(오토인코더)는 대표적인 비지도 학습 중 하나로 Input Layer, Hidden Layer, Output Layer로 구성되어 있으며, Encoder과 Decoder 과정으로 나뉘어진다. Encoder 과정은 Input Layer에서 Hidden Layer로 이어지는 구간에서 데이터 압축이 이루어지는 구간을 의미하고 Decoder 과정은 Hidden Layer에서 Output Layer로 이어지는 구간에서 데이터 복원이 이루어지는 구간을 의미한다. 이때 Encoder 과정에서 추출한 의미있는 데이터(정보)를 Z로 표시하며 Latent Vector, Latent Variable, Feature 등 다양한 단어로 불린다. 구체적인 동작 과정은 다음과 같..
최근 6개월 간 포렌식에 관해서 공부를 거의 진행하지 않아, 포렌식에 대해서 공부를 다시 해야겠다라고 마음을 먹은 후 관련 자료를 찾다 Windows 11 Artifact 와 관련된 자료를 발견하였다. New Windows 11 Pro (22H2) Evidence of Execution Artifact! - AboutDFIR - The Definitive Compendium Project By: Andrew Rathbun and Lucas Gonzalez Background In the last week of December 2022, on the Digital Forensics Discord Server, some discussion was brought up by a member in the #com..