흔히들 악성코드에 감염되었을 때 '바이러스 걸렸다'고 말한다. 의미는 맞긴하지만, 바이러스는 엄연히 악성코드의 일종으로 다른 종류일 수도 있다. 악성코드의 종류는 다음과 같다.
정보통신망 이용촉진 및 정보보호 등에 관한 법류 제 48조(정보통신망 침해행위등의 금지) 로 불법이다.
●컴퓨터 바이러스: 병균을 지칭하는 그 바이러스가 어원이다. 다른 대상에게 스스로를 복제하여 옮긴다. 갑자기 평소보다 느린 경우, 이상한 파일이 많이 설치된경우, 특정파일이 지워지거나 이름이 바뀐경우 바이러스를 의심해볼 수 있다. 파일을 모두 삭제하거나 부팅이 되지않는 바이러스도 있으니 조심하자. 대표적으로 CIH바이러스나 13일의 금요일 바이러스가 있다.
●트로이 목마: Trojan horse. 트로이 전쟁에서 유래하였는데, 거대한 목마를 트로이성 앞에 두고 군대를 물렸다가 트로이인이 화해선물인줄 알고 성안에 들였다고 한다. 그 안에 병사들이 잠복하고 있어서 트로이를 함락시켰다고 한다. 유래에서 알 수 있듯이 기존 프로그램에 숨어있다가, 시스템 내부 정보를 공격자의 컴퓨터로 빼돌리는 프로그램이다. 바이러스와 달리 후에 감염되어 있는게 아니라 프로그램을 설치하는 순간부터 이미 포함되어 있다. 출처가 불분명한 파일을 조심해야 하는 이유가 이것 때문이다. 개인정보 유출, 시스템 파일 삭제 등 피해가 매우 크다.
●웜: 바이러스와 달리 다른 프로그램에 감염되어 전파되는 것이 아니라, 자체적으로 실행되며 다른 컴퓨터로 전파가 가능하다. 초기엔 컴퓨터안에서 무한 증식하며 램을 잡아먹는게 고작이었는데, 악질적인 코드가 추가되어 바이러스와 다름 없는 존재가 되었다. 네트워크를 통해 전파되기 때문에 과도한 네트워크 트래픽을 유발시킨다. 심각한경우 마비가 올 수도 있다. 보안패치가 나올 때마다 꼬박 꼬박 설치하고, 의심가는 메일은 열지말자.
●백도어: 말 그대로 뒷문이다. 운영체제나 프로그램을 만들때 정상적인 인증없이 운영체제나 프로그램에 접근할 수 있도록 만든 것을 의미한다. 대개 제작자가 의도적으로 만들어논 보안구멍이다. 악의적인 목적으로 만든것도 많으나 정부기관같은 외압으로 인해 만든 경우도 있다. 막을 방법은 ... 유능한 해커가 발견하여 공개하길 바라자.
●키로그: 사용자가 입력하는 내용을 모두 txt파일로 저장한다. 감청을 할 때 주로 사용한다. 하드웨어적으로도 가능하다고 한다.
●랜섬웨어: 어원은 Ransom(인질)+ware이다. 컴퓨터에 데이터를 인질로 잡아 암호화를 시키고 잠금을 해제하는 대가로 금전을 요구하는 악성코드이다. 현재로선 예방을 해도 확신하지 못하는 최악의 바이러스이다. 신뢰하지 않는 메일이나 사이트에 들어가지 말자. 랜섬웨어에 걸렸다면 가능한 빨리 컴퓨터를 끄고 USB를 연결하지 않아야 더이상의 손실이 없다. (필자의 친구는 밤에 이것이 뭔지 모르고 연락해서 물어보고는 중요한 파일이 없다면서 그 상태로 웹서핑 할 수 있냐고 물어보고는 진짜 웹서핑 하러 갔다...)
악성코드를 예방하는 좋은 방법은 백신을 항상 최신버전으로 업데이트하고 믿지못하는 파일을 다운받지 말자. 또 사이트 접속만으로도 악성코드에 감염이 가능하니 스팸메일은 읽지말자.
다섯 자리의 정수 한 개를 입력받아 각 자리별로 구분해 출력한다.
다섯자리로 이루어진 한 개의 정수를 입력받는다.
(단, 10,000 <= 입력받는 수 <= 99,999 )
각 자리의 수를 분리해
한 줄에 하나씩 [ ]속에 넣어 출력한다.
75254
[70000] [5000] [200] [50] [4]
scanf("%1d%1d%1d%1d%1d", &a, &b, &c, &d, &e);
를 사용하면 입력 받는 숫자를 1개씩 잘라 a, b, c, d, e, 변수에 저장할 수 있다.
[예시]
읽어들인 값을 형태를 바꿔 출력하기 위해
printf("[%d]\n", a*10000);
과 같은 방법을 사용할 수 있다.
파이썬에서도 같은방법으로 문자열을 나눠서 정수로 바꾼후 자릿수를 곱하면 된다.
'Programming > Codeup.kr기초100제 && 컴퓨터 이야기' 카테고리의 다른 글
[기초-입출력] 년월일 입력받아 형태 바꿔 출력하기 && 프로그래밍 언어 종류 (0) | 2016.11.19 |
---|---|
[기초-입출력] 시분초 입력받아 분 만 출력하기 && 윈도우 단축키 (0) | 2016.11.18 |
[기초-입출력] 단어 한 개 입력받아 나누어 출력하기 && 프로그래머 (0) | 2016.11.15 |
[기초-입출력] 실수 한 개 입력받아 부분별로 출력하기 && ALU (0) | 2016.11.14 |
[기초-입출력] 문장 한 개 입력받아 그대로 출력하기 && CPU2 (0) | 2016.11.13 |