공부 65

구문 VS 명령어 (Statement VS Instruction) 소스코드 어셈블리어 인간이 하이 레벨 언어를 쓰는 이유

소스코드의 한 문장을 statement(구문)이라고 하고, 실제로 컴퓨터가 명령을 수행하는 하나의 단위를 instruction(명령어)라고 한다. 프로그램은 명령어의 유한집합을 의미하며, 여기서 명령어는 instruction에 해당한다. CPU는 한번에 하나의 instruction을 수행한다. (구체적으로 CPU의 ALU, Arithmethic Logic Unit) c = a+b; 이렇게 C언어 소스코드의 한 문장(statement)을 쓰게되면, 컴퓨터 내부에서는 레지스터에 값을 가져오고 계산해서 C의 위치에 더한 값을 집어넣는 세부적인 일(instruction)들이 필요하다. 컴파일러가 이 하나의 statement를 수행하기 위해서 세개의 instruction을 실행해야한다. mov eax, dword..

공부/JUN STUDY 2021.09.14

컴파일 VS 인터프리터 (Compile VS Interpreter)

프로그램을 해독하는 방식 (소스코드를 기계어로 변환하는 방식)에는 컴파일과 인터프리터 방식 두가지가 있다. 대부분의 프로그래밍 언어가 컴파일 방식을 택하기 때문에 프로그램의 해독(소스코드 => 기계어)을 컴파일이라고 이야기하는 것이다. 컴파일은 소스코드 => 기계어로의 해독 과정을 뜻하는 단어가 아니다!!! (기계어로의 변환 방식 중 하나가 컴파일) 오브젝트를 생성하고 저장하는 방식 ⇒ 컴파일 (번역본 제작 - 한번 해독 해두고 계속 실행) 그때그때 실행코드를 생성하는 방식 ⇒ 인터프리터 (옆에서 통역 - 실행시 마다 해독) 우리가 한글(=기계어) 밖에 모르는 사람을 위해 영어(=하이레벨언어) 책을 읽어줘야하는 상황에 놓여있을때 (기계어 밖에 모르는 컴퓨터를 위해 하이레벨언어를 해독해줘야하는 상황에 놓여..

공부/JUN STUDY 2021.09.14

Zeroday VS Oneday VS Olday(N-day) 제로 데이 VS 원데이 VS 올데이

핵심 정리 Olday, Oneday, Zeroday 모두 취약점의 종류를 나타내는 단어입니다. 0, 1, N day 취약점은 패치발표, 패치 적용, 해당 취약점에 대한 관심도를 기준으로 나뉩니다. 0 - day 패치를 발표하지 않음. 무방비 상태 1 - day 패치를 발표함. 적용은 안됨. 시간이 생명 N - day 패치를 발표한지 오래임. 아직도 적용이 안됨 구분 0-day 1-day N-day 취약점 해결(취약점X) 패치 발표 X O O O 패치 적용 X X X O 벤더 관심도 O O X O 0-day VS 1-day VS N-day 비교 표 서론 평소 Zeroday attack이 굉장히 위험하다. 뭐 이런 이야기들은 손쉽게 들어볼 수 있습니다. 반면에 Oneday, Olday(N-day)라는 단어를..

공부/JUN STUDY 2021.01.24

인터넷에 연결되는 과정(2) - DNS(Domain Name Service)에 대해

안녕하세요, 우리가 크롬이나 인터넷 익스플로어 같은 브라우저를 클릭해서, 구글이나 네이버 같은 웹 페이지를 눈으로 직접 확인할때까지 기술적으로 어떤일들이 일어날까요? 본 포스터는 '인터넷에 연결되는 과정' 시리즈 포스팅의 두번째 글로 본격적인 내용에 들어가기에 앞서 관련개념인 'DNS(Domain Name Service)' 에 대해 알아보도록 하겠습니다. ※ 첫번째 포스팅을 보고 싶으신 분들은 다음 링크를 이용해 주세요!! 인터넷에 연결되는 과정(1) - IP에 대해 첫번째 글에서 언급했듯이, 앞으로 이어질 내용에서 굵은글자 효과를 가지고 있는 문장들은 전문적인 글에서 정의한 문장을 가져온 것이고 '풀어서 이해해보기 : ' 부분은 해당 문장의 의미를 저와 함께 천천히 이해해보는 것임을 알려드립니다! 그럼..

공부/JUN STUDY 2020.05.30

인터넷에 연결되는 과정(1) - IP에 대해

안녕하세요! 우리는 흔히 사용하는 크롬(Chrome)이나 인터넷 익스플로러(Internet Explorer)를 이용하여 네이버나 구글 즉, 인터넷 웹 사이트에 접속을 하죠. 우리는 본인의 컴퓨터를 이용해 크롬 아이콘을 더블 클릭하고 주소창에 www.google.com 과 같은 인터넷 주소(?)를 입력하거나 여기 왼쪽에 있는 파란글자인 하이퍼링크를 클릭하는 방법으로 손쉽게 웹 사이트에 접속을 할 수 있습니다. 사실 우리가 이렇게 손쉽게 웹 사이트에 접속하고 우리의 눈에 보이기까지 기술적으로 다양한 과정들이 숨어 있는데요. '인터넷에 연결되는 과정' 시리즈 포스팅에서는 인터넷에 연결되기까지 과연 어떤 과정들이 숨어 있는지 살펴보도록 하겠습니다! 이 글은 그 첫번째 단계로 관련개념인 IP에 대해 알아봅시다. ..

공부/JUN STUDY 2020.05.29
728x90