컴퓨터 활용능력 필기를 보다가 문서 작업할 때 간혹 간혹 보던 OLE라는 용어를 발견했다. 이게 뭘까 하고 생각을 하다가 위키백과에게 도움을 요청했다.

객체 연결 삽입(客體連結挿入, Object Linking and Embedding, OLE)은 마이크로소프트가 개발한 기술로서 문서와 기타 객체에 연결과 삽입을 도와주는 연결 규약이다. 

- 출처 : 위키백과
ko.wikipedia.org/wiki/%EA%B0%9D%EC%B2%B4_%EC%97%B0%EA%B2%B0_%EC%82%BD%EC%9E%85 -


간략한 설명을하면 "두 개의 문서 사이에 사용 중인 객체를 공유할 수 있는 기능이다" 여기서 객체는 통합 문서(WorkBook 혹은 word 그 자체)를 포함해서 소리 / 차트 / 수식 / 표 등 모든 것들을 포함한다.

 

한글에서는 단축키 [Ctrl] + [N] + [O]를 지원한다. 써보면 어렵지 않은 기능이더라

'정보보안-이론 > XX에 대하여' 카테고리의 다른 글

PCI-DSS에 대하여  (0) 2021.05.14
CAM Table에 대하여  (0) 2021.05.14
Cavity Virus에 대하여  (0) 2021.05.12
USBDumper에 대하여  (0) 2021.05.12
ICMPv4에 대하여  (0) 2021.05.11

Cavity Virus(혹은 SpaceFiller Virus)은 자주 사용되는 바이러스는 아니라고 한다. 

독립 실행이 불가한 바이러스의 특성상 어떠한 위치(Boot Sector Virus라면 MBR 등)에 기생해야 하는데, Cavity Virus는 파일의 빈 공간(\x90)에 자신의 코드를 심어 외관상 파일의 크기 변경 없이 파일을 감염상태로 만들어 추적을 어렵게 하는 바이러스라고 한다.


대표적인 Cavity Virus는 1987년에 발견된 Lehigh Virus이다. Lehigh Virus는 초기 DOS Virus고 COMMAND.COM을 포함한 빈공간에 자신을 기생시킨다. 그 후 네트워크에 연결된 플로피 디스크에 4번의 자기 복사를 수행하고 자신의 원본 파일을 삭제하는 (대표적인 웜과 결합된 형태)를 가지고 있다.

< Lehigh Virus를 발견한 Lehigh university 이미지 출처 : https://www1.lehigh.edu/ >



조금더 예시를 찾고 있는데, 잘 보이지 않는다. 

Cavity Virus의 특징이라고 할 수 있었던 빈 공간에 자신의 정보를 넣는 것은 다른 바이러스에서도 사용할 수 있는 테크닉이라, 따로 Cavity Virus라고 지칭하는 일이 없는거 같다.

 

참고 : www.internetsecurity.tips/what-is-a-spacefiller-cavity-virus-prevention-and-protection/  

 

What is a Spacefiller (Cavity) Virus? Prevention and Protection

A Spacefiller (Cavity) virus tries to attack devices by filling the empty spaces present in various files. Let's explore some preventive measures.

www.internetsecurity.tips

참고 : virus.wikidot.com/lehigh

 

Lehigh - The Virus Encyclopedia

Click here to edit contents of this page. Click here to toggle editing of individual sections of the page (if possible). Watch headings for an "edit" link when available. Append content without editing the whole page source. Check out how this page has evo

virus.wikidot.com

 

'정보보안-이론 > XX에 대하여' 카테고리의 다른 글

CAM Table에 대하여  (0) 2021.05.14
OLE에 대하여  (0) 2021.05.13
USBDumper에 대하여  (0) 2021.05.12
ICMPv4에 대하여  (0) 2021.05.11
정규표현식에 대하여  (0) 2021.04.17

* 주의 이 포스팅에는 해킹에 사용되는 툴의 사용법과 후기를 담고 있습니다.*

* 윤리의식이 부족한 분은 나가주십시오 *

 

침투테스트 혹은 해킹의 단계에서 저장매체에 담긴 내용은 언제나 중요하다. 인증서와 같은 고수준의 개인정보들이 들어있을 수 있으며, 영업비밀이나, 회사내부의 정보가 담긴 오피스 File이 들어있을 수 있다. 따라서

 

① 이동식 저장매체가 감지됨 

② 그 데이터를 로컬 / 원격 공격자의 컴퓨터에 복사한다. 

 

 

이런 아이디어를 간단하게 구현한 툴이 있으니, 바로 USBDumper이다.

sourceforge.net/projects/usbdumper/

 

USB Dumper

Download USB Dumper for free. dumps the files from usb. copies the files and folders from the flash drive silently when it connected to the pc .

sourceforge.net

* 구동 호스트 정보 : Microsoft Windows 10 Home 10.0.19042 x64

 

USBDumper_Setup.exe는 실행하면 ProgramFiles(x86)에 설치된다. (Window7의 환경을 위해서 개발되었나보다)

C:\Program Files (x86)\USB Dumper파일의 내부는 위와 같다. 혹시 CLI 배려를 해주었나 명령 프롬포트(CMD)에서 구동해 보았다.

없나보다. 실행을 하면 아래와 같은 화면이 나온다.

START를 하면 SourceForge말마 따나 Background 프로세스가 생성된다.

이후 다음과 같은 임의의 USB를 연결해 보겠다.

* 위의 파일 구조는 USBDumper의 테스트를 위해서 USB(Volume Letter E:)에 임의로 생성한 디렉터리 / 파일이다.

 

연결을 하는순간 USBDumper는 C:\USB에 모든 정보를 복사한다.

툴사용에 대한 지식이 늘었다. 사실 Drive Type을 받아오는 코드는 프로그래밍언어에 보통 다 있으니, 구현하는것도 어렵지 않을 거 같다. 아마 필자와 다르게 실력있는 사람이라면 만들어 쓸만한 크기의 프로그램 인거 같다.(커스터마이징을 위해서)

'정보보안-이론 > XX에 대하여' 카테고리의 다른 글

CAM Table에 대하여  (0) 2021.05.14
OLE에 대하여  (0) 2021.05.13
Cavity Virus에 대하여  (0) 2021.05.12
ICMPv4에 대하여  (0) 2021.05.11
정규표현식에 대하여  (0) 2021.04.17

CEH(Certified Ethical Hacker)를 공부하며 네트워크 프로토콜에 대한 공부를 또 열심히 하고 있다. 한 때 상어 좀 썼던 사람으로 ICMP에 대해 공부한 내용을 공유한다.


ICMP

ICMP는 네트워크 상에서 오류 메시지를 전송하는데 사용하는 프로토콜이다.(예를 데이터 전송 목적으로 사용하지는 않는다.) RFC 792에 정의되어 있으며 프로토콜 넘버는 1번이다.(와 첫 빠따) 

* 흔히 볼 수 있는 ICMP를 발생시키는 메시지는 영원한 네트워크 관리자의 친구 PING이다.(ICMP 0, 8) IP 다이어그램을 사용하는 패킷의 TTL이 0이 되면 시간초과(ICMP 11)이 발생한다.

 

 

ICMP의 구조

ICMP는 IPv4의 헤더 뒤에서 시작된다. 고정된 8바이트의 헤더와 나머지는 가변된 길이를 가지고 있다. 

 

  • offset 0byte : 타입
  • offset 1byte : 코드(서브타입)
  • offset 2~3byte : CheckSum
  • offset 4~byte : offset 0byte인 타입에 따라 길이, 내용이 다름

 

ICMP 제어 타입

ICMP는 v4와 v6를 포함하여 예약된 번호인 37-255를 제외 0~36의 37개의 타입이 존재한다. 

각 타입은 ICMP헤더 offset 1의 서브타입으로 타입별 세부적인 정보를 지시할 수 있다.
흔하게 사용되는 ICMPv4에는 다음과 같은 ICMP 타입과 그에 따른 서브타입이 존재한다.

  • ICMP Type 0 : Echo Reply(Ping의 응답, Type 8과 같이 쓰인다.)
  • ICMP Type 3 : Destination Unreachable(목적지 도달 불가)
    ICMP Type 3-0 : Network Unreachable(목적지로 가는 경로가 없을 때)
    ICMP Type 3-1 : Host Unreachable(최종 목적지 호스트에 도달할 수 없을 때)
    ICMP Type 3-2 : Protocol Unreachable(목적지 호스트에서 지정된 프로토콜을 사용할 수 없을 때)
    ICMP Type 3-3 : Port Unreachable(목적지 호스트에 특정 포트번호를 사용할 수 없을 때)
    ICMP Type 3-4 : Fragmentation Needed(단편화<Fragmentation>이 필요한데, Defragmentation Flag가 설정된 경우)
  • ICMP Type 4 : Source Quench(현재는 사용하지 않는다. 통신량의 폭주로 목적지나 라우터의 버퍼를 초과한 경우 발생된다.)
  • ICMP Type 5 : Redirect(패킷을 받은 라우터가 목적지로 가는 더 짧은 경로를 갖는 라우터를 알고 있을 때 사용됨)
    ICMP Type 5-0 : Redirect for Destination Network
    ICMP Type 5-1 : Redirect for Destination Host
    ICMP Type 5-2 : Redirect for Destination Network Based on ToS(Type of Service)
    ICMP Type 5-3 : Redirect for Destination Host Based on ToS(Type of Service)
  • ICMP Type 8 : Echo Request(Ping의 요청, Type 0와 같이 쓰인다.)
  • ICMP Type 9 : Router Advertisement(자신이 라우터임을 주기적으로 알리는 네트워크 메시지)
  • ICMP Type 10 : Router Solicitation(라우터 탐색용 질의 메시지, Type 9번으로 응답하거나 한다.)
  • ICMP Type 11 : Time Exceed(패킷이 TTL을 넘어갈때 << 루프나 스톰 발생 / TTL이 너무 낮은 경우) 

CheckSum
송신자와 수신자는 모두 1의 보수연산을 한 체크섬으로 패킷의 무결성을 보증한다. 만약 체크섬이 일치하지 않는 겨우 패킷은 DROP 된다.

'정보보안-이론 > XX에 대하여' 카테고리의 다른 글

CAM Table에 대하여  (0) 2021.05.14
OLE에 대하여  (0) 2021.05.13
Cavity Virus에 대하여  (0) 2021.05.12
USBDumper에 대하여  (0) 2021.05.12
정규표현식에 대하여  (0) 2021.04.17

사람은 혼자서 살아갈 수 없다.

필연적으로 우리는 살아가며 많은 인연을 만나고, 또 많은 인연과 헤어진다. 컴퓨터의 세상에서도 컴퓨터 혼자서 살아가는 것보다는 다른 컴퓨터와 협업하며 살아가는 것이 당연히 이득이다. 어떤 문제를 해결하는 데 있어서 한 사람이 걸리는 시간이 1시간이라면 두 명이 머리를 맞대면 30분 만에 해결하듯이, 컴퓨터도 컴퓨터들과 소통을 하면서 비약적인 성능 향상을 도모할 수 있다.

 

이번 씹정세시간에는 컴퓨터 사이에서의 연결을 의미하는 네트워크의 기본을 알아보자.


네트워크의 정의와 기본 용어

컴퓨터 네트워크(computer network) 또는 컴퓨터망(문화어: 컴퓨터망)은 노드들이 자원을 공유할 수 있게 하는 디지털 전기통신망의 하나이다. 즉, 분산되어 있는 컴퓨터를 통신망으로 연결한 것을 말한다.

- 출처 : 위키백과  https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%93%A8%ED%84%B0_%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC

즉 네트워크는 서로 다른 컴퓨터 단말기들이 연결되어 있는 형태와 그 모든 것들을 의미한다.

사람을 컴퓨터라고 생각하고 다음의 대조를 해보면 이해가 조금 더 쉬울 거 같다.

위의 사진은 철수와 영희의 대화 장면이다. 이 그림에서 

 

"철수""영희"에게 "한국말""대화"를 걸고 있다.

 

자연스럽게 이루어지고 직관적으로 보이는 이 대화에 컴퓨터 통신의 용어를 이해할 수 있는 기초가 들어있다. 우선 "철수""영희"는 서로를 식별할 수 있는 이름으로 부르고 있다. 이를 컴퓨터 세상에서는 "주소"라고 칭한다. 또한 이 둘은 "한국말"을 사용해서 대화를 이어가고 있다. 만약 철수가 "한국말"로 대화를 거는데 영희가 "러시아어"를 사용한다면 둘의 소통은 불편을 격을 것이다. 이렇게 서로 어떻게 대화할지를 규정한 것을 컴퓨터세상에서는 "프로토콜"이라고 칭한다. 이들의 "대화"는 메시지를 담고 서로에게 전달된다. 마치 쿠팡 택배 같은 느낌인데, 컴퓨터에는 이렇게 전달되는 데이터 그 자체를 "패킷"이라고 칭한다.

 

  • 용어① 주소 : 컴퓨터를 식별할 수 있는 일련의 정보(EX : IPv4, v6, MAC address, DNS 설정된 별칭 등)
  • 용어② 프로토콜 : 네트워크에서의 일련의 통신규약
  • 용어③ 패킷 : 네트워크에서 데이터의 전송 단위

 

네트워크의 시작

어떤 것이던 필요에 의해서 만들어지게 된다. 조지 스티비츠라는 사람이 1940년 전신기(누르면 비트가 발생하는 장치이다.)를 사용해서 뉴욕까지 명령어를 보내는 것이 처음으로 여겨지며, 현대의 네트워크라는 개념의 전신은 1960년대 미국의 국방부가 만든 ARPANET로 여겨지고 있다. 여크시 천조국이다.

 

< 출처 : 위키백과 알파넷의 논리 지도 https://ko.wikipedia.org/wiki/%EC%95%84%ED%8C%8C%EB%84%B7>

 


이번 시간에는 네트워크의 기본 용어와 네트워크의 역사에 대해서 간략하게 알아보았다. 아직 어려운 내용은 하나도 없으니, 복습하며 면학을 마무리 하자

 

* 본 포스팅은 전 포스팅을 읽고 오면 더 좋습니다! *

 

기술이 비약적으로 발전함에 따라 자료의 크기도 어마어마 해지고 있다. 우리도 너무 옛날 자료만 봐왔으니까 채신 기술 키워드 하나 보고 가자. 이름하여 "빅데이터", 빅데이터는 다음 3가지를 특징으로 한다.(흔히 3V라고 한다.)

  • Volume : 엄청난 자료의 양
  • Velocity : 엄청난 데이터의 입출력 속도
  • Variety : 엄청난 타입의 자료들

 

그 중 오늘 포스팅과 관련된 Volume은 특히 테라 단위를 넘어 페타바이트를 넘나드는 수준으로 엄청난 속도의 데이터 펌핑이 트렌드로 떠오르고 있다.

 

씹정세 3번째 시간, 이렇게 커다란 정보들로 발전하기까지 조그마한 비트 하나에서 시작된 그 한걸음부터 오늘은 컴퓨터에서의 정보의 단위를 알아보자.


SI 단위

공학적으로 단위를 표현하는 방법은 SI접두어 표기법을 따른다. SI는 국제단위계라는 전 세계에서 표준화된 단위를 말한다. 기본단위인 길이(m), 질량(kg), 시간(s), 전류(A), 온도(K), 물질량(mol), 광도(cd)를 쓰고, 크기를 쉽게 표현하기 쉽도록 다음과 같은 접두어를 붙인다.

<정보의 크기>

즉 우리가 사용하는 bit(정보의 단위)로 이야기하면 다음과 같다.

1 Tbit = 10^3 Gbit = 10^6 Mbit = 10^9 Kbit = 10^12bit = 1000000000000bit

작살난다.

 

 

bit와 byte

정보의 크기를 표현하기에 bit는 너무나도 작은 단위이다. 따라서 bit를 2의 3 제곱으로 묶은 byte라는 단위가 통상적으로 많이 사용된다.(둘 다 앞글자가 b라, bit는 소문자 b로, byte는 대문자 B로 줄여 부른다.)

 

흔히 3 테라  하드, 2기가 USB 라는건 3 테라"바이트"를 의미하고, 2기가"바이트" USB를 의미한다. 여기서 다음과 같은 재미있는 문제가 발생한다.

 

* 어? 다X소 사장님! 1TB 하드디스크를 샀는데, 연결하면 931GB라고 인식이 돼요!(ㅅㅂ 환불해야 하나요?)

 

이는 2^10=1024인점에서 오류가 발생한다. 2의 10 제곱은 당연하게도 1024이다. 또한 이진법이 사용되는 전자 세상에서는 당연히 이진수 단위로 정보를 끊어 표현하는 게 정확하고 당연스러운 행위이다. 따라서 먼 옛날 선조들께선 2^10인 1024를 1000으로, 10^3으로 대충 유사 값으로 계산을 한 거다!!!!

 

이게 정보가 작은 이전에는 상관이 없었는데, 정보가 기가, 테라 단위로 올라가다 보니 1000/1024인 약 0.97배만큼 차이가 나기 시작한 것이다!(다 X소 사장님이 비트를 밑장 뺀 게 아니라는 말이다.)

이를 해결하기 위해서 GB가 아닌 GiB를 중첩 표기하는 등 노력은 이어지고 있다.

 


이번 씹정세 시간에는 SI표기법과 bit, byte표기법을 알아보았다. 엄청나게 빠른 속도로 컴퓨터 전문가에 가까워지고 있는 여러분들을 칭찬하며, 필자는 다음 씹정세에서 기다리겠다. 

 

 

 

+ Recent posts