How Computers Work [04]

Drawing

Hacking and Cracking

해킹 전체가 범죄는 아니나 해킹을 불순한 의도로 사용하면 범죄가 된다. 해킹의 원래 의미는 프로그램 원 제작자가 걸어놓은 프로그램 코드 락 알고리즘을 뚫어서 프로그램 소스를 알아내거나, 프로그램 소스를 변경해서 자기 입맛에 맞게 바꾸어 버리는 모든 행위를 포함한다. 즉 프로그램 자체를 바꾸는 모든 행위가 해킹이고, 그 프로그램을 나쁘게 바꾸는게 크래킹이다.

현실의 예를 들자면, 자동차 팬 밸트가 끊어졌을 때 팬 밸트(정상적인 사용법)를 스타킹(대체적인 사용법)으로 대체하는 행위도 해킹으로 볼 수 있다. 무림의 예를 들자면, 조금 의미가 다르긴 하지만, 기존에 정해진 규칙대로 수양하지 않는 (즉, 하라는 대로 하지 않는) 사파는 해커라고 볼 수 있다.

나무 위키, “해킹”, https://namu.wiki/w/해킹

영화에서 나오는 멋진 해킹 장면(순식간에 target의 정보를 빼내거나 시스템을 마비시키는 것)은 해킹 프로그램을 이용하는 것. 실제 해커(크래커)들은 target을 해킹하기 위해 오랜시간 조사. 분석한다.

target을 해킹하기 위한 breaking point로 port를 스캔한다.

Drawing

port(포트)

Drawing

대부분의 해킹이 네트워크를 통해서 이루어지기 때문에, 네트워크를와 포트를 통해 target의 프로세스에 침투한다.(교재에 나와있는 예시, 수많은 해킹 방법 중 하나 정도로 생각 하면 될 것 같다.)

  • brute force attack 특정한 암호를 풀기 위해 가능한 모든 값을 대입하는 것을 의미한다. 대부분의 암호화 방식은 이론적으로 무차별 대입 공격에 대해 안전하지 못하며, 충분한 시간이 존재한다면 암호화된 정보를 해독할 수 있다. 하지만 대부분의 경우 모든 계산을 마치려면 실용적이지 못한 비용이나 시간을 소요하게 됨.

  • spyware Spyware is a program on your hard drive that sends information about you and how you use a PC to marketers and advertisers, usually without you being aware it’s happening.

  • Malware Malware is cousins of spyware use spyware information to display advertising for products it’s betting will interest you based on your website browsing habits.

불법 프로그램이나 정식 배포판이 아닌 프로그램을 다운로드 받아서 설치 할 경우 노출될 가능성이 높다.

  • Virus

Drawing

Drawing

Drawing

Drawing

Antivirus Software

  1. Signature scanner 가장 기본적인 바이러스 백신 프로그램은, 전문가에 의해서 발견된 유명한 바이러스 코드를 컴퓨터의 운영체제 및 각 프로그램의 코드와 비교하여 일치하는 정도를 통해 감염 여부를 판단 하는 것. 유행하는 바이러스의 경우 쉽게 발견 및 치료가 가능하지만, 많은 사용자에 의해 report 되지 않은 바이러스의 경우 감지하기 힘들다.

  2. Heuristic detector 바이러스 코드를 비교하는 것이 아니라 컴퓨터 시스템 상에서 이상적인 동작을 수행하는 프로그램을 감지하는 것. 예를 들어, 디스크(저장 장치)에 쓰기 작업을 수행하는경우 반드시 운영체제를 거쳐야 한다. 만약 디스크 쓰기 작업이 운영체제를 거치지 않고 일반 프로그램에서 직접 이루어졌다면, 이는 바이러스에 감염되었음을 의심할 수 있다.

  3. Memory-resident
    Antivirus Software로서(프로그램) RAM에 올라와 있으면서, 항상 수행되고 있는 프로그램이다. 즉, 상시 돌아가고 있는 프로세스.

    These programs monitor all the computer’s operations for any action associated with viruses, such as downloading files, running programs directly from an Internet site, copying or unzipping files, attempting to modify program code, or programs that try to remain in memory after they’re executed.

    위와 같은 의심스러운 operation이 있었을때, 사용자에게 피드백을 주거나, 임의로 처리한다.

다양한 주제를 커버하면서도 항상 생각하고 신경쓰고 있어야 할 것은, 컴퓨터가 어떻게 동작하는가! 즉, 프로그램 및 프로세스, 메인 메모리와 cpu 등과 같은 가장 중요한 요소들이 어떻게 각 상황에서 작동하는것을 생각 해야 한다.

chapter 8의 이하 내용은 생략

Chapter 9 : The Origins of Computer DNA

이번 챕터는 컴퓨터의 대표적인 하드웨어 및 포트(네트워크 포트 X, 물리적 포트 O)를 확인하고 넘어간다.