1. **바이러스(Virus)**
바이러스는 실행 가능한 코드에 사용자의 허락 없이 스스로를 복제하는 프로그램입니다. 일반적으로 실행된 프로그램 안에 숨겨져 있으며, 사용자가 실행함과 동시에 활동을 시작합니다. 예를 들어, 특정 파일을 삭제하는 바이러스가 있다고 가정해봅시다.
```python
# 악성 코드 예시: 특정 파일 삭제
import os
def malicious_delete():
target_file = "/path/to/target/file.txt"
if os.path.exists(target_file):
os.remove(target_file)
print(f"{target_file} 삭제되었습니다.")
else:
print("대상 파일이 없습니다.")
malicious_delete()
```
2. **웜(Worm)**
웜은 자가 복제와 전파가 가능한 악성코드로 네트워크를 통해 확산됩니다. 일반적으로 실행 없이도 복제가 가능하다는 점에서 바이러스와 다릅니다. 웜은 네트워크 리소스를 과도하게 사용하여 네트워크 성능을 저하시킵니다.
```python
# 단순한 웜의 작업 시뮬레이션
def simulated_worm(network):
for machine in network:
# After infecting the machine, it tries to replicate
print(f"{machine} 감염 중...")
# Simulate spreading
new_machines = get_uninfected_machines()
network.extend(new_machines)
def get_uninfected_machines():
# 실제 감염은 아니고, 예를 위한 간단한 리스트 생성
return ['machine4', 'machine5']
network = ['machine1', 'machine2', 'machine3']
simulated_worm(network)
```
3. **트로이 목마(Trojan Horse)**
트로이 목마는 정상적인 프로그램처럼 보이는 악성코드로, 주로 사용자의 허락 없이 시스템에 유해한 작업을 수행하도록 설계되어 있습니다. 예를 들어, 사용자의 정보를 유출하는 코드가 포함될 수 있습니다.
```python
# 악성 코드 예시: 사용자 정보 유출 시뮬레이션
def malicious_function():
sensitive_info = "사용자 비밀 정보"
send_to_attacker(sensitive_info)
def send_to_attacker(data):
print(f"민감한 정보를 공격자에게 전송: {data}")
malicious_function()
```
4. **랜섬웨어(Ransomware)**
랜섬웨어는 사용자의 파일을 암호화하고 이를 풀기 위해 금전을 요구하는 악성코드입니다. 이는 최근 몇 년 동안 크게 증가한 사이버 범죄입니다. 주요 목표는 데이터에 대한 접근을 제한하여 사용자가 이를 복구하기 위해 돈을 지불하도록 하는 것입니다.
```bash
# Bash script to simulate file encryption
for file in /path/to/important/data/*; do
mv "$file" "$file.locked"
echo "$file has been encrypted."
done
```
이 내용들은 악성코드의 종류와 그 예시를 간단히 설명한 것입니다. 각 악성코드는 다양한 형태로 변형되며, 그로 인해 정보보안의 중요성이 날로 증가하고 있습니다. 악성코드의 실질적인 예방과 대응 방법은 꾸준한 보안 학습과 시스템 업그레이드임을 잊지 맙시다.