IT 114

[DirtyCOW] memory mapping, mmap(), Copy on Write

memory mapping memory mapping이 뭔가요? 일반적으로 file에 access(open, read, write, ...)하는 방식은 두 가지가 있다. 1) by I/O Operation파일에 접근할 때마다 매번 system call을 통해 kernel을 깨워야 함-> overhead가 발생해버린다. 2) by memory mapping처음에 파일의 내용을 프로세스의 메모리에 한번 mapping해 두면,이후에 파일 내용에 접근할 때는, system call이 아니라, 메모리 주소를 통해 직접 접근  -> overhead 최소화! memory mapping by mmap() system callvoid *mmap(void addr[.length],  시작 주소: 어디에다가부터 mappin..

IT/시스템 보안 2024.05.14

[Memory management] Paging

이전 글 2024.05.01 - [IT/컴퓨터구조, 운영체제] - [Memory management] Memory virtualization, Dynamic relocation, Segmentation [Memory management] Memory virtualization, Dynamic relocation, Segmentation💡Memory virtualization & Address Space - for Abstraction OS는 physical memory를 virtualize하여,각 프로세스가 전체 메모리를 전부 사용하는 것처럼 보이게 한다. Virtual address를 Physical address로 translate하는 것은 OSintoky.tistory.com 💡3. Paging..

[TF-IDF(Term Frequency-Inverse Document Frequency)] 계산 과정, 강점

TF-IDF의 계산 과정 ✅DTM(Document-Term Matrix): 각 문서들 (행)에서 각 단어들 (열)이 등장한 횟수가 담긴 행렬 여기서 문서를 d, 단어를 t, 문서의 총 개수를 n이라고 하겠다. 그러면... ✅tf(d,t): 특정 문서 d에서의 특정 단어 t의 등장 횟수. (= DTM의 각 셀의 값) ✅df(t): 특정 단어 t가 등장한 문서의 수. ✅idf(t): df(t)에 (대략) 반비례하는 수. ✅TF-IDF: TF와 IDF를 곱한 값.  TF-IDF의 강점 DTM에 비해 TF-IDF는 각 단어의 중요성도 반영하여 처리한다는 강점이 있다.TF의 역할: 어떤 단어가 특정 문서에서 많이 등장했다면 가중치를 높혀줌IDF의 역할: 어떤 단어가 많은 문서에서 등장했다면 가중치를 낮춰줌 ∵ d..

IT/인공지능 2024.05.12

[Naive Bayes Algorithm] 원리, 종류, 주의사항

Naive Bayes Algorithm의 원리 E2가 참일 때, E1도 참일 확률 (즉, 조건부 확률)은 아래와 같다. 위 원리를 이용하여,feature X가 만족되었을 때, class Ck일 확률은 아래와 같다.  이때, 보통 이 feature는 하나가 아니라 여러 개이므로, 이를 반영하면 아래와 같다.             eg) 날씨&온도&습도&바람에 따라 사람들이 테니스를 칠지/안칠지 예측하는 문제  여기서, Naive Bayes Algorithm은 각 feature가 독립적이라고 가정하므로, 위 식은 아래와 같이 바꿀 수 있다.아래가  Naive Bayes Algorithm의 최종 공식이다.   Naive Bayes Algorithm의 종류 ✅Gaussian Naive Bayes변수가 conti..

IT/인공지능 2024.05.11

[논문] Machine learning을 이용한 Windows malware classification

💡A Survey of Machine Learning Methods and Challenges for Windows Malware ClassificationMachine learning을 이용해 malware를 multi-classification하는 경우, 일반적으로 아래와 같은 것들이 feature로서 선택된다.   또한 분석 method은 아래와 같다. ▶ N-gram ▶ Linear model ▶ Kernel method ▶ Decision tree ▶ Neural network ▶ sequences에 대한 method:      hidden markov model      byte similiarty measure      CNN, RNN      Haar Wavelet Transform 💡..

IT/AI for Security 2024.05.04

[Memory management] Memory virtualization, Dynamic relocation, Segmentation

💡Memory virtualization & Address Space - for Abstraction OS는 physical memory를 virtualize하여,각 프로세스가 전체 메모리를 전부 사용하는 것처럼 보이게 한다. 이를 통해 process 간의 isolation을 보장하며, time과 space 면에서 메모리 관리의 효율이 높아진다.  💡1. Dynamic Relocation: HW base  프로세스 하나가 allocation의 unit이다.  ✅Address translationphysical address =  해당 프로세스의 base + virtual address 단, 0 ≤ virtual address  프로그램이 실행을 시작하면, 이 프로세스를 physical memory의 ..

[Security란] Security vs Protection, Authentication vs Authorization

✅Security: keeping unauthorized entities from doing things you don’t want them to do: protecting systems from deliberate attacks - Confidentiality, Integrity, Availability  OS의 역할privileged mode, memory protection, file access permissions, ... ✅Protection: protecting files and other resources from accidental misuse ✅Authentication: proving that someone is who they say they are ✅Authorization: Ve..

IT/시스템 보안 2024.04.21

[운영체제란] 운영체제의 역할, HW의 support

운영체제의 역할✅Abstact machinehide underlying details API 제공, system calls✅Resource manager각 application에 시간적/공간적 공유 자원을 allocate    시간적: CPU(app간), network    공간적: memory(app간), disk(user간)한정적 자원의 사용을 효율적으로.   overhead 최소화✅protectionapplication 간에 서로서로 보호 OS 보호 hardware에의 직접적 접근 방지  운영체제를 위한 HW support ✅app이 실행되는 원리OS 실행 시작됨이 OS의 코드는 메모리의 어딘가에 들어감OS의 instruction이 처리됨OS는 사용자 입력을 받아 특정 app을 인식함OS는 실행하려..