- [bj][13549]숨바꼭질
문제:
- 제목: 숨바꼭질 3
- 링크 : https://www.acmicpc.net/problem/13549
- 접근 방법 : BFS ( + 0,1 가중치)
- [ps]co_zy_0001
1. MAP, Insert
Read More
- [llm] 선행연구 rag
Intro
- LLM의 단점은 Hallucination(환각)이다. 즉, 이세상 모든 데이터를 db화 하여 Finetuning 하지 않는 이상 이 문제는 해결할 수 없다.
- LLM의 단점은 공유성이다. OPENAI 와 같은 특정 기업이 독점하게 된다면 Input과 Output의 결과는 계속해서 특정 기업의 학습데이터로 쓰일 것이다.
- [ps]dfs bfs 개념 다시 잡기(다시정리)
https://github.com/leesk212/PS/tree/main/5014
- [ps]dfs로 조합,순열,중복 끝장보기 (다시 정리)
6.12에 다시 시험이다.. 하지만 나에게 남은건 도로묵의 정신 상태일뿐.. 기억이 다 안난다., 지금까지 풀었던 것들을 다시 한 번 리마인드 해서 얹고 다음 step으로 가자. (어차피 Pro 딸떄도 기억안나면 다시 다해야함)
Read More
- [ai]custom hugging face model_file
```txt FROM llama-3-Korean-Bllossom-8B-Q4_K_M.gguf
Read More
- [ps]cpp_bfs의 방문처리 & bfs,dfs 탐색 어떤거 쓸지 고르기
1. BFS 방문처리 시점
Read More
- [ps]cpp_dfs_순열,조합,중복순열,중복조합 Read More
4.17(수) 시험 리뷰 PS> 시험을 보기전, DFS와 BFS의 중요도를 깨달았지만, 어떻게 순열 및 조합을 구현하는지에 대해 큰 어려움이 있었다. Idea는 확인했지만 Next_permutaion에 의존했달까.. 문제는 Next_permutaion의 사용법을 까먹었던걸 다시 알기까지 너무 오랜시간(1시간 30분..)이 걸렸고, Pro 문제를 핸들링할때, DFS로 기본적인 순열을 못 구현한다는 현실이 괴로웠다. next_permutaion (순열) 또는 pre_permutaion (조합)으로 문제를 풀어도된다고 하더라도, DFS 로 구현까지 학습해두자. ( 중복 조합, 중복 순열 문제가 나온다면 DFS로 풀어야하니..!!)
- [bj]15650_n과m
https://www.acmicpc.net/problem/15650
- [ps]cpp_stl_basic
배열 초기화
Read More#include <stdlib.h> #include <string.h> int visited[10] = { true,}; memset(visited, false, sizeof(visited));
- [reviewer]go성능 최적화 가이드 Read More
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
- [reviewer]핸즈온 장고_백엔드 개발을 위한 Read More
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
- [reviewer]온디바이스ai Read More
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
- [reviewer]업무에 바로 쓰는 aws 입문 Read More
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
- [etc] 인터넷보안 전문가 2급 실기 자료 모음 (2022)
인터넷 보안 전문가 2급 실기 자료 모음
해당 자격증은 실기 시험에 대해서 공부할 자료가 부족하다는 단점이 존재한다. 이에, 추후 해당 자격증을 공부하는 학생들을 위해 필자가 수집하였던 문제 자료들을 공유하고자한다.
Read More
- [serverless] bottom Up approach (low Level to high Level) (a to z)
What is Serverelss?
Read More
- [etc] git commit convention
Git - Commit Message Convention 이란?
협업을 수행할 때 진행하는 사람들끼리 어떤 Commit을 수행했는지 한눈에 파악하기 위함이다.
Read More
- [paper] english shellcode
Abstract
- History indicates that the security community commonly takes a divide-and-conquer approach to battling malware threats: identify the essential and inalienable components of an attack, then develop detection and prevention techniques that directly target one or more of the essential components.
역사에 따르면 보안 커뮤니티는 일반적으로 맬웨어 위협과 싸우기 위해 분할 정복 방식을 취합니다. 공격의 필수 구성 요소와 양도할 수 없는 구성 요소를 식별한 다음, 필수 구성 요소 중 하나 이상을 직접 대상으로 하는 탐지 및 방지 기술을 개발합니다.
- This abstraction is evident in much of the literature for buffer overflow attacks including, for instance, stack protection and NOP sled detection. It comes as no surprise then that we approach shellcode detection and prevention in a similar fashion.
이 추상화는 예를 들어 스택 보호 및 NOP 슬레드 감지를 포함한 버퍼 오버플로 공격에 대한 많은 문헌에서 분명합니다. 우리가 비슷한 방식으로 쉘코드 탐지 및 방지에 접근한다는 것은 놀라운 일이 아닙니다.
- However, the common belief that components of polymorphic shellcode (e.g., the decoder) cannot reliably be hidden suggests a more implicit and broader assumption that continues to drive contemporary research: namely, that valid and complete representations of shellcode are fundamentally different in structure than benign payloads.
그러나, 다형 셸 코드의 구성 요소(예: 디코더)를 안정적으로 숨길 수 없다는 일반적인 믿음은 현대 연구를 계속 추진하는 더 암묵적이고 광범위한 가정을 제시한다. 즉, 셸 코드의 유효하고 완전한 표현은 양성 페이로드와 구조가 근본적으로 다르다는 것이다.
- While the first tenet of this assumption is philosophically undeniable (i.e., a string of bytes is either shellcode or it is not), truth of the latter claim is less obvious if there exist encoding techniques capable of producing shellcode with features nearly indistinguishable from non-executable content.
이 가정의 첫 번째 원칙은 철학적으로 부인할 수 없지만(즉, 바이트의 문자열은 셸 코드이거나 그렇지 않음), 실행 불가능한 내용과 거의 구별할 수 없는 특징을 가진 셸 코드를 생성할 수 있는 인코딩 기술이 존재한다면 후자의 주장의 진실은 덜 명백하다.
- In this paper, we challenge the assumption that shellcode must conform to superficial and discernible representations.
본 논문에서, 우리는 셸 코드가 피상적이고 식별 가능한 표현을 준수해야 한다는 가정에 도전한다.
- Specifically, we demonstrate a technique for automatically producing English Shellcode, transforming arbitrary shellcode into a representation that is superficially similar to English prose.
특히, 우리는 임의의 셸 코드를 표면적으로 영어 산문과 유사한 표현으로 변환하는 영어 셸 코드를 자동으로 생성하는 기술을 시연한다.
- The shellcode is completely self-contained i.e., it does not require an external loader and executes as valid IA32 code) and can typically be generated in under an hour on commodity hardware.
쉘코드는 완벽히 sellf-contained 되어져있고 ( 즉, IA32에 타당한 실행이나 외부 로더를 요구하지 않는다) 그리고 전형적으로 한시간안에 발생되어진다.
- Our primary objective in this paper is to promote discussion and stimulate new ideas for thinking ahead about preventive measures for tackling evolutions in code-injection attacks.
이 논문에서 우리의 주된 목적은 토론을 촉진하고 코드 주입 공격에서 진화를 다루기 위한 예방 조치에 대해 미리 생각할 수 있는 새로운 아이디어를 자극하는 것이다.
- History indicates that the security community commonly takes a divide-and-conquer approach to battling malware threats: identify the essential and inalienable components of an attack, then develop detection and prevention techniques that directly target one or more of the essential components.
- [etc]2022년 1학기 회고록
고려대 대학원
정신 없이 흘러간 1학기 생활이었다. 포스팅도 3월 시작전에 멈춰있음을 확인할 수 있다. “하나를 포기해야됬고, 블로그 포스팅을 포기했다.. 하하,,” 학부연구생때의 생활에서 “석사”“삼성”“조교”라는 타이틀을 갖고 시작하게 된 석사연구생인 만큼, 책임감 또한 커졌고 진행시켜야될 업무의 비중이 늘어나게되었다.
Read More
- [git]특정파일 제외하고 commit하기
- 특정파일을 제외하고 commit 하고자 한다면,
.gitingnore
이라는 파일을 만들면된다. - 해당 파일 내부에 다음과 같이
# manually ignored
를 선언해 준뒤, 밑칸부터 제외할 파일들을 적어주면된다.
- 특정파일을 제외하고 commit 하고자 한다면,
- [linux]for_broken_grub_real
1. recovering GRUB in Ubuntu
Read More
- [HPC]What is MPI (with CUDA)
MPI란?
- 병렬 프로그래밍을 위한 표준화된 데이터 통신 라이브러리이다.
- Message: Data+envelop
- 메시지라는 것은 데이터를 봉투에 담아있는 상태로 볼 수 있다.
- 이 메세지 안에는 데이터뿐만 아니라, (1) 어떤 프로세스가 보내고 받는지, (2) 어디에 데이터가 있는지, (3) 데이터의 크기는 얼마나 크고, 얼마나 공간을 확보해야되는지 등 프로세스간 통신하는데 필요한 정보를 담고 있다.
- Tag(메시지의 고유번호): 메시지를 매칭하기 위해 다는 구분자이다. 순서대로 메시지 도착을 처리할 수 도 있고, 와일드 카드를 사용할 수도 있다.
- 커뮤니케이터(Communicator) & 랭크(Rank): 커뮤니케이터란, 통신이 허용되는 프로세서들의 집합이다. 각 프로세서들을 식별하기위해서 Rank를 붙여준다.
- [GPUDirect RDMA]Benchmarking Program
Benchmarking tools
Read More
- Mining Monero (XMR) on Linux (ubuntu)
How to mine?
Read More
- Installing vscode with gdb on Linux
1. Installing Compiler
Read More
- Installing Anaconda in Linux os
Get Ananconda
$ wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
$ bash Anaconda3-2019.10-Linux-x86_64.sh ----------------- 환경셋팅 $ bash ../Anaconda3-2019.10-Linux-x86_64.sh -----------------
Read More$ source ~/.bashrc
- [linux]rpm2deb, deb 분석
rpm2deb: alien
ref: https://junhyunny.github.io/information/linux/linux-alien/
- [linux]gdb cheat sheet
gdb command
Read More
- [gpudirect rdma]infiniband programming
ref: https://insujang.github.io/2020-02-09/introduction-to-programming-infiniband/
Read More
- [etc]gmail 다중 전달
ref:
- https://pdi-mz-support.zendesk.com/hc/ko/articles/360050907551--Gmail-%EC%88%98%EC%8B%A0%EB%90%98%EB%8A%94-%EB%A9%94%EC%9D%BC%EC%9D%84-%EC%97%AC%EB%9F%AC-%EB%A9%94%EC%9D%BC-%EC%A3%BC%EC%86%8C%EB%A1%9C-%EC%9E%90%EB%8F%99-%EC%A0%84%EB%8B%AC-forwarding-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0
- https://pdi-mz-support.zendesk.com/hc/ko/articles/360058069971
- [git]git commit 전체 자동화
git add, commit -m 자동화
Read Moregit add . ; git commit -m ${data} ; git push
- [linux]overview of seedlab setup 2
관제란?
관제 대상기관의 IT 자원을 사이버공격으로부터 보호하기 위하여 보안 이벤트 및 로그 등을 실시간으로 감시 및 분석 하는 것을 뜻한다.
Read More
- [linux]overview of seedlab setup 1
만들고 싶은 환경
- 실습 수업을 진행하기위한 sandbox환경을 만드는 것을 목표로한다.
- 최소 20명~30명정도 되는 접속의 트래픽이 최대로 한번에 몰릴 가능성이 높다.
- 가장 편한 방법은 아무리 생각해도 docker나 AWS로 서버를 배포하는 것이 좋을 것이다.
- CSP에게 트래픽 처리와 이용자 접근에 대한 부담을 넘기는 방식이다.
- 하지만 제약사항이 각각 두가지가 있었다. 일단 Software Attack, H/W Attack을 진행하기 위해서는 Super user 권한을 줘야한다.
- 그러게 되면 S/W 공격 같은 경우 이상이 없겠지만 , H/W 공격은 CPU Dependent하기에 CSP를 활용한 배포는 배제시켯다.
- [nvidia]dpu vs gpu vs cpu
https://blogs.nvidia.com/blog/2020/05/20/whats-a-dpu-data-processing-unit/
Read More
- [paper]hardware Based solutions for trusted cloud computing
Abstract
- 클라우드 컴퓨팅을 표적으로 하는 위협의 수가 증가하고 특별히 권한이 부여된 소프트웨어 취약점의 악용으로 인해 클라우드 서비스 공급자의 보안 관리자는 하드웨어 기반 솔루션을 배포해야 합니다.
- 이러한 솔루션은 데이터 센터의 CISC 및 RISC 아키텍처 제품군을 포함한 광범위한 컴퓨팅 플랫폼에 대해 더 나은 하드웨어 지원 보안 기능을 제공할 수 있습니다.
- 그들의 목표는 심각한 보안 취약성을 포함하는 것으로 입증된 운영 체제 또는 하이퍼바이저와 같은 일부 높은 권한의 시스템 소프트웨어 대신 하드웨어에 대한 신뢰를 기반으로 하여 공격 표면을 줄이는 것입니다.
- 따라서 일부 보안에 회의적인 사용자를 위한 클라우드 컴퓨팅 모델의 채택을 제한합니다.
- In this paper, we give cloud users and customers, application developers and security managers a comprehensive overview of four major industrial-scale commercial hardware-based solutions brought by major vendors in the cloud market.
- 보안, 기능 및 배포의 세 가지 범주에 맞는 20개 이상의 기준과 관련하여 Intel TXT, ARM TrustZone, AMD SEV 및 Intel SGX 기술을 제시, 분석 및 비교합니다.
- 우리는 이러한 각 기술에 대해 논의하고 특히 뛰어난 사례를 보여줍니다. 우리의 비교는 IT 관리자가 특정 보안 요구 사항과 미래의 클라우드 마이그레이션을 위해 채택할 더 나은 산업 기술에 대해 올바른 결정을 내리는 데 도움이 될 수 있습니다.
- [blockchain]hpc features of cryptojacking detection
1. The Browsers Strike Back:Countering Cryptojacking and Parasitic Miners on the Web
Read More
- [etc]publicwww이란 (what is public www)
What is PUBILCWWW?
ref: https://crozdesk.com/software/publicwww
Read More
- [blockchain]pow,pos,poi
Blockchain
ref: https://www.youtube.com/watch?v=3mr0NYTDRjY
- 블록체인은 누구자 체굴할 수 있는지 없는지에 따라서 Public, Private으로 나뉜다.
- [pwnable.kr]2_collision
접근
- 동일한 방식으로 ssh로 접근 후 문제 풀이가 시작된다.
- flag를 실행시켜 flag 실행파일이 출력하는 값을 문제의 답으로 입력한다.
- 그 과정에서 col.c를 통해 flag 실행파일을 시작시킬 수 있음을 확인하였다.
- [paper]towards total recall in industrial anomaly detection
Title: Toward Total Recall in Industrial Anomaly Detection
산업 이상 탐지의 토털 리콜을 향하여
Read More
- [etc]sok의 의미
- 흔히 논문 제목이 SoK: 라는 키워드로 시작하는 paper를 볼 수 있다.
- 이는 Systematization of Knowledge의 약자로 특정 도메인의 지식과 동향을 체계적으로 분석하여 일목요연하게 정리한 논문이란 뜻이다.
- ‘오클랜드’라 지칭하는 보안 분야의 Top 학회 IEEE S&P 에서 2010~2019 사이에 발표된 SoK 논문들을 모아두었다.
- [paper]sok cryprojacking malware
Introduction
Read More
- [cuda]basictip Read More
ref.1: https://karl6885.github.io/cuda/2018/11/08/NVIDIA-CUDA-tutorial-1/ ref.2: https://www.sysnet.pe.kr/2/0/11481
- [attack]ransomware
Ransomware
- Ransomware is a type of malware that restricts access to the infected computer system, and demands that the user pays a ransom to the attacker to remove the restriction. (랜섬웨어는 감염된 컴퓨터 시스템에 대한 접근을 제한하는 악성코드의 일종으로, 사용자가 제한을 해제하기 위해 공격자에게 몸값을 지불하도록 요구한다.)
- Some forms of ransomware encrypt files on the system’s local storage, which become almost impossible to decrypt without paying the ransom for the decryption key; while some may simply lock the system and display messages intended to coax the user into paying. (일부 형태의 랜섬웨어는 시스템의 로컬 저장소에 있는 파일을 암호화합니다. 이 파일은 암호 해독 키에 대한 몸값을 지불하지 않고는 암호 해독이 거의 불가능합니다. 일부는 단순히 시스템을 잠그고 사용자가 지불하도록 유도하는 메시지를 표시할 수 있습니다.)
- Ransomware can be classified into two classes: Class A ransomware overwrites the contents of the original file, so the deleted file cannot be restored.(랜섬웨어는 크게 두 가지로 분류할 수 있습니다. A급 랜섬웨어는 원본 파일의 내용을 덮어쓰므로 삭제된 파일을 복원할 수 없습니다)
- In this class, encrypted filenames are the same as the original ones. (이 클래스에서 암호화된 파일 이름은 원래 파일 이름과 동일합니다.)
- Class B ransomware makes another encrypted file (for example, B.txt.crypt) using the original file then deletes the original file after encryption.(클래스 B 랜섬웨어는 원본 파일을 이용하여 또 다른 암호화된 파일(예: B.txt.crypt)을 만든 다음 암호화 후 원본 파일을 삭제합니다.)
- The encrypted files have other file extensions and sometimes the original files can be restored because they are not overwritten. (암호화된 파일에는 다른 파일 확장자가 있으며 때로는 원본 파일을 덮어쓰지 않기 때문에 원래 파일을 복원할 수 있습니다.)
- Class B ransomware is easy to detect because files having a specific file extension are created.(클래스 B 랜섬웨어는 특정 파일 확장자를 가진 파일이 생성되기 때문에 탐지하기 쉽습니다.)
- Whereas, class A is more serious because the original files cannot be restored in practice, so we will concentrate on class A ransomware in this study.(반면 클래스 A는 실제로 원본 파일을 복원할 수 없기 때문에 더 심각하므로 본 연구에서는 클래스 A 랜섬웨어에 집중할 것입니다.)
- [ Paper ] Ran Stop a hardware Assisted runtime crypto Ransomware detection technique
Title
RanStop: A Hardware-assisted Runtime Crypto-Ransomware Detection Technique
Read More
- [linux]ssh_gui붙기_easy
ref: https://jimnong.tistory.com/748
- [git]global config 설정
$ git config –global user.name “Your Name” $ git config –global user.email you@example.com
Read More
- [network]dns server에 대한 고찰
ref1: https://zzsza.github.io/development/2018/04/16/domain-name-system/
- [window]cmd에 wget추가하기
wget 같은 명령어 cmd에 넣는 방법
- c:winodw:system32에 실행 파일을 넣으면 된다.
- https://eternallybored.org/misc/wget/
- [etc]연구계획서쓰는법
ref: https://brunch.co.kr/@lifejobcrafting/27
연구계획서를 쓰는 이유
대학원생으로서 앞으로 석사/박사 과정을 통해 학문을 연구할 자세가 되어있는가를 보여준다. 학과 학문 분야에 대학 관심도가 어느정도인지 나타나야한다. 연구계획서를 준비하면서 추후 연구하고 싶은지에 대한 방향도 잡히게 된다.
- [git]git branch 생성 및 접근
git branch 만들기
git branch seokmin
- [window]setup(cuda Cudnn Tensorflow_gpu)
1. cuda를 설치한다. (nvidia-driver를 설치하는 것이 아니다.)
- Nvidia GTX,RTX 별 지원가능한 cuda 버전 확인: https://developer.nvidia.com/cuda-gpus#compute
- [linux]chrome원격_with_ubuntu20
삽질을 너무 많이 했다..
- [paper]transient execution of non_canoical accesses
ref: https://saidganim.github.io/amdncte.html
- [git]대용량파일 올리기
git LFS 설치
sudo apt-get install git-lfs
- [book]모두의 네트워크
1. 네트워크 첫걸음
Read More
- [book]실무 예제로 배우는 데이터 공학
1. 데이터 공학자의 업무란!?
- 자료원(데이터 공급원)에서 데이터를 질의하고[1. 추출과정] 데이터를 어떤 방식으로든 수정하고[2. 변환과정] 데이터를 사용자가 접근할 수 있는, 그리고 거기에 있는 데이터가 실무 품질임을 아는 어떤 장소에 넣는[3. 적재과정] 3가지를 진행하는 업무이다.
- 모든 지역(region)의 db를 연결해서 데이터를 추출하고, 데이터 웨어하우스에 적재한 후 그곳에서 원하는 데이터 값을 계산한다.
- [window]scp,ssh
cmd에서 opensshd가 바로 접근이 가능하다..!
Read More
- [Paper]Why TLS is better without STARTTLS(NOSTARTTLS)
Insights that I want
- Starttls를 지원하지 않을 때 생길 수 있는 문제점이 무엇일까?
- DNSSEC을 지원하지 않을 때 생길 수 있는 문제점이 무엇일까?
- (Can I?) TLSRPT..!
- [Python]Data visualizing
Data visualization
Read More
- [git]gitblog-google-노출시키기
기본적인 노출방법
- [git계정이름].github.io repository root위치에 2가지 파일(robots.txt,sitemap.xml)을 추가시켜준다.
- google search console로 접속하여 해당되는 sitemap속성으로 이동후 자신의 블로그 + sitemap.xml
- 오류확인..!
- [Python]datetime_method
Print UTC & KST
from pytz import timezone from datetime import datetime if __name__ == "__main__": fmt = "%Y%m%d%H%M%S %Z%z" UTC = datetime.now(timezone('UTC')) KST = datetime.now(timezone('Asia/Seoul')) print(UTC) print(KST) print(UTC.strftime(fmt)) KST = KST.strftime(fmt) KST = str(KST).split()[0] print(KST)
KST2UTC
Read Morefrom datetime import datetime from datetime import timedelta when = ';; WHEN: 수 8월 04 17:00:30 KST 2021' when = when.split() KST_timestring = '2021-08-04 '+when[-3] print(KST_timestring) logdate = datetime.strptime(KST_timestring, '%Y-%m-%d %H:%M:%S') - timedelta(hours=9) print(logdate)
- [python]os_method,file_method,is_method
os
import os
- [coding Test]dynamic programing
DP란?
작은 값을 통해 더 큰 문제의 답을 계산하여 구하는 과정을 반복하여 최종적인 답까지 도달하는 과정
언제 DP로 문제를 접근하여 해결하면 좋을까?
- 큰 문제를 작은 문제로 나눠서 푸는 알고리즘(예:피보나치 수)
- Overlapping Subproblem(큰 문제와 작은 문제를 같은 방법으로 풀 수 있음), Optimal Substructure(문제의 정답을 작은 문제에서 풀 수 있음)
- 혼합 제외, 어떤 항을 구하기 위한 전 항들을 완벽히 구할 수 있고, 그 항들을 이용하여 정의의 맞는 현재 항이 깔끔하게 정의가 될 때이다.
- 다이나믹 프로그래밍. 한국어로 동적 계획법을 이용해 풀어야 하는 문제이다. 동적 계획법은 상향식과 하향식이 있는데, 처음 두 수를 알기 때문에 상향식으로 문제를 풀었다. 상향식은 제일 작은 인덱스의 수 부터 목표하는 값으로 향하는 것이고, 하향식은 맨 위의 값에서 재귀로 제일 작은 인덱스를 향하는 것이다. 이 동적 계획법이 최솟값을 구하는 면에서 그리디 알고리즘이랑 뭐가 다른가 싶었는데, 그리디 알고리즘은 내가 생각한 처음 최적의 방법이 끝까지 반례 없이 적용이 되는 경우에 이용하고, 동적 계획법은 가능성을 모두 두고 그 안에 최솟값을 찾을 수 있기 때문에 뭔가 그리디와 브루트포스의 중간 같은 느낌이다.
Process of soloving DP
- 문제 탐색
- DP 식세우기
- 검증 및 구현
- [coding Test]python_code_note_1
1차원 list 초기화 선언
visited = [False] * 9 #[0,0,0,0,0,0,0,0,0]
2차원 list 빠른 행 선언
graph = [[]*n for _ in range(n)] graph[0].append(0) graph[1].append(0) graph[2].append(0)
2차원 list중 중복제거
whitelists = list(set([tuple(set(whitelist)) for whitelist in whitelists]))
시간형태 비교
Read Moreall_indicies = sorted(all_indicies, key=lambda x: datetime.datetime.strptime(x, 'winlogbeat-%Y.%m.%d'))
- [mac]ipynb2md
1. installing conda
2. run conda
3. installing nbconvert
conda install nbconvert
4. convert ipynb to md
jupyter nbconvert –to markdown JUPYTER_NOTEBOOK.ipynb
- [coding Test]solved.ac_class_2_essential Read More
while True: s = list(map(int,input().split(' '))) if sum(s)==0: break s = sorted(s,reverse=True) if s[0]**2 == s[1]**2 + s[2]**2: print('right') else: print('wrong')
- [coding Test]solved.ac_class_1_essential Read More
a,b = map(str,input().split(' ')) print(int(a)+int(b))
- [mac]installing conda
anaconda navigatior
https://www.anaconda.com/products/individual
Read More
- [ml]reinforce learning
강화학습이 다루고 있는 문제
y(t+1) = f(y(t),x(t))
- 상대방이 입력을 학습을 같이한다.
- [mac]install brew, pyenv and jupyter
brew
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
- [python]timeout
window
```python from datetime import timedelta, datetime from time import sleep
Read More
- [security] T E E, Intel S G X
TEE(Trusted Execution Environment)
Read More
- [security]tcp,udp checksum
Checksum
- 체크섬은 데이터를 송신하는 중에 발생할 수 있는 오류를 검출하기 위한 값이다 전송할 데이터를 16Bits씩 나눠서 차례대로 더해가는 방법으로 생성한다.
- Sender side - Checksum Createion
- Break the original message in to ‘k’ number of blocks with ‘n’ bits in each block.
- Sum all the ‘k’ data blocks
- Add the carray to the sum, if any
- Do 1’s complement to the sum = Checksum
- CHECKSUM 11011010
- Break the original message in to ‘k’ number of blocks with ‘n’ bits in each block.
- Recivere side - Checksum Validation
- Get Data from Sender [Checksum][SectionK…]
- Calculate all data value with checksum and carray –> to be 1
Checksum code ‘C’
- Get Data from Sender [Checksum][SectionK…]
- 체크섬은 데이터를 송신하는 중에 발생할 수 있는 오류를 검출하기 위한 값이다 전송할 데이터를 16Bits씩 나눠서 차례대로 더해가는 방법으로 생성한다.
- [paper]randomized last Level caches are still vulnerable to cache side Channel attacks! but we can fix it
Cache Randomized
- CEASER: http://memlab.ece.gatech.edu/papers/MICRO_2018_2.pdf
- CEASER-S: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8980326
- ScatterCache: https://www.usenix.org/system/files/sec19-werner.pdf
- MIRAGE: Mitigating Conflict-Based Cache Attacks with a Practical Fully-Associative Design: https://arxiv.org/pdf/2009.09090.pdf
- [aws]ec2 instance
AWS EC2 instance GUI
https://medium.com/@ggomma/%EC%9C%88%EB%8F%84%EC%9A%B0%EC%97%90%EC%84%9C-ubuntu-aws-ec2-gui-%EC%9D%B4%EC%9A%A9-ee2567a85d8f
Read More
- [security]electronic mail security
Policy
SPF
-
google.com로부터 메일이 발송되었을 때, 이 발송지가 진짜 google.com으로부터 발송된 메일인지 확인하는 시스템
-
수신자 입장에서 1.2.3.4 ip를 가진 bounces@example.com으로부터 메일이 도착함
-
- [lkm]basic
Loadable Kernel Module
sudo insmod __.ko : module load
- [mac]xattr제거
xattr -d com.apple.FinderInfo *
- [kubernetes]basic
kubernetes
- 관리하는 시스템이라고 적혀있습니다.
- cluster management system에 더 가깝다는 것을 알게된다.
- ochastraction tool이라고 많이 쓰임
- 선장을 나타내는 그리스말
- 쿠버네티스를 설치 하는 것:
docker가 등장하기전
- 서버의 상태를 관리하기 위하 노력 -> 도커-> 쿠버네티스
- 서버 설치, cpu–> 네트워크 연결 방화벽 설정–> 서버를 구매할 때부터 매우 좋았던 것을 씀
- Ruby on rails
- Ruby 1.8을 쓰고 있었는데 업데이트가 되면 모든 영향을 보여주는 상태가 된다..
- 상태 관리가 매우 어렵기에, 어떤것을 했는지 알 수가 없음 –> 믿을 수 없기에, 똑같은 서버를 만들 수 없기에 서버관리자가 GOD –> 확장이 어려움
- dev-ops가 이제 매우 불필요해짐
- 상태를 이용하는 코드를 서버를 갖고 선언을 한다.
- 설정파일을 갖고 있으면 동일한 상태로 그대로 이용할 수 있음
- 코드로 관리할 수 있기에 리뷰할 수 있게
- [docker]docker compose
docker compose란?
- compose: 구성하다 (make up)
- applications
- YAML “야믈”파일 XML -> JSON -> YAML –> key:value (pair)
- docker-compose.yml
version: "3.9" services: web: build: ports: - "5000:5000" volumes: - .:/code - logvolume01: /var/log links: - redis redis: image: redis volumes: logvolume01: {}
- indentation 중요!!
- docker-compose.yml
- [docker]private_resistory,dockerfile
docker offical docker machine 접근 private resistry에 push하기 위해 이름과 방법을 바꿔주었음
- [docker]nginx,apache,배포
nginx docker run
docker run -it -d -p 8080:80 nginx
기존의 nginx 이미지를 다시 run 시키는데 이때 host의 8080과 docker의 ngnix서버의 80포트를 포트포워딩을 해주는 방식nginx 서버에서 렌더링하는 페이지를 host machine과 연동시키는 과정
(docker에서 nginx target server bash열기)
docker exec -it (nginx_docker_id) bash
(host에서 연동시킬 directory 생성)
docker run -d -p 8080:80 -v /Users/leekatme/Desktop/nginx_test/html:/usr/share/nginx/html ngnix
- [linux]for_broken_grub
- try ubuntu without installing
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair -y
sudo boot-repair
Select recommended repair
- [latex]listing,figure,pifont
https://www.rpi.edu/dept/arc/training/latex/LaTeX_symbols.pdf
Read More
- [python] Basic A P I
map
- 여러 개의 데이터를 한 번에 다른 형태의 데이터로 변환하기 위해서 사용
- [paper] Rosita towards Automatic Elimination of Power Analysis Leakage in Chiper
Rosita
- Uses an emulator to detect leakage due to unintended interatctions between values
- Rewrites the code to eliminate the leakage.
- [docker] Instruction of Docker with creatig ngnix server
Docker Practice -2
Docker run
Command
$docker run -it ubuntu bash
- docker run의 뜻은 새로운 컨테이너를 실행시키는 명령어이다.
- 이때 사용되는 것이 -i와 -t이고 i는 interactive으로써 키보드의 입력(Standard Input output)을 attatch 시켜라라는 뜻이다. t는 tty를 붙여라라는 뜻이다.
- 즉 -it를 사용함으로써 standard input output을 붙이라는 뜻이다.
- ubuntu는 어떤 image를 받을지 정한 명령어이다.
- bash는 ubuntu에서 실행할 명령어이다.
exit
- 컨테이너 완전히 종료
docker start -a contatiner id
- 방금 멈춘 docker를 다시 실행시키는 것
Ctrl+P or Ctrl+Q
- 컨테이너가 실행되된 쉘만 종료되고 docker container는 아직 살아있음 (ps로 확인) (잠시 빠져나오는 느낌)
docker attach conatiner id
- 잠시 멈췄던 conatiner를 다시 쉘을 킨다.
docker rm container id
- 삭제에는 몇가지 방법이 있음
- $ docker rm < container id/Name > <—하나하나씩 삭제
- $ docker rm ‘$docker ps -a -q’ <—전체 docker container 삭제
- $ docker rm
, , ... - docker ps -a -q를 하면 container의 id를 argument로 다 받을 수 있기에 모든 image에 올라와있는 모든 docker들을 삭제할 수 있다.
- 실행중인 conatiner들은 삭제가 안될 수도 있음 강제로 stop하게 하고 싶으면 -f 옵션을 주면 돼
docker conatiner prune
- $ docker rm
- stop된 container들만 제거한다.
Practice
-
- 초기 임으로 local에 이미지가 없음으로 pull하였던 과정임을 확인할 수 있다.
-
- 두번째 부터는 pull과정이 없다.
- hostname이 image의 container name이다.
- exit->start 와 Ctrl + P , Q -> attach ps 비교
- docker container prune
- [git]특정 하위 폴더 클론
git 특정 폴더 clone
Read More
- [linux]버전확인
cat /etc/os-release
- [docker] Intro of Docker with basic command
Intro of docker
- 컨테이너를 사용해 어플리케이션을 신속하게 구축,테스트 및 배포할 수 있는 소프트 웨어 프로그램
Keyword
Process 격리
DevOps: 개발과 운영의 합성어
- 운영하는 입장에서 신입 사원들에게 환경을 구축하고 배포하는 것도 코스트가 많이 듦
- 또는 인수인계 해주는 과정에서도 다른 사람에게 하던 것을 유지관리 하도록 보내기 위한 과정이 쉽지 않음
- Docker가 여기서 엄청한 장점 : 그냥 컨테이너로 만들어서 배포만 하면 돼
- 각각의 격리시켜서 실행시킬 수 있다.
- python,java 이런 버전들을 매번 달라지면 매우 어려움 but docker가 생기면서 그런 어려움들이 필요없음
client - server architecture
도커 호스트
- Cf) VMWare / VirtualBox :PC(host machine) <-> Guest matchine)
Docker hup: 레지스트리
- Docker Image들이 저장된 곳(Image에서부터 만들어지게 됌)
- Client가 Docker Resgistory에게 특정 명령어를 사용해서 그 이미지를 Dokcer host에서 만들어 컨테이너로 생성한다.
- 우분투랑 레딧이랑 화살표가 다른 것을 볼 수 있는데, 우분투 같은 경우는 자체 Docker daemon에 있는 값을 갖고와서 올린다. (cache 느낌)
- 한번 Resistory에서부터 온 이미지는 Host에 남아있게 되어서 사용자가 특정 명령어를 사용하지 않는 이상 Registry에서 지워질 필요가 없다.
- 그럼으로 clinet 요청의 flow를 생각해보면 e.g.,container 생성하라!! –> 이미지로 부터 생성됨으로 host에서 있는지 없는지 확인을 하고 없으면 resistory에서 부터 가져와서 이미지를 만든다.
- 컨테이너를 사용해 어플리케이션을 신속하게 구축,테스트 및 배포할 수 있는 소프트 웨어 프로그램
- [ubuntu]노트북 덮어도 안꺼지게 하기
systemd logind.conf 변경
$ sudo vim /etc/systemd/logind.conf
- [linux]다른 linux로 ssh 접속하기
open-sshd가 설치 되어 있어야함
없다면
$ sudo apt-get install open-sshd
$ sudo service ssh start
$ sudo service ssh status
- [linux] kaslr, kpti off
sudo vim /etc/default/grub 확인
Read More
- [booting]manual loading of the booting loader
grub > 이 생성되며, Rom에 있는 booting loader를 자동으로 잡지 못할 경우
Read More
- [window]samsung note pc install
Why?
삼성에서 삼성 PC만 “삼성 노트 PC”를 설치할 수 있도록 지정함.
수동 설치 방법으로 Window OS에 설치할 수 있음
- [window]windirstat
widnDirstat
Read More
- [linux]host name 변경
hostname 검색
Read More
- [ubuntu]set window 1920x1080
1. xrandr
$ xrandr
find display name
- [ml]svm정리
Here I m going to run Support Vector machine with different kernels(linear,gaussian,polynomial) and also tune the various parameters such as C ,gamma and degree to find out the best performing model .
Read More
- [window]외부포트 설정하기
RDP server port change
File download
Read More
- [linux]modprobe with pcm
pcm
sudo ./pcm.x
- [paper]논문읽는법정리
1
논문 읽는 순서: Abstract -> Conclusion -> Introduction -> 그림,표 -> background(method)
논문의 영어 구조
- 나는 이런 문제를 풀거야 (abstract)
- 사실 이 문제는 이런 동기에서 연구가 시작된건데 (introduction)
- 관련해서 이런저런 접근들이 있었지 (related works)
- 난 이런 새로운 방식으로 접근해보려고 하는데 (method)
- 정말 이게 잘 먹히는지 실험도 해봤어 (experiment)
- 이를 통해 이런 사실도 알아냈지만 한계점도 있지 (discussion)
- 마지막으로 귀찮은 너를 위해 요약 (conclusion)
Abstact
- 한가한 소리로 시작
- 이러이런한 점들이 어려운 점들이라 한다.
- In this paper, __ 이제부터 이런 어려운 점들을 해결하기 위해서 내가 이런 방법을 쓰려고 했다 주제에 대한 키워드를 소개하자
- 내가 했던 일들에 대한 열거
- 실험을 했고, 영향을 조사했고, 결과가 나왔고 결과에 의한 가이드라인 제시
Conclusion
- 최종적 결론에 대한 말하기
Introduction
- 읽고 있는 분야에 대한 다양한 연구들의 지엽적인 문제 해결들을 다뤄주고 있다.
- 내가 어떤 문제를 풀고 있는지
- 관련 연구들은 이 문제를 어떻게 풀어왔었는지
- 마지막으로 나는 그들과 달리 어떤 입장에서 문제를 해결했는지를 상대비교
- 여기까지 읽고 마음에 들면 계속 읽되, 아니면 다른 논문으로 점프하자.
그림 표 보기,
- 앞에 나올 내용을 예상하면서 읽으면 마음이 편하다.
- 결과에 대한 결론을 먼저 그림과 표를 통해 이해한 이후에 읽는다. Referenced link: https://gradschoolstory.net/terry/readingpapers/?fbclid=IwAR1mlnyMHBxymDV5EAncqihJcdVNEXboA7simyhBB2iAq-9fzjhF3Zrz26c
- [python]numpy array 및 csv 다루기
np.ones(num)
num의 수만큼의 가로의 행열을 생성한다( 값은 1로 ) [1,1,1,1,1,1,…] –> np.zeros(num) 하면 값은 0으로 생성가능 (num,1)
Read More
- [window]파일이 너무 커서 대상 파일시스템에서 사용할 수 없습니다
USB의 file system이 FAT32이기 때문에 4G가 넘는 파일은 옮기지 못한다.
Read More
- [assembly]serializing instruction
1. Using mfence & lfence
asm __volatile__ ( " mfence \n" " lfence \n" ); Your code asm __volatile__ ( " mfence \n" " lfence \n" );
- intel CPU에서는 정상적으로 사용이 가능하다.
- [vim]set num고정
vim ~/.vimrc
- [assembly]inline assembly jump,loop
int i=0, j=0; __asm__ __volatile__( "movl $0, %0 \n\t" "movl $0, %1 \n\t" ".Lp1 : " "cmpl $9, %0 \n\t" "jge .End \n\t" "incl %0 \n\t" ".Lp2 : " "cmpl $9, %1 \n\t" "jl .Lp4 \n\t" "movl $0, %1 \n\t" "jmp .Lp1 \n\t" ".Lp3 : " "movl %1, 4(%%esp) \n\t" "movl %0, (%%esp) \n\t" "call print \n\t" "movl 4(%%esp), %1 \n\t" "movl (%%esp), %0 \n\t" "jmp .Lp2 \n\t" ".Lp4 : " "incl %1 \n\t" "jmp .Lp3 \n\t" ".End : " "movl $0, %0 \n\t" // : :"r" (i), "r" (j) );
reference: http://home.konkuk.ac.kr/~cris/xe/?mid=sp_board&document_srl=3203
Read More
- [assembly]barrier instruction
barrier() 같은 경우에 다음과 같은 매크로로 define 되어 있습니다.
Read More
- [ca]μops info
지연 시간, 처리량 및 포트 사용에 대한 지식은 성능 분석 도구,주기가 정확한 시뮬레이터를 구축하고 컴파일러를 최적화하는 데 필요합니다.
Read More
특정 프로세서의 코드를 수동으로 미세 조정할 때도 유용합니다. 안타깝게도이 정보는 공식 프로세서 설명서에 제대로 문서화되어 있지 않습니다.
우리는 이러한 특성을 측정하기위한 마이크로 벤치 마크를 자동으로 생성하는 기술을 개발했습니다.
이 웹 사이트에서는 이러한 마이크로 벤치 마크를 사용하여 얻은 모든 세대의 인텔 코어 마이크로 아키텍처에 대한 대기 시간, 처리량 및 포트 사용 데이터를 제공합니다.
- [linux]vim 또는 하위디렉토리 검색 및 일괄 변경
특정 폴더 내에서 하위폴더를 포함하여 모든 파일의 내용 중 특정 단어를 바꾸고자 할 때
- find ./ -name “찾을 파일” -exec sed -i “s/찾을 내용/바꿀 내용/g” {} \;
- [assembly]유용한 assembly macro
Introduction
In order to keep my assembly-related documents easy to read and understand, I’ve written some macros for the GNU-assembler (also known as GAS).
Read More
- [ca]what is the aim of the line fill buffer
Q. What is the aim of the line fill buffer?
Read More
- [linux]busybox(initramf linux)
linux가 설치되어 있는 디스크를 찾는다.
Read More
- [linux]ctag
0. 설치
sudo apt-get install ctags
- [gdb]peda,readelf
peda
gdb에서 가상메모리 자체를 조금 더 효율적으로 보여주는 방법 중 하나이다. PEDA - Python Exploit Development Assistance for GDB
Read More
- [linux]sublime Text3 Install
Reference: https://www.sublimetext.com/docs/3/linux_repositories.html
Read More
- [attack]mds
요약
네 가지 새로운 마이크로프로세서 취약점이 발견되었으며 Red Hat 제품 보안팀은 이러한 취약점을 심각한 보안 문제를 일으키는 “중요” 등급으로 분류하고 있습니다. 시스템에 대한 로컬 쉘 액세스 권한이 있는 공격자가 이러한 보안 취약점을 악용할 경우 CPU 캐시의 데이터를 승인되지 않은 프로세스에 노출할 수 있습니다. 이러한 취약점을 악용하여 시스템에 보안 공격을 구현하는 것이 어렵기는 하지만 숙련된 공격자는 이를 악용하여 가상 또는 컨테이너 인스턴스나 기본 호스트 시스템에서 메모리 데이터를 읽을 수 있습니다. Red Hat은 영향을 받은 시스템에 대응할 수 있는 완화 방법을 마련하고 사용자에게 이러한 보안 취약점을 평가하고 대처하기 위해 필요한 세부 단계를 제공합니다.
Read More
- [attack]breakingkaslr_in_meltdown
```c #include “libkdump.h” #include
Read More#include
- [linux]proc,sys
- /proc 디렉토리의 프로세스 파일의 상세 설명
- [ca]core,thread
Core
- CPU에서의 연산을 하는 장치
- Single core 하나의 연산 장치만 있음
- Clock -> CPU를 더 채직찔해서 빠르게 돌리는 것
- 2004 년도 이후 싱글코어의 clock을 높히는게 한계에 부딛힘
- 결국 싱글코어 손절하고 코어의 갯수를 늘리게됨
- 다수의 코어끼리의 통신을 늘리게됨
- Single core로 하지만 모든 프로그램들이 구성이 되어있었기에 최적화에 약간의 시간이 걸리게됨
- 그리고 각 코어의 성능이 2.0 이지만 듀얼코어를 해도 2.4의 성능밖에 나오지 않게됨 ( 상품성 의심 )
- 코어끼리 서로 일을 떠넘기거나, (일이 겹침) 현상등에 의해서 최적화된 성능이 나오지않음
- 멀티코어를 이용해도 돈도 적당히 남고, 성능도 조아야햄
- 2005년부터 멀티코어의 시대가 열리게됨
- CPU -> 4core -> 8thread
- 각각의 모듈의 일을 나누어서 일을 하도록(멀티테스킹)하도록 하는 것
- CPU의 thread는 제조사 기술의 이름이고
- 프로그램의 thread는 소프트웨어 이름이다.
스레드
- 1개가 힘들면 2개를 같이한다 (자연스러운 생각임)
- 이때 2002년에 hyper threading에 대한 생각이 나오게된다.
- 하나의 코어를 통해서 두개의 일을 하는 것처럼 생각하도록 분리해서 일을 하도록 하는 것 ( 기술 이름임 )
- Intel -> Hyperthreading
- AMD -> SMT
- 하나의 코어를 두개의 일꾼이 일하는 것처럼 하이퍼스레딩을 하니 더 빨랐었어, 두명이 일을 하면 두개의 일을 실행시켰어
- 두개의 코어처럼 보이도록 하는 것
- 1코어 2스레드 (원래는 코어가 한개지만, 2개의 일꿀이 일하는 것처럼 보임)
- 2005년 –> 코어의 수를 늘렸지만 스레드는 같이 늘어나지 않았음
- 코어가 4개가 달렸지만 스레드는 4개 밖에 없어
- 그리고 이후헤 i7에 1개의 CPU에 2개의 thread가 있는 것 처럼 보임
- 6개의 코어의 스레드가 12개의 일을 하는 것 처럼 보이는 것 운영체제에서는 12개의 cpu가 일을 하는 것처럼 보임
- [linux]리눅스 추가 계정 생성하는 법
리눅스 추가 계정 생성하는 법
Read More
- [paper]zombieload cross Privilege Boundary data sampling
Abstract
- L1 Cache 이외에 FPU register file, store buffer에서의 유출이 확인되었다.
- Zombie load는 processor의 이전에 unexlpored한 fill-buffor logic을 공격한다.
- Faulting Load Instruction은 일시적으로 권한이 부여되지 않는 (이전에 current or sibling logical core에 의해 fill buffer로 로드가 되어진) 목적지를 역참조할 수 있다.
- 그럼으로 logical core들 사이에서 최근에 로드되어진 stale value를 유출 시킬 수 있다.
- 이것을 막을 방법은 현재(2018) hyperthreading을 끄는 것 뿐이다.
- [security]kaiser
KAISER: hiding the kernel from user space
Read More
- [ca]out_of_order_excution
비순차 실행은 명령어 수준에서 병렬성(Instruction Level Parallelism)을 찾아서 이를 순차적이 아닌 비순차적, 즉 병렬적으로 처리할 수 있도록 한 기술을 말합니다. 그러면, 큰 그림에서 이러한 비순차적 명령어 처리를 하려면 어떤 기술들이 필요한지 살펴봅시다. 이를 위해 비순차 실행에서 필요한 기술의 키워드들을 한번 나열해볼까요 ?
- 명령어 윈도우
- 가짜 의존성 제거
- 동적 명령어 스케줄링
- 순차적 완료
- [paper]flush+flush_a_fast_and_stealthy_cache_attack
Abstract
- 지금까지의 cache side channel attack은 메모리의 접근의 유무를 통해 정보를 유출시켰다.
- 그렇기에 cache hit값이 또는 Cache miss값이 비이상적으로 올라가게 된다.
- 이는 HPC(Hardware Performance Counter)를 통해 탐지가 가능하며 이를 통해 Flush+Reload,RowHammer,Prime+Probe등의 공격의 detection이 가능하다.
- 그러나 Flush+Flush는 memory access가 이루워지지 않고 clflush execution time을 통해 data가 cached되었는지 안되었는지를 판단하기 때문에 HPC의 탐지가 불가능하다. (Stealthy의 이유)
- 또한 Flush+Flush는 다른 cache side channel attack과 비교하여 빠른 실행성을 갖고있는데, 그 이유는 메모리 접근이 없고 clflush 명령어만 사용해 공격을 진행하기 때문이다. (Fast의 이유)
- [git]git branch work의 모든 것
git branch
Read More
- [md]md2pdf
1. liunux에서 grip을 설치한다
pip3 install grip
- [linux]scp
ssh로 리눅스 끼리 데이터 보내기
Read More
- [matlab]mat2wavelet Read More
f = dir('1D_N1'); name = f(3).name; load(name) [cA,cD] = dwt(a,'sym4') [c,l] = wavedec(a,5,'sym4') approx = appcoef(c,l,'sym4') [cd1,cd2,cd3,cd4,cd5] = detcoef(c,l,[1 2 3 4 5]) subplot(6,1,1) plot(cd1) subplot(6,1,2) plot(cd2) subplot(6,1,3) plot(cd3) subplot(6,1,4) plot(cd4) subplot(6,1,5) plot(cd5)
- [linux]setting ssh
1. 순정 Linux를 ssh에 올리기
Read More$sudo apt-get install openssh-server
- [paper]review_of_fr
FLUSH+RELOAD: A High Resolution,Low Noise, L3 Cache Side-Channel Attack
Read More
- [security]one Way Hash Function
Hash-Function
- cryptography과정에서 필수적인 요소이다.
- One-way이여야 하며, 같은 Hash값을 갖는 경우를 제거해야만 한다.
- 무결성보증, PW 인증, Block Chain등에서 쓰인다.
- 가능한 공격으로는 Length extension attack과 Collision attack이 있다.
- [security]ftz_2,3
FTZ_2
vi(vim) 편집기의 취약점을 이용한 system 권한 공격
Read More
- [security]ftz_0,1
메모리 레이아웃 기초
Read More
- [security] secret Key encryption
Introduction
Read More
- [paper]review_of_fortuneteller
Section1
Abstract
Read More
- [python]onlypngfile_whilemovingdirectory
``` import os
Read More
- [python]npz2mat
``` import numpy as np from scipy.io import savemat
Read More
- [matlab]mat2png_while_moving_directory
``` %Title = mat2png while moving directory %Root_Dir = ./data_only_mat %Description = There is only .mat file in directory
Read More
- [md]basic markdown language
Reference : https://gist.github.com/ihoneymon/652be052a0727ad59601
Read More
- [matlab]mat2png
1. mat to stft to fig to png
Read Moref = dir('mata_data') name = f(3).name load(name) [S,F,T] = stft(a) h = pcolor(T,F,abs(S)) set(h,'EdgeColor','none); axis tight off savefig('00001.fig') figs = openfig('00001.fig'); style = hgexport( 'factorystyle' ); style.Bounds = 'Tight'; hgexport( figs, '-Clipboard', style, 'ApplyStyle', true ); F = getframe(figs); imwirte(F.cdata,'00001.png')
- [html]이미지크기 변경삽입
Format
<img src="directory/200x200.png" alt="My Image">
- src : 이미지의 경로
- alt : 이미지를 표시할 수 없을 때 출력할 내용
- width : 이미지의 가로 크기
- height : 이미지의 세로 크기
width와 hieght 하나만 정한다면 비율 맞춰서 따라옴
- loading : 이미지 로딩 방식 (= “lazy”: 느리게 로드)(= default: eager)
- [pyqt]study_pyqt5
PyQt5 정리
Read More
- Markdown Syntax
Just about everything you'll need to style in the theme: headings, paragraphs, blockquotes, tables, code blocks, and more.
Read More
- A Post with a Video
Custom written post descriptions are the way to go... if you're not lazy.
Read More
- MathJax Example
MathJax Example for Moon Jekyll Theme.
Read More
- Syntax Highlighting Post
Demo post displaying the various ways of highlighting code in Markdown.
Read More
- A Post with Images
Examples and code for displaying images in posts.
Read More
- Post with Image Feature
A ton of text to test readability with image feature.
Read More
- Testing Readability with a Bunch of Text
A ton of text to test readability.
Read More